在 Linux 系统的学习与使用过程中,对文件和目录的操作是极为基础且重要的部分。熟练掌握相关命令,能够高效地管理文件系统,提升工作效率。以下是我对 Linux 文件与目录命令的详细学习记录。
一、文件 & 目录命令
1. mkdir
命令
- 作用:用于创建一个空的目录。
- 语法:
mkdir [选项] 目录路径/目录名称
- 选项:
-p
:递归性创建目录。当要创建的目录的上级目录不存在时,使用该选项可一并创建各级目录。
- 举例:
mkdir 目录名称
:在当前目录下创建一个新的目录。例如,执行mkdir mydir
,会在当前所在目录中创建名为mydir
的新目录。mkdir 目录路径
:在特定的目录下创建新的目录。比如,mkdir /tmp/cdxy
会在/tmp
目录下创建cdxy
目录。mkdir cdxy jcxy
:在当前目录下同时创建cdxy
和jcxy
两个目录。mkdir /tmp/cdxy /tmp/jcxy
:在/tmp
目录下同时创建cdxy
和jcxy
两个目录。mkdir -p dzkd/cdxy/hongqu
:如果dzkd
、dzkd/cdxy
目录不存在,该命令会递归地创建dzkd
、dzkd/cdxy
以及dzkd/cdxy/hongqu
目录。
2. rm
命令
- 作用:用于删除目录或删除文件。
- 语法:
rm [选项] 目录路径/文件路径
- 选项:
-f
:强制删除,不提示确认信息,直接删除文件或目录。使用时需格外小心,因为一旦执行,文件或目录将无法恢复。-r
:用于删除目录及其包含的所有内容,因为目录通常包含子目录和文件,所以需要递归删除。
- 举例:
- 特别强调,
rm -rf /*
这个命令千万不能执行!它会强制递归删除根目录下的所有文件和目录,这将导致整个系统崩溃,所有数据丢失。在实际操作中,务必谨慎使用带有-f
和-r
选项的rm
命令。
- 特别强调,
3. cp
命令
- 作用:用于复制目录或复制文件。
- 语法:
cp [选项] 源地址 目标地址
- 选项:
-r
:当复制的源是目录时,需要使用该选项,以递归方式复制目录及其所有子目录和文件。如果复制文件,则不需要此选项。
- 示例:
cp file.txt /tmp/
:将当前目录下的file.txt
文件复制到/tmp
目录中。cp -r mydir /tmp/
:将当前目录下的mydir
目录及其所有内容递归复制到/tmp
目录中。
4. mv
命令
- 作用:可实现剪切目录、移动目录以及重命名的功能。
- 语法:
mv 源文件/源目录 目标文件/目标目录
- 举例:
mv 123 /tmp/
:将名为123
的文件移动到/tmp
目录下。这里的123
可替换为实际的文件名。mv cd /tmp/
:将名为cd
的目录移动到/tmp
目录下。请确保cd
是实际存在的目录名。mv abc 123
:将名为abc
的文件或目录重命名为123
。注意,目标位置如果已经存在同名文件或目录,会覆盖原有的内容。
5. touch
命令
- 作用:用于创建一个空的文件。
- 语法:
touch 文件名称
- 举例:
touch student
:在当前目录中创建名为student
的空文件。touch /tmp/student
:在临时目录/tmp
中创建名为student
的空文件。
6. 复制文件
复制文件主要使用 cp
命令,前面已详细介绍。例如,若要将 source.txt
文件复制到 /destination/dir
目录下,命令为 cp source.txt /destination/dir/
。若目标目录不存在,复制操作将失败。
7. 删除文件
删除文件使用 rm
命令。如删除 test.txt
文件,可执行 rm test.txt
。若文件只读或受权限限制,可能需要使用 rm -f test.txt
强制删除,但需确认是否真的要删除该文件,因为强制删除无法撤销。
8. 剪切文件
剪切文件本质上就是移动文件,使用 mv
命令。例如,将 important.txt
文件从当前目录移动到 /new/location
目录,命令为 mv important.txt /new/location/
。这会改变文件在文件系统中的位置。
9. 统计文件
- 命令:
wc
- 语法:
wc [选项] 文件名称
- 选项:
-l
:统计文件有多少行。例如,执行wc -l myfile.txt
,会显示myfile.txt
文件的行数。-w
:统计文件有多少个单词。单词以空格或换行符分隔。-c
:统计文件有多少个字节。此选项可用于查看文件的大小,以字节为单位。
10. 查询目录大小
- 命令:
du
在 Linux 操作系统中,当出现磁盘紧张的问题时,需要查找大目录和大文件,以便删除不必要的垃圾目录,释放磁盘空间。 - 语法:
du [选项] 目录路径
- 选项:
-s
:汇总显示,仅显示指定目录或文件的总大小,而不是每个子目录和文件的大小。-h
:以人性化(human)的方式显示大小,例如以K
(KB)、M
(MB)、G
(GB)等单位显示,使结果更易读。
- 举例:
du -sh /
:查看根目录使用了多少磁盘空间,结果以人性化方式显示。du -sh /*
:查看根目录下每个子目录分别使用多少磁盘空间,并以人性化方式显示。du -sh /usr/*
:查看/usr
目录(通常是安装目录)下每个子目录分别使用多少磁盘空间,并以人性化方式显示。
关于文件与目录的权限问题
在 Linux 系统中,文件和目录的权限管理非常重要。一般情况下:
root
账号创建的目录或文件,其他普通账号默认没有权利删除。这是为了保护系统文件和重要数据,防止普通用户误操作导致系统故障。- 其他普通账号创建的目录或文件,
root
账号由于具有最高权限,可以直接删除。
为了更好地理解权限问题,可以通过以下操作进行演示:
- 新建一个用户:使用
useradd iwe3
命令创建名为iwe3
的用户。 - 设置密码:执行
passwd iwe3
命令,按照提示输入密码Flzx3qc_14yhl9t
为新用户设置密码。 - 切换账号:使用
su iwe3
命令切换到iwe3
用户账号。
通过以上对 Linux 文件与目录命令的学习,我们能够更加熟练地对文件系统进行管理,合理利用磁盘空间,确保系统的稳定运行。在实际应用中,要始终注意命令的正确使用以及文件和目录的权限设置,避免造成不必要的损失。