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

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

一、Linux 目录的常用命令


1、ls 命令


(1)ls命令用于查看目录和文件信息,默认情况下该命令列出当前目录下的目录或文件,后可跟参数,以下是ls命令缺省情况下:

ls

在终端中输入命令,如下:

1667144464458.jpg

(2)ls后跟参数,有以下情况:

ls / 显示目录

ls ../ 显示当前目录

ls ../../ 显示当前目录的上一级目录(父目录)

ls * 显示可执行文件


ls /  
ls ../  
ls ../../


在终端中输入命令,如下:

1667144505409.jpg


注:ls 命令显示结果以不同的颜色来区分文件类别:

蓝色代表目录,灰色代表普通文件,绿色代表可执行文件,红色代表压缩文件,浅蓝色代表链接文件,没有颜色的就是一般文件。


在ls命令后跟*表示显示可执行文件,如下命令:

ls *


在终端中输入命令,如下:

1667144535015.jpg

ls -a 显示目录下的所有文件(all),包括隐藏文件也会显示出来;

ls -b 将文件名中不可输出的字符用反斜杠加字符编号的方式显示出来;

ls -c 将文件按修改时间顺序显示;

ls -d 只显示目录(directory)信息,不显示目录下的文件数据信息;

ls -l 使用长格式(Long format)显示文件内容,包括文件的属性、权限等数据;

ls -a
ls -b
ls -c
ls -d
ls -l


在终端中输入命令,如下:

1667144557663.jpg

当通过加 -l长格式显示/tmp目录下的目录及文件的属性、权限等时,命令如下:

[yyx@192 ~]$ cd /tmp
[yyx@192 tmp]$ ls -l


在Linux终端输入命令:

1667144584994.jpg

其中的每项代表的含义如下,其中文件大小是以byte表示,空目录一般为1024byte:

1667144598062.jpg

另外命令的参数可以组合使用,比如通过ls / -l命令长格式显示各目录的信息:

ls / -l


在终端中输入命令,如下:

1667144626889.jpg

2、cd 命令


(1)cd命令用于切换目录,后跟相对路径或绝对路径。

[yyx329@192 ~]$ cd /  #从当前登录用户的用户目录切换到/根目录下
[yyx329@192 /]$ 
[yyx329@192 /]$ cd /etc  #将当前目录切换到/etc目录下
[yyx329@192 etc]$


在终端中输入命令,如下:

1667144659788.jpg

(2)cd命令后跟参数“..”表示返回当前目录的上一级目录(父目录),若一直通过cd命令返回则会返回到根目录,后跟参数“~”则会返回到当前登录用户的用户目录。

cd ..
cd ~


例如在当前登录用户的用户目录下通过cd命令返回其父目录,即/home目录,然后再通过cd命令返回其父目录,此时返回到系统的根目录/,最后通过cd ~命令返回到最开始的用户目录下,如下:

[yyx329@192 ~]$ cd ..  #返回当前目录的上一级目录(父目录)
[yyx329@192 home]$ cd ..    #返回当前目录的上一级目录(父目录)
[yyx329@192 /]$    #连续两次cd ..命令后返回到系统的根目录
[yyx329@192 /]$ cd ~  #返回当前登录用户的用户目录


在终端中输入命令,如下:

1667144695207.jpg


3、pwd命令


pwd命令用于显示当前所在的工作目录,其后可跟参数-P显示实际的工作路径,而并不是使用连结路径,如下:

pwd
pwd -P  #后跟参数-P,显示实际路径


例如通过pwd命令和cd命令:

[yyx329@192 ~]$ pwd    #显示当前目录
[yyx329@192 ~]$ cd /tmp   #切换目录至/tmp
[yyx329@192 tmp]$ pwd   #显示当前目录
[yyx329@192 tmp]$ cd /var/mail  #切换目录至/var/mail
[yyx329@192 mail]$ pwd    #显示当前目录
[yyx329@192 mail]$ pwd -P  #通过带参数-P显示实际的当前目录


在终端中输入命令,如下:

1667144754288.jpg


4、mkdir 命令和 rmdir 命令


mkdir 命令用于创建新的目录,rmdir 命令用于删除已建立的目录,其后可跟多个目录。


(1)mkdir 命令


例如在/tmp临时目录下通过 mkdir 命令创建新目录Doc、Mov,也可以通过一条命令直接创建多个目录,若创建的目录已存在,则系统会报错,如下:

