购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 目录与文件命令

在Linux系统中,常常需要使用命令查看和管理目录、文件等。常用的目录与文件操作命令有touch、pwd、mv、cp、ls等。本节将讲述这些命令的使用方法。

2.1.1 查看目录命令pwd

pwd命令的作用是查看当前目录。这个命令的使用方法很简单,没有参数,输入命令后按“Enter”键,就会显示当前绝对路径。

①单击“主菜单”|“系统工具”|“终端”命令,打开一个终端。

②在终端中输入“pwd”命令,然后按“Enter”键。需要注意的是,Linux命令都是区分大小写的。命令结果如下所示。

③显示结果为“/root”,表明当前目录是root用户的根目录。打开一个终端时,默认的目录是这个用户的根目录。

2.1.2 打开目录命令cd

cd命令用于打开一个目录。这个命令的使用方法和DOS中的cd命令相似,常用cd命令的使用方法如表 2.1 所示。

表 2.1 cd命令的使用方法

注意: 在Linux系统中,目录、计算机名、域名要用“/”隔开字段,而不能用“\”。这种规则和Windows系统不同。

2.1.3 查看目录命令l s

这里的查看目录指的是显示文件夹下面的文件夹或文件。使用ls命令可以查看一个文件夹,参数选项可以用来设置文件的显示方式、排列顺序等内容。如表 2.2 所示是ls命令的可选参数。

表 2.2 ls命令的可选参数

下面的操作是使用cd命令打开目录和使用ls命令查看目录的实例。

①单击“主菜单”|“系统工具”|“终端”命令,打开一个终端。

②在终端中输入“ls”命令,然后按“Enter”键。显示结果如下所示。

③显示隐藏文件,在终端中输入命令“ls -a”,显示结果如下所示。

④上面的显示结果,“..”表示上一级目录,“.”表示当前目录。以“。”开头的文件表示隐藏文件。

⑤显示文件详细列表,在终端中输入命令“ls -l”,显示结果如下所示。在列表中显示了文件权限、所有者、创建时间、文件名等信息。

⑥在文件列表中显示一个标志,在终端中输入命令“ls -F”,显示结果如下所示。在列表中对可执行文件加了一个“*”标志,对文件夹加了一个“/”标志。

⑦多个参数是可以组合的。例如ls -aF表示显示所有的文件,然后添加一个标志;ls -alF表示以列表的形式显示所有的文件,同时添加一个标志。

⑧使用“*”可以匹配文件名中的任意字符串。例如ls *.c表示列出扩展名为.c的文件,即列出C语言文件。同时可以在ls的后面添加参数,例如输入命令“ls -l *.c”,输出结果如下所示。

⑨使用“?”可以匹配一个字符。例如输入命令“ls 0?.c”,表示第一个字符为 0,扩展名为.c,文件名有两个字符的文件。结果如下所示。

⑩输入命令“cd /”,表示进入根目录。输入“ls”命令,显示结果如下所示。

输入命令“cd ~”,表示进入用户的根目录。如果是root用户,则表示进入“/root”目录。

2.1.4 建立文件命令touch

touch命令用于建立一个空文件。Linux系统中的文件注重权限和文件内容,而不注重扩展名,所以可以使用随意的扩展名。如果需要建立的文件已经存在,touch命令可以使文件的最后访问时间变成当前时间。下面的操作是使用touch命令建立空文件的例子。

①单击“主菜单”|“系统工具”|“终端”命令,打开一个终端。

②在终端中输入命令“touch file1”,然后按“Enter”键,建立一个文件file1。

③以列表的方式查看这个文件,输入命令“ls -l file1”。显示结果如下所示。

④使用touch命令可以更改文件的最后访问时间,输入命令“touch file1”。

⑤查看这个文件,输入命令“ls -l file1”,显示结果如下所示。可以发现,文件的最后访问时间已经改变。

⑥在Linux系统中,文本文件的扩展名并非必须是.txt,任意的空文件都可以作为文本文件进行编辑。在终端中输入命令“vim file1”,可以对这个文件进行编辑。

