Linux命令集

发布于:2023-01-16 ⋅ 阅读:(492) ⋅ 点赞:(0)

以centos7为操作系统进行展示

附录:

通过man+命令可以查看某个命令的语法(帮助)

[root@ggbond 桌面]# man find                    # 查看find参数有哪些并且如何使用

之后按键盘的q键退出说明书;英文输入法下

ls命令解析

查看工作目录下的内容

参数使用

[root@localhost ~]# ls -a       # 列出指定文件夹下的文件

ls -l                          # 使用长格式显示当前文件或者目录的详细属性

[root@ggbond ~]# ls -l

ls -d                       #  显示目录的属性并非是目录下的内容

[root@ggbond ~]# ls -ld /var/log/

 -R                          # 列出一个目录下的所有子目录文件

[root@ggbond 桌面]# ls -R /root/桌面/ggbond

-h                              # 显示出带单位的文件的大小

[root@ggbond ~]# ls -lh

查看文件路径

pwd                               # 查看当前目录的绝对路径

[root@ggbond 桌面]# pwd

 cd命令解析

改变当前工作目录,当不指定某个目录时。将被带到主目录

参数使用

cd                                # 进入主目录

 [root@ggbond 桌面]# cd

[root@ggbond ~]# pwd          # 查看当前路径

cd ~                               # 进入主目录

[root@ggbond 桌面]# cd ~

[root@ggbond ~]# pwd

cd /                               #进入根目录   

[root@ggbond 桌面]# cd /

[root@ggbond /]# pwd            查看当前位置

cd ..返回上一级目录

[root@ggbond 桌面]# cd ..             #返回上一级目录

 cd -                               # 返回前一个工作目录

[root@ggbond ~]# cd -           

cat命令解析

查看文件的内容,一口气将文件内容全部列出

参数使用

cat               # 查看文本内容

[root@ggbond 桌面]# cat passwd.txt

[root@ggbond 桌面]# cat passwd.txt | more             #   cat与more配合通过管道符也可以进行分页查看

 

[root@ggbond 桌面]# cat >> 77.txt    # 即时输入不用进文本中就可以写入内容(Ctrl+d结束写入)

 打开77.txt文本文件 ;我们看到刚才的已经写入进去了

-b       #  列出行号;仅针对非空白行显示行号,空白行不标行号

[root@ggbond 桌面]# cat -b ggbond1

-n                # 列出行号;同时将空白行也标上行号

[root@ggbond 桌面]# cat -n ggbond1

tac命令详解

不常用

tac与cat命令相反,从最后一行开始显示(即为倒序显示文本内容)

参数使用

[root@ggbond 桌面]# tac 77.txt                  从最后一行开始反向显示文本内容

nl命令

计算文件中行号,将输出的文件内容自动的加上行号

参数使用

[root@ggbond 桌面]# nl 77.txt                       通过列出行号查看文本内容

 -ba                       #不论是否为空行都会加上行号

[root@ggbond 桌面]# nl -ba 77.txt      

-bt                            # 空行不列出行号  (默认值)

[root@ggbond 桌面]# nl -bt 77.txt

 more命令

分页查看文件内容

参数使用

空格键(Space):向下翻一页

回车键(Enter):向下翻一行

b键:往前查看一页,此命令只对文件有用,对管道无用

q键:退出

[root@ggbond 桌面]# more passwd.txt

less命令

 类似于more命令,但是less命令可以随意浏览文件而且他在另一个进程中显示文本内容

参数使用

空格键:向下翻一页

Pagedown:向下翻动一页

Pageup:向上翻动一页

/:向前搜索————定位匹配的文本

n:向前查找下一个匹配的文本

N:向后查找前一个匹配的文本

?:向上搜索字符串功能————向后搜索

n:向后查找下一个匹配的文本

N:向前查找前一个匹配的文本

q:离开less这个程序

[root@ggbond 桌面]# less passwd.txt        # 之后再另一个进程中显示

head命令

用于查看文件的开头部分的内容,默认显示10行内容

参数使用

[root@ggbond 桌面]# head 77.txt     # 默认显示77.txt文件10行内容

-n +正数          #     前面三行

