Linux文件操作基础:快速入门指南和实用技巧

2023-09-20 17:49:16

linux文件操作基础

本文将详细介绍一些基本的文件操作命令,旨在帮助纯小白用户更好地理解和应用这些命令来管理和操作文件和目录。

I. 查看文件和目录

1.ls命令用法

用于查看当前目录下的文件和目录列表。

$ ls

该命令会列出当前目录中的所有文件和子目录。例如,如果当前目录下有两个文件file1.txtfile2.txt,还有一个名为directory1的子目录,运行ls命令后的输出结果如下所示:

file1.txt  file2.txt  directory1

ls命令详细介绍

ls 命令是常用的用于列出目录内容的命令,它的作用是显示指定目录下的文件和子目录。下面是一些常用的 ls 命令选项:

  • ls:列出当前目录的文件和子目录。
  • ls <目录路径>:列出指定目录的文件和子目录。
  • ls -l:以长格式显示文件和目录的详细信息,包括权限、所有者、文件大小、修改时间等。
  • ls -a:显示所有文件和目录,包括隐藏文件(以点开头的文件或目录)。
  • ls -h:以人性化的方式显示文件和目录的大小。
  • ls -R:递归地列出指定目录下的所有文件和子目录。
  • ls -t:按照修改时间倒序显示文件和目录。
  • ls -S:按照文件大小排序并显示文件和目录。

例如,如果您在命令行中输入 ls,它将列出当前目录下的文件和子目录的名称。如果您输入 ls -l,将以长格式显示文件和目录的详细信息。如果您输入 ls /home/user/Documents,将列出 /home/user/Documents 目录下的文件和子目录。

总之,ls 是一个非常实用的命令,可帮助您查看目录内容并方便地管理文件和目录。

pwd命令用法:

用于显示当前所在的目录路径。

$ pwd

该命令会输出当前所在的目录路径。例如,如果当前目录是/home/user/documents,运行pwd命令后的输出结果如下所示:

/home/user/documents

pwd命令详细介绍

pwd 命令是用于打印(显示)当前工作目录的命令。当前工作目录是指您当前所处的目录路径。

使用 pwd 命令,您可以快速获取当前所在的目录路径,这在命令行操作和脚本编写中非常有用。下面是一些常见的用法:

  • pwd:打印当前工作目录的绝对路径。
  • pwd -P:如果当前目录是通过软链接访问的,将打印出链接所指向的实际路径。
  • pwd -L:始终打印符号链接的路径,而不是其所指向的实际路径。

通常情况下,当您在命令行终端中输入 pwd 并按下回车键时,它将显示当前目录的绝对路径(从根目录开始)。例如,如果您当前位于 /home/user/Documents 目录,那么 pwd 命令将输出 /home/user/Documents

pwd 命令可以与其他命令一起使用,以便在脚本中获取当前目录并执行相应操作。

cd命令用法:

用于切换当前工作目录。

$ cd directory1

该命令会将当前工作目录切换到directory1子目录。这样,你就可以在该子目录下进行进一步的操作了。

cd命令详细介绍:

cd 命令是用于更改当前工作目录的命令。使用 cd 命令可以进入到指定的目录或者返回上一层目录等。

下面是一些常见的用法:

  • cd <目录>:进入到指定的目录,例如:cd ~/Documents 将会进入到当前用户的 Documents 文件夹中。
  • cd ..:返回上一级目录。
  • cd /:进入到根目录。
  • cd -:切换到之前所在的目录。

通常情况下,当您在命令行终端中输入 cd 并按下回车键时,它将使当前工作目录变成当前用户的主目录(即 ~ 目录)。

需要注意的是,文件系统和目录有一定的权限限制。如果当前用户没有权限访问某些目录,则无法进入该目录。此外,在使用相对路径指定目录时,应在目录路径前加上 ./,以表示当前目录。

II. 创建文件和目录

touch命令用法

用于创建一个空文件。

$ touch file3.txt

该命令会在当前目录下创建一个名为file3.txt的空文件。你可以将其作为一个新文件来使用。

  1. mkdir命令:用于创建一个新的目录。
$ mkdir directory2

该命令会在当前目录下创建一个名为directory2的新目录。你可以将其用来组织和存储其他相关文件。

touch命令详细介绍

touch 命令是用于创建空文件或者修改文件的访问时间和修改时间的命令。

下面是一些常见的用法:

  • touch <文件>:创建一个空文件,如果文件已存在,则更新文件的访问时间和修改时间。
  • touch -c <文件>:类似于 touch 命令,但如果文件不存在时不会创建新文件。
  • touch -t <时间> <文件>:设置文件的访问时间和修改时间为指定的时间,时间的格式为 [[CC]YY]MMDDhhmm[.ss],例如 touch -t 202201011200 file.txt 将设置文件 file.txt 的时间为 2022 年 1 月 1 日 12:00。
  • touch -r <参考文件> <目标文件>:将目标文件的访问时间和修改时间设置为与参考文件相同。

touch 命令在日常操作中非常有用,特别是在需要创建空文件或者将文件时间戳修改为特定值时。此外,touch 命令还常被用于在脚本中检查文件是否存在以及更新文件的时间戳。