2.1.5 建立与删除文件夹命令mkdir、rmdir

mkdir命令用于建立一个目录。建立的目录不一定是在当前目录下,可以在任意一个目录中建立目录。参数-p可以指定建立多级目录。

rmdir命令用于删除一个空目录,也可以使用-p命令删除多级目录。下面的操作是建立与删除目录的例子。

①单击“主菜单”|“系统工具”|“终端”命令,打开一个终端。

②在终端中输入命令“mkdir mydir”,然后按“Enter”键,这时会在用户的主目录中建立一个目录mydir。

③输入命令“rmdir mydir”,可以删除目录mydir。

④输入命令“mkdir -p mydir1/mydir2”,表示在目录mydir1 中建立目录mydir2。但是mydir1 是不存在的,用参数-p可以同时建立目录mydir1。

⑤输入命令“rmdir mydir1”,目录mydir1 是非空的,不可删除。输出结果如下所示。

⑥输入命令“rmdir -p mydir1/mydir2”,会删除目录mydir2。同时,mydir1 是空目录,则会同时删除目录mydir1。

2.1.6 文件复制命令cp

cp命令用于将文件或目录复制到另一个文件或目录中,该命令有多个参数,可以实现很多种功能。cp命令的使用方法如下所示。

cp命令的可选参数如下。

● -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。

● -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。

● -f:覆盖已经存在的目标文件而不给出提示。

● -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答“”y时目标文件将被覆盖。

● -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。

● -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。

● -l:不复制文件,只是生成链接文件。

需要注意的是,使用cp命令复制文件时,如果目标文件已经存在,则会覆盖目标文件而不给出提示。被覆盖的文件是不能恢复的。为防止破坏另一个文件,复制文件时最好使用-i选项。下面的操作是文件复制的例子。

①单击“主菜单”|“系统工具”|“终端”命令,打开一个终端。

②输入命令“cp 01.c 11.c”,然后按“Enter”键,表示将主目录下的文件 01.c复制一份放到当前目录下,文件名为 11.c。

③建立一个文件夹c,输入命令“mkdir c”。

④复制多个文件,输入命令如下所示,表示将当前目录下的所有扩展名为.c的文件复制到文件夹c中,文件名不变。

⑤提示是否覆盖文件。将文件 01.c复制到目录c中,因为目录中已经有该文件,需要加-i选项给出提示确认是否覆盖。输入命令如下所示。

⑥终端中会输出下面的提示,用户输入“y”表示确认覆盖。

⑦输入命令“cp –r /c /d”,将目录c中的所有文件和目录复制到目录d中。如果目录d不存在,则建立这个目录。

⑧输入命令“cp d/01.c .”,将目录d中的文件 01.c复制到当前目录中,文件名不变。

2.1.7 文件移动和更名命令mv

在Linux系统中,除非把文件移动到不同的分区中,否则文件在移动时依旧是以前的文件。文件的重命名相当于文件的移动。文件移动命令的参数如下所示。

● -b:若需覆盖文件,则覆盖前先备份。

● -f:若目标文件或目录与现有的文件或目录同名,则直接覆盖已有的文件或目录。

● -i:覆盖前先询问用户。

● -S:与-b参数一并使用,可指定备份文件所要附加的字尾。

● -u:在移动或文件更名时,若目标文件已经存在,且其文件日期比源文件新,则不覆盖目标文件。

● -v:执行时显示详细的信息。

● -V:与-b参数一并使用,指定备份的方法。

下面的操作是使用mv命令移动和重命名文件的例子。

①单击“主菜单”|“系统工具”|“终端”命令,打开一个终端。

②输入下面的命令,将用户根目录下的文件 01.c更名为文件 001.c。

③输入下面的命令,将用户根目录下的所有扩展名为.c的文件移动到目录c中。

④输入下面的命令,将用户根目录下的文件 001.c移动到目录c中,且有同文件时不提示信息。

