(*长期更新)软考网络工程师学习笔记——Section 12 Linux系统与文件管理命令(下)

简介: (*长期更新)软考网络工程师学习笔记——Section 12 Linux系统与文件管理命令

9、grep 命令


grep 命令用于查找当前目录下的所有文件内容,其常用参数有-a、-c、-I、-r,其格式如下:

grep [-a/-c/-I/-r] string /catalogue

(1)参数-a表示将二进制文件以text文件格式的方式搜寻数据;

(2)参数-c计算查找string字符串的次数;

(3)参数-r表示以递归的方式查找目录及子目录下符合条件的文件;

(4)参数-I忽略大小写查找。

例如递归查找/tmp目录下名为host的文件,如下:

[yyx329@192 ~]$ su root     #使用root权限
[root@192 yyx329]# grep -r host /etc


在终端中输入命令,可得到名称中含有host的文件:

1667145922654.jpg


10、chmod 命令 文档权限


chmod 命令用于控制文档的存取权限,Linux中的存取权限分为三级,分为文件拥有者(User)、与拥有者同组的用户(Group)和其他用户(Other)三级,这三级对应a、b和c三个数字,不管权限位如何设置,root用户拥有最高的访问权限,chmod命令的格式如下:

chmod abc filename


这里的abc有两种表示形式,分别是字母形式和数字形式:

①字母形式通过用户类别(u、g、o)、如何改变(+、-)和权限(r、w、x)三部分组成,其中的r w x分别代表r=4,w=2,x=1【r是可读、w是可写、x是可执行】:

1667145957594.jpg

例如,我们通过vi 命令在/home下创建一个文件file1,其内容为123,保存后退出,然后再通过ls命令显示其信息:

[root@yyx12 yyx]# vi /home/file1
[root@yyx12 yyx]#ls -l /home/file1


file1文件内容:

1667146077637.jpg

在终端中输入命令,可以看到其最前面显示的就是文件的类型以及文件拥有者(User)、与拥有者同组的用户(Group)和其他用户(Other)对应的权限:

1667146088321.jpg

我们知道这个文件是对文件拥有者来说只有可读、可写权限,而没有可执行权限,对与拥有者同组的用户和其他用户只有可读权限,若现在想将该文件对文件拥有者的权限改为既可读、可写并且可执行,通过chmod的字母形式来进行更改,由于我们只修改文件拥有者(User)的权限,即通过增加权限(+)符号以及x(可执行)即可完成:

[root@yyx12 yyx]# chmod u+x /home/file1
[root@yyx12 yyx]# ls -l /home/file1


在Linux终端输入命令,修改后再次通过ls命令查看该文件信息,可见如下:

1667146404949.jpg

②后者数字形式是将r w x对应为数字,对应的位数上有权限为1,没有权限为0,如下表:

三级中各位上的rwx代表的数字对应的权限如下,其实rwx这三项就相当于二进制依次递增到rwx:

rwx 数字 权限
- - - 0 无权限
- - x 1 只执行
- w - 2 只写入
- w x 3 写入和执行
r - - 4 只读
r - x 5 只读和执行
r w - 6 只读和写入
r w x 7 只读和执行和写入


刚刚上面的file1文件的权限修改方式也可以通过chmod命令的数字形式来修改,修改之前文件拥有者的rwx对应的数字为6,即只读和写入,我们要将其变为只读、执行和写入,即直接将其修改为7,整个权限由644变为744,如下命令:

[root@yyx12 yyx]# chmod 744 /home/file1
[root@yyx12 yyx]# ls -l /home/file1


在Linux终端输入命令:

1667146531738.jpg

以下是chmod命令常用的后缀和相关知识如下:

(1)Linux操作系统支持的文件类型

文件类型名称 含义
d 目录文件
- 普通文件
c 字符设备文件
b 块设备文件
p 管道文件
s 套接字文件
l 符号链接文件