需要注意的是,touch 命令不会更改文件的内容,它只会更新文件的时间戳信息。

III. 复制、移动和重命名

cp命令用法

用于复制文件或目录。

$ cp file1.txt file1_copy.txt

该命令会将file1.txt文件复制一份,并命名为file1_copy.txt。这样你就可以创建一个文件的备份或者将文件复制到其他位置。

  1. mv命令:用于移动文件或目录,也可以用来重命名文件或目录。
$ mv file2.txt directory1/file2_moved.txt   # 移动文件到指定目录
$ mv file3.txt file3_renamed.txt             # 重命名文件
  • 第一条命令将file2.txt文件移动到directory1目录中,并将其重命名为file2_moved.txt
  • 第二条命令将file3.txt文件重命名为file3_renamed.txt

cp命令详细介绍

cp 命令是用于复制文件或目录的命令。

下面是一些常见的用法:

  • cp <源文件> <目标文件>:将源文件复制到目标文件。
  • cp -r <源目录> <目标目录>:递归地将源目录及其内容复制到目标目录。如果目标目录不存在,会自动创建。
  • cp -i <源文件> <目标文件>:在复制之前,如果目标文件已经存在,会提示是否覆盖。
  • cp -u <源文件> <目标文件>:只复制源文件的时间戳比目标文件新的文件。
  • cp -l <源文件> <目标文件>:创建硬链接而不是复制文件。这将使得源文件和目标文件共享相同的数据块,节省了磁盘空间。

需要注意的是,cp 命令不仅可以复制文件,还可以复制目录。使用递归选项 -r 可以复制目录及其所有内容。

如果目标文件已经存在,cp 命令默认会覆盖目标文件。如果希望在覆盖之前进行确认,可以使用 -i 选项来提示用户。

另外,使用 -u 选项可以只复制源文件时间戳较新的文件,这对于增量备份很有用。

IV. 删除文件和目录

rm命令用法

用于删除文件。

$ rm file1.txt

该命令会永久性地删除名为file1.txt的文件。请谨慎使用,删除后无法恢复。

rm命令详细介绍

rm 命令是用于删除文件或目录的命令。

下面是一些常见的用法:

  • rm <文件>:删除指定的文件。
  • rm -r <目录>:递归地删除指定的目录及其内容。如果目录中包含子目录或文件,将会连同其内容一起删除。
  • rm -f <文件>:强制删除文件,即使文件是只读或者权限受限。
  • rm -i <文件>:在删除之前进行确认,会提示用户是否要删除文件。
  • rm -rf <目录>:强制递归删除指定的目录及其内容,不会询问确认。

需要注意的是,rm 命令删除的内容是无法恢复的,请务必谨慎使用该命令,特别是在删除重要文件或目录时。

使用 -r 选项可以递归删除目录及其内容,但省略该选项会导致无法删除非空目录。

在默认情况下,rm 命令会在删除只读文件或者权限受限文件时给出警告,如果要强制删除这些文件,可以使用 -f 选项。

另外,使用 -i 选项可以在删除之前进行确认,以避免误操作。

最后要注意的是,使用 -rf 选项可以强制递归删除目录及其内容而不进行任何确认。这个选项需要特别小心使用,因为它会永久删除指定的目录及其所有内容。

rmdir命令用法

用于删除空目录。

$ rmdir directory2

该命令会删除名为directory2的空目录。如果该目录中还有文件或子目录,将无法删除。

rmdir命令详细介绍

rmdir 命令是用于删除空目录的命令。

下面是 rmdir 命令的常见用法:

  • rmdir <目录>:删除指定的空目录。

需要注意的是,rmdir 命令只能删除空目录,即目录中不包含任何文件或子目录。如果目录非空,rmdir 命令将会失败并显示错误信息。

rm 命令不同,rmdir 命令没有递归删除子目录和文件的功能。因此,它更适合用于删除单个空目录。

另外,与 rm 命令类似,rmdir 命令也是不可恢复的操作,请谨慎使用。

总结

在本文中,我们学习了 Linux 文件操作的基础知识。以下是我们探讨的主要内容:

I. 查看文件和目录

  • 使用 ls 命令可以列出当前目录下的文件和子目录。通过不同的选项,我们可以获得更详细的信息。
  • pwd 命令可以显示当前工作目录的路径,在大型系统中特别有用。
  • cd 命令是用于切换当前工作目录的命令,让我们可以方便地导航到其他目录。

II. 创建文件和目录

  • 通过 touch 命令,我们可以创建一个空的文件。它还可以更新现有文件的时间戳。
  • 我们还深入了解了 touch 命令的各种选项,例如指定时间、权限等。

III. 复制、移动和重命名

  • 使用 cp 命令可以将文件复制到另一个位置。我们可以选择保留原始文件(创建副本)或者覆盖目标文件。
  • 我们还研究了 cp 命令的其他选项,如递归复制目录和保持权限等。

