Linux Shell 命令

awk(分析文本)

显示第一列:awk ‘{print $1}’ 文件名
指定分隔符:awk -F ‘符号’
设置变量:awk -va=1 ‘{print $1+a}’ 文件名
使用脚本:awk -f {awk脚本} {文件名}
过滤出第一列大于0的行:awk ‘$1>0’ 文件名
更多参考:https://blog.csdn.net/jin970505/article/details/79056457

cat(创建/查看/合并/追加 文件)

显示文件内容:cat 文件名
创建文件:cat > 文件名
合并文件:cat 文件1 文件2 > 目标文件
清空文件:cat /dev/null > 目标文件
追加文件:cat << 追加内容 >> 文件名


-n:对行数进行编号
-b:对空白行不编号
-s:删除多余的换行符

cp(复制 文件/目录)

-b:删除、覆盖前备份
-f:强行复制
-i:覆盖前先询问
-l:添加硬链接
-p:保留 源文件/目录 的属性
-P:保留 源文件/目录 的路径
-r:递归
-R:递归(包含子目录)
-s:添加软连接
-v:显示执行过程


将文件1复制成文件2:cp 文件1 文件2
将目录1复制成目录2:cp -R 目录1 目录2
将文件1和目录1复制到目录2:cp -R 文件1 目录1 目录2

exit(退出脚本,类似 return)

0表示成功
非0表示失败
2表示用法不当

free(查看 内存/缓冲区)

-b:以Byte为单位显示内存使用情况
-k:以KB为单位显示内存使用情况
-m:以MB为单位显示内存使用情况
-g:以GB为单位显示内存使用情况
-o:不显示缓冲区调节列
-s<间隔秒数>:持续观察内存使用状况
-t:显示内存总和

grep(分析文本)

-E :使用正则
-i :忽略大小写
-v :只打印没有匹配的,匹配的反而不打印
-n :显示行号
-w :被匹配的文本只能是整个单词
-c :显示总共有多少行被匹配到
-o :只显示被模式匹配到的字符串
–color :将匹配到的内容以颜色高亮显示
-A n:显示匹配到的字符串所在的行及其后n行,after
-B n:显示匹配到的字符串所在的行及其前n行,before
-C n:显示匹配到的字符串所在的行及其前后各n行,context
更多参考:https://www.cnblogs.com/flyor/p/6411140.html

ls(列出 文件/目录)

-a:显示所有
-A:显示所有(除隐藏类型)
-d:显示目录
-C:多列显示
-l:不多列显示
-F:追加文件类型
-b:字符串转义
-i:显示文件索引
-k:显示文件大小(单位:kb)
-r:文件名反序排列并输出
-s:显示文件和目录的大小(单位:区块)
-L:遇到符号链接,输出其指向的文件或目录
-R:递归
–full-time:列出完整的日期与时间
–color[=WHEN]:使用不同的颜色显示不同类型

ln(创建文件链接)

-f: 链结时删除同名档案
-d:允许硬链接
-i: 删除同名档案前询问
-n:软链接时,将dist视为一般档案
-s:进行软链接
-v:链接前显示档案名
-b:对链接时被覆写或删除的档案备份
-SSUFFIX :将备份档案加上 SUFFIX 结尾
-VMETHOD :指定备份方式


创建软链接:ln -s 源文件 目标文件
创建硬链接:ln 源文件 目标文件
删除链接:rm -rf 链接名

lsof(监听端口、查看进程打开的文件)

-a:其它选项之间为&&的关系
-c:<进程名> 输出指定进程打开的文件
-d:<文件描述符> 列出占用该文件的进程
+d:<目录> 输出目录及目录下被打开的文件和目录(不递归)
+D:<目录> 递归输出及目录下被打开的文件和目录
-i:<条件> 输出符合条件的文件
-n:不解析主机名
-p:<进程号> 输出指定 PID 的进程所打开的文件
-P:不解析端口号
-t:只输出 PID
-u:输出指定用户打开的文件
-U:输出打开的 UNIX domain socket 文件


更多参考:https://www.cnblogs.com/sparkdev/p/10271351.html

netstat(显示网络信息)

-a:显示所有
-t:仅显示tcp
-u:仅显示udp
-n:不显示别名
-l:仅显示监听状态
-p:显示链接到的程序名
-r:显示路由信息
-e:显示扩展信息
-s:按协议统计
-c:创建时钟,每隔一定时间执行一次
更多参考:https://www.cnblogs.com/echo1937/p/6677325.html

touch(创建/修改 文件)

-a :修改文件的访问时间(access)
-d:使用指定的时间日期
-m:修改文件的修改时间(modify)
-r 文件名:使用某个文件的时间戳


创建文件:touch 文件名

wc(统计文件 字数/行数)

-c:统计字节数
-l:统计行数
-m:统计字符数
-w:统计字数
-L:打印最长行的长度

查看系统支持的 shell 类型

cat /etc/shells

判断 文件 是否存在

[ -f 文件名 ] && echo 1||echo 0

存在输出1,否则输出0


判断目录是否存在: -d
不论是文件还是目录: -e
判断文件可读/写/执行:-r、-w、-x

设置权限

chmod 000~777 文件名

定义、引用 一个变量

var=etc/services
[ -f $var ] && echo 1||echo 0

传入参数

sh 文件名 参数

判断语句

当参数个数不为2个时:
[ $# -ne 2 ]&&{
	...
}

当两个变量相等时:
[ $1 -eq $2 ]

变量1大于变量2时:
[ $1 -gt $2 ]

变量1小于变量2时:
[ $1 -lt $2 ]

在前台打印多行内容

function(){
	cat <

读入一个变量

read 变量名

if 判断

if [ 判断内容 ];then
	...
fi

你可能感兴趣的:(Linux)