使用文件系统 章节解释了许多 命令,您可以使用这些命令在文件系统 层级结构中移动 和操作 文件。还解释了如何查找 文件以及如何批量重命名 文件。
一个点 '.' 代表 当前目录 ,而两个点 '..' 代表 父目录。
“ cd -” 将返回 您到上一个 目录(有点像“撤销”)。
您也可以使用 cd 绝对路径 或 cd 相对路径 (见下文)
例如,要进入 /boot/grub ,您需要输入
cd /boot/grub
这是一个绝对路径,因为您从层级结构的顶部开始并从那里向下 移动(这与您在输入命令时位于文件系统 中的位置无关)。
列出文件和目录。 输入 “ls” 将列出 文件和目录,但不会列出隐藏的 文件或目录, 这些文件或目录以句点 “.” 开头。
示例选项
命令语法,可以是
ls -options
这只是简单地列出当前目录中的所有内容,选项 不是必需的 (例如 -l、-a 等选项)。
ls -options string
这将使用特定字符串列出文件。该字符串 可以包含标准通配符 以列出多个文件,要了解 关于标准通配符的更多信息,请阅读 第 20 章中名为标准通配符(globbing 模式)的章节
您可以使用 ls -d 来显示 与精确 字符串匹配的 目录,或使用标准通配符。输入 “ ls -d */” 以列出当前目录的所有子目录 。根据 您的别名设置 (请参阅 第 4 章),您可能只需输入 lsd 即可,这等效于 ls -d */。
ls -d */
ls -d string*
列出以 “string” 开头的目录。
ls -d /usr/*/*/doc
列出 /usr/ 目录下方两级 的所有目录,并且这些目录中有一个名为 “doc” 的目录,这个技巧 有时会非常方便。
您也可以使用:根据您的别名(请参阅 第 4 章)的设置方式,您也可以使用 l、la (列出所有)和 ll (长列表)来执行上述命令
打印工作目录。 打印用户当前所在目录的 绝对 (完整)路径。
命令语法
pwd
输出 一个 ASCII 文本树/图, 从给定的目录开始(默认情况下为 当前 目录)。此命令递归地列出 所有文件和所有目录。
换句话说,它将列出当前目录下的目录 中的文件,以及当前目录中的所有文件。
命令语法
tree
或
tree -option(s) /optional/directory/to/list
find 是一个在文件系统中查找 文件的工具。 find 有大量 选项,可以用来定制 搜索 (请参阅手册/信息页)。
请注意,find 可以与标准通配符一起使用,第 20 章中名为标准通配符(globbing 模式)的章节,并且可以与正则表达式 一起使用,第 20 章中名为正则表达式的章节。
find / -name file
这将查找 名为 “file” 的文件,并从根目录 开始(它将搜索所有目录,包括 那些已挂载的 文件系统)。
`-name' 选项 区分大小写, 您可以使用 `-iname' 选项来查找不区分 大小写的内容。
使用 '-regex' 和 '-iregex' 根据正则表达式查找内容(分别区分大小写 或不区分大小写)。
'-exec' 选项是更高级的 find 操作之一。 它对找到的文件执行命令 (例如移动 或删除 它或任何其他操作...)。
要使用 -exec 选项:使用 find 查找内容,然后在末尾添加 -exec 选项, 然后
command_to_be_executedthen '{}' (curly brackets)
then the arguments (for example a new directory) and finally a ';'
.
请参阅下面使用此命令的示例。
find / -name '*.doc' -exec cp '{}' /tmp/ ';'
上面的命令将查找 任何扩展名为 '.doc' 的文件,并将它们复制 到您的 /tmp 目录,显然这个命令非常无用,这只是 find 可以做什么的一个示例。请注意,引号 在那里是为了阻止 bash 尝试将其他字符 解释为某些东西。
使用 find 排除 特定文件夹 可能非常 令人困惑,但如果您想搜索主磁盘 (而不搜索 每个已挂载的 文件系统),这可能是必要的。使用 -path 选项来排除 特定文件夹(请注意,末尾不能有 '/' (正斜杠)),并使用 -prune 选项来排除 子目录。 下面是一个例子
find / -path '/mnt/win_c' -prune -o -name "string" -print
此示例将搜索您的整个目录树(挂载在其下的所有内容),排除 /mnt/win_c 以及 /mnt/win_c 下的所有子目录 。使用 -path 选项时,您可以使用通配符。
slocate 输出 系统上与模式匹配 的所有文件的列表, 并给出它们的完整路径 名称(它不必是完全 匹配,任何包含该单词的内容都会显示)。
替换 locate:Secure locate 是 locate 的替代品,两者都具有相同的语法。在大多数发行版上,locate 是 slocate 的别名。
slocate string
whereis 查找 特定程序的二进制文件、 源代码、 和手册页,它仅使用精确 匹配,如果您只知道名称的一部分,请使用 slocate。
命令语法
whereis program_name
实际上与 whereis 相同, 只是它只查找 可执行文件 (物理 程序)。它只在用户的 shell 的 PATH (环境变量)中查找。
使用 -a 选项列出路径 中特定 program_name 的所有出现位置 (因此,如果存在多个,您可以查看)。
命令语法
which program_name