这篇文章是LFCA系列的第2部分,在这一部分中,我们将解释关于Linux文件系统并涵盖基本文件管理命令,这些命令是LFCA认证考试所需的。
当您开始使用Linux时,您将花费大量时间与文件和目录进行交互。目录也被称为文件夹,并且它们以层次结构组织。
在Linux操作系统中,每个实体都被视为一个文件。事实上,在Linux圈中有一句流行的说法:“在Linux中,一切皆为文件”。这只是一种过度简化,在实际意义上,Linux中的大多数文件都是包括符号链接、块文件等在内的特殊文件。
Linux文件系统概述
让我们花点时间对主要文件类型进行概述:
1. 普通文件
这些是最常见的文件类型。普通文件包含人类可读的文本、程序指令和ASCII字符。
普通文件的例子包括:
- 简单文本文件、pdf文件
- 图像、音乐和视频文件等多媒体文件
- 二进制文件
- 压缩文件或压缩文件
而且还有更多。
2. 特殊文件
这些文件代表物理设备,如挂载的卷、打印机、CD 驱动器和任何 I/O(输入和输出)设备。
3. 目录
A directory is a special file type that stores both regular and special files in a hierarchical order starting from the root ( / )
directory. A directory is the equivalent of a folder in the Windows operating system. Directories are created using the mkdir command, short for making the directory, as we shall see later on in this tutorial.
Linux 层次结构从根目录开始,分支到其他目录,如下所示:

让我们了解每个目录及其用途。
- 目录 /root 是根用户的主目录。
- 目录 /dev 包含设备文件,如 /dev/sda。
- 静态引导文件位于目录 /boot 中。
- 应用程序和用户实用程序位于目录 /usr 中。
- 目录 /var 包含各种系统应用程序的日志文件。
- 所有系统配置文件存储在目录 /etc 中。
- 目录 /home 是用户文件夹的位置。这些包括桌面、文档、下载、音乐、公共和视频。
- 要查看附加应用程序包,请查看目录 /opt。
- 目录 /media 存储可移动设备的文件,如 USB 驱动器。
- 目录 /mnt 包含用作临时挂载点的子目录,用于挂载诸如 CD-ROM 等设备。
- /proc目录是一个虚拟文件系统,包含有关当前运行进程的信息。这是一个奇怪的文件系统,它在系统启动时创建,并在关闭时销毁。
- /bin目录包含用户命令二进制文件。
- /lib目录存储共享库图像和内核模块。
Linux文件管理命令
您将花费大量时间与终端交互,其中您将运行命令。执行命令是与Linux系统交互的首选方式,因为与使用图形显示元素相比,它可以让您对系统拥有完全控制。
在本课程和即将到来的课程中,我们将在终端上运行命令。我们正在使用Ubuntu操作系统,要启动终端,请使用键盘快捷键CTRL + ALT + T
。
现在让我们深入了解基本的文件管理命令,这将帮助您在系统中创建和管理文件。
1. pwd命令
pwd,即打印工作目录,是一个打印当前工作目录的命令,按层次顺序,从顶层根目录( / )
开始。
要检查当前工作目录,只需调用pwd命令。
$ pwd
输出显示我们处于我们的主目录中,绝对或完整路径为/home/tecmint。

2. cd 命令
要更改或导航目录,请使用cd命令,它是change directory的缩写。
例如,要导航到/var/log文件路径,请运行以下命令:
$ cd /var/log

要返回上一级目录,请在末尾添加两个点或句号。
$ cd ..
要返回主目录,请运行没有任何参数的cd命令。
$ cd

注意:要进入当前目录的子目录或目录,请不要使用斜杠(/)
,只需输入目录名称。
例如,要进入下载目录,请运行:
$ cd Downloads

3. ls 命令
ls命令是用于列出目录中现有文件或文件夹的命令。例如,要列出主目录中的所有内容,我们将运行以下命令。
$ ls
从输出中,我们可以看到我们有两个文本文件和八个文件夹,这些通常是在安装和登录到系统后默认创建的。

要列出更多信息,请附加-lh
标志,如下所示。 -l
选项代表长列表,并打印出附加信息,如文件权限、用户、组、文件大小和创建日期。 -h
标志以人类可读的格式打印出文件或目录的大小。
$ ls -lh

