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

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 在每行结束处显示 $ -
常用用法:
- $
cat filename
一次显示整个文件。 - $
cat > filename
从键盘创建一个文件(只能创建新文件,不能编辑已有文件) - $
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 在查看之前不会加载整个文件。
常用用法:
less filename [filename2]
:查看文件ps -ef | less ps
:查看进程信息并通过 less 分页显示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 显示的行数 -
常用用法:
tail -f filename
监视 filename 文件的尾部内容(默认10行,相当于增加参数 -n 10)tail -100f filename
监视 filename 文件的尾部内容(默认从底部往前 100 行,相当于增加参数 -n 100)tail -n 20 filename
显示 filename 最后 20 行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 的动作可以搭配正规表示法 -
常用用法:
sed -n '5,10p' filename
:按照行号查询文件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 "正则表达式"
:实时打印出匹配规则的文件内容
1 条评论
回头我得找个机会好好把这个傻逼问题解决一下,难受死我了
大家要是遇到这个问题,刷新网页重新评论下就可以解决
否则就是一直失败