1、基础命令

1.1 pwd

  • 功能:显示用户当前所在的目录
  • 格式:pwd

1.2 ls

  • 功能:对于目录,该命令列出该目录下的所有子目录与文件;对于文件,将列出文件名以及其他信息

  • 格式:ls [选项] [目录或文件]

  • 常用选项:

    选项 说明
    -a 查看当前目录下的文件,包括隐藏文件
    -l 长格式显示文件
    -lh 以方便阅读的长格式显示

1.3 cd

  • 功能:改变工作目录
  • 格式:cd 目录名

1.4 find

  • 功能:用来在指定目录下查找文件

  • 格式:find [路径] [选项] 操作

  • 常用选项:

    选项 说明
    -name test 查询指定目录下,命名为 test 的文件
    -size +100k 查询指定目录下,文件大于 100K 的文件
    -ctime n 查询指定目录下,在过去 n 天内被修改过的文件

1.5 chmod

  • 功能:控制用户对文件的权限

  • 格式:chmod [选项] 文件名

  • 常用选项:

    选项 说明
    -r 赋予读取权限
    -w 赋予写入权限
    -x 赋予执行权限
    777 赋予可读、可写、可执行权限(读:4,写:2,执行:1)
  • 权限说明:(例:-rw-r--r-x 的权限为 645)

    1. 权限显示位一共为 10 位,分为四段,从第二位算起,每三个一组
    2. 第 1 位代表文件类型(- 表示为普通文件)
    3. 第 2-4 位代表文件所属用户拥有的权限(rw-:4+2=6)
    4. 第 5-7 位代表该用户所属组拥有的权限(r--:4)
    5. 第 8-10 位代表其他用户拥有的权限(r-x:4+1=5)

1.6 ps

  • 功能:用来列出系统中当前正在运行的那些进程,类似于 windows 的任务管理器

  • 格式:ps [选项]

  • 常用选项:

    选项 说明
    -A 列出所有的进程 (重要)
    -ef 查看全格式的全部进程 (重要)
    -w 显示加宽可以显示较多的资讯
    -au 显示较详细的资讯
    -aux 显示所有包含其他使用者的行程

1.7 kill

  • 功能:用于删除执行中的进程

  • 格式:kill [选项]/[信号] 进程号

  • 常用选项:

    选项 说明
    -l 参数会列出全部的信息名称。
    -s 指定要送出的信息。
  • 常用信号:

    信号 说明
    -1(HUP) 重新加载进程
    -9(KILL) 杀死一个进程(重点)
    -15(TERM) 正常停止一个进程

1.8 netstart

  • 功能:查看端口号
  • 格式:netstart -anp | grep 端口号

1.9 ping

  • 功能:检测是否与主机连通
  • 格式:ping 地址

2、文件操作的命令

2.1 mkdir

  • 功能:创建目录

  • 格式:mkdir [选项] [路径] 文件名

  • 常用选项:

    选项 说明
    -p 层级创建
    -v 显示创建顺序

2.2 rmdir

  • 功能:删除空目录(不能删除非空目录,不能删除文件)

  • 格式:rmdir [选项] [路径] 目录名

  • 常用选项:

    选项 说明
    -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除

2.3 touch

  • 功能:新建空文件
  • 格式:touch [路径] 文件名

2.4 rm

  • 功能:删除文件或目录

  • 格式:rm [选项] 文件名

  • 常用选项:

    选项 说明
    -f 强制删除
    -r 多级删除
    -rf 强制删除给定目录下所有文件和目录

2.5 mv

  • 功能:可以用来移动文件或者将文件改名,经常用来备份文件或者目录

  • 格式:mv [选项] [路径] 旧文件名 [新路径] [新文件名]

  • 常用选项:

    选项 说明
    -f force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
    -i 若目标文件 (destination) 已经存在时,就会询问是否覆盖

2.6 cp

  • 功能:复制文件或目录

  • 说明:cp 指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

  • 格式:cp [选项] [路径] 旧文件名 [新路径] [新文件名]

  • 常用选项:

    选项 说明
    -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
    -i 或 --interactive 覆盖文件之前先询问用户
    -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
    -R 或 --recursive 递归处理,将指定目录下的文件及子目录一并处理

2.7 cat

  • 功能:查看目标文件的内容

  • 格式:cat [选项] 文件名

  • 常用选项:

    选项 说明
    -b 对非空输出行编号
    -n 对输出的所有行编号
    -s 不输出多行空行

3、vi / vim 的使用

image-20220731174938869
  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。
  • /要查找的字符串 查找指定字符串,按 n 查找下一个

4、定位异常日志的方法

当日志存储文件很大的时候,就不能用 VIM 的方式去查看日志了,就需要 Linux 的一些内置命令去查看日志文件