要列出隐藏文件,请附加-a
标志。
$ ls -la
这将显示以点号(.)
开头的隐藏文件,如下所示。
.ssh .config .local

4. touch命令
touch命令用于在Linux系统上创建简单文件。要创建文件,请使用以下语法:
$ touch filename
例如,要创建file1.txt文件,请运行以下命令:
$ touch file1.txt
要确认文件已创建,请调用ls命令。
$ ls

5. cat命令
要查看文件的内容,请使用cat命令,如下所示:
$ cat filename

6. mv命令
mv命令是非常灵活的命令。根据使用方式的不同,它可以重命名文件或将文件从一个位置移动到另一个位置。
要移动文件,请使用以下语法:
$ mv filename /path/to/destination/
例如,要将文件从当前目录移动到Public/docs目录,请运行以下命令:
$ mv file1.txt Public/docs

另外,你可以使用如下的语法将文件从不同的位置移动到当前目录。注意命令末尾的句号。这表明了该位置。
$ mv /path/to/file .
现在我们将做相反的操作。我们将文件从 Public/docs 路径复制到当前目录,如下所示。
$ mv Public/docs/file1.txt .

要重命名文件,请使用如下的语法。该命令会移除原文件名,并将第二个参数指定为新文件名。
$ mv filename1 filename2
例如,要将 file1.txt 重命名为 file2.txt,请运行以下命令:
$ mv file1.txt file2.txt

此外,你还可以同时移动和重命名文件,只需指定目标文件夹和不同的文件名。
例如,要将 file1.txt 移动到位置 Public/docs 并将其重命名为 file2.txt,请运行以下命令:
$ mv file1.txt Public/docs/file2.txt

7. cp 命令
cp 命令,即复制,将文件从一个位置复制到另一个位置。与移动命令不同,cp 命令会保留原文件在其当前位置,并在不同的目录中创建副本。
复制文件的语法如下。
$ cp /file/path /destination/path
例如,要将文件 file1.txt 从当前目录复制到 Public/docs/ 目录,执行以下命令:
$ cp file1.txt Public/docs/

要复制一个目录,可以使用-R
选项来递归地复制该目录及其所有内容。我们已经创建了另一个名为
$ cp -R tutorials Public/docs/

8. mkdir命令
您可能想知道我们是如何创建
$ mkdir directory_name
让我们再创建一个名为projects的目录,如下所示:
$ mkdir projects

要在另一个目录中创建一个目录,请使用-p
标志。下面的命令在父目录projects中的linux目录内创建了一个fundamentals目录。
$ mkdir -p projects/linux/fundamentals

9. rmdir命令
rmdir命令用于删除一个空目录。例如,要删除
$ rmdir tutorials

如果尝试删除一个非空目录,将会收到错误消息。
$ rmdir projects

10. rm命令
rm(remove)命令用于删除文件。语法非常简单:
$ rm filename
例如,要删除file1.txt文件,请运行以下命令:
$ rm file1.txt
此外,您可以使用-R
选项递归地删除或删除一个目录。这可以是一个空目录或一个非空目录。
$ rm -R directory_name
例如,要删除projects目录,请运行以下命令:
$ rm -R projects

11. 查找和定位命令
有时,您可能需要搜索特定文件的位置。您可以使用find或locate命令轻松完成这项任务。
find命令用于在特定位置搜索文件,并接受两个参数:搜索路径或目录以及要搜索的文件。
语法如下所示
$ find /path/to/search -name filename
例如,要在主目录中搜索名为file1.txt的文件,请运行:
$ find /home/tecmint -name file1.txt

locate命令,就像find命令一样,扮演搜索文件的同样角色,但只接受一个参数如下所示。
$ locate filename
例如;
$ locate file1.txt

locate命令使用系统中所有可能文件和目录的数据库进行搜索。
注意:locate命令比find命令快得多。但是,在locate不能产生所需结果的情况下,find命令更为强大
这就是了!在这个话题中,我们已经涵盖了基本的文件管理命令,这将让您了解如何在Linux系统中创建和管理文件和目录。
Source:
https://www.tecmint.com/linux-file-management-commands/