2.1.8 删除文件与目录命令rm

使用rm命令可以删除文件或目录。如果要删除目录,则需要添加参数-r。在Red Hat Linux9.0 中,删除文件时默认添加了-i参数,会提示用户是否删除。rm的参数如下所示。

● -d:把删除的目录的硬链接删除,并删除该目录。

● -f:强制删除文件或目录。

● -i:删除文件或目录之前询问用户。

● -r:递归处理,将指定目录下的所有文件及子目录全部删除。

● -v:显示命令执行过程。

下面的操作是使用rm删除文件和目录的例子。

①单击“主菜单”|“系统工具”|“终端”命令,打开一个终端。

②在终端中输入下面的命令,删除目录c下所有的扩展名为.c的文件。

③终端会依次提示是否删除目录中的文件,输入“”y表示删除文件,输入“n”表示取消删除。

④输入下面的命令删除目录d中所有的文件,并且不提示信息。

2.1.9 创建链接命令ln

Linux中的链接相当于Windows系统中的快捷方式。打开链接时,可以打开相应的文件。使用ln命令可以创建一个链接,该命令的可选参数如下所示。

● -b:覆盖目标文件之前备份。

● -d:建立目录的硬链接。

● -f:强行建立文件或目录的链接。

● -i:覆盖已有文件之前先询问用户。

● -n:把符号链接的目的目录视为一般文件。

● -s:对源文件建立符号链接,而非硬链接。

● -S:用“-b”参数备份目标文件。

链接有软链接和硬链接两种,这两种链接的含义是不同的。

硬链接:硬链接与原文件一样,指文件系统中的文件。建立硬链接时,链接文件和被链接文件必须位于同一个分区中,并且不能建立指向目录的硬链接。

软链接:软链接即符号链接,只是建立一个简单的快捷方式。用户打开这个快捷方式时,会自动打开被链接的文件。如果ln命令加上-s选项,则表示建立符号链接。

下面的操作是使用ln命令建立链接的实例。

①单击“主菜单”|“系统工具”|“终端”命令,打开一个终端。

②输入下面的命令,对文件 01.c建立一个 001.c的硬链接。

③输入下面的命令,对文件 01.c建立一个 002.c的软链接。

④文件同名时会提示信息。输入下面的命令,对文件 01.c建立一个 002.c的软链接,这时会提示是否覆盖已有文件。

2.1.10 查看文件信息命令wc

使用wc命令可以查看一个文件的行数、字数、字符数的信息。该命令的使用方法比较简单,可以使用下面的参数选择输出的信息。

● -l:显示文件的文本行数。

● -w:显示文件的字数。

● -c:显示文件的字符数。

例如,查看当前目录下文件 01.c的信息,可以输入下面的命令。

命令的显示结果如下所示。

显示的结果表示有 5 行文本,共有 8 个单词、55 个字符。如果要显示某一项信息,则需要在wc命令后面加入一个参数。下面的命令可以显示这个文件的行数。

命令的运行结果如下所示,表示这个文件有 5 行。

2.1.11 文件查看命令cat

使用cat命令可以输出文件的内容。该命令的可选参数如下。

● -n:由 1 开始对所有输出的行进行编号。

● -b:和-n相似,但对空白行不编号。

● -s:当遇到有连续两行以上的空白行时,就转换为一行。

下面的操作是使用cat命令查看文件的例子。

①单击“主菜单”|“系统工具”|“终端”命令,打开一个终端。

②在终端中输入命令“cat 01.c”,然后按“Enter”键,终端中会显示文件 01.c所有的内容。

③显示多个文件的内容。在终端中输入下面的命令,可以连续显示 3 个文件的内容。

④将输出结果定向到一个文件中。在终端中输入下面的命令,可以将 3 个文件所有的内容输出到文件 123.c中。

⑤显示文件时输出行号,在终端中输入下面的命令。

⑥把一个文件添加行号后保存到另一个文件中,在终端中输入下面的命令。