4.1 cat 命令

  • cat 是由第一行到最后一行连续显示在屏幕上

  • 命令格式:cat [参数] [文件]

  • 参数 说明
    -n 或 --number 由 1 开始对所有输出的行数编号
    -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
    -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
    -v 或 --show-nonprinting 显示内容,但是不打印出来
    -e 或 -E 或 --show-ends 在每行结束处显示 $
  • 常用用法:

    1. $ cat filename 一次显示整个文件。
    2. $ cat > filename 从键盘创建一个文件(只能创建新文件,不能编辑已有文件)
    3. $ cat filename1 filename2 > filename 将几个文件合并为一个文件(如果原本 file 文件中有内容,会被覆盖掉)

4.2 more 命令

more 命令是一个基于 vi 编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持 vi 中的关键字定位操作。

该命令一次显示一屏文本信息,满屏后停下来,以百分比的形式,以上下翻页,以上下行移动显示查看日志并且在屏幕的底部给出一个提示信息,从开始至当前己显示的该文件的百分比:–More–(XX%)

按键 说明
Space 显示文本的下一屏内容
B 显示上一屏内容
Enter 只显示文本的下一行内容
斜线符 接着输入一个模式,可以在文本中寻找下一个相匹配的模式
H 显示帮助屏,该屏上有相关的帮助信息
Q 退出 more 命令

4.3 less 命令

less 与 more 类似,使用 less 可以随意浏览文件,而 more 仅能向前移动,不能向后移动,而且 less 在查看之前不会加载整个文件。

常用用法:

  1. less filename [filename2]:查看文件
  2. ps -ef | less ps:查看进程信息并通过 less 分页显示
  3. history | less:查看命令历史使用记录并通过 less 分页 显示

4.4 tail 命令

  • tail 命令用于显示文本文件的末尾内容(默认 10 行,相当于增加参数 -n 10),并且实时不断有内容被打印出来,若想中断进程,使用命令 Ctrl C

  • 命令格式:tail [参数] filename

  • 下述命令中,都涉及到 number,假设不指定,默认显示 10 行。Number 前面可使用正负号,表示该偏移从顶部还是从尾部开始计算。

    参数 说明
    -f 该参数用于监视 File 文件增长
    -c Number 从 Number 字节位置读取指定文件
    -n Number 从 Number 行位置读取指定文件
    -m Number 从 Number 多字节字符位置读取指定文件
    比方你的文件假设包括中文字,假设指定 -c 参数,可能导致截断,但使用 -m 则会避免该问题
    -b Number 从 Number 表示的 512 字节块位置读取指定文件
    -k Number 从 Number 表示的 1KB 块位置读取指定文件
    -q 隐藏文件名
    -v 显示文件名
    -c 显示字节数
    -n 显示的行数
  • 常用用法:

    1. tail -f filename 监视 filename 文件的尾部内容(默认10行,相当于增加参数 -n 10)
    2. tail -100f filename 监视 filename 文件的尾部内容(默认从底部往前 100 行,相当于增加参数 -n 100)
    3. tail -n 20 filename 显示 filename 最后 20 行
    4. tail -r -n 10 filename 逆序显示 filename 最后 10 行

4.5 head 命令

跟 tail 是相反的,head 是看前多少行日志

4.6 grep 命令

  • grep 同时满足多个关键字和满足任意关键字,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

  • 命令格式:grep [选项] '查找字符串' 文件名

  • 参数 说明
    -c 只输出匹配行的计数
    -i 不区分大小写(只适用于单字符)
    -h 查询多文件时不显示文件名
    -l 查询多文件时只输出包含匹配字符的文件名
    -n 显示匹配行及行号
    -s 不显示不存在或无匹配文本的错误信息
    -v 显示不包含匹配文本的所有行
    -A 显示匹配行及前面多少行,如: -A3,则表示显示匹配行及前 3 行
    -B 显示匹配行及后面多少行,如:-B3,则表示显示匹配行及后 3 行
    -C 显示匹配行前后多少行,如:-C3, 则表示显示批量行前后 3 行

4.7 sed 命令

  • 这个命令可以查找日志文件特定的一段 , 根据时间的一个范围查询,可以按照行号和时间范围查询

  • 命令格式:sed [参数] filename

  • 参数 说明
    -n 使用安静模式。在一般 sed 的用法中,所有来自 STDIN 的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过 sed 特殊处理的那一行才会被列出来。
    -p 列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作
    -s 取代,可以直接进行取代的工作,通常这个 s 的动作可以搭配正规表示法
  • 常用用法:

    1. sed -n '5,10p' filename:按照行号查询文件
    2. sed -n '/2014-12-17 16:17:20,/2014-12-17 16:17:36/p' filename 按照时间段查询文件

4.8 混合命令

  • cat -n filename | grep "要查询的关键字" | more 行号:查询指定文件中关键词所在行信息
  • tail -f filename |grep -E "正则表达式":实时打印出匹配规则的文件内容

END

本文作者:
文章标题:Linux 中简单常用操作指令
本文地址:https://www.pendulumye.com/operating-system/469.html
版权说明:若无注明,本文皆个人学习记录原创,转载请保留文章出处。
最后修改:2022 年 08 月 30 日
千山万水总是情,给个一毛行不行💋