[root@ggbond 桌面]# head -n +3 77.txt       

 

-n +负号                               # 后面跟负号表示不显示后三行内容亲

[root@ggbond 桌面]# head -n -3 77.txt

 tail命令

用于查看文件的结尾部分的内容,也是默认显示10行内容

参数使用

[root@ggbond 桌面]# tail 77.txt                 # 默认显示后10行

 tail -n    后面跟数字也可以指定几行

[root@ggbond 桌面]# tail -n 3 77.txt               # 显示后三行

-f                     # 实时查看被添加到一个文件中的内容

[root@ggbond ~]# ping -n baidu.com >> /root/桌面/baidu.txt    #  在一个标签页中输入命令并且将输出的内容定向到某个文本中

-f              # 实时查看被添加到一个文件中的内容

[root@ggbond 桌面]# tail -f baidu.txt          # 之后再另一个标签页中用tail命令进行实时查看

grep命令

在指定文本文件中匹配字符串,输出匹配字符串所在行的全部内容

参数使用

-n             # 抓取文本中的内容并且显示行号

[root@ggbond 桌面]# grep -n GGbond 77.txt   #   抓取文本中GGbond字段并且显示行号

-E         # 用来扩展选项为正则表达式

[root@ggbond 桌面]# grep -En "^d" 77.txt          #  通过正则表达式来抓取文本中以d开头的内容

[root@ggbond 桌面]# grep -En "d$" 77.txt          # 抓取以d结尾的内容

 -v          #  对匹配的结果进行反选

[root@ggbond 桌面]# grep -vn "^d" 77.txt           #抓取除了以d开头的所有内容(即所谓的反选)

locate命令

用于查找符合条件的文件

参数使用

locate+选项+要查找的文件(选项后输入的内容都被当做文件名处理,与路径无关亲!)

-i      # 忽略大小写

[root@ggbond 桌面]# locate -i aa       #  查找带有aa字符的所有文件

-r                    # 使用基本正则表达式进行匹配

[root@ggbond 桌面]# locate -r ggbond    #   匹配ggbond相关的文件

 如果创建完文本之后没有查找到我们可以通过updatedb来进行更新

 find命令

在指定目录下查找文件

参数使用

find 路径 选项 要查找的文件

-name                   # 通过文件名查找文件

[root@ggbond 桌面]# find / -name ggbond              # 查找文件名为ggbond的文件

 [root@ggbond ~]# find / -name ???          # 查找文件名长度为三个字符的文件

 [root@ggbond ~]# find / -user ggbond         # 通过用户名查找文件

 [root@ggbond ~]# find . -name "[a-z]*[4-9].log"        # 在当前目录查找文件名以小写字母开头最后是4-9以log后缀结尾的文件

Linux系统三种时间戳

 要按指定时间戳搜索文件,我们要知道Linux中三种不同的时间戳

访问时间戳 (atime) :最后一次读取文件的时间。
修改时间戳 (mtime) :文件内容最后一次被修改的时间。
更改时间戳 (ctime) :上次更改文件元数据的时间(如,所有权、位置、文件类型和权限设置)

 -mtime  n              #   n为数字在n天之前(一天之内)被更改动过的内容的文件

[root@ggbond ~]# find /root -mtime 0       # 查找从现在开始到24小时前被更改过内容的文件

 -mtime +n                 # 列出在n天之前(不含n天本身)被更动过内容的文件

[root@ggbond ~]# find /root -mtime +1        # 查找大于等于2天前被更动过内容的文件

 -mtime -n              #    列出在n天之内(含n天本身)被更动过内容的文件

[root@ggbond ~]# find /root -mtime -2           #   查找小于等于2天内被更动过内容的文件

 -newer  file                  #  file为一个存在的文件;列出比file还要新的文档名

[root@ggbond ~]# find -newer /root/桌面/77.txt         #  列出比77.txt文件还要新的文件

-exec                    # 参数后面可以跟额外的命令

[root@ggbond ~]# find /root/桌面/ -name 77.txt -exec ls -hl {} \;        查找文件名为77的文件并且以长格式列出

{}    :表示由find找到的内容,find找到内容之后将其放入到{}中;