[yyx329@192 ~]$ mkdir /tmp/Doc    #在临时目录/tmp下创建新目录Doc
[yyx329@192 ~]$ mkdir /tmp/Mov    #在临时目录/tmp下创建新目录Mov
[yyx329@192 ~]$ mkdir /tmp/Mus /tmp/Stu  #在临时目录/tmp下创建多个新目录
[yyx329@192 ~]$ mkdir /tmp/Doc    #再次创建Doc目录,系统报错


在终端中输入命令创建新目录,如下:

1667144791256.jpg

通过ls命令可看到四个创建的新目录,如下:

1667144803776.jpg

如果我们这样创建一个多层的目录,系统会报错:

[yyx329@192 ~]$ mkdir /tmp/Doc/1-22/doc1

在终端中输入命令,显示“没有那个文件或目录”,如下:

1667144823783.jpg

所以创建多层目录不能这样直接创建,由于目录/Doc本身还未创建(也就是该目录并不存在),而我们在本身不存在的目录上创建/1-22子目录以及其下的/doc1子目录,从而导致系统报错。


在mkdir命令后跟参数-p可以递归创建多层目录,可解决这种问题:

mkdir -p    #递归创建多层目录


例如在临时目录/tmp下创建一个多层目录:

[yyx329@192 ~]$ mkdir -p /tmp/Doc/1-22/doc1


在终端中输入命令,如下:

1667144866915.jpg

通过ls命令可查看创建的多层目录:

1667144876652.jpg

查看/Doc下的子目录:

1667144890814.jpg

(2)rmdir 命令


rmdir命令也是一样,可以通过参数-p一次删除多层目录,它可以一次删除多个目录,如下:

[yyx329@192 ~]$ rmdir /tmp/Stu /tmp/Mus /tmp/Mov /tmp/Doc  #一次性删除多个目录

再通过ls命令查看:

[yyx329@192 ~]$ ls -l /tmp


在终端中输入命令,可看到之前四个创建的新目录已被删除不见,如下:

1667144929781.jpg

例如在临时目录/tmp下创建一个多层目录然后删除该多层目录:

[yyx329@192 ~]$ mkdir -p /tmp/Doc/1-22/doc1
[yyx329@192 ~]$ rmdir -p /tmp/Doc/1-22/doc1


5、cp 命令


cp 命令用于复制文件或目录,它的常用参数有-a/-f/-i/-r,后跟源文件和目的文件,源文件若为多个此时目的文件必须是目录,格式如下:

cp [-a/-f/-i/-r] source target    #source为源文件,target为目的文件

(1)cp命令后跟-a时表示复制时整个文件夹目录进行备份;

(2)若遇到复制目录下有同名文件或目录,后跟-f表示直接覆盖,后跟-i表示征求用户意见然后再执行;

(3)后跟-r表示将源文件中的子目录和文件一同复制。

cp -a source target  #复制时将整个文件夹目录备份
cp -f source target  #若遇到同名文件或目录,直接覆盖
cp -i source target  #若遇到同名文件或目录,征求用户意见,此时同意则按下y,不同意则按下n
cp -r source target  #将源文件中的子目录和文件一同复制


例如在/etc目录下创建一个/new目录然后将其复制到/tmp目录下,然后再查询/etc和/tmp目录下的子目录,如下命令:

[yyx329@192 ~]$ su root   #su命令表示切换当前的用户到root用户,使用root权限
[root@192 yyx329]# mkdir /etc/new
[root@192 yyx329]# cp -r /etc/new /tmp
[root@192 yyx329]# ls -l /etc
[root@192 yyx329]# ls -l /tmp


在终端中输入命令,可看到/etc目录下的/new目录以及已经复制到/tmp目录下的/new目录:

1667145024265.jpg

/etc目录下的/new目录:

1667145033169.jpg

/tmp目录下从/etc目录复制过去的/new目录:

1667145041564.jpg


6、rm 命令


rm 命令用于删除文件或目录,它的常用参数有-f/-i/-r。

(1)其中参数-f、-i与rmdir命令中的参数-f、-i一样(强制删除、询问用户);

(2)加上参数-r会将目录下的子目录都会删除。

rm -f 
rm -i
rm -r


例如删除/home目录下的newfile文件,如下命令:

[yyx@yyx12 ~]$ su root
...
[root@yyx12 yyx]# rm /home/newfile
...


在终端中输入命令,这里的y表示确定删除该文件:

1667145071699.jpg


7、mv 命令


mv命令用于移动文件或目录(当移动目录时,其下的子目录也会一并移动),也可以给文件或者目录重命名,它的常用参数有-f/-i/-u,源文件可以为多个但此时目的文件必须是目录。