例如通过ls 命令查看/etc/hosts和/etc/inittab文件以及/etc/rc.d目录:

[yyx329@192 ~]$ ls -l /etc/hosts
[yyx329@192 ~]$ ls -l /etc/inittab
[yyx329@192 ~]$ ls -l /etc/rc.d


在终端中输入命令:

1667146635414.jpg

这里以第一个文件为例,其中各栏目说明如下:

1667146663707.jpg

(2)字母及符号

名称 解释
r 可读取
w 可写入
x 可执行
+ 增加权限
- 取消权限
= 直接设定权限


例如,在Linux操作系统中,命令“chmod ugo+r file1.txt”的含义是修改文件名称为file1.txt的文件的权限为所有用户可读。


例如在Linux中一个文件的访问权限信息为“-rwxr- -r- -”,则文件所有者、其他用户拥有哪些权限?


由于该文件的访问权限信息为“-rwxr- -r- -”,对应:

1667146694681.jpg

该文件类型为普通文件,该文件的拥有者有读、写和执行权限,与拥有者同组者以及其他用户都没有读、写和执行权限。


11、chown 命令、chgrp 命令


(1)chown 命令


chown 命令用于修改文件后目录的所有者,后跟参数-R表示递归地改变指定目录及其下的所有子目录和文件的所有者,即一并进行变更;后跟参数-v表示显示该命令执行的过程。


(2)chgrp 命令


chgrp 命令用于变更文件或目录的工作组,格式如下:

chgrp -option 工作组 文件或目录


(1)-R 将指定目录下的所有文件及子目录一并变更;

(2)-v 显示执行的过程。


12、mount 命令


mount 命令用于挂载Linux系统之外的文件,例如如下命令:

mount -t iso9660 /dev/cdrom /mnt/cdrom  #挂载光盘
umount /mnt/cdrom      #卸载光盘
mount /dev/sdb1 /mnt/usb    #挂载光盘


13、pr 命令


pr 命令用于格式化输出文件的内容至屏幕上,如下命令显示/etc目录下的hosts文件至屏幕上:

[yyx@192 ~]$ pr /etc/hosts

在Linux终端输入命令:

1667146776467.jpg


14、find 命令


find 命令用于在目录下搜索文件,它有以下常用参数:

(1)后跟参数-name表示搜索文件名称符合 name 的文件,后跟参数-iname则会忽略大小写进行搜索。

例如查找 /etc目录下的passwd文件,两种方式进行搜索,如下命令:

[yyx@yyx12 ~]$ su root
...
[root@yyx12 yyx]# find /etc -name passwd
...
[root@yyx12 yyx]# find /etc -iname passwd
...


在Linux终端输入命令:

1667146809238.jpg

(2)后跟参数-size n表示搜索文件大小为n的文件,后跟参数-type c表示搜索文件类型为c的文件。


15、wc 命令


wc 命令用于统计文件,可以对一个或多个文件进行其行、单词和字符数的统计,默认的情况下不带参数,wc 命令会统计指定文件的行数、字数,以及字节数,如下命令,统计“系统支持的文件系统类型”文件filesystems:

[yyx@192 ~]$ wc /etc/filesystems


在Linux终端输入命令:

1667146835763.jpg

后跟-l表示对行计数,-w表示对单词计数,-c表示对字符数计数,另外该命令可跟多个文件,然后进行统计,如下统计两个文件:

[yyx@192 ~]$ wc /etc/filesystems /etc/centos-release

在Linux终端输入命令:

1667146856914.jpg

三、Linux 其他常用命令


1、关机 shutdown 命令


shutdown 命令用于关机,也可以用来重新启动。

它有以下常用的参数:

(1)-h 关机,后跟now表示立即关机;

(2)-r 关机后重新启动,后跟now表示立即关机;

(3)-n 强行停止所有执行中的程序后关机;

(4)time 设定关机的时间;

(5)-t seconds 设定几秒钟之后关机。

