(*长期更新)软考网络工程师学习笔记——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

相关文章
|
11天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
36 2
|
24天前
|
监控 安全 测试技术
网络信息系统的整个生命周期
网络信息系统规划、设计、集成与实现、运行维护及废弃各阶段介绍。从企业需求出发,经过可行性研究和技术评估,详细设计系统架构,完成设备安装调试和系统集成测试,确保稳定运行,最终安全退役。
33 1
网络信息系统的整个生命周期
|
11天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
46 3
|
11天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
43 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
25天前
|
机器学习/深度学习 存储 运维
图神经网络在复杂系统中的应用
图神经网络(Graph Neural Networks, GNNs)是一类专门处理图结构数据的深度学习模型,近年来在复杂系统的研究和应用中展现了强大的潜力。复杂系统通常涉及多个相互关联的组件,其行为和特性难以通过传统方法进行建模和分析。
46 3
|
25天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
1月前
|
物联网 5G 调度
|
3天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的知识,并提供一些实用的技巧和建议,帮助读者更好地保护自己的网络安全和信息安全。
|
3天前
|
安全 算法 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在当今数字化时代,网络安全和信息安全已经成为了全球关注的焦点。随着技术的发展,网络攻击手段日益狡猾,而防范措施也必须不断更新以应对新的挑战。本文将深入探讨网络安全的常见漏洞,介绍加密技术的基本概念和应用,并强调培养良好安全意识的重要性。通过这些知识的分享,旨在提升公众对网络安全的认识,共同构建更加安全的网络环境。
|
2天前
|
存储 安全 网络安全
云计算与网络安全:探索云服务、网络安全和信息安全的交汇点
在数字化时代,云计算已成为企业和个人存储、处理数据的关键技术。然而,随着云服务的普及,网络安全问题也日益凸显。本文将深入探讨云计算与网络安全的关系,分析云服务中的安全挑战,并提出相应的解决方案。同时,我们还将介绍一些实用的代码示例,帮助读者更好地理解和应对网络安全问题。
下一篇
无影云桌面