![Linux操作系统案例教程(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/233/30241233/b_30241233.jpg)
3.2 案例1:文件与目录的基本操作
【案例目的】通过学习本章内容,能够掌握Linux下基本的文件的创建,文件的复制以及删除操作,熟练掌握目录的创建、删除以及目录树中目录之间文件的移动。
【案例内容】
1)在根目录(/)下新建一目录test。
2)改变当前目录至/test,在该目录下,以自己名字的英文缩写建一个空的文件,再建两个子目录(xh)与(ah)。
3)进入到(xh)子目录中,新建一个空文件text1。
4)进入到(ah)子目录中,再新建一个子目录(abc),同时建立空文件text2。
5)把刚建的text1文件移动到刚建立的abc子目录下,并改名为text3,同时把text2文件复制到(xh)子目录中。
6)删除text3文件与(xh)子目录及目录中的文件,并删除abc子目录。
7)使用chvt命令切换终端。
8)清屏。
【核心知识】学习文件操作的6个命令、目录操作的4个命令及文件内容操作的命令。
3.2.1 目录操作命令
1.pwd命令
该命令的功能是显示用户当前处于哪个目录中。
该命令的格式为:
pwd
例如,用户的当前目录在/home/working下,可以使用该命令显示当前路径:
[root@localhost working]#pwd
/home/working
提示:
此命令显示当前工作目录的绝对路径而不是相对路径。
2.cd 命令
该命令的功能是改变当前路径。改变到路径名指定的目录。
该命令的格式为:
cd<相对路径名/绝对路径名>
其中,“.”代表当前目录;“..”代表当前目录的父目录;“/”代表根目录;“~”表示当前用户的主目录。
例如:
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/092.jpg?sign=1738887248-07RYVm834lWFXIunWp84mEAyMGdeHwwg-0-f9aac4a3b94baa033b61ce8b7c9ad1e8)
3.mkdir 命令
该命令功能是建立目录。
该命令的格式:
mkdir [参数] <目录名>
参数-p:循环建立目录。
例如:
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/103.jpg?sign=1738887248-pW1MfPCGnGNiAjOG04G09zBOu8vGJNE8-0-be95afbb251185ae8e8b8b5aa8873101)
案例分解1
1)在根目录(/)下新建一目录test。
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/114.jpg?sign=1738887248-JzNY4D1TAf8ubPzEli5culxp226NxyzH-0-7d9fe73e4c85b53ac116eb212ca34fb6)
4.rmdir命令
该命令的功能是删除目录(为空目录)。
该命令的格式:
rmdir[参数]<目录名>
参数-p:循环删除空目录,如果父目录为空则删除
例如:
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/120.jpg?sign=1738887248-FoAeZAj8OTplkvxHBUXAHV7NzoT6xshA-0-1f7c53130d76815251a751e90933c175)
3.2.2 文件操作命令
1.ls命令
该命令的功能文件显示命令,显示目录中的文件。
该命令的格式为:
ls[参数] 目录名
该命令的参数是可选的,各参数含义如下。
●-a:显示目录下所有文件。
●-l:以长格式显示目录下的内容,每行列出的信息顺序如下:文件类型与权限 链接数 文件属主 文件大小 建立或最近修改的时间 名字。对于符号链接文件,显示的文件名之后有“->”和引用文件路径;对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。目录的总块数显示在长格式列表的开头,其中包含间接块。
●-f:显示文件名同时显示类型(*表示可执行的普通文件,/表示目录,@表示链接文件,表示管道文件)。
●-r:递归显示。
●-t:按照修改时间排列显示。使用ls –l命令显示信息开头10个字符的说明,其中第1个字符为文件类型。
●-:普通文件。
●d:目录。
●l:符号链接。
●b:块设备文件。
●c:字符设备文件。
第2~10位表示文件的访问权限,分为3组,每组3位,依次表示为:
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/121.jpg?sign=1738887248-Omh1gSGIFRxbSrhiQC8dxn5utd7GvCMt-0-ac2fdc5016bb67c6c9c989e13665f682)
第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限每一组的三个字符分别表示对文件读、写和执行的权限。
请注意,对于目录的执行表示进入权限。
例如:
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/061.jpg?sign=1738887248-KsVS81DlxNF5wZwzjC1G7C0Fc7rd7k0E-0-8677ab9117b99d4b92e2d3f6ebfa204a)
2.touch命令
该命令的功能是改变文件的时间记录、创建空文件
该命令的格式:
touch[参数]文件列表
参数-t:用给定时间([[CC]YY]MMDDhhmm[.ss])更改文件的时间记录。
例如:
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/062.jpg?sign=1738887248-3X3EYbOS3xH0gsO4k9ZJprUTO92ATuL2-0-9b9b7d43713981e8ec79e8f91c2cf0be)
说明:
若文件不存在,系统会建立一个文件。默认情况下将文件的时间记录改为当前时间
又如:
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/063.jpg?sign=1738887248-Jy0A4ibXr80SpJVZN7dvWu0HUshPOiCJ-0-515449aad220f3fa1ec1ba504ace878b)
案例分解2
2)改变当前目录至/test,在该目录下,以自己名字的英文缩写建一个空的文件,再建两个子目录(xh)与(ah)。
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/064.jpg?sign=1738887248-Jn5fApCMAGfsjXq88Mq35IcvTy3zwZQT-0-0e79ca7f8ac080d9eca787b8c6cd50ef)
3)进入到(xh)子目录中,新建一个空文件text1。
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/065.jpg?sign=1738887248-ABSFj5KRg7CZM91Hr9A8LV6YClybPQpt-0-341db92f60eb3c5d2be7f18085524652)
4)进入到(ah)子目录中,再新建一个子目录(abc),同时建立空文件text2。
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/066.jpg?sign=1738887248-Lxeu9659gWoDYHrwFjGCe52KW0M8vmFc-0-1c186d613c3bc86bce1346ee03a9eca1)
3.cp命令
该命令的功能是给出的文件或目录复制到另一个文件或目录中,功能非常强大。
该命令的使用格式:
cp[参数] 源文件或目录 目标路径文件或目录
该命令的参数是可选的,各参数含义如下。
●-a:该参数通常在复制目录时使用。它保留链接、文件属性并递归地复制目录。
●-f:若文件在目标路径中存在则强制覆盖。
●-i:当文件在目标路径中存在提示并要求用户确认是否覆盖。回答y时目标文件将被覆盖,是交互式覆盖。
●-r:若给出的源文件是一个目录文件,此时cp将递归复制该目录下所有的子目录和文件
●-p:除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
例如:
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/067.jpg?sign=1738887248-EV4V6zTRgNlMyYgYY9heC7YenfEXcjaU-0-c9856349e113d90c2459b6d463097dd4)
4.mv命令
该命令的功能是为文件或目录改名或者把文件由一个目录移到另一个目录中去。
该命令的使用格式为:
mv[参数] 源文件或目录 目标文件或目录
参数含义如下。
●-f:忽略存在的文件,从不给出提示,强制移动。
●-i:进行交互式移动。
●-r:指示rm将参数中列出全部目录和子目录递归移动。
●-v:显示命令执行过程。
例如:
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/068.jpg?sign=1738887248-SWsLflOndAwO1PygUnE9SDNCoCQWG8WN-0-18c6282af53635558089bade9d131ee1)
案例分解3
5)把刚建的text1文件移动到刚建立的abc子目录下,并改名为text3,同时把text2文件复制到xh子目录中。
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/069.jpg?sign=1738887248-lt1xHMrA62CqKV8YI1UstmIi2MennGT5-0-02fe1ee325d5a07ba63f005fae9fa233)
或者
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/070.jpg?sign=1738887248-wBxEUGXeq2AEKtHuWUZQVj35BgdJaCRj-0-5c900e3f4e1eb2607ada5c61b7f0b120)
5.rm命令
该命令的功能是删除一个目录中的一个或多个,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,所有文件均保持不变。
该命令的格式为:
rm [参数] 文件名
该命令中参数很多,各参数的含义如下。
●-f:忽略不存在的文件,从不给出提示,强制删除。
●-i:进行交互式删除。
●-r:指示rm将参数中列出全部目录和子目录递归删除,如果没有使用-r选项,则rm不会删除。
●-v:显示命令执行过程。
例如:
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/072.jpg?sign=1738887248-zAmxAEnSs7tYkCJPdHiDxvzrl5qWJcQB-0-aa0f299248973dbcea963417a3e35142)
6.clear命令
该命令的功能是清除屏幕上的信息,它类似于DOS中的cls命令。清屏后,提示符移动到屏幕左上角。
该命令的使用格式为:
clear
案例分解4
6)删除text3文件与xh子目录及目录中的文件,并删除abc子目录。
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/073.jpg?sign=1738887248-58aaUqkQgDIUWUGEdYCk6mkdEN1qvxVH-0-6386781a70e119aaea47e4c739e523ed)
7)使用chot命令切换终端
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/074.jpg?sign=1738887248-XGnsvWTTXukMQMhiCpygswMuohw0PVbH-0-6ec5fc2d4cebdf1f43d71ad237c254c7)
8)清屏。
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/075.jpg?sign=1738887248-IVomjJwplYn8AWIm8Jq4DJausxwvKOtZ-0-c1739688fd59e6ea6be19200d34f8724)
3.2.3 文件链接命令
该命令的功能是在文件之间创建链接,即给系统中已有的某个文件指定另一个可用于访问它的名称。对于这个新的文件名,我们可以为其指定不同的访问权限,以控制对信息的共享的安全性问题。如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不是使用较长的路径名。而且即使我们删除这个链接,也不会破坏原来的目录。
该命令的格式为:
ln [参数] 目标 链接名
参数的含义如下:
●-f:链接时直接覆盖已存在的链接名。
●-d:允许系统管理者硬链接自己的目录。
●-i:在删除与链接文件同名的文件时先进行询问。
●-n:在进行软链接时,将链接文件视为一般的文件。
●-s:进行软链接。
●-b:将在链接时会被覆盖或删除的文件进行备份。
例如:
![](https://epubservercos.yuewen.com/9858A0/16577073705034706/epubprivate/OEBPS/Images/076.jpg?sign=1738887248-eFZohoTjf9P0Sbs1CfTFZ5wr4jtfWH91-0-78723db78fc02f23a996e83e68eb20fd)
链接有两种:一种是硬链接;另一种被称为软链接,又叫符号链接。建立硬链接时,链接文件和被链接文件必须位于同一文件系统中,并且不能建立指向目录的硬链接。对于符号链接如果链接已经存在但不是目录则不链接,符号链接不仅可以建立文件的链接,也可以建立目录的软链接,并且允许其目标不在同一文件系统中。如果链接名是一个已经存在的目录系统将在该目录下建立一个或多个与目标同名的文件。
提示:
使用链接文件时,方法跟普通文件的使用方法完全相同。