⑦在终端中输入命令“cat 003.c”,显示结果如下所示。文件中的行号是上一命令产生的行号。

2.1.12 查看文件视图命令head与tail

head命令用来查看文件前面的 n 行。如果没有设定 n 的值,则默认显示文件的前 10 行。tail命令与head命令的使用方法相同,用来查看文件末尾的内容。如表 2.3 所示是这两个命令的使用方法。

表 2.3 head与tail命令的使用方法

2.1.13 文件权限设置命令chmod

文件权限指的是文件是否可以进行执行、写入、读取等操作。在Linux系统中,用户可以对自己的文件设置文件权限,不同的用户和组具有不同的文件权限。使用chmod命令可以设置和更改权限的方式。在设置权限之前,需要理解文件权限的种类。

文件权限分为三级,用户可以进行不同的权限设置。这三级权限和表示方法如下所示。

● 所有者:用u表示,创建这个文件的用户。

● 群组:用g表示,所有者同一群组中的用户。

● 其他:用o表示,除了所有者和同组用户以外的用户。

除此之外,可以用a表示所有的用户。

权限需要用权限字符表示,r表示可读,w表示可写,x表示可执行。权限的更改需要使用权限设定符号,+表示增加权限,-表示取消权限,=表示唯一设定权限。

chmod命令的可选参数如下所示。

● -c:若文件权限已经更改,则显示其更改动作。

● -f:若文件权限无法被更改,则不显示错误信息。

● -v:显示文件变更的详细资料。

● -R:对目录下的所有文件与子目录进行相同的权限设置。

下面的操作是用chmod命令对文件权限进行设置的例子。

①单击“主菜单”|“系统工具”|“终端”命令,打开一个终端。

②在终端中输入下面的命令,对文件 01.c的所有者添加可执行权限。

③在终端中输入下面的命令,对文件 01.c的同组用户删除可写权限。经过这种设置以后,同组用户就无法编辑文件了。

④在终端中输入下面的命令,对文件 01.c的所有用户添加可读权限。

⑤在终端中输入下面的命令,对文件 01.c的其他用户和同组用户添加可读权限,同时取消可写权限。

⑥在终端中输入“vim”命令,打开VIM。

⑦在VIM中按“i”键,进入插入模式,在文件中输入下面的内容。

⑧按“Esc”键返回普通模式,然后输入“:w 3.1.sh”命令保存文件。输入“:q”命令退出VIM。

⑨运行已经编辑的文件,在终端中输入如下所示的命令。

⑩终端显示权限不够,文件不能运行。在终端中输入下面的命令,对用户添加可执行权限。

输入命令“./3.1.sh”,这个文件的运行结果如下所示。上一步骤的命令对这个文件添加了可执行权限。

查看文件权限,使用list -l命令可以显示一个文件的权限。在终端中输入下面的命令,可以显示文件 3.1.sh的权限。

命令的运行结果如下所示。

显示的“-rwxr-xr-x”表示文件的权限。第一个字符如果不是“-”,则表示这个文件不是普通文件。后面的字符串 3 个字符为一组,“rwx”表示所有者的权限是可读、可写、可执行;“r-x”表示同组用户可读、不可写、可执行;最后的“r-x”表示其他用户可读、不可写、可执行。

2.1.14 查找文件命令find

使用find命令可以从目录和子目录中搜索文件。find命令的最简单使用方法如下所示。

例如,要查找计算机中一个名为httpd.sh的文件,但不知道相应的目录,则可以在终端中输入下面的命令。

这时,终端会搜索出硬盘中所有文件名为httpd.sh的文件。如果缩小查找范围,则可以输入下面的命令。

在这个命令中,文件名是支持“*”与“?”等通配符的。例如下面的命令,可以查找root目录中所有扩展名为.c的文件。 ZatPzGKJclpmo2TvmNh1+RPEN3dZNqKDKzH4qpPYgkWioCl9nbj7Zp1hdOjtBO0/

点击中间区域
呼出菜单
上一章
目录
下一章
×