Linux常用命令

记录一些常用的 Linux 命令

一、基本命令

mkdir

1
2
# 可以层级创建目录
mkdir -p a/b/c

cat

1
2
3
4
5
# cat: 查看文件全部内容,大文件慎用
cat info.log

# more:

more

就像翻书一样,以一页一页的显示方便使用者逐页阅读,基本的指令就是按 space 就往下一页显示,按 b 键就会往回 back 一页显示

  • 命令参数
1
2
3
4
5
6
7
8
9
10

+n 从笫 n 行开始显示
-n 定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c 从顶部清屏,然后显示
-d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l 忽略Ctrl+l(换页)字符
-p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s 把连续的多个空行显示为一行
-u 把文件内容中的下画线去掉
  • 常用操作命令
1
2
3
4
5
6
7
8
9
Enter    向下 n 行,需要定义。默认为 1 行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more

less

类似 more,但 less 可以随便浏览文件,more 只能向前移动,不能向后移动

  • 常用命令参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
-i  				忽略搜索时的大小写
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-s 显示连续空行为一行
/字符串: 向下搜索“字符串”的功能
?字符串: 向上搜索“字符串”的功能
n: 重复前一个搜索(与 / 或 ? 有关)
N: 反向重复前一个搜索(与 / 或 ? 有关)
-x <数字> 将“tab”键显示为规定的数字空格
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]:向下翻动一页
[pageup]: 向上翻动一页

显示文件的开头,默认显示 10 行

tail

显示文件末尾内容,常用于查看文件日志

  • 常用命令参数
1
2
-f 循环读取(常用于查看递增的日志文件)
-n<行数> 显示行数(从后向前)

二、管道操作相关

管道是一种通信机制,通常用于进程间的通信(也可通过 socket 进行网络通信),它表现出来的形式将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)

  • 使用 | 作为界定符号

三、查找命令

linux 中查看文件位置还是十分使用的命令

which

在 path 指定的路径中搜索某个系统命令的位置

whereis

用于程序名的搜索

  • 常用参数
1
2
3
4
-b   定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

locate

通过搜寻系统内建文档数据库达到快速找到档案,数据库由 updatedb 程序来更新。updatedb 是由 cron daemon 周期性调用的。默认情况下 locate 命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是 locate 所找到的档案若是最近才建立或 刚更名的,可能会找不到,在内定值中,updatedb 每天会跑一次,可以由修改 crontab 来更新设定值 (etc/crontab)。

find

在文件树中查找文件并作出相应处理

  • 命令格式
1
2
3
4
5
6
7
find pathname -options [-print -exec -ok ...]

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,
在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
  • 命令选项
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
-name 按照文件名查找文件
-perm 按文件权限查找文件
-user 按文件属主查找文件
-group 按照文件所属的组来查找文件。
-type 查找某一类型的文件,诸如:
b - 块设备文件
d - 目录
c - 字符设备文件
l - 符号链接文件
p - 管道文件
f - 普通文件

-size n :[c] 查找文件长度为n块文件,带有c时表文件字节大小
-amin n 查找系统中最后N分钟访问的文件
-atime n 查找系统中最后n*24小时访问的文件
-cmin n 查找系统中最后N分钟被改变文件状态的文件
-ctime n 查找系统中最后n*24小时被改变文件状态的文件
-mmin n 查找系统中最后N分钟被改变文件数据的文件
-mtime n 查找系统中最后n*24小时被改变文件数据的文件
(用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。 )
-maxdepth n 最大查找目录深度
-prune 选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略
-newer 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项
  • 例子
1
2
3
4
5
# 查找当前目录下的log文件
find ./ -name '*.log'

# 查找/opt目录下权限为777的文件
find /opt -perm 777
  • -exec 后面跟的是 command 命令,它的终止是分号,不可缺少,会在前面加反斜杠
1
2
# 在当前目录中查找更改时间在10日以前的文件并删除它们(无提醒)
find . -type f -mtime +10 -exec rm -f {} \;

grep

是“global search regular expression and print out the line”的简称,意思是全面搜索正则表达式,并将其打印出来。

  • 基本使用
1
2
3
4
5
# 列出所有匹配行并显示行号
grep -n zwx file_*

# 字面意思精准匹配
grep zw* file_1

四、进程状态相关

五、其他高级操作

awk


Linux常用命令
https://polarisink.github.io/20221019/yuque/Linux常用命令/
作者
Areis
发布于
2022年10月19日
许可协议