大数据实验环境一般为Linux,熟悉Linux操作非常有必要,总结常用Linux命令如下。
进入文件夹:
cd dirname
进入多级文件夹:
cd /usr/local/Cellar
返回上层目录:
cd ../
返回上层的上层:
cd ../../
回到主文件夹
cd
ls命令用于列出当前文件和目录,加上参数之后可以做更多的事情。
不带参数运行ls会列出文件和目录
ls
使用-l参数切换到长清单模式,会显示当前目录内容的长列表:
ls -l
加上-lh参数显示文件大小:
ls -lh
加上-a参数显示隐藏文件:
ls -a
如果只想列出目录:
ls -d */
递归列出所有子目录:
ls -R
通过修改时间列出:
ls -lt
列出子目录:
ls ~
列出父目录:
ls ../
ls ../../
增加/标记目录
ls -p
mkdir用于创建文件夹,创建文件夹时应确保与它所在的目录下的没有同名文件夹。
mkdir A
一次创建多个文件夹:
mkdir B C D
加上-p参数可以创建带有子目录的文件夹:
mkdir -p dira/dirb/dirc
删除目录:
rmdir abc
递归删除带有子目录的文件夹:
rmdir -p dira/dirb/dirc
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
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
rm命令用于删除文件或者目录,可以删除一个目录下的一个或多个文件或目录,也可以删除整个目录及其下的所有文件和子目录。rm是remove的缩写。rm是一个危险命令,使用的时候要特别小心,在执行rm之前要确认所在目录以及要删除的操作,不要误删。
删除一个文件:
rm A/a.txt
删除不为空的文件夹:
rm -r A/B
删除前询问:
rm -i A/a.txt
cat命令的用途是连接文件或者标准输入并打印,该命令常用来显示文件内容,或者将几个文件连接起来显示。cat有三大功能
一次显示整个文件:
cat filename
从键盘创建一个文件
cat >filename
将几个文件合并为1个文件
cat file1 file2>file
命令参数:
cat命令可以显示文件的内容,它反过来写就是tac,而tac恰巧也是一个Linux命令,它的功能就是把文件内容反过来显示,文件内容的最后一行先显示,第一行最后显示。
tac filename
cat命令会显示整个文件的内容,more命令会一页一页的显示方便阅读。按空白键(space)显示下一页,b键会返回前一页。
more filename
命令参数:
head命令用于显示文档的开头至标准输出。
显示文件的前6行:
head -n 6 filename
显示文件前n个字节的内容:
head -c 20 filename
tail和head类似,只不过是从尾部显示文件内容.
显示文件的最后10行:
tail -10 filename
或者:
tail -n 10 filename
touch命令可以修改文件时间或创建新文件:
touch -t 201611151010 filename
设置file1和file2的时间戳相同:
touch file1 file2
chown命令用于设置文件的所有者属性。
把文件的所有者改为root帐号:
chown root filename
把文件夹的所有者改为root帐号:
chown -R root A
文件查找命令。
找出当前目录下所有的.txt格式文件
find . -name "*.txt" -print
tar命令可以用来解压缩文件:
tar -zxvf filename.tar.gz
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
source命令通常用于立即执行刚修改的初始化文件,使之立即生效,而不必重新启动或注销。
比如配置java环境变量,修改~/.bash_profile之后,使其立即生效:
source ~/.bash_profile
重启命令:
reboot
立即重启:
shutdown -r now
10分钟之后立即重启:
shutdown -r 10
设置指定时间重启:
shutdown -r 20:10
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
立刻关机:
halt
或者:
poweroff
或者:
shutdown -h now
10分钟之后自动关机
shutdown -h 10
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启
命令:
/usr/libexec/java_home
JDK路径:
/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
fuser -n tcp 5601
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
sudo find / -name a.txt
du -sh *
查看所有以ofbiz.log.2017-05开头的日志文件的大小:
find ./ -iname "ofbiz.log.2017-05*" | xargs du -cb -h
每次启动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
)