IV. 删除文件和目录

  • rm 命令是用于删除文件和目录的关键命令。我们可以使用不同的选项来控制删除行为,如强制删除、确认删除等。
  • 对于非空目录的删除,我们可以使用 rmdir 命令。然而,它仅限于删除空目录,否则会出错。

通过本文的学习,我们现在对 Linux 文件操作具备了一定的基础知识。这些命令对于管理和操作文件系统至关重要。随着我们继续学习和实践,我们将更加熟练地使用这些命令,并且能够进行更高级的文件操作。

记住,熟能生巧,多加练习!在您的 Linux 冒险中,愿您快乐、安全地操作文件和目录。

更多推荐

SWC 流程

一个arxml存储SWC(可以存多个,也可以一个arxml存一个SWC)一个arxml存储composition(只能存一个)一个arxml存储systemdescription(通过importdbc自动生成system)存储SWC和composition的arxml文件分开,有效的实现了swc的复用。因为SWC的创

30天入门Python(基础篇)——第3天:【变量】与【输出】与【转义符】(万字解析,建议收藏)

文章目录专栏导读作者有话说:上一节课补充(Pychaem界面认识)①编写代码区域②运行代码(多种方法,随便选一种,开心就好)什么是变量(变量的定义)①较标准的回答(引用AI)②大白话解释+图文并茂(我在教学时的方法(标红的异常重要请反复阅读几遍))③举例子Python中如何给表变量取名(Python中变量的特征)取名规

Python 办公自动化之 PDF 操作详解

1、PyMuPDF简介1.介绍在介绍PyMuPDF之前,先来了解一下MuPDF,从命名形式中就可以看出,PyMuPDF是MuPDF的Python接口形式。MuPDFMuPDF是一个轻量级的PDF、XPS和电子书查看器。MuPDF由软件库、命令行工具和各种平台的查看器组成。MuPDF中的渲染器专为高质量抗锯齿图形量身定制

基于传统的三维点云补全方法

目前,三维视觉受到了学术界和工业界的广泛关注,在目标检测、语义分割、三维重建等领域都取得了突破性的进展。然而,一个固有的问题是由于物体遮挡、镜面反射、物体自遮挡、视角变换和传感器分辨率的限制,传感器在真实场景下所获取的数据并不完整,阻碍了下游任务的研究进展。同时,在点云后续一系列的处理中,比如点云去噪、平滑、配准和融合

大数据-玩转数据-Flink SQL编程

一、概念1.1ApacheFlink两种关系型APIApacheFlink有两种关系型API来做流批统一处理:TableAPI和SQL。TableAPI是用于Scala和Java语言的查询API,它可以用一种非常直观的方式来组合使用选取、过滤、join等关系型算子。FlinkSQL是基于ApacheCalcite来实现

【云原生】k8s存储管理中ConfigMap & Secret的使用

目录1ConfigMap1.1简介1.2优点1.3定义ConfigMap1.4使用2Secret2.1简介2.1定义Secret2.2使用1ConfigMap1.1简介在Kubernetes中,ConfigMap是一种用于存储非敏感信息的Kubernetes对象。它用于存储配置数据,如键值对、整个配置文件或JSON数据

【K8S系列】Weave Net 故障排除的常见问题和解决方案

写在前面当使用WeaveNet进行容器网络配置时,可能会遇到一些常见的故障情况。以下是一些常见问题及其解决方案:问题列表1节点无法加入WeaveNet网络解决方案检查节点之间的网络连通性,确保可以通过IP地址相互访问。检查节点的防火墙设置,确保允许WeaveNet的流量通过。确保在每个节点上正确安装了WeaveNet,

04-前端基础CSS第二天

01-CSS第二天导读目标:能使用emmet语法能够使用CSS复合选择器能够写出伪类选择器的使用规范能够说出元素有几种显示模式能够写出元素显示模式的相互转换代码能够写出背景图片的设置方式能够计算CSS的权重目录:Emmet语法CSS的复合选择器CSS的元素显示模式CSS的背景CSS的三大特性CSS的注释02-emmet

在字节当了几个月的牛马,醒悟了。

作者:阿秀InterviewGuide大厂面试真题网站:https://top.interviewguide.cn小伙伴们大家好,我是阿秀。以前也分享过不少实习体验,比如去年就分享了一位师弟的美团实习体验:美团实习三个月,我受益良多,今天来分享一下一位学习圈中学弟的字节实习体验。他周围同事都是硕士起步,只有他是双非本,

Java毕业设计-基于SpringBoot的租房网站的设计与实现

大家好,今天为大家打来的是基于SpringBoot的租房网站的设计与实现博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌文章目录一、前言介绍二、主要技术三、系统设计(部分)3.1、主要功能模块设计3.

普中51-矩阵按键

矩阵按键原理图如下:行列扫描行列扫描法检测时,先送一列为低电平,其余几列全为高电平(此时我们确定了列数),然后立即轮流检测一次各行是否有低电平,若检测到某一行为低电平(这时我们又确定了行数),则我们便可确认当前被按下的键是哪一行哪一列的,用同样方法轮流送各列一次低电平,再轮流检测一次各行是否变为低电平,这样即可检测完所

热文推荐