screen |
|
screen -S 子会话名称 |
创建新的子screen |
screen -r 名称 |
进入某screen |
screen -wipe |
清除dead状态的会话 |
screen -ls |
列出当前所有的session |
ctrl+a+d |
暂离当前screen |
exit |
-r 进入会话后,键入exit退出并关闭当前screen实例 |
vim |
|
:5,10 s/正则/替换值 |
从5到10行每行第一个正则匹配数据进行替换 |
:5,10 s/正则/替换值/g |
从5到10行所有正则匹配数据进行替换 |
:% s/^/# |
每行首添加#注释 |
vim -b filename 然后:%!xxd最后:%!xxd -r |
编辑二进制文件 |
scp |
|
scp 参数 本地文件 user@ip:路径 |
发送 |
-r |
递归 |
-P |
指定端口 |
-l limit |
限定用户所能使用的带宽,单位 Kbit/s |
grep |
|
grep -r ‘app’ -with-filename / |
递归查询根目录下所有文件中包含app字符串的,并打印文件路径 |
grep -C 5 ‘app’ file |
显示匹配到app字符串的上下5行 |
grep -B 5 ‘app’ file |
显示匹配到app字符串的上5行 |
grep -A 5 ‘app’ file |
显示匹配到app字符串的下5行 |
split |
|
split -b 1000 路径文件 |
以1000字节切割文件 |
-C |
行最大字节数,切割时将尽量维持每行的完整性 |
-d 3 |
以三位的数字结尾 |
-l 10 |
限制文件最大行数为10 |
-n 10 |
等分成10个文件 |
more |
|
+n |
从笫n行开始显示 |
-n |
定义屏幕大小为n行 |
+/pattern |
在每个档案显示前搜寻pattern,然后从该字串前两行之后开始显示 |
n Enter |
向下翻n行,默认为1,只用输一次,空格功能变为翻n行 |
:f |
输出文件名和当前行的行号 |
v |
调用vi编辑器 |
空格键(Space) |
代表向下翻一页 |
b |
向上翻一页,只对文件有效 |
find |
|
find path option xxxx |
在path下找文件 |
-maxdepth 2 |
限制查找深度为2层 |
-name xxx |
以xxx为名查找文件 |
-user xxx |
搜索属于xxx用户的文件或目录 |
-group xxx |
搜于属组 |
-type 参数 |
f文件,d目录,l链接 |
-size 参数 |
1k(大于0小于1k),+(大于),-(小于) |
-atime 参数 |
按最后访问时间,同上,单位/天 |
-mtime 参数 |
按文件最后修改时间 |
-ctime 参数 |
按文件最后改变时间 |
-amin、-mmin、-cmin |
单位/分钟 |
-delete |
将找到的文件删除 |
-print0 |
当文件有空格时,管道给到xargs会出错,需要用 find … -print0 | xargs -0 ls 来操作 |
xargs |
接收标准输出转为命令的参数 |
-i |
占位,ls | xargs docker-compose -f {} up |
-n |
一次性传几个参数给后面的命令,默认传所有 |
-P |
开几个进程处理参数 |
-0 |
以null为分割符切割接收到的标准输入 |
sed |
|
-i |
修改文件内容,例在第1至4行插入文本xxx。sed -i ‘1,4i xxx’ my.log |
df&du |
|
df -h |
显示已挂载的分区磁盘信息 |
du -sh dir |
显示文件大小 |
uniq |
注意需要重复行相邻才可以去重,所以一般先sort |
-c |
显示重复次数 |
-d |
仅显示重复出现的行 |
-f 1 |
跳过第一列比较后面的 |
awk |
|
-F ‘:’ ‘{if($1>10)print $0}’ |
打印以冒号为分隔符并且第一列大于10的行 |
NF |
每条记录列数 |
awk ‘{print $0,"——",$2NF)}’ |
取倒数第二列 |
NR |
第几行 |
awk ‘{if(NR>2)print $0,"——",$(NF-1)}’ path |
取行数大于2倒数第二列 |
sort |
|
-b |
忽略行首空格字符 |
-d |
忽略除英文、数字、空格外其他字符 |
-n |
按数值大小排序 |
-r |
倒序 |
-u |
去除重复行 |
-t 参数 |
指定分隔符 |
-k 数字 |
指定按第几列进行排序 |
sort 文件1 -o 文件2 |
文件1排序输出到文件2 |
chown&chgrp&chmod |
|
chown -R user dir |
递归改变所有者 |
chgrp |
改组 |
chmod |
改权限 |
zip&unzip |
|
zip -r test.zip ./test |
打包test文件夹到test.zip |
zip -x ./test/a -r test.zip ./test |
打包test文件夹到test.zip,忽略test下a文件 |
zip -x ./test/b/ -r test.zip ./test |
打包test文件夹到test.zip,忽略test下b文件夹 |
tar&gzip |
|
tar -xzvf xxx.tar.gz |
解包xxx文件 |
tar -czvf path/xxx.tar [单/多文件路径] |
打包到dir路径 |
tzselect |
时区提示命令,最后根据提示键入TZ='Asia/Shanghai’; export TZ,然后输入cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime覆盖文件,再hwclock写入bios |
iptables |
参考链接 |
ACCEPT |
允许防火墙接收数据包 |
DROP |
丢弃包 |
QUEUE |
防火墙将数据包移交到用户空间 |
RETURN |
防火墙停止执行当前链中的后续Rules,并返回到调用链(the calling chain)中 |
cut |
|
-c 1-5 |
按字符截取,第1至5个,左闭右闭 |
lsof |
|
lsof -i:port |
查看占用端口的进程 |
lsof -p pid |
查看进程打开的描述符 |
netstat |
|
-nltp | grep pid |
查找某进程占用的端口 |
man |
|
1 |
一般命令,shell |
2 |
系统调用 |
3 |
函数,涵盖[C标准函数库] |
4 |
特殊文件(通常是/dev中的设备)和驱动程序 |
5 |
文件格式和约定 |
6 |
游戏和屏保 |
7 |
杂项 |
8 |
系统管理命令和守护进程 |