一些比较基础的linux命令于此:https://blog.jjonline.cn/linux/75.html
linux下的压缩和解压相关命令在此:https://blog.jjonline.cn/linux/104.html
grep命令
grep命令是一个强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
格式原型:grep [OPTIONS] PATTERN [FILE...]
或grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
grep命令的OPTION参数
-c
只输出匹配行的计数;辅助记忆c为英文单词count计数的首字母;
-I
不区分大小写(只适用于单字符);
-h
查询多文件时不显示文件名;
-l
查询多文件时只输出包含匹配字符的文件名;
-n
显示匹配行及行号;
-s
不显示不存在或无匹配文本的错误信息;
-v
显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
\
忽略正则表达式中特殊字符的原有含义;
^
匹配正则表达式的开始行;
$
匹配正则表达式的结束行;
\<
从匹配正则表达 式的行开始;
\>
到匹配正则表达式的行结束;
[ ]
单个字符,如[A]即A符合要求 ;
[ - ]
范围,如[A-Z],即A、B、C一直到Z都符合要求 ;
.
所有的单个字符;
*
有字符,长度可以为0。
ps命令
格式原型:ps [options] [--help]
process status的首字母缩写,进程状态查看命令。该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。ps命令能够给出当前系统中进程的快照;它能捕获系统在某一事件的进程状态。如果你想不断更新查看的这个状态,可以使用top命令。
ps命令支持三种使用的语法格式
- UNIX风格,选项可以组合在一起,并且选项前必须有“-”连字符
- BSD风格,选项可以组合在一起,但是选项前不能有“-”连字符
- GNU风格的长选项,选项前有两个“-”连字符
ps命令的参数非常多,逐一列出来没有意义,掌握几个常用的命令即可。ps命令一般返回内容较多,需要搭配正则匹配命令grep进行快速查找进程信息,例如:ps -ef | grep nginx
可以快速查找出进程中有关nginx的相关信息。
wc命令
格式原型:wc [OPTION]... [FILE]...
或 wc [OPTION]... --files0-from=F
wc命令即word count英文单词的首字母缩写,用于统计指定的文件中字节数、字数、行数,并将统计结果输出。
主要OPTION参数
-c
统计字节数;
-l
统计行数;
-m
统计字符数;
-w
统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串。
例如:
统计web日志的行数,假设web日志路径为:/usr/local/nginx/logs/www.jjonline.cn.log
,命令如下:
cat /usr/local/nginx/logs/www.jjonline.cn.log | wc -l
wc -l /usr/local/nginx/logs/www.jjonline.cn.log
上述两条命令达到的效果是一样的,可能在结果输出方面有稍许差异;管道符|
在linux的shell中很常见,管道符|
将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
pidof命令
格式原型:pidof [-s] [-c] [-x] [-m] [-o omitpid] [-o omitpid..] program [program..]
pidof
命令用于查找一个运行的程序的PID,这个命令与ps
命令有相似之处,pidof
则更加专注于进程的pid查找。
-s
表示只返回1个pid;
-x
表示同时返回运行给定程序的 shell 的 pid;
-o
表示告诉pidof忽略后面给定的 pid ,可以使用多个-o;
find命令
格式原型: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
find命令用于在文件树中查找文件,并作出相应的处理,相当于windows系统中的查找文件功能。由于find命令功能十分强大,也就意味着该命令的参数也将比较复杂,熟练掌握一些常用的用法即可。
上述格式原型中[-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec]
的部分是可选的,也就意味着可以省略,所以有些地方关于find命令的格式原型也有这种写法:find pathname -options [-print -exec -ok ...]
,其实呢并没有什么差异,因为这些可选参数实在用的不多,更常见的是后一种用法。
path
用于指定查找的路径,默认值为当前路径,expression
部分可以是操作符、参数选项等标记位的一种或多种,expression
表达式默认为-print
,我们比较常用的模式是将expression
部分作为参数选项符来使用,当expression
作为参数选项时常用的一些如下:
-name
按照文件名查找文件
-perm
按照文件权限来查找文件
-prune
使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略
-user
按照文件属主来查找文件
-group
按照文件所属的组来查找文件
-mtime -n +n
按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前;
-nogroup
查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在;
-nouser
查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在;
-newer file1 ! file2
查找更改时间比文件file1新但比文件file2旧的文件
-type
查找某一类型的文件,诸如:b
块设备文件;d
目录;c
字符设备文件;p
管道文件;l
符号链接文件;f
普通文件,关于linux中的文件类型可以参考:《Linux中的文件和文件夹权限知识梳理》,举个例子:
注意图中3条命令其实是一样的,find . -name *.log
当中的.
即表示当前目录,-name *.log
部分即为find命令原型中的expression
部分,-name
值按文件名称来查找,后方*.log
则是指定文件名的规则,*
为通配符,.log
为文件后缀,该条命令的含义即在当前目录下查找文件后缀为.log
的所有文件。
cal命令
最后介绍一个好玩的命令cal,用于在命令行界面显示一些日历(calendar)信息,当然啦只能显示一些简单的公历信息。见下方图,就不具体介绍了,挺好玩的。
已收藏,以后会用的到