首页 > 代码库 > 大数据基础之常用Linux命令

大数据基础之常用Linux命令

大数据实验环境一般为Linux,熟悉Linux操作非常有必要,总结常用Linux命令如下。

1.cd命令

进入文件夹:

cd dirname

进入多级文件夹:

cd /usr/local/Cellar

返回上层目录:

cd ../

返回上层的上层:

cd ../../

回到主文件夹

cd

2.ls命令

ls命令用于列出当前文件和目录,加上参数之后可以做更多的事情。
不带参数运行ls会列出文件和目录

ls

使用-l参数切换到长清单模式,会显示当前目录内容的长列表:

ls  -l

加上-lh参数显示文件大小:

ls -lh

加上-a参数显示隐藏文件:

ls -a

如果只想列出目录:

ls -d */

递归列出所有子目录:

ls -R

通过修改时间列出:

ls -lt

列出子目录:

ls ~

列出父目录:

ls ../
ls ../../

增加/标记目录

ls -p

3.mkdir和rmdir命令

mkdir用于创建文件夹,创建文件夹时应确保与它所在的目录下的没有同名文件夹。

mkdir A

一次创建多个文件夹:

mkdir B C D

加上-p参数可以创建带有子目录的文件夹:

mkdir -p dira/dirb/dirc

删除目录:

rmdir abc

递归删除带有子目录的文件夹:

rmdir -p dira/dirb/dirc

4.cp命令

cp命令是Linux的拷贝文件命令.
拷贝A目录下的a.txt到B目录:

cp A/a.txt B/

如果B目录下已存在a.txt,拷贝前询问是否覆盖,加上-i参数:

cp -i A/a.txt B/
overwrite B/a.txt? (y/n [n])

拷贝整个文件夹:

cp -R A B

拷贝前询问是否覆盖:

cp -R -i A B

5.mv命令

mv命令常用对文件或目录进行移动、文件重命名或者备份,mv是move的缩写。
把A目录下的a.txt移动到B文件夹下:

mv A/a.txt B

如果B目录下已经存在同名文件,询问是否备份:

 mv -i A/a.txt B
 overwrite B/a.txt? (y/n [n]) 

重命名操作,把a.txt改名为a1.txt:

mv A/a.txt A/a1.txt

把A目录下的所有文件移到B:

mv A/* B

6.rm命令

rm命令用于删除文件或者目录,可以删除一个目录下的一个或多个文件或目录,也可以删除整个目录及其下的所有文件和子目录。rm是remove的缩写。rm是一个危险命令,使用的时候要特别小心,在执行rm之前要确认所在目录以及要删除的操作,不要误删。
删除一个文件:

rm A/a.txt

删除不为空的文件夹:

rm -r A/B

删除前询问:

rm -i A/a.txt

7.cat命令

cat命令的用途是连接文件或者标准输入并打印,该命令常用来显示文件内容,或者将几个文件连接起来显示。cat有三大功能

  1. 一次显示整个文件:

    cat filename     
    
  2. 从键盘创建一个文件

    cat >filename
    
  3. 将几个文件合并为1个文件

    cat file1 file2>file
    

命令参数:

  • -b:对非空输出行编号
  • -n:对所有行都输出行号

8.tac命令

cat命令可以显示文件的内容,它反过来写就是tac,而tac恰巧也是一个Linux命令,它的功能就是把文件内容反过来显示,文件内容的最后一行先显示,第一行最后显示。

tac filename

9.more命令

cat命令会显示整个文件的内容,more命令会一页一页的显示方便阅读。按空白键(space)显示下一页,b键会返回前一页。

more filename

命令参数:

  • +n:从第n行开始显示
  • -n:定义屏幕大小为n行
  • -c:从顶部清屏然后显示

10.head命令

head命令用于显示文档的开头至标准输出。
显示文件的前6行:

head -n 6   filename

显示文件前n个字节的内容:

head -c 20   filename    

11.tail命令

tail和head类似,只不过是从尾部显示文件内容.
显示文件的最后10行:

tail -10 filename

或者:

tail -n 10 filename

12.touch命令

touch命令可以修改文件时间或创建新文件:

touch -t 201611151010 filename

设置file1和file2的时间戳相同:

touch file1 file2

13.chown命令

chown命令用于设置文件的所有者属性。
把文件的所有者改为root帐号:

chown root filename

把文件夹的所有者改为root帐号:

chown -R root A

14.find命令

文件查找命令。
找出当前目录下所有的.txt格式文件

find  . -name "*.txt" -print

15.tar命令

tar命令可以用来解压缩文件:

tar  -zxvf filename.tar.gz

16.grep命令

grep命令是一种强大的文本搜索工具,使用正则表达式匹配文本并将搜索结果打印出来.
从多个文件中查找关键词:

grep ‘linux‘ test1.txt test2.txt

找出以h开头的行内容:

cat test.txt |grep ^h

找出不以h开头的行内容:

cat test.txt |grep ^[^h]

找出以de结尾的行内容:

cat  test.txt|grep de$

显示包含he或者sh的行内容:

cat test.txt|grep -E "he|sh"

显示当前目录下以.txt结尾且每个字符串至少包含7个小写字母的的行内容:

grep  ‘[a-z]\{7\}‘ *.txt

17.source命令

source命令通常用于立即执行刚修改的初始化文件,使之立即生效,而不必重新启动或注销。
比如配置java环境变量,修改~/.bash_profile之后,使其立即生效:

source ~/.bash_profile

18.开关机命令

18.1重启

重启命令:

reboot

立即重启:

shutdown -r now

10分钟之后立即重启:

shutdown -r 10

设置指定时间重启:

shutdown -r 20:10

如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

18.2关机

立刻关机:

halt

或者:

poweroff

或者:

shutdown -h now

10分钟之后自动关机

shutdown -h 10

如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

19.mac查看Java Home

命令:

/usr/libexec/java_home

JDK路径:

/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

    大数据基础之常用Linux命令