man(查询指令)
我们进行这个man的安装
yum install -y man-pages
这里就是说明我们已经下载好了
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man 语法: man [选项] 命令
比如我们这里man ls查询ls的所有使用方法
man ls
查询完成之后我们输入q直接进行退出的操作
man就是我们Linux中的一个在线手册
我们这里man pwd
可以看到我们我们的pwd的作用是打印我们当前的地址
man pwd
我们这里man touch
开始的就是touch的作用,后面的就是和touch相关的选项操作
man touch
我们这里man rm这里就是移除一个文件和目录
man rm
如果我们不知道man的使用方法,当然我们也是可以使用man man 进行查询man的具体使用方法的
man man
我们这里man printf可以发现我们也是可以发现printf也是这个Linux中的命令
man printf
并且这个作用就是类似于c语言中的printf一样具有打印功能的
但是我们想通过man查到c语言中的printf的作用
那么我们是可以通过输入man 3 printf进行c语言中printf的作用的查找的
man 3 printf
那么我们这里就显示了我们的这个c语言中的printf相关的函数了
那么我们这里就可以查的出我们的Linux中的指令
我们也可以查到 C语言中的函数
我们也是可以在使用man 操作打开对应的指令的解释的时候我们可以输入/然后进行我们对应的关键词的搜索操作,我们这里输入的是返回值,那么我们这样就可以直接帮我们定位到返回值的说明的地方
/return val
我们这里使用man 2 fork可以查到系统调用接口,fork的作用就是调用一个子进程
那么我们的man不仅可以帮我们查询指令,又能帮我们查询对应的系统调用接口
还能帮我们查C语言当中的接口
但是man最重要的还是帮我们进行C语言中的接口以及指令的查询
那么我们的这个man 2和man 3是什么意思呢?
我们使用man man 查下
然后我们使用上下移动键进行往下移动,我们可以发现存在9个章节
这个的话就是我们依次从每个手册进行查询
如果我们不带数字的话默认是从第一个手册进行查询的
第一号手册主要是可执行程序或者是命令行的命令
二号手册线程调用
三号手册就是函数调用,一般的话都是程序的库
剩下的手册我们就不关心的
所以我们一开始man printf的时候查到的是Linux中的命令,因为我们没有指定手册号,默认是从1号手册开始进行查询操作的
先进行指令的查询,刚好我们的Linux系统存在这么一个指令的,当我们在1号指令查到了就直接结束了,我们后面的指令就不查了
我们这里的1号手册是默认手册
如果我们man 2的话就是我们跳过1号手册从2号手册直接开始进行查询的操作
10.重定向>操作(echo)
输出重定向
Linux下,一切皆是文件
打印到显示器→显示器也是文件→写入到显示器文件
从键盘读取数据→键盘也是文件→从键盘文件读取数据
echo命令,将后面的字符串打印到现实器上面,后面可以是一段换可以是单引号包起来的
[root@20W lesson3]# echo hello world
hello world
[root@20W lesson3]#
我们这里输入echo "hello world" > log.txt
[root@20W lesson3]# echo "hello world" > log.txt
[root@20W lesson3]# ls
dir exit log.txt test.c
[root@20W lesson3]# cat log.txt
hello world
[root@20W lesson3]#
然后我们发现我们想要输出的hello world并没有输出在屏幕上面
于是我们使用ls命令发现我们多出了一个log.txt的文件
我们使用cat查看其中的内容,发现就是我们要打印的那个字符串
我们本应该将显示在屏幕上的字符串写到了文件里面
我们这里一开始的这个文件是不存在的,那么我们直接进行这个文件的创建了,然后将我们的这个字符串放了进去
那么这个操作我们就叫做输出重定向
我们的echo是默认向显示器进行文件写入
然后加个大于符号,然后后面加个文件名,那么就指定向这个文件进行写入的操作了
这个我们就叫做重定向操作
如果文件不存在的话就会先帮我进行文件的新建操作
如果我们的文件之前里面是存在数据的,我们使用echo进行数据的写入操作,那么系统就会将之前存在的数据进行删除操作的,然后再进行写入操作的
[root@20W lesson3]# echo "hello world" > log.txt
[root@20W lesson3]# ls
dir exit log.txt test.c
[root@20W lesson3]# cat log.txt
hello world
[root@20W lesson3]# cat log.txt
hello world
[root@20W lesson3]# echo "aaa" > log.txt
[root@20W lesson3]# cat log.txt
aaa
[root@20W lesson3]# ls -l
total 20
drwxr-xr-x 2 root root 4096 Dec 4 17:58 dir
-rw-r--r-- 1 root root 9708 Oct 30 09:18 exit
-rw-r--r-- 1 root root 4 Dec 4 20:23 log.txt
-rw-r--r-- 1 root root 0 Dec 4 17:59 test.c
[root@20W lesson3]# echo b
b
[root@20W lesson3]# echo b > log.txt
[root@20W lesson3]# cat log.txt
b
[root@20W lesson3]#
echo会将目标文件先清空再进行写入的操作
那么我们就可以推导出,如果我们想在Linux下降一个文件进行清空的操作,我们只需要在文件前面加上大于号
清空文件内容:>文件名
[root@20W lesson3]# cat log.txt
b
[root@20W lesson3]# cat log.txt
b
[root@20W lesson3]#
[root@20W lesson3]# cat log.txt
b
[root@20W lesson3]# > log.txt
[root@20W lesson3]# cat log.txt
[root@20W lesson3]#
那么我们这个是否能进行文件的新建呢?
我们输入>文件名然后会发现我们的文件确实被新建了
[root@20W lesson3]# >new.txt
[root@20W lesson3]# ls -l
total 16
drwxr-xr-x 2 root root 4096 Dec 4 17:58 dir
-rw-r--r-- 1 root root 9708 Oct 30 09:18 exit
-rw-r--r-- 1 root root 0 Dec 4 20:42 log.txt
-rw-r--r-- 1 root root 0 Dec 4 20:54 new.txt
-rw-r--r-- 1 root root 0 Dec 4 17:59 test.c
[root@20W lesson3]#
那么>文件夹就可以清空并且创建这个文件(如果文件不在的话是会进行创建操作的)
这个大于符号叫做输出重定向
一般来说我们的ls -l的作用是查看当前文件夹内的内容的
也是将内容显示在屏幕上
那么我们能不能将这个输出到log.txt这个文件夹呢?
我们使用ls -l > log.txt将我们查看的信息直接输出到这个文件中
然后我们使用cat进行文件的查看,就能看到我们查到的这个文件夹内的信息了
[root@20W lesson3]# ls -l
total 16
drwxr-xr-x 2 root root 4096 Dec 4 17:58 dir
-rw-r--r-- 1 root root 9708 Oct 30 09:18 exit
-rw-r--r-- 1 root root 0 Dec 4 20:54 new.txt
-rw-r--r-- 1 root root 0 Dec 4 17:59 test.c
[root@20W lesson3]# ls -l > log.txt
[root@20W lesson3]# cat log.txt
total 16
drwxr-xr-x 2 root root 4096 Dec 4 17:58 dir
-rw-r--r-- 1 root root 9708 Oct 30 09:18 exit
-rw-r--r-- 1 root root 0 Dec 4 21:57 log.txt
-rw-r--r-- 1 root root 0 Dec 4 20:54 new.txt
-rw-r--r-- 1 root root 0 Dec 4 17:59 test.c
[root@20W lesson3]#
任何具有输出的内容都可以进行输出重定向操作的
比如说我们的ls就可以将当前目录里面的内容输出到屏幕上
那么我们就可以利用输出重定向将输出的内容写到指定的文件中
总结下:我们的输出重定向可以进行文件的创建>文件夹
以及文件夹的清空
甚至是将我们具有输出内容指令的结果存在指定文件夹中
追加重定向>>
然后我们使用两个输出重定向的符号
可以发现我们原本文件之中存在的数据没有被额外删除了
而是每次的话就新增一行进行写入
[root@20W ~]# echo "aaaa" >>log.txt
[root@20W ~]# cat log.txt
aaaa
[root@20W ~]# echo "aaaa" >>log.txt
[root@20W ~]# echo "aaaa" >>log.txt
[root@20W ~]# echo "aaaa" >>log.txt
[root@20W ~]# cat log.txt
aaaa
aaaa
aaaa
aaaa
[root@20W ~]#
那么这两个输出重定向的符号其实叫做追加重定向
所谓的追加重定向就是向我们的文件中不断的进行内容的增加
输出重定向和追加重定向都是向文件中进行写入的
输入重定向<
我们在Linux中输入cat
但是我们发现没反应
我们试着输入一串数字1234
然后回车我们发现屏幕上面显示了我们刚刚输入的数字
可以发现cat本来是从我们的文件中进行读取数字的,但是我们没有进行文件的指定
那么cat就从键盘上面进行数据的读取了,那么就需要我们进行输入了
如果我们想进行退出的操作的话,那么我们就输入CTRL C就可以退出了
那我们如果使用cat和<以及文件名进行搭配又会出现什么结果呢?
我们将log.txt中的内容进行获取了,然后进行打印出来
[root@20W ~]# cat <log.txt
aaaa
aaaa
aaaa
aaaa
[root@20W ~]#
我们的cat本来是需要将文件中的内容进行输出的,那么就可以使用到我们的输入重定向操作了
总结下
终端
我们每次登录的这个页面叫做终端,终端的本质也是一个文件
那么这个文件一般是在哪里呢?
终端文件一般是在dev/tty ,那么我们就输入一串指令进行查看
[root@20W ~]# ls /dev/tty
/dev/tty
[root@20W ~]#
但是我们今天用的是远程登录,那么其实是在dev/pts
[root@20W ~]# ls -ld /dev/pts
drwxr-xr-x 2 root root 0 Oct 1 14:32 /dev/pts
[root@20W ~]#
pts是终端文件的一个目录
我们不带d的话就可以查看到目录里面的内容
[root@20W ~]# ls -l /dev/pts
total 0
crw--w---- 1 root tty 136, 0 Dec 6 15:48 0
c--------- 1 root root 5, 2 Oct 1 14:32 ptmx
[root@20W ~]#
我们再打开一个终端,我们可以发现之前的0变成了1了
我们在一开始的远程终端里面输入echo进行字符串的输入,像自己的屏幕进行打印
我们刚刚又提到了Linux下一切都是文件
那么我们也是可以将这个终端的字符串输出在另一个终端的屏幕上的
echo helloworld > /dev/pts/1
[root@20W ~]# echo helloworld > /dev/pts
-bash: /dev/pts: Is a directory
[root@20W ~]# echo helloworld > /dev/pts/1
[root@20W ~]# echo helloworld > /dev/pts/1
[root@20W ~]# echo helloworld > /dev/pts/1
[root@20W ~]# echo helloworld > /dev/pts/1
[root@20W ~]# echo helloworld > /dev/pts/1
[root@20W ~]#
我们终端里面打印的信息都往这个1号文件里面进行写入了
所以这个1号文件就是终端文件,这个是Linux中的设定
那么这个0是谁呢?
我们可以使用echo进行测试下
echo helloworld > /dev/pts/0
[root@20W ~]# echo helloworld > /dev/pts/0
helloworld
[root@20W ~]#
我们可以发现我们往这个0号文件中输出的信息输出在屏幕上了
11.cp拷贝
[root@20W ~]# echo "aaaaaa" > log.txt
[root@20W ~]# cat log.txt
aaaaaa
[root@20W ~]# cp log.txt ../
[root@20W ~]# ls ../
112 boot etc lib64 media proc sbin tmp
113 CloudrResetPwdAgent home log.txt mnt root srv usr
bin dev lib lost+found opt run sys var
[root@20W ~]#
我们使用cp将这个log.txt拷贝到上级目录里面
我们对普通文件是可以直接将这个文件拷贝到对应的文件里面的
但是如果我们拷贝的是文件夹呢?
还能拷贝成功吗?
[root@20W 114kaizi]# ls
code.txt lesson3 tty.c xuanxuan
[root@20W 114kaizi]# cp lesson3 ../
cp: -r not specified; omitting directory 'lesson3'
[root@20W 114kaizi]#
我们使用这个拷贝命令拷贝这个lesson3文件夹,但是系统不让我们进行复制的操作
因为lesson是一个目录,所以是不让我们拷贝的
目录是树形结构的,所以我们是需要带上-r进行一个递归拷贝操作的
而且可能我们拷贝的时候有可能拷贝的目录及其子文件在目标路径下已经存在了,所以我们加上-f进行强制拷贝操作
[root@20W 114kaizi]# cp -rf lesson3 ../
[root@20W 114kaizi]# ls ../
114kaizi kaizi lesson3 mamashengde mortal xcwgs
[root@20W 114kaizi]#
那么我们就在上级目录成功进行lesson3文件的复制操作
我们这里将这个log.txt复制到上一级路径之下
但是我们将这个拷贝的文件进行重新命名的操作
我们在这个拷贝操作后面加上这个新文件夹的名字,因为不存在,所以我们也是可以利用这个拷贝操作进行拷贝以及新建文件夹的操作
[root@20W 114kaizi]# cd lesson3
[root@20W lesson3]# ls
dir exit log.txt new.txt test.c
[root@20W lesson3]# cp log.txt ../mylog.txt
[root@20W lesson3]# ls ../
code.txt lesson3 mylog.txt tty.c xuanxuan
[root@20W lesson3]#
我们也可以使用cat文件进行文件的查询,是一个文件内容的
我们是使用mkdir进行系统目录的创建操作
[root@20W lesson3]# ls
dir exit log.txt new.txt test.c
[root@20W lesson3]# mkdir -p d1/d2/d3
[root@20W lesson3]# ls
d1 dir exit log.txt new.txt test.c
[root@20W lesson3]#
那么我们拷贝我们的文件夹的同时也是可以进行文件夹名称的修改操作的
我们现在将这个d1文件夹拷贝到上级文件里面并且进行重命名的操作
递归式的强制操作将我们的这个目录里面的内容复制到上级目录里面
[root@20W lesson3]# cp -rf d1 ../myd1
[root@20W lesson3]# ls ../
code.txt lesson3 myd1 mylog.txt tty.c xuanxuan
[root@20W lesson3]#
那么我们就可以看到我们上一级的文件夹出现了这个myd1的目录了
我们使用这个tree进行观察上级路径的myd1可以发现这个目录的路径和我们的d1是一模一样的
[root@20W lesson3]# tree ../myd1
../myd1
└── d2└── d32 directories, 0 files
[root@20W lesson3]#
总结:如果拷贝的是目录的话我们需要带上rf,主要是带上r,f的话可能是我们拷贝的文件需要覆盖对应路径的相同的文件夹
我们直接进行强制操作就行了,不要额外进行问我们的操作
一般系统会问我们的是不是需要进行覆盖啥的
我们直接加上f就避免了询问
alias取别名
指令是什么?就是程序,特定系统路径下的程序
which:快速找到指定的命令文件
一般的系统指令文件是放在usr/bin路径之下的
我们在输入/usr/bin/ls的文件都是没有颜色的
但是我们在后面加上–color=auto就可以产生出颜色了
这个就是usr/bin/ls的选项
我们直接去执行这个命令的是不带颜色的
这里的的alias就是别名的意思,就是说Linux系统中允许我们对特定的命令起别名
我们使用这个命令alias 'zhangsan'='ls -a -l'
就是说我们将后面的命令起了一个别名,那么我们输入zhangsan的时候就可以进行后面的命令了
[root@20W ~]# alias 'zhangsan'='ls -a -l'
[root@20W ~]# zhangsan
total 120
dr-xr-x---. 9 root root 4096 Dec 7 20:48 .
dr-xr-xr-x. 21 root root 4096 Dec 7 20:52 ..
drwxr-xr-x 2 root root 4096 Nov 14 16:32 111
drwxr-xr-x 2 root root 4096 Oct 27 18:31 112
drwxr-xr-x 2 root root 4096 Oct 27 18:34 113
drwxr-xr-x 5 root root 4096 Dec 3 15:53 114
-rw-r--r-- 1 root root 23130 Dec 7 21:56 .bash_history
-rw-r--r--. 1 root root 18 May 11 2019 .bash_logout
-rw-r--r--. 1 root root 176 May 11 2019 .bash_profile
-rw-r--r--. 1 root root 176 May 11 2019 .bashrc
drwx------ 3 root root 4096 Jul 17 2023 .cache
-rw-r--r--. 1 root root 100 May 11 2019 .cshrc
-rw------- 1 root root 0 Jul 17 2023 .history
-rw------- 1 root root 126 Dec 4 17:08 .lesshst
drwxr-xr-x 2 root root 4096 Dec 3 15:26 lesson4
-rw-r--r-- 1 root root 7 Dec 7 20:48 log.txt
drwx------ 2 root root 4096 Oct 1 14:23 .ssh
-rw------- 1 root root 12288 Nov 3 09:36 .swp
-rw-r--r--. 1 root root 129 May 11 2019 .tcshrc
-rw------- 1 root root 10847 Nov 28 12:56 .viminfo
-rw-r--r-- 1 root root 34 Nov 18 18:00 .vimrc
[root@20W ~]#
我们使用which进行zhangsan 这个命令的路径的查看操作
我们发现zhangsan 的本质就是ls -a -l
[root@20W ~]# which zhangsan
alias zhangsan='ls -a -l'/usr/bin/ls
[root@20W ~]#
所以我们的Linux命令行允许我们对指定的命令和选项组合进行取别名的操作
给他整体取别名
那么我们再分析这个图,这个ls就是ls --color的别名了,我们使用ls就是使用ls --color的意思
带颜色的文件查看命令
那么我们也能发现这个ll的命令其实是ls -l --color的别名了
[root@20W ~]# which ll
alias ll='ls -l --color=auto'/usr/bin/ls
[root@20W ~]#
但是系统中我们是不推荐对一个指令起过多的别名了,不然得话操作久了都忘了是什么
如何去掉这个别名呢?我们直接将这个xshell关掉就行了,重新登录就行了
12.mv(剪切以及重命名操作)
我们这里一开始的a.out文件是在这个lesson3中的
现在我们利用mv将a.out移动到上级目录中
使用这个命令mv a.out …
然后回车使用ls …进行查看,我们发现了这个文件就被剪切到了上级目录中了,当前的目录已经不存在这个文件了
不仅是文件,目录也是就可以的
我们将这个d1剪切到上级目录里面,当前目录的d1就没了
然后我们使用tree看下d1的结构,发现和之前的是一样的
我们使用mv进行文件或者是目录的剪切操作的时候我们是不需要带上选项的,直接剪切到对应的位置里面
我们的mv命令除了剪切的操作,还能进行这个重命名的操作
[root@20W lesson3]# ls
d1 dir exit log.txt new.txt test.c
[root@20W lesson3]# mv test.c mttest.c
[root@20W lesson3]# ls
d1 dir exit log.txt mttest.c new.txt
[root@20W lesson3]#
mv 原来的文件名 新的文件名
这样就可以实现重命名的操作了
这个新的文件名一定要是之前不存在的名称
当然我们的剪切和重命名操作可以放在一起的
使用这个命令将我们的mttest.c文件剪切到上个目录并且进行重命名的操作
mv mttest.c ../test.c
[root@20W lesson3]# ls
d1 dir exit log.txt mttest.c new.txt
[root@20W lesson3]# ls ..
code.txt lesson3 myd1 mylog.txt tty.c xuanxuan
[root@20W lesson3]# mv mttest.c ../test.c
[root@20W lesson3]# ls
d1 dir exit log.txt new.txt
[root@20W lesson3]# ls ..
code.txt lesson3 myd1 mylog.txt test.c tty.c xuanxuan
[root@20W lesson3]#
13.cat查看文件里面的文本内容
我们在是用cat查看.c文件的时候,我们可以加上选项 -ns
-n就是显示左边的行号
-s就是将多行空行进行压缩的操作
除了我们的cat还有tac
tac就是将我们的文本内容反向的打印出来
那么cat的作用就是将文件的内容打印出来
那么为啥学这个呢?
因为以后我们可能在Linux中看小文件
我们不需要使用vim或者是nano进行打开,我们直接使用cat进行查看就行了,比较方便
14.more 查看文件内容
more命令我们知道就行了
现在我们要查看系统日志,但是如果使用cat的话就会显示很多
那么我们现在使用more进行查看的操作,只会打印一屏,而不会像cat一样进行刷屏的操作
就是这里只显示了26%的内容
[root@20W lesson3]# more /car/log/message
more: stat of /car/log/message failed: No such file or directory
[root@20W lesson3]# more /var/log/message
more: stat of /var/log/message failed: No such file or directory
[root@20W lesson3]# more /var/log/messages
Dec 8 03:39:01 20W rsyslogd[869]: [origin software="rsyslogd" swVersion="
8.2102.0-5.el8" x-pid="869" x-info="https://www.rsyslog.com"] rsyslogd wasHUPed
Dec 8 05:17:59 20W systemd[1]: Starting dnf makecache...
Dec 8 05:18:00 20W dnf[669553]: Metadata cache refreshed recently.
Dec 8 05:18:00 20W systemd[1]: dnf-makecache.service: Succeeded.
Dec 8 05:18:00 20W systemd[1]: Started dnf makecache.
Dec 8 06:58:59 20W systemd[1]: Starting dnf makecache...
Dec 8 06:59:00 20W dnf[669962]: CentOS-8 - AppStream 119 kB/s | 4.3 kB 00:00
Dec 8 06:59:00 20W dnf[669962]: CentOS-8 - Base 117 kB/s | 3.9 kB 00:00
Dec 8 06:59:00 20W dnf[669962]: CentOS-8 - Extras 50 kB/s | 1.5 kB 00:00
Dec 8 06:59:00 20W dnf[669962]: Extra Packages for Enterprise Linux 8 - x
86_64 11 kB/s | 4.4 kB 00:00
Dec 8 06:59:01 20W dnf[669962]: Extra Packages for Enterprise Linux Modul
ar 8 - 7.4 kB/s | 3.0 kB 00:00
Dec 8 06:59:01 20W dnf[669962]: Metadata cache created.
Dec 8 06:59:01 20W systemd[1]: dnf-makecache.service: Succeeded.
Dec 8 06:59:01 20W systemd[1]: Started dnf makecache.
Dec 8 08:33:59 20W systemd[1]: Starting dnf makecache...
如果想看下一行的话我们使用回车就行了
more命令的话不能进行上翻操作,只能通过回车键进行下翻的操作
14.less 查看文件内容
因为more指令使用起来不是很方便,所有我们这里有一个平替more指令的less指令
输入下面的命令我们就可以进行查询日志了
less /var/log/messages
Dec 8 03:39:01 20W rsyslogd[869]: [origin software="rsyslogd" swVersion="8.2102.0-5.el8" x-pid="869" x-info="https://www.rsyslog.com"] rsyslogd was HUPed
Dec 8 05:17:59 20W systemd[1]: Starting dnf makecache...
Dec 8 05:18:00 20W dnf[669553]: Metadata cache refreshed recently.
Dec 8 05:18:00 20W systemd[1]: dnf-makecache.service: Succeeded.
Dec 8 05:18:00 20W systemd[1]: Started dnf makecache.
Dec 8 06:58:59 20W systemd[1]: Starting dnf makecache...
Dec 8 06:59:00 20W dnf[669962]: CentOS-8 - AppStream 119 kB/s | 4.3 kB 00:00
Dec 8 06:59:00 20W dnf[669962]: CentOS-8 - Base 117 kB/s | 3.9 kB 00:00
Dec 8 06:59:00 20W dnf[669962]: CentOS-8 - Extras 50 kB/s | 1.5 kB 00:00
Dec 8 06:59:00 20W dnf[669962]: Extra Packages for Enterprise Linux 8 - x86_64 11 kB/s | 4.4 kB 00:00
Dec 8 06:59:01 20W dnf[669962]: Extra Packages for Enterprise Linux Modular 8 - 7.4 kB/s | 3.0 kB 00:00
Dec 8 06:59:01 20W dnf[669962]: Metadata cache created.
Dec 8 06:59:01 20W systemd[1]: dnf-makecache.service: Succeeded.
Dec 8 06:59:01 20W systemd[1]: Started dnf makecache.
Dec 8 08:33:59 20W systemd[1]: Starting dnf makecache...
Dec 8 08:34:00 20W dnf[670339]: Metadata cache refreshed recently.
Dec 8 08:34:00 20W systemd[1]: dnf-makecache.service: Succeeded.
Dec 8 08:34:00 20W systemd[1]: Started dnf makecache.
Dec 8 08:49:10 20W systemd[1]: Created slice User Slice of UID 0.
Dec 8 08:49:10 20W systemd[1]: Starting User runtime directory /run/user/0...
Dec 8 08:49:10 20W systemd-logind[821]: New session 222 of user root.
Dec 8 08:49:10 20W systemd[1]: Started User runtime directory /run/user/0.
Dec 8 08:49:10 20W systemd[1]: Starting User Manager for UID 0...
Dec 8 08:49:10 20W systemd[670417]: Reached target Paths.
Dec 8 08:49:10 20W systemd[670417]: Starting D-Bus User Message Bus Socket.
Dec 8 08:49:10 20W systemd[670417]: Reached target Timers.
Dec 8 08:49:10 20W systemd[670417]: Listening on D-Bus User Message Bus Socket.
Dec 8 08:49:10 20W systemd[670417]: Reached target Sockets.
Dec 8 08:49:10 20W systemd[670417]: Reached target Basic System.
:
这里我们是可以进行下翻操作的
我们也可以进行回翻的操作的
我们也可以输入/root进行查询
我们只需要在后面加上/我们想要搜索的名称
然后就能直接跳到那里了
那么总结:我们的less命令可以进行大文本的查看以及上下翻的操作
使用q进行退出
/进行搜索
如果搜索的时候有很多匹配项
那么我们点击n就可以切换下个匹配项了
n就是next的意思
在more和less中我们推荐less,因为less更加方便
15.head 提取文本前n行信息
我们现在进行查看一个大文件,但是我们不想这个文件屏幕上显示很多
那么我们使用head进行文件的查看,仅仅查看开头的前10行就行了
head log.txt
这里默认就是查看前10行的信息
如果我们现在想利用查看head查看前20行的信息呢?
head -20 log.txt
就行了
提取前3行就是head -3 log.txt
总结
head使用方法:head -n file
显示文件前n行
16.tail 提取文本后n行内容
tail log.txt默认显示尾部10行
那么我们想显示尾部20行呢?
tail -20 log.txt
tail使用方法:tail -n file
显示尾部指定行的内容
如果我们想找出第2000行到2020行的内容呢?
我们怎么进行呢?
我们先将使用head将前2020行的数据利用重定向>导入到一个文件中
然后我们再利用tail将这个文件的后面20行导出来
然后我们就获得了2000-2020行的数据了
那么是否存在更加简单的做法呢?
我们可以使用管道|
输入下面的命令
head -2020 log.txt | tail -21
这个log.txt文件只出现一次
先将这个文件的前2020行提取出来
然后将这个输出的结果作为我们的输入交给管道后面的指令
head -2020 log.txt | tail -21
解释下这个命令
我们管道符号|左边的命令就可以将log.txt的前2020行的数据拿到
右侧的话也是一个命令,但是我们没有写文件的
总的来说就是我们将这个左侧的输出结果通过管道喂给右边的命令
这个命令的话传给右边的就是log.txt文件的前2020行,然后通过管道将这前2020行给tail命令进行操作
获取这2020行的最后20行的数据
那么如果我们需要将这一段文本进行逆向打印的操作呢?
head -2020 loh.txt | tail -21| tac
在后面再加一个管道使用tac进行逆向打印操作
那么我们现在加上这个wc -l进行统计的操作,看看是不是21行
head -2020 loh.txt | tail -21| tac | wc -l
w表示word
c表示count
那么这个命令就是统计字符数了
l选项就是line
总的来说就是按行进行统计的操作
所以我们是可以利用管道对文件进行流水线、批量化的文件操作的
17.时间相关的指令
输入下面的指令 date +%Y/%m/%d\ %H:%M:%S
就能将当前时间进行打印出来
%Y就是年
/是分隔符
%m是月份
%d是天数
[root@20W ~]# date +%Y/%m/%d_%H:%M:%S
2024/12/09_20:56:37
[root@20W ~]# date +%Y/%m/%d_%H:%M:%S
2024/12/09_20:56:39
[root@20W ~]# date +%Y/%m/%d_%H:%M:%S
2024/12/09_20:56:39
[root@20W ~]# date +%Y/%m/%d_%H:%M:%S
2024/12/09_20:56:40
[root@20W ~]# date +%Y/%m/%d_%H:%M:%S
2024/12/09_20:56:41
[root@20W ~]# date +%Y/%m/%d_%H:%M:%S
2024/12/09_20:56:41
[root@20W ~]# date +%Y/%m/%d_%H:%M:%S
2024/12/09_20:56:42
[root@20W ~]# date +%Y/%m/%d_%H:%M:%S
2024/12/09_20:56:43
[root@20W ~]# date +%Y/%m/%d_%H:%M:%S
2024/12/09_20:56:43
[root@20W ~]# date +%Y/%m/%d\ %H:%M:%S
2024/12/09 20:57:09
[root@20W ~]# date +%Y/%m/%d\ %H:%M:%S
2024/12/09 21:08:04
date命令不重要,但是时间很重要,我们的系统日志里面必须包含时间,所以我们在查看出问题的时候,除了看出了什么问题还要看什么时候出的问题,出问题的时间
所以时间可以作为日志输出的一部分
我们输入下面的命令
date +%s
也会出现一串数字,这个也是会随着时间进行变化的,我们叫这个叫时间戳
时间戳是1970-01-01 12:00到现在的累计的秒数总和
时间戳是一个线性增长的数字
根据时间戳进行批量式的查找和定位
当然我们使用nano在Linux进行c语言编程我们也是可以获得这个时间戳的
首先输入命令nano mytime.c
然后输入下面的代码
#include <stdio.h>
#include<time.h>
int main()
{printf("%lu\n",time(NULL));return 0;}
[root@20W lesson3]# gcc mytime.c
[root@20W lesson3]# ll
total 48
-rwxr-xr-x 1 root root 17584 Dec 10 10:58 a.out
drwxr-xr-x 3 root root 4096 Dec 7 21:24 d1
drwxr-xr-x 2 root root 4096 Dec 7 21:24 dir
-rw-r--r-- 1 root root 9708 Oct 30 09:18 exit
-rw-r--r-- 1 root root 12 Dec 5 08:57 log.txt
-rw-r--r-- 1 root root 93 Dec 10 10:58 mytime.c
-rw-r--r-- 1 root root 0 Dec 4 20:54 new.txt
然后使用gcc进行编译的操作
生成一个a.out文件
然后我们进行编译操作./a.out
然后时间戳就出来了
[root@20W lesson3]# ./a.out
1733799574
[root@20W lesson3]# ./a.out
1733799576
[root@20W lesson3]# ./a.out
1733799576
[root@20W lesson3]# ./a.out
1733799577
[root@20W lesson3]# ./a.out
1733799577
[root@20W lesson3]# ./a.out
1733799578
[root@20W lesson3]# ./a.out
1733799578
[root@20W lesson3]# ./a.out
1733799579
但是这个时间戳的话我们看的很难受
那么有没有什么方法将时间戳换成现在的时间呢?
正常的操作是通过这个命令进行显示年月日时分秒的date +%Y/%m/%d\ %H:%M:%S
那么我们可以通过一个方便随便将一个时间戳转换为这样的时间显示的
我们在原有的命令的基础上加上 -d @时间戳
类似下面这样子
date +%Y/%m/%d\ %H:%M:%S -d@1733800061
[root@20W lesson3]# date +%Y/%m/%d\ %H:%M:%S -d@1733800061
2024/12/10 11:07:41
[root@20W lesson3]# [root@20W lesson3]# date +%Y/%m/%d\ %H:%M:%S -d@0
1970/01/01 08:00:00
[root@20W lesson3]#
18.Cal指令
通过Cal显示某年的日历
[root@20W lesson3]# cal 19491949 January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa1 1 2 3 4 5 1 2 3 4 52 3 4 5 6 7 8 6 7 8 9 10 11 12 6 7 8 9 10 11 129 10 11 12 13 14 15 13 14 15 16 17 18 19 13 14 15 16 17 18 19
16 17 18 19 20 21 22 20 21 22 23 24 25 26 20 21 22 23 24 25 26
23 24 25 26 27 28 29 27 28 27 28 29 30 31
30 31 April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa1 2 1 2 3 4 5 6 7 1 2 3 43 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11
10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18
17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25
24 25 26 27 28 29 30 29 30 31 26 27 28 29 30 July August September
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa1 2 1 2 3 4 5 6 1 2 33 4 5 6 7 8 9 7 8 9 10 11 12 13 4 5 6 7 8 9 10
10 11 12 13 14 15 16 14 15 16 17 18 19 20 11 12 13 14 15 16 17
17 18 19 20 21 22 23 21 22 23 24 25 26 27 18 19 20 21 22 23 24
24 25 26 27 28 29 30 28 29 30 31 25 26 27 28 29 30
31 October November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa1 1 2 3 4 5 1 2 32 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 109 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17
16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24
23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31
30 31
[root@20W lesson3]#
cal -3可以查看本年的3月的前中后三个月的日历
其他的数字就不行了
19.find命令
我们可以输入下面的命令,位置和指定的文件进行查找
find /home/114kaizi/lesson -name a.out
或者是对满足条件的文件进行查找操作
find /home/114kaizi/lesson3 -name '*.c'
或者是我们在当前的目录进行查找
find ~ name '*.c'
find会将所有满足条件的文件都找出来的
[root@20W lesson3]# find ~ name '*.c'
/root
/root/.bash_logout
/root/.tcshrc
/root/lesson4
/root/114
/root/114/lesson4
/root/114/lesson4/test
/root/114/other
/root/114/other/test.zip
/root/114/test
/root/114/test.zip
/root/.swp
/root/113
/root/.vimrc
/root/.history
/root/.bashrc
/root/.bash_profile
/root/.bash_history
/root/.cshrc
/root/.lesshst
/root/.cache
/root/.cache/pip
/root/.cache/pip/http
/root/.cache/pip/http/f
/root/.cache/pip/http/f/e
/root/.cache/pip/http/f/e/d
/root/.cache/pip/http/f/e/d/0
/root/.cache/pip/http/f/e/d/0/e
/root/.cache/pip/http/f/e/d/0/e/fed0ed508030b766d5b0c2792132c8bf197804464765b46b361f93a4
/root/.cache/pip/http/b
/root/.cache/pip/http/b/b
/root/.cache/pip/http/b/b/8
/root/.cache/pip/http/b/b/8/7
/root/.cache/pip/http/b/b/8/7/6
/root/.cache/pip/http/b/b/8/7/6/bb876b2e6a22c2739002e9ef3388ae978b7a6192a19fe67d8b0030f2
/root/.cache/pip/selfcheck.json
/root/.ssh
/root/.ssh/authorized_keys
/root/111
/root/111/ProcessBar.c
/root/111/.ProcessBar.h.swp
/root/111/.ProcesBar.c.swp
/root/111/ProcessBar.h
/root/111/.ProcessBar.h.swo
/root/112
/root/log.txt
/root/.viminfo
find: ‘name’: No such file or directory
find: ‘*.c’: No such file or directory
[root@20W lesson3]#
find系统目录直接查找,可以查询任意文件
which用来查询系统可执行程序
20.grep行文本过滤指令
n是行号
i是忽略大小写
v是反向进行选择,输出不匹配的选项
主要是用来行文本过滤
我们可以使用man grep查看作用
我们使用grep '999' log.txt
在这个大文本中进行查询,只要包含999的都被被显示在屏幕上面
这里就是将包含main的那一行显示出来
我们也能加上这个-n选项显示这个我们要找的在第几行
我们也可以加上-v选项,将不匹配的行打印出来
就是将我们后面匹配的行给忽略了,将其他不匹配的行进行打印的操作
grep在匹配的时候默认是大小写敏感的,只匹配我们匹配的内容
那么我们加上i这个选项的话,就会忽略大小写的匹配操作
那么我们三个选项都加上的话niv
然后就会将我们匹配到的内容全都排除掉
那么grep有什么用呢?
我们可以利用后面的指令将进程显示出来,然后通过管道传给grep进行我们想要的数据的查询操作
21.zip/unzip 打包和压缩
打包和压缩是什么?
使用特定的算法,将文件进行合并或者压缩,减少体积
打包压缩作为一个整体
为什么?
a.减少文件体积,节省资源,节省磁盘空间,减少网络传送的成本
b.多文件转一个文件,可以提高我们传输文件的容错性
怎么办?
压缩包有很多形式,但是我们这里重点将.zip和.tgz的
我们利用之前学过的多种指令进行这么一个test目录的创建操作
[root@20W lesson3]# tree test
test
├── dir1
│ └── dir2
│ └── dir3
│ └── log.txt
├── f1.txt
├── f2.txt
├── f3.txt
├── f4.txt
└── f5.txt3 directories, 6 files
[root@20W lesson3]#
我们使用这个命令进行zip 、unzip的安装操作
[root@20W lesson3]# yum install -y zip unzip
Last metadata expiration check: 2:40:01 ago on Thu 12 Dec 2024 06:08:01 AM CST.
Package zip-3.0-23.el8.x86_64 is already installed.
Package unzip-6.0-45.el8_4.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
[root@20W lesson3]#
我们使用zip 压缩后的文件名 要压缩的文件名
这个命令将test文件压缩为test.zip文件,那么这个时候在系统中就形成了一个压缩文件了
[root@20W lesson3]# zip test.zip testadding: test/ (stored 0%)
[root@20W lesson3]# ll
total 56
-rwxr-xr-x 1 root root 17584 Dec 10 10:58 a.out
drwxr-xr-x 3 root root 4096 Dec 7 21:24 d1
drwxr-xr-x 2 root root 4096 Dec 7 21:24 dir
-rw-r--r-- 1 root root 9708 Oct 30 09:18 exit
-rw-r--r-- 1 root root 12 Dec 5 08:57 log.txt
-rw-r--r-- 1 root root 93 Dec 10 10:58 mytime.c
-rw-r--r-- 1 root root 0 Dec 4 20:54 new.txt
drwxr-xr-x 3 root root 4096 Dec 12 08:12 test
-rw-r--r-- 1 root root 160 Dec 12 08:50 test.zip
[root@20W lesson3]#
现在我们创建一个文件用来我们刚刚的文件的解压和解包
unzip test.zip
我们使用这个命令将test.zip进行解压的操作
[root@20W other]# ls
test.zip
[root@20W other]# unzip test.zip
Archive: test.zipcreating: test/
[root@20W other]# ls
test test.zip
[root@20W other]#
解压完成之后当前文件夹会多出一个解压的文件
我们发现这个压缩的操作好像只能将我们的顶级目录进行压缩的操作
所提我们打包压缩的话我们是需要携带上一个重要的选项的
-r 递归操作
凡是在树状结构,对目录进行操作,那那么这个-r就少不了的
我们先使用rm * -rf将other这个文件里面的内容都删除了
那么我们重新进行压缩的操作
[root@20W lesson3]# zip -r test.zip testadding: test/ (stored 0%)adding: test/dir1/ (stored 0%)adding: test/dir1/dir2/ (stored 0%)adding: test/dir1/dir2/dir3/ (stored 0%)adding: test/dir1/dir2/dir3/log.txt (stored 0%)adding: test/f3.txt (stored 0%)adding: test/f4.txt (stored 0%)adding: test/f5.txt (stored 0%)adding: test/f2.txt (stored 0%)adding: test/f1.txt (stored 0%)
[root@20W lesson3]#
这里我们可以看到利用递归将所有文件都添加过来
因为文件都是空的,所以压缩率为0
然后将test.zip利用mv指令移动到other文件中
然后我们在这个文件里面进行测试的操作
unzip test.zip
我们直接输入这个命令就行了进行解压的操作
[root@20W other]# unzip test.zip
Archive: test.zipcreating: test/creating: test/dir1/creating: test/dir1/dir2/creating: test/dir1/dir2/dir3/extracting: test/dir1/dir2/dir3/log.txt extracting: test/f3.txt extracting: test/f4.txt extracting: test/f5.txt extracting: test/f2.txt extracting: test/f1.txt
[root@20W other]#
我们进行文件里面的内容查看
发现文件的内容并没有改变
[root@20W other]# cat test/dir1/dir2/dir3/log.txt
hello bit
那么总结:我们打包的话利用这个指令`zip -r 打包后的名称 要打包的文件名称
解压:unzip 要解压的文件名称
会解压到当前文件中
unzip test.zip -d ../myd1
我们通过这个指令选项将解压的文件放在上级目录里面的一个文件夹里面了
[root@20W lesson3]# unzip test.zip -d ../myd1
Archive: test.zipcreating: ../myd1/test/creating: ../myd1/test/dir1/creating: ../myd1/test/dir1/dir2/creating: ../myd1/test/dir1/dir2/dir3/extracting: ../myd1/test/dir1/dir2/dir3/log.txt extracting: ../myd1/test/f3.txt extracting: ../myd1/test/f4.txt extracting: ../myd1/test/f5.txt extracting: ../myd1/test/f2.txt extracting: ../myd1/test/f1.txt
[root@20W lesson3]# cd ..
[root@20W 114kaizi]# ;s
-bash: syntax error near unexpected token `;'
[root@20W 114kaizi]# ls
code.txt lesson3 myd1 mylog.txt test test.c tty.c xuanxuan
[root@20W 114kaizi]# cd ..
[root@20W home]# ls
114kaizi kaizi mamashengde mortal xcwgs
[root@20W home]# cd 114kazi
-bash: cd: 114kazi: No such file or directory
[root@20W home]# cd /home/114kaizi
[root@20W 114kaizi]# ls
code.txt lesson3 myd1 mylog.txt test test.c tty.c xuanxuan
[root@20W 114kaizi]# ls myd1
d2 test
[root@20W 114kaizi]#
我们可以发现我们的解压文件出现在我们指定的文件中了
我们使用tree指令发现解压的确实是没有问题的
[root@20W 114kaizi]# ls
code.txt lesson3 myd1 mylog.txt test test.c tty.c xuanxuan
[root@20W 114kaizi]# tree myd1
myd1
├── d2
│ └── d3
└── test├── dir1│ └── dir2│ └── dir3│ └── log.txt├── f1.txt├── f2.txt├── f3.txt├── f4.txt└── f5.txt6 directories, 6 files
[root@20W 114kaizi]#
如果我们想解压到指定路径的时候那么我们可以加上-d选项进行指定路径的选择操作了
如果我们要让Windows在Linux中进行互传文件
那么我们这里就需要一个软件了,叫做lrzsz
我们使用命令进行安装的操作
yum install -y lrzsz
[root@20W lesson3]# yum install -y lrzsz
Last metadata expiration check: 0:10:12 ago on Thu 12 Dec 2024 09:22:39 AM CST.
Package lrzsz-0.12.20-43.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
我们先递归将文件进行压缩的操作
[root@20W lesson3]# zip -r test.zip testadding: test/ (stored 0%)adding: test/dir1/ (stored 0%)adding: test/dir1/dir2/ (stored 0%)adding: test/dir1/dir2/dir3/ (stored 0%)adding: test/dir1/dir2/dir3/log.txt (stored 0%)adding: test/f3.txt (stored 0%)adding: test/f4.txt (stored 0%)adding: test/f5.txt (stored 0%)adding: test/f2.txt (stored 0%)adding: test/f1.txt (stored 0%)
[root@20W lesson3]# ls
a.out d1 dir exit log.txt mytime.c new.txt test test.zip
[root@20W lesson3]#
那么我们怎么将这个压缩包发到Windows系统下呢?
我们使用sz这个指令
s就是send的意思
z可以理解为压缩
sz test.zip
输入这个指令
回车我们可以发现xshell会弹出一个界面
然后我们的桌面上就多出了一个压缩包了
然后找到我们的log.txt文件,我们可以发现里面的内容还是hello bit
我们这里还能发现我们的压缩包文件可以通过拖拽的方式拉到xshell里面
那么这里我们就得到了这么一个文件了
22.tar 打包/解包,不打开它,直接看内容
我们输入命令tar -czf test.tgz test
进行打包压缩操作
c是建立一个压缩文件的参数指令(create 的意思);
z是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
f是使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数
[root@20W lesson3]# tar -czf test.tgz test
[root@20W lesson3]# ls
a.out d1 dir exit log.txt mytime.c new.txt test test.tgz
[root@20W lesson3]# ls
我们使用tar进行文件压缩的时候产生的压缩包的后缀是.tgz
一但打包压缩成功的话,那么我们先做本地化测试
我们还是将这个文件利用mv移动到other路径下
[root@20W lesson3]# mv test.tgz other
[root@20W lesson3]# ls
a.out d1 dir exit log.txt mytime.c new.txt other test
[root@20W lesson3]# ls other
test.tgz
[root@20W lesson3]#
我们进行解压操作的时候我们输入tar -xzf test.tgz
就行了
将我们的之前的c换成x就行了
这个x是解开一个压缩文件的参数指令!
[root@20W other]# tar -xzf test.tgz
[root@20W other]# ls
test test.tgz
[root@20W other]# tree test
test
├── dir1
│?? └── dir2
│?? └── dir3
│?? └── log.txt
├── f1.txt
├── f2.txt
├── f3.txt
├── f4.txt
└── f5.txt3 directories, 6 files
[root@20W other]#
总结:我们利用tar -czf dist.tgz src
进行压缩操作
利用tar -czf dist.tgz
进行解压的操作
我们发现我们的tar在压缩和解压的时候不显示过程
我们可以在打包和解压的过程中加上v这个选项,可以将打包压缩的过程显示出来
tar -cvzf dist.tgz
在zip中我们将一个压缩包文件解压到指定路径下需要加上选项-d
在tar中我们用到的是-C 是大写的C,不是小写的
那么下面我们就解压成功了
[root@20W other]# ls ../
a.out d1 dir exit log.txt mytime.c new.txt other test
[root@20W other]# tar -xzvf test.tgz -C ../dir
test/
test/dir1/
test/dir1/dir2/
test/dir1/dir2/dir3/
test/dir1/dir2/dir3/log.txt
test/f3.txt
test/f4.txt
test/f5.txt
test/f2.txt
test/f1.txt
[root@20W other]#
那么我们回到上级路径里面的文件里面看下内容是否正确
[root@20W other]# tree ../dir/test
../dir/test
├── dir1
│ └── dir2
│ └── dir3
│ └── log.txt
├── f1.txt
├── f2.txt
├── f3.txt
├── f4.txt
└── f5.txt3 directories, 6 files
[root@20W other]#
我们发现这个树状图结构很正常
那么总结:
tar -czf dst.tgz src
压缩的命令
tar -xzf dst.tgz src
将c改成x就变成了解压操作了
如果要显示过程的话那么就在选项中加上v就行了
tar -cvzf dst.tgz -C 指定路径
将这个解压的文件放在指定的路径文件下
同样我们也可以使用sz将这个tgz压缩包放到桌面文件上
我们能否在两台Linux控制台进行压缩包的传输呢?
我们使用scp这个命令将当前目录下的压缩包,然后找到另一个控制台的公网ip地址
指定拷贝的对应文件路径
23.bc—命令行计算器
bc命令可以很方便的进行浮点运算
我们在Linu中输入bc
我们发现这里可以进行计算操作
通过bc显示出来的是一个命令行计算器
[root@20W other]# bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
10+10
20
15+26
41
151+12515
12666
+1515
(standard_in) 4: syntax error
4545
4545
这个bc的话我们可以用到平常的测试计算中
通过管道将传输的算术式传给bc进行计算操作
[root@20W other]# echo 1+1+1+5*5+6 |bc
34
[root@20W other]#
24.uname—获取电脑信息
我们使用uname -a进行查看我们当前的主机的信息
[root@20W ~]# uname -a
Linux 20W 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec 22 13:25:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
如果我们单纯的想看我们的内核版本我们输入这个命令就行了uname -r
选项是r
[root@20W ~]# uname -r
4.18.0-348.7.1.el8_5.x86_64
这个是对于centos系统来说的
我们也可以通过下面这个命令查看我们的云服务器的参数
[root@20W ~]# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)