在工作中,对linux命令,一般都尽可能简短的命令来完成需要,不需要追求复杂的命令,因为所有操作的前提都是提高工作的效率。
下面会写几篇常用的linux命令,完全可以满足日常的工作需要。
0. 脚本调试
set -x
1. 文件查找
在很多脚本和文件中,知道文件名,想找到当前目录下的此文件
find ./ -name filename
在很多脚本和文件中,知道部分文件名,想找到当前目录下的此文件(利用正则表达式)
find ./ -name "*filepartname*"
在很多脚本和文件中,查找包含某字段的文件 (利用管道)
find ./ -name "*.sh" | xargs grep "somecontent"
快速定位某字段在哪些文件中,不限定文件的种类
grep -rn "somecontent" ./
快速查看当前目录下的hadoop的相关jar包
ll hadoop*
2. vi相关
vi xx.txt查看某txt文件
按insert进入编辑模式,可以对文件进行编辑,按esc退出编辑模式
非insert模式下:
:q! 不保存退出
:wq 保存退出
:sp [filename] 分屏操作 ctrl+w+up 上一个文件 ctrl+w+down 下一个文件
:set nu 显示行数
:n 跳转到第n行
ctrl+f 向下翻一页(forward)
ctrl+b 向上翻一页(back)
/word 查找word
dd 删除光标所在的一行
GG 跳转到最后一行
gg 跳转到第一行
3. 查看日志
因为程序运行时,日志会不断打出,所以用vi,cat,less,more都不合适
所以这种场景使用tail比较合适
tail -nf catalina.out
n为从尾部往上算起,所显示的行数
4. 复制剪切删除
把a.txt复制一份为a.txt.bak,因为工作中经常需要备份一份文件,然后再进行修改(复制目录 需要 -r)
cp a.txt a.txt.bak
把a.txt 换个名字或者剪切到其他目录
mv a.txt /dir/b.txt
删除文件(-rf 强制彻底删除 r是递归)
rm -rf file