您的位置:晶晶的博客>Linux>Linux常用命令记录

Linux常用命令记录

一些比较基础的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命令支持三种使用的语法格式

  1. UNIX风格,选项可以组合在一起,并且选项前必须有“-”连字符
  2. BSD风格,选项可以组合在一起,但是选项前不能有“-”连字符
  3. 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中的文件和文件夹权限知识梳理》,举个例子:

find命令

注意图中3条命令其实是一样的,find . -name *.log当中的.即表示当前目录,-name *.log部分即为find命令原型中的expression部分,-name值按文件名称来查找,后方*.log则是指定文件名的规则,*为通配符,.log为文件后缀,该条命令的含义即在当前目录下查找文件后缀为.log的所有文件。

cal命令

最后介绍一个好玩的命令cal,用于在命令行界面显示一些日历(calendar)信息,当然啦只能显示一些简单的公历信息。见下方图,就不具体介绍了,挺好玩的。

cal命令
转载请注明本文标题和链接:《Linux常用命令记录

相关推荐

哟嚯,本文评论功能关闭啦~

  1. #1

    已收藏,以后会用的到

    值得入手 4年前 (2020-06-24) 回复
  2. #2

    学习了

    ccav14 7年前 (2017-05-07) 回复