-exec ls -hl {} \    : 表示find的额外动作从-exec开始到斜杠\结束额外动作是ls-hl 列出详细信息并且以单位形式显示大小

;   :   因为在bash环境下是有特殊意义的;所以利用反斜杠来进行转义

 

tr命令

进行文本字符替换

参数使用

[root@ggbond 桌面]# cat 77.txt | tr [a-z] [A-Z]          # 将77文本中的小写字母替换成大写字母

 wc命令

统计指定文本的行数,字节数,字数

 参数使用

-l                 #  只显示行数

[root@ggbond 桌面]# wc -l 77.txt                   # 只显示77文本内的行数

-w              #  只显示单词数               

[root@ggbond 桌面]# wc -w 77.txt            # 只显示77文本中的单词数

-c                  # 只显示字节数

[root@ggbond 桌面]# wc -c 77.txt           # 只显示77文本中的字节数

另外不带参数时显示顺序从左到右

行数 单词数 字节数 文件名

 [root@ggbond 桌面]# wc 77.txt

cut命令

按“列”提取文本字符

参数使用

-f                   #  指定要查看的区域

-d                  #  自定义分割符

[root@ggbond 桌面]# cut -d : -f 2-4 /etc/passwd       

[root@ggbond 桌面]# cut -d : -f 2,4 /etc/passwd          #  单独提取出某几个列用逗号隔开

mkdir命令

创建目录

参数使用

[root@ggbond 桌面]# mkdir aaa     #   创建名为aaa的目录

-p            # 递归创建文件

 [root@ggbond 桌面]# mkdir aaa/bbb/ccc -p           #   在aaa目录中创建一个bbb之后在bbb中再创建一个ccc文件夹

touch命令

创建一个新的空文本文件;也可以用此命令修改文件时间

参数使用

 [root@ggbond 桌面]# touch ggbond1                  # 创建一个名为ggbond1的文本文件

-a:修改atime(最后一次读取文件的时间)
• -m:修改mtime(最后一次修改文件内容的时间)
• -t:指定时间 如:202101010601

[root@ggbond 桌面]# touch -mt 202211131212 ggbond1            # 修改他的mtime;改变ggbond1文本的修改文件时间 ;时间书写格式是“年月日时分”

  [root@ggbond 桌面]# touch -m ggbond1         # 单独不指定任何时间的话  他会显示当前最新的时间

[root@ggbond 桌面]# ll --time=atime ggbond1              # 查看atime时间

[root@ggbond 桌面]# touch -at 201812121111 ggbond1                    # 修改atime时间   

CP命令

复制文件或目录,目录不能直接复制需要加-r参数

参数使用

注:在Centos中cp命令设置了别名;-f参数会被忽略;可以在命令行中添加反斜杠\来忽略别名设置例如:    \cp -rf test ../test

[root@ggbond 桌面]# cp ggbond1 ggbond2           # 复制ggbond1 文本并且命名为ggbond2

-r                                           #复制目录

root@ggbond 桌面]# cp -r aaa/ AA          # 将aaa目录下的子目录一起都复制到AA下面

-p                 # 连同文件的属性(权限、用户、时间)一起复制过去

[root@ggbond 桌面]# cp -p /var/log/wtmp wtmp         # 连同属性一块复制了

 mv命令

移动或重命名目录与文件

用法与cp差不多;一点不同的是移动之后,源文件没了到了新路径

如果移动的源文件和目的文件路径一致;则可以实现改名的操作

参数使用

-b:若需覆盖文件,则覆盖前先行备份

-f:如果目标文件已经存在,不会询问而直接覆盖;

rm命令

删除一个文件或者目录

参数使用

  -r:递归删除目录

[root@ggbond 桌面]# rm -r aaa          

-f        #强制删除(无提示)

[root@ggbond 桌面]# rm -rf AA              # 无提示直接删除目录

 VIM编辑器

vi是 Linux操作系统中最通用的文本编辑器,VIM 编辑器是从 vi 发展出来的一个性能更强大的文本编辑
器。可以主动的以字体颜色辨别语法的正确性,方便程序设计,vim 与vi 编辑器完全兼容。

工作模式

