Linux 文件与目录命令学习记录

news/2025/2/21 4:58:32

在 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:如果 dzkddzkd/cdxy 目录不存在,该命令会递归地创建 dzkddzkd/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 文件与目录命令的学习,我们能够更加熟练地对文件系统进行管理,合理利用磁盘空间,确保系统的稳定运行。在实际应用中,要始终注意命令的正确使用以及文件和目录的权限设置,避免造成不必要的损失。

希望以上内容对正在学习 Linux 的朋友们有所帮助,后续我还会继续分享更多关于 Linux 的学习心得。


http://www.niftyadmin.cn/n/5860177.html

相关文章

Elasticsearch 混合搜索 - Hybrid Search

作者:来自 Elastic Valentin Crettaz 了解混合搜索、Elasticsearch 支持的混合搜索查询类型以及如何制作它们。 本文是三篇系列文章中的最后一篇,深入探讨了向量搜索(又称语义搜索)的复杂性以及它在 Elasticsearch 中的实现方式。…

QT QLabel加载图片等比全屏自适应屏幕大小显示

最近在工作项目中,遇到一个需求: 1.使用QLabel显示一张图片; 2.当点击这个QLabel时,需要全屏显示;但不能改变原来的尺寸; 3.当点击放大后的QLabel时,恢复原有大小. 于是乎,就有了本篇博客,介绍如何实现这样的功能. 一、演示效果 在一个水平布局中,添加两个Lable用…

挑战一星期复现一个项目——安全帽项目

本项目为识别安全帽项目,基于yoloV5模型,接下来,我将一步一步展示我的完整复现过程以及遇到的问题和解决方案。 前言 我们在利用GPU进行深度学习的时候,都要去NVIDIA的官网下载CUDA的安装程序和cudnn的压缩包,然后再…

基于python深度学习遥感影像地物分类与目标识别、分割

我国高分辨率对地观测系统重大专项已全面启动,高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成,将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB,遥感大数据时…

海康 Java SDK 升级 JNA 版本

海康 Java SDK 依赖 JNA 3.0.9,业务中已经使用了更高版本的 JNA,所以需要升级,记录一下从 JNA 3.0.9 升级 JNA 5.15.0 的方法。 海康 Java SDK 核心类是 HCNetSDK,JNA 升级需要处理继承自 com.sun.jna.Structure 类,覆…

WebSocket(WS)协议系列(一)基本概念

ws协议是什么? WebSocket(WS)协议是一种网络通信协议,提供了全双工、单连接、低延迟的通信方式,通常用于浏览器和服务器之间的实时数据交换。与传统的HTTP协议相比,WebSocket允许在客户端和服务器之间建立…

越权漏洞及其修复方法

越权漏洞及其修复方法 1. 越权漏洞的定义 **越权漏洞(Authorization Bypass Vulnerability)**是指攻击者通过某种方式绕过权限控制,访问或操作其无权访问的资源或功能。这种漏洞通常发生在身份验证和权限管理机制不完善的情况下。 越权漏洞…

自由学习记录(36)

Linux Linux 是一个开源的操作系统,其内核及大部分组件都遵循自由软件许可证(如 GPL),允许用户查看、修改和分发代码。这种开放性使得开发者和企业可以根据自己的需求定制系统​。 “Linux”严格来说只是指由Linus Torvalds最初开…