Linux常用命令

Linux命令格式

command [-options] [parameter]

说明:

command :命令名,相应功能的英文单词或单词的缩写
-options :选项,可用来对命令进行控制,也可以省略
parameter:传给命令的参数,可以是 零个、一个或者多个

常用的Linux命令

命令 作用 对应英文
ls 查看当前文件夹下的内容 list
pwd 查看当前所在目录 print work directory
cd [目录名] 切换文件夹 changge directory
mkdir [目录名] 创建目录(文件夹) make directory
rm [文件名] 删除指定文件 remove
cp [复制的文件名] [复制到的地址] 复制文件或目录 copy
touch [文件名] 如果文件不存在,新建文件 touch
clear 清屏 clear

小技巧:

  • ctrl + shift + = 放大终端窗口的字体显示
  • ctrl + - 缩小终端窗口的字体显示

自动补全

在敲出 文件目录命令 的前几个字母之后,按下 tab 键

  • 如果输入的没有歧义,系统会自动补全
  • 如果还存在其他 文件 / 目录 / 命令 ,再按一下 tab 键,系统会提示可能存在的命令
  • 上 / 下 光标键可以在曾经使用过的命令之间来回切换
  • 如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl + c

搜索命令

搜索常用命令

命令 作用
find [查找路径] -寻找条件 匹配方式 查找指定路径下匹配方式相同的文件,包括子目录
grep 搜索文本 文件名 搜索文本文件内容

find搜索文件

find 命令:通常用来在特定的目录下搜索符合条件的文件

命令 作用
find [查找路径] -寻找条件 匹配方式 查找指定路径下匹配方式相同的文件,包括子目录

命令参数

寻找条件

-name:按照文件名查找文件
-a:and 必须满足两个条件才显示
-o:or 只要满足一个条件就显示
-iname:按照文件名查找文件(忽略大小写)
-type:根据文件类型进行搜索
-perm:按照文件权限来查找文件
-user  按照文件属主来查找文件。
-group  按照文件所属的组来查找文件。
-fprint 文件名:将匹配的文件输出到文件。
-newer file1 ! newer file2  查找更改时间比文件file1新但比文件file2旧的文件

匹配方式

-print  默认动作,将匹配的文件输出到标准输出
-exec   对匹配的文件执行该参数所给出的命令。相应命令的形式为 'command' { } \;,注意{ }和\;之间的空格。
-ok     和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
-delete 将匹配到的文件删除

举例

搜索当前目录下,文件名为.log,且内容中含有“变量”的文件
find . -name "*.log" | xargs grep -r "变量"

搜索桌面目录下,文件名包含 1 的文件
find -name "*1*"

搜索桌面目录下,所有以 .txt 为扩展名的文件
find -name "*.txt"

搜索桌面目录下,以数字 1 开头的文件
find -name "1*"

grep

Linux 系统中 grep 命令是一种强大的文本搜索工具
grep 允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式。可以把grep理解成字符查找工具

grep是筛选的命令,在查看日志的时候,也可以对日志的内容进行筛选
它可以把我们需要筛选的关键词那一部分的行数显示出来.

命令参数

选项 含义
-n 显示匹配行及行号
-v 显示不包含匹配文本的所有行(相当于求反)
-i 忽略大小写
- -color 高亮显示关键字
-c 只统计符合条件的总行数,而不会打印出行
-B数字 显示符合条件的行之前对应数字的行,”B”有before之意
-C 在显示符合条件的行的同时,也会显示其前后的行,”-C”有Context之意(上下文之意)

常用的两种模式查找

参数 含义
^a 行首,搜寻以 a 开头的行
ke$ 行尾,搜寻以 ke 结束的行

举例

下面的命令就是查询catalina.out中,包含error关键字前后10行的日志以less的方式显示出来

grep -Cn 10 'error' catalina.out | less
-A  10	匹配行的前10行内容
-B  10	匹配行的后10行内容
-C 10	匹配行的环绕10行内容
'error'	关键词需要引号包裹
less		查看的方式
在.log类型的文件中搜索张三
grep 张三 *.log

查询关键字,高亮显示
-C5表示显示该关键词所在的上下5列
grep 'request' -C5 app.log --color

grep过滤屏蔽关键字
比如我们日志类型是DEBUG级别,想要屏蔽DEBUG级别的日志,就可以使用下面的命令
tail -f app.log | grep -v 'DEBUG'

查询多个条件,与条件
tail grep 'A' -f app.log | grep  'B'

查询多个条件,或条件
tail -f grep  -E 'A|B'  app.log

目录命令

目录常用命令

命令 作用
ls 为列出目录的内容
cd [目录名] 用于切换工作路径

ls查看目录

命令 作用
ls 为列出目录的内容

Linux 下文件和目录的特点

  • 以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示
  • . 代表当前目录
  • 双点. 代表上一级目录

命令参数

ls选项

参数 含义
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合 -l 以人性化的方式显示文件大小

ls通配符

通配符 含义
* 代表任意个数个字符
? 代表任意一个字符,至少 1 个
[] 表示可以匹配字符组中的任一一个
[abc] 匹配 a、b、c 中的任意一个
[a-f] 匹配从 a 到 f 范围内的的任意一个字符

