大数据基础之常用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

20.根据端口查看进程ID

fuser -n tcp 5601

21.查看磁盘空间使用情况

df -h

例子:

root@iZwz90ndt4p7qqtsxx4v5zZ:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       40G  4.9G   33G  13% /
udev            993M  4.0K  993M   1% /dev
tmpfs           201M  256K  200M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none           1002M     0 1002M   0% /run/shm

22、根据文件名查找文件

sudo find / -name a.txt

23、查看文件大小

du -sh *

24、查看多个文件的大小

查看所有以ofbiz.log.2017-05开头的日志文件的大小:

find ./ -iname "ofbiz.log.2017-05*" | xargs du -cb -h

25.脚本同时启动ES-ES-Head-Kibana

每次启动Elasticsearch,Head和Kibana都必不可少,但是每次命令行都要切换好几次,脚本一次启动:
sb是我对sublime对缩写,新建一个脚本文件:

sb start-ehk.sh

写入启动三者对脚本:

sh /Users/bee/Documents/elk/es5.4/elasticsearch-5.4.0/bin/elasticsearch -d

cd /Users/bee/Documents/elk/es5.4/kibana-5.4.0-darwin-x86_64/bin/
nohup sh kibana &

cd /Users/bee/Documents/elk/es5.4/elasticsearch-head-master
nohup grunt server &exit

加上可执行权限:

chmod 777 start-ehk.sh

执行脚本:

sh start-ehk.sh

之后就可以依次访问9200、9100、5610端口啦!

查找进程号关闭,Mac上通过端口号查找pid对命令如下:

lsof -i tcp:5601

(CentOS通过端口查进程店命令为 fuser -n tcp : 5601)

大数据基础之常用Linux命令

上一篇:linux服务器上运行python文件


下一篇:Weblogic10 + EJB3入门教程(1):编写第一个无状态会话Bean(Stateless Session Bean)