(1)其中参数-f、-i与rmdir命令以及rm命令中的参数-f、-i一样(若存在相同强制覆盖、询问用户是否覆盖);

(2)参数-u则是若目标文件已存在,且源文件的修改时间较目的文件新,才会覆盖。

mv -f  source target
mv -i  source target
mv -u  source target


例如在/etc目录下创建一个目录然后移动到/tmp目录下,然后通过ls命令查询/tmp下的子目录,如下命令:

[yyx329@192 ~]$ su root      #su命令表示切换当前的用户到root用户,使用root权限
[root@192 yyx329]# mkdir /etc/main    #切换至root权限,通过mkdir命令在/etc目录下创建一个新目录/main
[root@192 yyx329]# mv /etc/main /tmp  #将/etc目录下的/main目录移动到/tmp目录下
[root@192 yyx329]# ls -l /tmp

在终端中输入命令,在/tmp目录下可看到已经移动至该目录下的/main目录:

1667145128105.jpg


二、Linux 文件的常用命令


1、touch 命令


touch 命令用于用于修改文件或者目录的时间属性,包括存取时间和更改时间;若文件不存在,则创建一个新的空文件。

(1)修改文件或者目录的时间属性,首先通过ls命令查看已存在的/home/newfile文件的时间属性,然后通过touch命令更改时间属性为当前系统时间,最后再次查看时间属性:

[yyx@yyx12 ~]$ su root
...
[root@yyx12 yyx]# ls -l /home/newfile
...
[root@yyx12 yyx]# touch /home/newfile//更改时间属性为当前系统时间
...
[root@yyx12 yyx]# ls -l /home/newfile

1667145201542.jpg

(2)创建一个新的空文件,如下创建在/home目录下创建一个新的空文件newfile:

[yyx@yyx12 ~]$ su root
...
[root@yyx12 yyx]# touch /home/newfile
[root@yyx12 yyx]# ls /home


在终端中输入命令,可看到所创建的空文件newfile:

1667145224337.jpg


2、cat 命令和tac命令


(1)cat命令用于显示文件,也可以连接文件,比如通过重定向符号连接文件。

例如通过cat命令显示/etc目录下“Centos系统版本信息”文件、“本地计算机ID配置”文件以及“系统支持的文件系统类型”文件:

[yyx329@192 ~]$ cat /etc/centos-release
[yyx329@192 ~]$ cat /etc/machine-id
[yyx329@192 ~]$ cat /etc/filesystems


在终端中输入命令:

1667145290441.jpg

(2)tac命令正好与cat命令相反,cat命令是从文件的第一行开始显示文件内容,而tac命令是从文件的最后一行开始显示文件内容。

例如以下通过cat命令和tac命令显示/etc目录下的“系统支持的文件系统类型”文件:

[yyx329@192 ~]$ cat /etc/filesystems
[yyx329@192 ~]$ tac /etc/filesystems


在终端中输入命令,可看出文件中的内容显示刚好相反:

1667145312566.jpg


3、head 命令和tail 命令


head 命令用于显示文件的指定前X行(X代表数值),tail 命令用于显示文件的指定最后X行(X代表数值)。

参数有-n,-n后跟数字代表取文件的多少行从而显示(默认情况下只显示前/后10行):

[yyx329@192 ~]$ tail -n 20 /etc/nsswitch.conf
[yyx329@192 ~]$ tail -n 20 /etc/nsswitch.conf


在终端中输入命令,可看出两条命令分别显示了nameserver切换配置文件的前5行和最后20行:

1667145347605.jpg

1667145376992.jpg


4、more 命令


more 命令用于分页查看文件内容。

例如通过more分页查看/etc目录下的inputrc文件:

[yyx329@192 ~]$ more /etc/inputrc


在终端中输入命令,可见下面有一个黑色框显示“More”:

1667145443069.jpg

可以通过空格键或enter键翻下一页:


5、less 命令


less 命令用于向上或向下移动一行,可以通过键盘上的上下箭头或通过鼠标的滑轮移动。

例如通过less命令查看/etc目录下的inputrc文件:

[yyx329@192 ~]$ less /etc/inputrc


在终端中输入命令:

1667145540947.jpg

使用键盘上的上下箭头或通过鼠标的滑轮向下移动一行:

1667145551610.jpg


6、nl 命令


nl 命令用于显示文件的行号,该命令后跟文件名称。