注意:以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示

cd切换目录

cd命令用于切换工作路径

命令参数

命令格式

cd [目录名]

参数

.     代表当前目录
..    代表上一级目录
 
cd        切换目录
cd ~      切换到当前用户的主目录(家目录~)
cd .      保持在当前目录不变
cd ..     切换到上级目录
cd -      可以在最近两次工作目录之间来回切换

查看文件内容

查看文件常用命令

命令 作用
cat 文件名 查看文件内容、创建文件、文件合并、追加文件内容等功能
more 文件名 分屏显示文件内容
less [参数] 文件 分屏显示文件内容

cat

cat 命令可以用来 查看文件内容、创建文件、文件合并、追加文件内容等功能
cat 会一次显示所有的内容,适合查看内容较少的文本文件

命令参数

选项 含义
-n 显示文件行号
-b 显示行号,但是不把空白行计入行
-s 多行空白行只显示一行空白行

举例

查看info.log的全部日志内容
cat info.log

查看info.log的java关键字关联的全部内容
cat info.log | grep  "java"

查看info.log的java关键字后5行关联的全部内容
cat info.log | grep -A 5 "java"

查看info.log的java关键字前10行关联的全部内容
cat info.log | grep -B 10 "java"

查看info.log的java关键字前后20行关联的全部内容
cat info.log | grep -C 20 "java"

more

more 命令可以用于分屏显示文件内容,每次只显示一页内容
适合于 查看内容较多的文本文件

命令参数

命令格式

more [选项] 文件

more 的操作键

操作键 功能
空格键 显示手册页的下一页
b 回滚一页
Enter键 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
Ctrl+B 返回上一屏
f 前滚一屏
= 输出当前行的行号(只输出当前一行的行号)
v 调用vi编辑器
q 退出more
/word 搜索 word 字符串

选项

选项 作用
+n 从文件的第n行开始查看
-n 每次翻页n行

举例

从text.log文件的2000行开始查看
more +2000 text.log

每次翻页20行
more -20 text.log

从text.log文件的里面的“变量”的前两行开始显示
more +/变量 text.log

less

less命令是查看文档,跟more一样可以进行翻页,但是可以往前翻页。
应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜

命令参数

命令格式

less [参数]  文件 

参数:

-b <缓冲区大小> 设置缓冲区的大小
-e  当文件显示结束后,自动离开
-f  强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g  只标志最后搜索的关键词
-i  忽略搜索时的大小写
-m  显示类似more命令的百分比
-N  显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q  不使用警告音
-s  显示连续空行为一行
-S  行过长时间将超出部分舍弃
-x <数字> 将“tab”键显示为规定的数字空格
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
z  向后翻一页
d  向后翻半页
b	向上翻一页
h  显示帮助界面
Q  退出less 命令
u  向前滚动半页
y  向前滚动一行
空格键 滚动一页
回车键 滚动一行
[pagedown]: 向下翻动一页
[pageup]:   向上翻动一页

标记导航
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:

m - 标记一个锚点当前位置
'  - 跳转到某个锚点.

比如:
ma - 标记当前位置为a
'a - 导航到标记 a 处

其他技巧

  • 使用less的时候我们看的是固定的文档,如果我们希望像tail一样查看滚动的当前最新文档,我们可以在less命令的时候,使用大写的F,来查看滚动日志,ctrl+c停止回到less
  • 可以按 v 进入编辑模型, shift+ZZ 保存退出到 less 查看模式
  • 可以按 :e 查看下一个文件, 用 :n 和 :p 来回切换
  • G - 移动到最后一行
  • g - 移动到第一行
  • q / ZZ - 退出 less 命令

举例

比如下面这个,就是忽略搜索时的大小写,显示百分比,显示行号,连续空行为一行的来显示log日志

less -imNs   /opt/appl/spring-cloud/log/service.log

vi

如果文件已存在,会直接打开该文件;
如果文件不存在,会新建一个文件

备注说明:一般VIM是用来编辑文件的,所以不是查看日志的常用命令。但是VIM也是可以实现日志文件内容查看的。

命令参数

命令格式

vi 文件名

操作按键

按键 作用
n 下一个搜索出来的word字符串
shift+n 前一个搜索出来的word字符串
i 进入编辑模式,左下角显示INSERT
ESC 退出编辑模式,之后使用退出命令退出vi编辑器
命令 作用
/word 搜索word字符串
?word 向前搜索word字符串
:$ 跳转到最后一行
:w 保存
:q 退出
:q! 强行退出,不保存退出(常用)
:wq 保存并退出
:x 保存并退出
:wq! 强制保存修改的内容然后退出(修改了只读文件会用到)

其它命令

tail

tail命令用于查看纯文本文档的后 N行或持续刷新内容,

命令参数

命令格式

tail [参数] [文件] 

参数

-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

举例

实时查看文件最新信息           
tail -f 文件名    

查看文本内容的最后20行
tail -n 20 文件名   

             
动态查看实时输出info.log日志
tail -f info.log

查看info.log日志后200行
tail -n 200 info.log

动态查看含有关键字orderId的日志
tail -f info.log | grep  "orderId"

你可能感兴趣的:(linux,服务器,运维)