例如通过shutdow命令立即重新启动系统:

[yyx329@192 ~]$ shutdow -r now


2、查看进程 ps 命令


ps命令用于查看进程的状态,它有以下常用的参数:

参数 含义
a 查看现行虚拟机的所有进程,包括其他用户
-a 查看所有虚拟机的所有进程,不包括阶段作业领导者
-A/All 查看所有进程
-aux 查看所有的静态进程
-top 查看所有动态变化的进程
-l 使用长格式显示进程
-r 查看正在运行的进程
-ef 显示所有进程以及命令行


通过ps命令查看的进程有以下状态,也就是通过ps命令显示的栏目中“S”项为进程的状态:

状态 含义
D 无法中断的休眠状态 (通常指 IO 的进程)
R 正在运行状态
S 休眠状态
T 暂停或被追踪状态
W 内存交换状态
Z 不存在状态,或僵死状态暂时无法消除


例如通过以下命令查看所有进程:

ps -All

在终端中输入命令:

1667148254790.jpg


例如通过以下命令查看所有虚拟机的所有进程以及命令行:

[yyx329@192 ~]$ ps -aef

在终端中输入命令:

1667148271505.jpg


3、终止进程 kill 命令


kill命令用于终止杀死进程,后跟信号(发送给该进程的信号)和PID进程号(PID数值最小的进程最先运行)。

kill signal PID  #signal为信号,PID为进程号


其中PID可以通过ps命令查到,如下:

1667148286194.jpg

常用的信号操作有:

(1)signal=1代表重新加载该进程;

(2)signal=9代表杀死该进程;

(3)signal=15代表正常停止该进程。

例如我们要杀死进程号PID为1000的进程,命令如下:

[yyx329@192 ~]$ kill 9 1000


4、管理软件包 rpm 命令


rpm 命令用于查询rpm包,它的常用参数有-a/-q,后跟-a参数表示显示所有套件,后跟-q参数表示查询之前首先询问用户,如下:

rpm -a rpm包 #显示所有套件
rpm -q rpm包 #表示查询前首先询问用户


例如命令:

[yyx329@192 ~]$ rpm -q  #查询系统安装的所有软件包
[yyx329@192 ~]$ rpm -q bind #查询bind软件包是否安装


5、用户和用户组(工作组)命令


由于Linux是一个多用户、多任务的分时操作系统,所以每个要使用系统资源的用户需申请一个账号然后通过该账号进入系统。


(1)添加新用户 useradd 命令


useradd 命令用于创建一个新用户,后跟新用户的名称,在创建时要给该账号分配用户号、用户组、主目录和登录Shell等资源,另外可以通过userdel 命令删除帐号。

例如添加一个新用户,名称为user1,如下命令进入超级用户root权限下创建,然后通过cat 命令查看/etc/passwd中的用户记录:

[yyx@192 ~]$ su root
...
[root@192 yyx]# useradd user1
[root@192 yyx]# cat /etc/passwd


在Linux终端输入命令:

1667148304868.jpg

可看到,/etc/passwd中的最后一行多了刚刚添加的新用户user1:

1667148320960.jpg

useradd 命令有以下常用的参数:

(1)-c 表示指定一段注释,注释位于passwd的备注栏中;

(2)-r 表示创建的是系统用户;

useradd -r username


(3)-d 表示指定用户的主目录,若该目录不存在,则可以通过参数-m创建主目录;

useradd -d /目录 username


(4)-g 表示指定用户所属的用户组,-G 表示指定用户所属的附加组;

useradd -g/-G 用户组/附加组 username


(5)-s 表示指定用户的登录Shell;

useradd -s Shell文件 username

(6)-u 表示指定用户的用户号,若同时带上参数-o则可以重复使用.其他用户的标识号。

例如创建一个新用户名称为new,该用户的登录Shell为/bin/sh,属于apache用户组,同时又属于admin和root用户组,如下命令:

[yyx329@192 ~]$ useradd -s /bin/sh -g apache -G admin,root new


(2)删除用户 userdel 命令


可以通过userdel 命令删除不使用的账号,即将存放在/etc/passwd等系统文件中的该用户记录删除,例如删除存在的用户user1,如下命令:

[root@192 yyx]# userdel user1


在Linux终端输入命令:

1667148340951.jpg

再次查看/etc/passwd中,该用户已经被删除:

1667148354305.jpg


/etc/passwd中每行的含义如下图:

1667148371926.jpg


(3)创建新的工作组 groupadd 命令


groupadd 命令用于创建一个新的工作组,后跟新工作组的名称。

例如创建一个新的工作组,名称为mygroup,最后再通过cat 命令查看/etc/group中的内容,如下命令:

[root@192 yyx]# groupadd mygroup
[root@192 yyx]# cat /etc/group


在Linux终端输入命令:

1667148388652.jpg

可看到/etc/group最后一行多了我们刚刚创建的新的用户组mygroup:

1667148401043.jpg

groupadd 命令有以下常用参数:

(1)-g 表示指定工作组的ID(ID值是唯一的),若同时带上参数-o则ID可以重复使用(通常工作组ID中0-499是保留给系统账号使用,而新建的工作组ID从500开始依次递增);

(2)-r 表示建立系统组号,系统会自动选定ID小于499的ID值;

(3)-f 表示在创建工作组时,若该工作组已存在,则强制退出不对已存在的工作组进行修改。


(4)删除工作组 groupdel 命令


若要删除一个已有的工作组,可以使用groupdel 命令,后跟用户组的名称,例如通过groupdel命令删除存在的工作组mygroup,如下命令:

[root@192 yyx]# groupdel mygroup


在Linux终端输入命令:

1667148418682.jpg

有时候在删除一个工作组时,系统会提示不能移除用户的主组,此时是因为在该用户组内有用户,所以无法执行该操作,我们可通过命令先查看用户组信息如下:

[root@192 yyx]# cat /etc/group


然后再查看用户对应的用户组:

[root@192 yyx]# cat /etc/passwd

找到相应GID为该用户组的用户,然后通过userdel命令先删除相应的用户,再通过groupdel命令删除用户组。


(5)更改口令 passwd 命令


passwd 命令用于更改当前用户的口令,要注意该命令不是password,Linux中每个用户口令都存放在/etc/passwd中与之对应有一行记录,/etc/shadow中存放加密后的用户密码,/etc/group存放管理用户组的基本文件,每行记录对应一个组(用户组名、加密后的组口令、组ID和组成员列表)。

(1)passwd 命令不带参数时可以直接修改当前用户的密码,命令如下:

[yyx329@192 ~]$ passwd


在终端中输入命令,接下来会系统提示输入当前密码,然后系统会让你设置新的密码:

1667148437864.jpg

(2)passwd 命令后跟参数-l表示禁用账号使用,参数-u表示启用被禁用的账号,参数-d表示删除设置的密码(使下次登录时无密码),参数-f表示强迫用户下次登录时修改密码,参数-S显示密码信息。


6、设置服务 chkconfig 命令


chkconfig 命令用于设置和检查系统的各种服务,后跟服务的名称,它的常用参数有:

(1)-add 表示在系统启动的配置文件中增加指定系统服务,即增加配置;

(2)-del 表示在系统启动的配置文件中删除指定系统服务,即删除配置;

(3)-level 指定系统服务的执行等级的开启或关闭。

chkconfig -level level servename on/off


7、创建和维护分区表 fdisk 命令


fdisk 命令用于创建和维护分区表,其用法格式如下:

1667148467429.jpg

(1)fdisk命令后跟参数-l表示列出所有分区表,如下:

[yyx329@192 ~]$ su root
...
[root@192 yyx329]# fdisk -l


在Linux中输入命令:

1667148482924.jpg

(2)后跟参数-s并加磁盘分区目录可显示指定分区的Blocks,如下,例如显示/dev/sda1分区的Blocks:

[yyx329@192 ~]$ su root
...
[root@192 yyx329]# fdisk -s /dev/sda1


在Linux中输入命令:

1667148503214.jpg


8、显示磁盘使用情况 df 命令


通过df 命令显示磁盘的使用情况。

(1)后跟参数-a表示显示磁盘的所有的文件系统情况:

[yyx329@192 ~]$ df -a


在Linux中输入命令:

1667148559889.jpg

(2)后跟参数-T表示显示文件系统的形式:

[yyx329@192 ~]$ df -T


在Linux中输入命令:

1667148547048.jpg


9、“>”输入/输出重定向命令


命令的输入来自指定的文件称为输入重定向,命令的输出显示在指定的文件中称为输出重定向。

例如通过nl命令显示/etc目录下的nsswitch.conf文件,此时nsswitch.conf文件作为nl命令的输入:

[yyx329@192 ~]$ nl /etc/nsswitch.conf


在终端中输入命令:

1667148533484.jpg

例如通过cat命令使/etc目录下的nsswitch.conf文件的文件内容输出保存在一个名称为file.txt文件中,要通过“>”符号,若符号后跟的文件已经存在则会直接覆盖:

[yyx329@192 ~]$ cat> file.txt


10、“|”管道命令


所谓管道命令也就是通过管道“|”将两个或多个命令隔开,符号“|”左边命令的输出作为右边命令的输入,依次……

例如将cat命令和grep命令通过管道“|”命令连接,使用cat命令显示/etc/filesystems的内容,将其作为grep命令的输入,grep命令后跟要查找的名称,使grep查找符合的内容:

[yyx329@192 ~]$ cat /etc/filesystems|grep xfs
[yyx329@192 ~]$ cat /etc/filesystems|grep ext


在终端中输入命令:

1667148521697.jpg

相关文章
|
7天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
25 2
|
1月前
|
Ubuntu 网络安全 图形学
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
在Ubuntu 20.04系统中解决网络图标消失和无法连接有线网络问题的方法,其中第三种方法通过检查并确保Windows防火墙中相关服务开启后成功恢复了网络连接。
490 0
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
|
25天前
|
运维 监控 网络协议
|
29天前
|
Ubuntu Linux 虚拟化
Linux虚拟机网络配置
【10月更文挑战第25天】在 Linux 虚拟机中,网络配置是实现虚拟机与外部网络通信的关键步骤。本文介绍了四种常见的网络配置方式:桥接模式、NAT 模式、仅主机模式和自定义网络模式,每种模式都详细说明了其原理和配置步骤。通过这些配置,用户可以根据实际需求选择合适的网络模式,确保虚拟机能够顺利地进行网络通信。
|
1月前
|
存储 安全 Linux
Linux文件管理命令md5sum awk
通过结合 `md5sum`和 `awk`,不仅可以高效地进行文件完整性校验,还能灵活地处理和分析校验结果,为系统管理、数据审计等工作提供强大的支持。
57 2
|
1月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
46 3
|
1月前
|
存储 Linux
Linux文件管理(超详细讲解)
Linux文件管理(超详细讲解)
145 5
|
1月前
|
网络协议 安全 Ubuntu
Linux中网络连接问题
【10月更文挑战第3天】
32 1
|
1月前
|
机器学习/深度学习 数据可视化 Linux
Seaborn可视化学习笔记(一):可视化神经网络权重分布情况
这篇文章是关于如何使用Seaborn库来可视化神经网络权重分布的教程,包括函数信息、测试代码和实际应用示例。
41 0
|
7天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第39天】在数字化时代,网络安全和信息安全成为了我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,帮助读者更好地了解网络安全的重要性,并提供一些实用的技巧和方法来保护自己的信息安全。
21 2