实验 3 - 常用系统工具
目标¶
完成此实验后,您将能够
- 使用大多数 Linux 系统上找到的常用系统实用程序
完成此实验的估计时间:70 分钟
Linux 系统上找到的常用系统实用程序¶
什么是系统实用程序?¶
在 Linux 环境中,系统实用程序 是允许您管理、监控和优化操作系统运行的程序和命令。这些工具对于系统管理员、开发人员和高级用户至关重要,因为它们简化了文件管理、进程控制、网络配置等任务,以及更多。
与图形界面不同,许多实用程序都可以通过命令行访问,从而提供更大的灵活性、自动化和系统控制。
本实验中的练习涵盖了用户和管理员都需要熟悉的一些基本系统实用程序的用法。大多数命令用于导航和操作文件系统。文件系统由文件和目录组成。
这些练习将涵盖 –pwd
、cd
、ls
、rm
、mv
、ftp
、cp
、touch
、mkdir
、file
、cat
、find
和 locate
实用程序的用法。
练习¶
1. 使用 cd
进行文件系统导航¶
cd
命令(Change Directory 的缩写)是 Linux 和类 Unix 系统中最常用的命令之一。它允许您在文件系统中移动目录,使用户能够在文件夹之间导航并访问其中的文件。cd
命令对于在 Linux shell 中工作至关重要,因为它允许您高效地浏览和组织文件系统。
如何使用 cd
¶
-
以 root 用户身份登录计算机
-
从当前目录更改到
/etc
目录。[root@localhost root]# cd /etc
-
请注意,您的提示符已从“ [root@localhost root]# ”更改为:“ [root@localhost etc]# ”
-
更改到
/usr/local/
目录[root@localhost etc]# cd /usr/local [root@localhost local]#
问题
您的提示符发生了什么变化?
-
返回 root 的主目录
[root@localhost local]# cd /root
-
再次更改到
/usr/local/
目录。输入[root@localhost root]# cd /usr/local
-
要更改到 local 目录的父目录,请输入
cd ..
[root@localhost local]# cd ..
问题
/usr/local/
目录的父目录是什么? -
要快速返回 root 的主目录,请在不带任何参数的情况下键入
cd
。[root@localhost usr]# cd [root@localhost root]#
2. 使用 pwd
显示路径¶
pwd
(Present Working Directory)命令向用户显示在文件系统中当前目录的绝对路径。当您在终端中工作并想确切知道自己的位置时,可以使用它来标识当前位置。
此命令对于导航文件系统至关重要,尤其是在处理复杂路径或自动化脚本时。
如何使用 pwd
¶
-
要找出您当前的活动目录,请输入
[root@localhost root]# pwd /root
-
使用
cd
命令将您的目录更改到/usr/local/
目录[root@localhost root]# cd /usr/local
-
使用
pwd
找出您当前的活动目录[root@localhost local]# pwd /usr/local
-
返回 root 的主目录
[root@localhost root]# cd
3. 使用 mkdir
创建文件夹¶
mkdir
(Make Directory)命令允许您在文件系统中创建新的目录(文件夹)。在此练习中,您将创建两个名为 folder1
和 folder2
的文件夹。
如何使用 mkdir
¶
-
创建第一个名为
folder1
的目录[root@localhost root]# mkdir folder1
-
创建第二个名为
folder2
的目录[root@localhost root]# mkdir folder2
-
现在将您的活动目录更改为您上面创建的
folder1
目录。[root@localhost root]# cd folder1
-
显示您当前的活动目录。
[root@localhost folder1]# pwd /root/folder1
问题
在不离开当前目录的情况下,更改到
folder2
目录。为此的命令是什么? -
返回 root 的主目录。
4. 使用 touch
修改文件元数据¶
touch 命令是一个工具,它允许您创建新的空文件或修改现有文件的访问/修改日期,以及用于脚本编写和自动化的高级用途。名称 touch 来自“接触”文件元数据的想法,而不必修改其内容。
文件 file11、file12、file21 和 file22 将在上面创建的文件夹中创建。
如何使用 touch
¶
-
更改目录,即
cd
到folder1
并创建 file11[root@localhost folder1]# touch file11
-
仍在
folder1
中创建 file12[root@localhost folder1]# touch file12
-
现在返回 root 的主目录。
-
cd
到folder2
并创建 file21 和 file22[root@localhost folder2]# touch file21 file22
-
返回 root 的主目录。
5. 使用 ls
列出目录¶
ls 命令(List)是 Linux 和类 Unix 系统中最基本、最广泛使用的命令之一。它允许您查看目录的内容,以各种格式和排序选项显示文件和子目录。
使用 ls
¶
-
在 root 的主目录中键入
ls
[root@localhost root]# ls
问题
列出目录的内容
-
更改到
folder1
目录 -
列出
folder1
目录的内容。键入ls
[root@localhost folder1]# ls file11 file12
-
更改到
folder2
目录并在此列出其内容 -
返回您的主目录并列出 所有 隐藏文件和文件夹
[root@localhost folder2]# cd [root@localhost root]# ls –a .. .bash_history .bash_logout .bash_profile .bashrc folder1 folder2 .gtkrc .kde screenrc
-
要获得您主目录中所有文件和文件夹的长列表或详细列表,请输入
[root@localhost root]# ls –al total 44 drwx------ 5 root root 4096 May 8 10:15 . drwxr-xr-x 8 root root 4096 May 8 09:44 .. -rw------- 1 root root 43 May 8 09:48 .bash_history -rw-r--r-- 1 root root 24 May 8 09:44 .bash_logout -rw-r--r-- 1 root root 191 May 8 09:44 .bash_profile -rw-r--r-- 1 root root 124 May 8 09:44 .bashrc drwxrwxr-x 2 root root 4096 May 8 10:17 folder1 drwxrwxr-x 2 root root 4096 May 8 10:18 folder2 ………………………..
6. 使用 mv
移动文件¶
mv
(Move)命令提供了用于管理系统文件的工具。其主要功能是在文件系统中移动或重命名文件和目录。此命令对于重新组织目录结构、对文件组执行批量操作以及高效管理备份特别有用。
如何使用 mv
¶
-
更改目录到
folder1
目录并列出其内容[root@localhost root]# cd folder1 [root@localhost folder1] ls file11 file12
-
您将把
folder1
目录中的 file11 和 file12 分别重命名为 temp_file11 和 temp_file12[root@localhost folder1]# mv file11 temp_file11
-
再次列出
folder1
的内容。[root@localhost folder1]# ls
问题
写下内容
-
将 file12 重命名为 temp_file12
[root@localhost folder1]# mv file12 temp_file12
-
在不更改目录的情况下,将
folder2
中的 file21 和 file22 分别重命名为 temp_file21 和 temp_file22[root@localhost folder1]# mv /root/folder2/file21 /root/folder2/temp_file21 [root@localhost folder1]# mv /root/folder2/file22 /root/folder2/temp_file22
-
在不更改当前目录的情况下,列出
folder2
的内容。问题
为此的命令是什么?也要列出命令的输出吗?
7. 使用 cp
复制文件¶
cp
(Copy)命令允许您在文件系统中将文件和目录从一个位置复制到另一个位置,同时保持原始文件不变。其易用性和多功能性使其成为日常操作和更复杂的系统管理任务不可或缺的工具。cp
命令最实用的功能之一是能够在复制过程中保留文件的原始属性,包括权限、时间戳和所有者信息。此功能在处理配置文件或需要保持某些文档属性不变时尤其重要。
如何使用 cp
¶
-
将您的目录更改为
folder2
目录。 -
将
folder2
的内容(temp_file21 和 temp_file22)复制到folder1
[root@localhost folder2]# cp temp_file21 temp_file22 ../folder1
-
列出
folder1
的内容。[root@localhost folder2]# ls ../folder1 temp_file11 temp_file12 temp_file21 temp_file22
-
列出
folder2
的内容。请注意,temp_file21 和 temp_file22 的原始副本仍保留在folder2
中。[root@localhost folder2]# ls temp_file21 temp_file22
8. 使用 file
确定文件类型¶
file 命令是一个诊断工具,它允许您通过分析文件的内容来确定文件的类型。与可以修改或具有误导性的文件扩展名不同,此命令会检查数据的实际结构以准确识别其性质。
file 命令最重要的功能之一是它能够区分不同类型的文本文件,例如识别 shell 脚本、各种编程语言的源代码、XML 或 JSON 文件。对于二进制文件,它可以识别可执行文件、共享库、各种格式的图像以及许多其他类型的结构化数据。
如何使用 file
¶
-
返回您的主目录。
-
要查看
folder1
是文件还是目录;请输入[root@localhost root]# file folder1 folder1: directory
-
更改到
folder1
目录 -
使用
file
实用程序确定 temp_file11 的文件类型[root@localhost folder1]# file temp_file11 temp_file11: empty
-
使用
file
实用程序找出folder1
目录中所有文件的文件类型。在此列出 -
更改目录到
/etc
目录[root@localhost folder1]# cd /etc
-
使用
file
实用程序找出 passwd 文件的文件类型。[root@localhost etc]# file passwd
问题
它是什么类型的文件?
9. 使用 cat
列出和连接文件¶
cat 命令(Concatenate 的缩写)是 Linux 中管理文本文件的重要工具。其主要功能是将一个或多个文件的内容直接显示在终端中,但它也可以用于创建、合并或复制文件。
cat 命令特别适用于与其他工具(如 grep
或 more
)结合使用,直接从终端处理或过滤文本。尽管它很简单,但它是用于快速文件操作的最广泛使用的命令之一。
您将使用 cat
结合重定向符号“>”来创建一个文件。
使用 cat
创建文件¶
-
更改目录到
/root/folder1
目录 -
创建一个名为 first.txt 的新文本文件
[root@localhost folder1]# cat > first.txt
-
在空白提示符处输入以下短语,然后按 Enter。
This is a line from first.txt !!
-
同时按 Ctrl+C。
-
键入
cat first.txt
来读取您刚才键入的文本[root@localhost folder1]# cat first.txt This is a line from first.txt !!
-
使用
cat
创建另一个名为 second.txt 的文件。将以下文本输入文件 – “This is a line from second.txt !!”问题
为此的命令是什么?
使用 cat
连接文件¶
-
您将连接 first.txt 和 second.txt 文件。键入
[root@localhost folder1]# cat first.txt second.txt
问题
您的输出是什么?
10. 使用 ftp
传输文件¶
ftp
(File Transfer Protocol)命令是一个命令行工具,用于在远程系统和本地系统之间传输文件。虽然它已被 SFTP 和 SCP 等更现代、更安全的协议部分取代,但在旧环境或仅支持 FTP 的服务器上仍然有用。
FTP 以明文传输数据,包括凭据和内容,因此不建议用于敏感传输。
虽然 FTP 仍在某些环境中使用,但加密协议在安全操作中更受青睐。
在此练习中,您将学习如何匿名登录 FTP 服务器并使用ftp 客户端程序从服务器下载文件。
注意
您需要完成之前实验中的练习才能在此特定练习中进行操作,该练习需要一个可用的 FTP 服务器在可访问的某处运行。
如何使用 ftp
¶
-
以 root 用户身份登录您的计算机
-
更改目录到
/usr/local/src/
目录 -
在
/usr/local/src/
目录下创建一个名为downloads
的新目录。问题
为此的命令是什么?
-
更改目录到新创建的
downloads
目录[root@localhost src]# cd downloads
-
键入
ftp
以启动您的ftp 客户端[root@localhost downloads]# ftp ftp>
-
要连接到 FTP 服务器,请输入
ftp> open < server-address> (Obtain the <server-address> from your instructor) ……… 220 localhost.localdomain FTP server (Version wu-2.6.2-5) ready. ………..
-
以匿名用户身份登录。在提示符处键入“anonymous”
Name (10.4.51.29:root): anonymous
-
在密码提示符处键入任何电子邮件地址,然后按 Enter
Password: *************** 230 Guest login ok, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. ftp>
-
切换到二进制模式。键入
ftp> binary
问题
二进制命令的输出是什么?“二进制模式”又是什么?
-
列出 FTP 服务器上的当前目录。在ftp 提示符处键入
ls
ftp> ls 227 Entering Passive Mode (10,0,4,5,16,103). 125 Data connection already open; Transfer starting. 11-23-43 10:23PM <DIR> images 11-02-43 02:20PM <DIR> pub 226 Transfer complete.
-
更改目录到
pub
目录。键入ftp> cd pub
-
使用
ls
命令列出pub
目录中的文件和目录问题
现在里面有多少文件和目录?
-
将名为“hello-2.1.1.tar.gz”的文件下载到您的本地目录。在提示符处键入“yes”。
ftp> mget hello-2.1.1.tar.gz mget hello-2.1.1.tar.gz? yes 227 Entering Passive Mode (10,0,4,5,16,252). 125 Data connection already open; Transfer starting. 226 Transfer complete. 389363 bytes received in 0.0745 secs (5.1e+03 Kbytes/sec)
-
注销 FTP 服务器并退出您的ftp 客户端。键入
ftp> bye
-
您将被返回到本地 shell。
-
确保您仍然在本地计算机的
downloads
目录中。问题
列出 downloads 文件夹中的文件。
11. 使用重定向¶
您在 Linux 中使用的绝大多数实用程序和命令都将其输出发送到屏幕。屏幕称为标准输出 (stdout)。重定向允许您将输出发送到别处 – 也许是一个文件。
在 Linux 系统上启动的每个程序都有三个打开的文件描述符:stdin (0)、stdout (1) 和 stderr (2)。您可以单独重定向或“管道”它们。重定向符号是 > 和 <。
如何使用重定向¶
-
确保您仍在
folder1
目录中。 -
您将使用输出重定向将
ls
(list)命令的输出重定向到一个名为 myredirects 的文本文件[root@localhost folder1]# ls > myredirects
-
检查在
folder1
目录中创建的新文件(myredirects)的内容。[root@localhost folder1] # cat myredirects temp_file11 temp_file12 temp_file21 temp_file22 myredirects
-
现在您将
file
命令的输出重定向到同一个文件。您想找出folder1
目录中 temp_file11 的文件类型,并将输出发送到您的 myredirects 文件[root@localhost folder1]# file temp_file11 > myredirects
-
检查 myredirects 文件内容。
问题
它已更改。发生了什么?
-
如果您希望阻止上面发生的事情,您将使用双重重定向符号 >+>。这将附加(添加)新输出到文件,而不是替换它。试试吧
[root@localhost folder1]# ls >> myredirects
-
现在使用
cat
再次检查 myredirects 文件内容。问题
在此处写下其内容
使用重定向抑制命令的输出¶
您将在 Linux 中大量使用此处涵盖的概念,因此请特别注意。它可能有点棘手。
有时您不希望用户看到命令的输出 – 也许是一个错误消息。这通常是因为奇怪的错误消息经常会吓到普通用户。在此练习中,您将把命令的输出发送到空设备(/dev/null/
)。空设备就像一个“垃圾桶”。您放入其中的任何内容都会永远消失。您也可以将常规命令输出发送(或重定向)到空设备。
使用下面的指南
重定向符 | 功能 |
---|---|
> 文件 | 将标准输出重定向到文件 |
< 文件 | 从文件获取标准输入 |
Cmd1 | cmd2 | 管道;将 cmd1 的标准输出作为 cmd2 的标准输入 |
n> 文件 | 将文件描述符 n 重定向到文件 |
N< 文件 | 将文件设置为文件描述符 n |
>&n | 将标准输出复制到文件描述符 n |
<&n | 将标准输入从文件描述符 n 复制 |
&>文件 | 将标准输出和标准错误重定向到文件 |
-
确保您仍在
folder1
目录中。使用ls
命令的长列表选项对 temp_file11 进行操作[root@localhost folder1]# ls –l temp_file11 -rw-r--r-- 1 root root 0 Jul 26 18:26 temp_file11
-
您将把上面相同的命令(
ls –l temp_file11
)的输出重定向到空设备。[root@localhost folder1]# ls –l temp_file11 > /dev/null
您应该没有任何输出。
-
现在,如果您不小心拼错您想查看信息的文件的名称;您将得到
[root@localhost folder1]# ls –l te_file1 ls: te_file1: No such file or directory
以上是
ls
命令被编程为产生的错误类型的结果。 -
运行与上面相同的命令,但文件名称拼写错误,并将其重定向到
/dev/null
[root@localhost folder1]# ls -l te_file1 > /dev/null ls: te_file1: No such file or directory
问题
这里发生了什么?为什么输出仍然显示在屏幕上(stdout)?
-
出于各种原因,您可能不希望用户看到错误消息,例如上面的消息。为此,请输入
[root@localhost folder1]# ls –l te_file1 > /dev/null 2>&1
您将不会收到任何输出。这次标准输出和标准错误都被抑制了。
重定向的顺序很重要!
重定向从命令行从左到右读取。重定向符号的左侧部分 – > 将标准输出(stdout)发送到
/dev/null
。然后,重定向的右侧部分 –2>&1
将标准错误(2)复制到标准输出(1)。因此,上面的命令可以读作:将 stdout(1) 重定向到“/dev/null”,然后将 stderr (2) 复制到 stdout
-
为了进一步说明重定向顺序的重要性;尝试
[root@localhost folder1]# ls –l tem_file 2>&1 > order.txt
使用
cat
命令检查“order.txt”文件的内容左侧部分 –
2>&1
将标准错误复制到标准输出。然后,上面的右侧部分 –> order.txt
将stdout重定向到文件 order.txt。 -
尝试上面的步骤的这个变体
[root@localhost folder1]# ls –l hgh_ghz 2> order2.txt > order2.txt
问题
检查文件“order2.txt”并解释发生了什么?
-
要将标准输出和标准错误发送到不同的文件;请输入
[root@localhost folder1]# ls –l tep_f > standard_out 2> standard_err
问题
创建了两个新文件。文件的名称是什么?它们的内容是什么?
-
您也可以通过使用以下命令将 stdout 和 stderr 都重定向到同一个文件
[root@localhost folder1]# ls –l te_fil &> standard_both
12. 使用 rm
删除文件¶
rm
(Remove)命令允许您永久删除一个或多个文件、目录及其内容,除非使用外部恢复解决方案,否则无法恢复。它是一个功能强大的命令,但如果使用不当,可能会有危险,因为它操作不可逆。因此,务必谨慎使用它,在执行操作之前始终检查路径和文件名。
您将使用 rm
删除一些在早期练习中创建的文件。
如何使用 rm
¶
-
仍在
folder1
目录中时,删除文件 standard_err。在确认提示符处键入 y[root@localhost folder1]# rm standard_err rm: remove `standard_err'? y
-
删除 standard_out 文件。要避免在删除文件前提示确认,请在
rm
命令中使用–f
选项[root@localhost folder1]# rm -f standard_out
-
返回您的主目录(
/root
)并删除folder2
目录。要使用rm
删除文件夹,您需要使用–r
开关[root@localhost root]# rm -r folder2 rm: descend into directory 'folder2'? y rm: remove 'folder2/temp_file21'? y rm: remove 'folder2/temp_file22'? y rm: remove directory 'folder2'? y
问题
您再次被提示确认删除目录中的每个文件以及目录本身。要防止这种情况发生,您将使用哪个选项与
rm –r
命令一起使用?
13. 学习 vi
¶
vi
编辑器是 Linux 和类 Unix 系统中最强大、最广泛使用的文本编辑器之一。由于其效率和多功能性,它是系统管理员和开发人员必不可少的工具。与许多现代编辑器不同,vi
主要在文本模式下运行,提供快速的命令和键盘组合,让您能够以极高的精度和速度编辑文件。
它的学习曲线起初可能很陡峭,但一旦您掌握了基本功能,它就会成为从终端直接编辑配置文件、脚本和源代码的不可或缺的工具。
vi
是一个巨大的怪物,几乎无所不能——甚至可以为你泡咖啡或可可!
本练习不尝试教您 vi
,而是为您推荐一个工具,该工具可以更好地让您熟悉 vi
。请花时间完成在线 vi
(更准确地说,是 vim
)教程。只需按照说明操作。
学习 vi
¶
-
登录系统时,键入
[root@localhost root]# vimtutor
14. 使用 find
和 locate
搜索文件¶
本练习将讨论用于在文件系统中搜索文件和目录的两个最受欢迎的实用程序。它们是 find
命令和 locate
命令。
find
¶
find 命令允许您根据各种标准(如名称、类型、大小、修改日期、权限等)在文件系统中搜索文件和目录。它能够对找到的结果执行操作(如删除、移动或处理文件),这使其成为系统管理员和高级用户的不可或缺的工具。
find
的一般语法是
find [path] [options] [criterion] [action]
如果您不指定任何目录或路径,find
将搜索当前目录。如果您不指定标准,这等同于“true”,因此将找到所有文件。find
实用程序有许多选项可用于执行几乎任何类型的查找文件操作。下面仅列出其中一些选项、标准和操作。
选项 | 描述 |
---|---|
-xdev | 不在其他文件系统上的目录中搜索 |
-mindepth <n> |
在搜索文件之前,至少向下进入指定目录 <n> 层 |
-maxdepth <n> |
搜索位于指定目录以下最多 <n> 层的文件 |
-follow | 如果符号链接指向目录,则跟随它们 |
-daystart | 在使用与时间相关的测试(见下文)时,它以当天开始作为时间戳,而不是默认值(当前时间前 24 小时) |
标准 | 描述 |
---|---|
-type <type> |
搜索给定类型的文件;<type> 可以是:f(常规文件)、d(目录)、l(符号链接)、s(套接字)、b(块设备文件)、c(字符设备文件)或 p(命名管道) |
-name <pattern> |
查找名称匹配给定 <pattern> 的文件 |
-iname <pattern> |
与 -name 类似,但忽略大小写 |
-atime <n> , -amin <n> |
查找最后一次访问时间为 <n> 天前(-atime)或 <n> 分钟前(-amin)的文件。您还可以指定 +<n> 或 -<n> ,在这种情况下,搜索将分别针对访问时间最多或至少 <n> 天/分钟前的文件 |
-anewer <file> |
查找比文件 <file> 更近期被访问过的文件 |
-ctime <n> , -cmin <n> , -cnewer <file> |
与 -atime、-amin 和 -anewer 相同,但适用于最后一次修改文件内容的时间 |
-regex <pattern> |
与 -name 相同,但模式被视为正则表达式 |
-iregex <pattern> |
与 -regex 相同,但忽略大小写 |
操作 | 描述 |
---|---|
仅将每个文件的名称打印到标准输出。这是默认操作 | |
-ls | 将找到的每个文件的 ls -ilds 的等效输出打印到标准输出 |
-exec <command> |
对找到的每个文件执行命令 <command> 。命令行的 <command> 必须以 ; 结尾,您必须对其进行转义,以便 shell 不会对其进行解释;文件位置用 {} 标记 |
-ok <command> |
与 -exec 相同,但会询问每个命令的确认 |
如何使用 find
¶
-
确保您在主目录中。
-
您将使用 find 来显示当前目录(
pwd
)中的所有文件。键入[root@localhost root]# find ……….. ./.bash_profile ./.bashrc ./.cshrc ./.tcshrc ./.viminfo ./folder1 ./folder1/first.txt …………
您的输出显示了 find 在没有选项时使用的默认行为。
它递归地显示工作目录中的所有文件和目录(包括隐藏文件)。 -
现在使用
find
仅查找 pwd 中的目录。键入[root@localhost root]# find -type d ./folder1 ./folder2 ………
问题
从上面的命令
find –type d
;“选项”是什么,“路径”是什么,“标准”是什么,最后“操作”又是什么? -
接下来,您将搜索系统上所有以“.txt”后缀结尾的文件
[root@localhost root]# find / -maxdepth 3 -name "*.txt" -print /root/folder1/first.txt /root/folder1/second.txt /root/folder1/order.txt /root/folder1/order2.txt
问题
再次从上面的命令;“选项”是什么,“路径”是什么,“标准”是什么,最后“操作”又是什么?(提示:操作 = “-print”)
搜索将只在
/
目录向下进行 3 层。上面命令中使用的星号是 Linux 中“通配符”字符之一。
在 Linux 中使用通配符称为“globbing”。 -
使用
find
命令查找 pwd 中所有“小于” 200 KB 的文件。键入[root@localhost root]# find . –size -200k
-
使用
find
命令查找 pwd 中所有“大于” 10 KB 的文件,并显示它们的“文件类型”。键入[root@localhost root]# find . –size +10k –exec file "{ }" ";"
locate
¶
locate
命令允许您在系统中搜索文件和目录。与其他命令(如 find
,它执行实时搜索)不同,locate
基于一个预编译的数据库,其中包含系统上所有文件的路径,从而确保几乎即时获得结果。此数据库通常使用 updatedb
命令定期更新,该命令由 cron 作业管理。由于其效率,locate
对于快速查找文件或文件夹而无需手动扫描整个文件系统特别有用。
但是,需要记住的是,如果数据库没有最近与系统当前状态同步,结果可能不是最新的。
搜索用法 |
---|
locate [-qi] [-d <path> ] [--database=<path> ] <search string> ... |
locate [-r <regexp> ] [--regexp=<regexp> ] |
数据库用法 |
---|
locate [-qv] [-o <file> ] [--output=<file> ] |
locate [-e <dir1,dir2,...> ] [-f <fs_type1,...> ] [-l <level> ] [-c] [-U <path> ] [-u] [pattern... ] |
通用用法 |
---|
locate [-Vh] [--version] [--help] |
如何使用 locate
¶
-
切换到
folder1
目录并创建空文件 temp1、temp2 和 temp3[root@localhost root]# cd folder1; touch temp1 temp2 temp3 [root@localhost folder1]#
上面命令中使用的分号 (;) 允许您在一行中执行多个命令!
-
使用
locate
搜索 pwd 中所有带有“temp”后缀的文件[root@localhost folder1]# locate temp* /root/folder1/temp_file11 /root/folder1/temp_file12 /root/folder1/temp_file21 /root/folder1/temp_file22
请注意,您在步骤 1 中创建的三个文件未找到。
-
您将强制使用
updatedb
更新数据库,使其能够识别所有新创建的文件。键入[root@localhost folder1]# updatedb
-
现在再次尝试搜索。键入
[root@localhost folder1]# locate temp
问题
这次发生了什么?
-
实验 3 全部完成。
作者:Wale Soyinka
贡献者:Steven Spencer, Ganna Zhyrnova, Franco Colussi