例如以下通过cat命令显示主机静态DNS配置文件/etc/hosts,另外提供nl命令显示该文件并为该文件标行号:

[yyx329@192 ~]$ nl /etc/hosts


在终端中输入命令:

1667145584737.jpg


7、ln 命令


链接命令ln用于给文件在另一个路径下创建一个链接实现链接访问,从而节省磁盘空间,后跟源文件或目录和目的文件或目录。


Linux中链接可分为硬链接和软链接,硬链接会在设定的路径下生成一个与源文件大小相同的文件,而软链接会在设定的路径下生成一个文件镜像,它类似一个快捷方式,生成的链接文件与原文件都是同步变化的,即若删除原文件,则链接文件会失效,软链接要在ln命令后加参数-s:

ln  #硬链接
ln -s #软链接


8、lp 命令


lp 命令用于打印文件,其基本参数如下:

(1)-d 指定打印机执行打印任务;

(2)-n 指定打印份数;

(3)-t 文档的封面打印标题;

(4)-m 打印任务完成后通过mail的方式告知用户。


相关文章
|
3天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
15 7
|
2天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
12 5
|
3天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
11 4
|
2天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
6 2
|
9天前
|
存储 安全 算法
网络安全与信息安全:漏洞、加密技术及安全意识的重要性
如今的网络环境中,网络安全威胁日益严峻,面对此类问题,除了提升相关硬件的安全性、树立法律法规及行业准则,增强网民的网络安全意识的重要性也逐渐凸显。本文梳理了2000年以来有关网络安全意识的研究,综述范围为中国知网中篇名为“网络安全意识”的期刊、硕博论文、会议论文、报纸。网络安全意识的内涵是在“网络安全”“网络安全风险”等相关概念的发展中逐渐明确并丰富起来的,但到目前为止并未出现清晰的概念界定。此领域内的实证研究主要针对网络安全意识现状与问题,其研究对象主要是青少年。网络安全意识教育方面,很多学者总结了国外的成熟经验,但在具体运用上仍缺乏考虑我国的实际状况。 内容目录: 1 网络安全意识的相关
|
1天前
|
SQL 安全 物联网
网络安全与信息安全:深入探讨网络漏洞、加密技术及安全意识###
网络安全与信息安全是当今数字化时代的重要议题。本文将详细探讨网络安全和信息安全的差异,重点介绍常见的网络漏洞、加密技术以及如何提升用户和组织的安全意识。通过具体案例和技术分析,帮助读者理解这些关键概念,并提供实用的建议以应对潜在的网络威胁。 ###
|
2天前
|
安全 网络安全 API
揭秘网络世界的守护神:网络安全与信息安全的深度剖析
【10月更文挑战第36天】在数字时代的洪流中,网络安全和信息安全如同守护神一般,保护着我们的数据不受侵犯。本文将深入探讨网络安全漏洞的成因、加密技术的奥秘以及提升个人安全意识的重要性。通过分析最新的攻击手段、介绍先进的防御策略,并分享实用的安全实践,旨在为读者呈现一个全方位的网络安全与信息安全知识图谱。让我们一同揭开网络世界的神秘面纱,探索那些不为人知的安全秘籍。
13 6
|
1天前
|
SQL 安全 算法
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第37天】在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的知识,帮助读者更好地了解网络安全的重要性,提高自己的网络安全防护能力。
6 4
|
3天前
|
SQL 安全 算法
网络安全与信息安全:漏洞、加密与意识的交织
【10月更文挑战第35天】在数字化时代,网络安全不再是可选项,而是每个网民的必修课。本文旨在深入探讨网络安全的核心要素,包括常见的安全漏洞、先进的加密技术以及不可或缺的安全意识。通过分析这些方面,我们将揭示如何保护个人和组织免受网络攻击的策略,同时提供实用的代码示例,以增强读者的实践能力。文章将引导您思考如何在日益复杂的网络环境中保持警惕,并采取积极措施以确保数据的安全。
15 4
|
3天前
|
SQL 安全 网络安全
网络安全与信息安全:漏洞、加密与安全意识的交织
在数字化时代,网络安全和信息安全的重要性日益凸显。本文深入探讨了网络安全漏洞、加密技术以及安全意识等关键要素,分析了它们之间的相互作用和对维护网络安全的影响。通过实例和代码示例,揭示了网络攻击的常见手段,展示了如何利用加密技术保护数据,以及提升个人和组织的安全意识。本文旨在为读者提供有价值的信息和建议,帮助在复杂的网络环境中更好地保护自己的数字资产。