vim 编辑器有 3 种基本工作模式,分别是命令模式、文本输入模式和末行模式
1、命令模式
该模式是进入 vi 编辑器后的默认模式。在这个模式中可以使用上下左右按键来移动光标,可以使用删除字符或删除整行来处理文件内容,也可使用复制、粘贴来处理文件数据。
2、编辑模式
在命令行模式中按下i、a或o即可进入编辑模式,在该模式下,用户输入的字符都会被保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按下Esc键即可。
3、末行模式在命令模式下,用户按:键即可进入末行模式下,此时会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个:作为末行模式的说明符,等待用户输入命令

工作模式切换

如果要从命令模式转换到编辑模式,可以输入命令a、i或者o
如果需要从编辑模式返回命令模式,按下 Esc 键即可或者 ctrl+【 退出编辑模式
在命令模式下输入 : 即可切换到末行模式,然后输入命令。

命令模式下的操作语法

h jkl 四个键控制方向类似于键盘右下角小箭头

yy复制      5yy 复制五行

p 粘贴

dd 删除光标所在行

x 光标所在字符删除

X(大写) 删除当前光标前一个字符

r 修改光标所在位置字符

gg 跳到第一行

G跳到最后一行

u 撤销

ctrl+r 反撤销 当时撤销多了

ctrl+【 退出编辑模式或者Esc

o 当前光标下一行

:noh 取消高亮

/ 搜索

n向下搜索

N向上搜索

:set nu 显示行号

:set nonu 关闭行号

命令行进入编辑模式

i 当前光标前        I(大写i)光标所在行最前
a 当前光标后        A光标所在行最后
o 当前光标的下一行       O当前光标的上一行
Esc 退出编辑模式

末行模式操作语法

按 : 进入命令模式
w 保存
q 退出
wq 或 x 保存退出
q!不保存强制退出
wq!强制保存并退出,管理员才有权限
:set nu 显示行号
:set nonu 关闭行号
:noh 取消搜索高亮

文本打包与压缩

打包:将一大堆文件或目录什么的变成一个总的文件
压缩:将一个大的文件通过一些压缩算法变成一个小文件
为什么要区分这两个概念呢?其实这源于Linux中的很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你就得先借助另外的工具将这一大堆文件先打成一个包,然后再用压缩程序进行压缩。

常见压缩文件扩展名

*.zip zip 程序压缩的文件;
*.gz gzip 程序压缩的文件;
*.bz2 bzip2 程序压缩的文件
*.tar tar 程序打包的数据,并没有压缩过;
*.tar.gz tar 程序打包的文件,并且经过 gzip 的压缩
*.tar.bz2 tar 程序打包的文件,并且经过 bzip2 的压缩

zip命令

[root@ggbond 桌面]# zip -r ggbond1.zip ./ggbond       # 将ggbond内容压缩为ggbond1.zip文件

 [root@ggbond 桌面]# unzip ggbond1.zip           #解压缩   解压当前文件到本目录下

gzip命令

使用 gzip 进行压缩时,原本的文件会被压缩成为 .gz 的名字,源文件就不存在了,需要特别注意

参数使用

-d :解压缩
-v :可以显示出原文件/压缩文件的压缩比等信息

gzip -v file 压缩file并重命名为file.gz(原文件会清除)
gzip -dv file.gz 将file.gz解压缩为file(原文件也会清除)

bzip2命令

-d :解压缩
-v :可以显示出原文件/压缩文件的压缩比等信息
-k :保留源文件
bzip2 -v file 压缩file并重命名为file.bz2(原文件会清除)
bzip2 -dv file.bz2 将file.bz2解压缩为file(原文件也会清除)

tar命令

-c:建立压缩档案
-x:解包
-t:查看内容
-f:指定文件
-v;显示执行过程
-z:使用gzip压缩或者解压
-j:使用bzip2压缩或者解压

参数使用

tar -cvf file.tar files 创建包含files的tar文件
tar -xvf files.tar 从files.tar中提取文件
tar -czvf file.tar.gz files 使用Gzip压缩创建tar文件
tar -xzvf file.tar.gz 使用Gzip提取tar文件

下图打包目录范例;(打包并未压缩)其他同理

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到