躺床上翻 qq空间的时候翻到了当年软神推荐的常用指令 , 阴神看了看也说好像没什么需要补充的 , 没想到3年后我还有一半指令不熟悉, 干脆整理一下.此次整理不打算像其它博客一样追求大而全只收集不记忆, 实实在在的计划是记忆一条后再列出该条,如果用的不熟就不假装自己会用
指令名 | 常用操作 | 解释 |
---|---|---|
grep |
ls | grep pattern
|
管道过滤,可加-v 反转匹配 |
grep "\".*\"" main.cpp |
可以添加正则表达式 来识别文件中的 包含匹配字符串的一行 |
|
grep "text" . -r -n |
在多级目录中对文本递归搜索 类似 vscode 中的 cmd+shift+F
|
|
grep -n "^$" FFT6.cos | wc -l
|
匹配空行 其中-n输出行号, ^ 表示行首$ 行尾所以 ^$ 是空行 |
|
wc |
ls |wc -l wc -w xxx.file
|
-l 代表行数(常用),-w 代表字符数 |
tail head |
tail -n 5 xx.log |
显示文件末尾内容, -n 5 是倒数5行-n +5 是从第5行开始直到尾巴 head 是显示头部 n 行 |
cat | cat -n xx.file |
展示文件内容,-n 显示行号 |
cat file1 file2 > out.file |
拼接文件 | |
less |
less xx.file history |less
|
以可翻页形式阅读大段内容 G - 移动到最后一行 g - 移动到第一行 |
more |
与 less 类似 ,一次读取一整个文件 |
space 下一页, b 上一页, / 字符串查找 |
cut | cut -c 25-59 BALANCE.txt |
可以用于处理 CSV 文件,对我不太常用 |
ln | ln -s /opt/nodejs/bin/pm2 /usr/bin/pm2 |
硬链接 -s 软链接 ... |
tar |
tar -jxvf tar.bz2 tar -zxvf tar.gz
|
tar只是打包,另一个后缀是压缩x 解压,v 输出详细信息,f 指定压缩文件,j bz2压缩,z gz压缩 |
chmod chown |
chmod -R 770 xxdir chown lxx:lxx xxdir -R
|
设置777的话会让文件夹变绿色, 只是不想这样显示的话,可以设置754的权限,然后通过chown -R 来改变文件夹权限 |
uniq sort |
cat /var/log/nginx/access.log |awk '{print $1}' |sort |uniq -c |sort -rn |head -2
|
统计出access.log中访问量最多的2个ip uniq -c 行首位置输出行重复的次数sort -rn r 是降序,n 代表取数值而非字符串uniq -c 行首位置输出行重复的次数 |
使用上面指令访问/home/www/learn-vue-eleme/log 来获取 GET 请求分布 |
||
awk |
cat /home/www/learn-vue-eleme/log |awk -F "\"" '{print $5}'
|
-F 指定分隔符, 然后awk 指令会对每行切片输出.本例中输出的是$5 即访问者的 UA 信息 |
除了 print awk 还有很多强大的函数 |
||
find & xargs |
find . -name "*.cpp" |xargs cat
|
相比-exec xargs命令每次只获取一部分文件而不是全部如果不加xargs 直接 管道符 cat 得到的是对文件名的处理,加了xargs 后才是对文件内容的处理 |
sed | sed -n '5,7p' xx.file |
输出一个文件的指定行 |
curl | curl -X POST --data-urlencode "a=42" xx.com:80 |
向xx.com:80 发送 POST 请求, --data-urlencode 参数可以用来处理未转义的字符串 -X 参数用来标记默认GET 之外的请求 |
curl -I -L -H "Accept-Encoding: gzip" xx.cn |
检查服务器是否开启了 gzip 压缩-I 只显示res 的头-L 自动重定向跳转-H 以后面的参数作为请求头,有些人会在gzip 后指定压缩算法gzip,deflate
|
网友评论