基础文件操作

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

欢迎来到 Linux 基础文件操作实验!在 Linux 中,几乎所有内容都被视为文件,这使得文件操作成为使用系统的基础。本实验将引导你学习管理文件和目录的最常用命令,帮助你更熟练地浏览和组织 Linux 系统。

前提条件

  • 对命令行界面有基本的了解
  • 熟悉文件和目录(文件夹)的概念

目标

在本实验结束时,你将能够:

  • 自信地浏览 Linux 文件系统
  • 创建、列出和操作文件及目录
  • 理解并使用基本的文件操作命令

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/BasicFileOperationsGroup -.-> linux/cp("File Copying") linux/BasicFileOperationsGroup -.-> linux/mv("File Moving/Renaming") linux/BasicFileOperationsGroup -.-> linux/rm("File Removing") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/pwd("Directory Displaying") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") subgraph Lab Skills linux/echo -.-> lab-270248{{"基础文件操作"}} linux/ls -.-> lab-270248{{"基础文件操作"}} linux/touch -.-> lab-270248{{"基础文件操作"}} linux/cp -.-> lab-270248{{"基础文件操作"}} linux/mv -.-> lab-270248{{"基础文件操作"}} linux/rm -.-> lab-270248{{"基础文件操作"}} linux/cd -.-> lab-270248{{"基础文件操作"}} linux/pwd -.-> lab-270248{{"基础文件操作"}} linux/mkdir -.-> lab-270248{{"基础文件操作"}} end

理解你的工作环境

在 Linux 中,每个用户通常都有一个“主目录”,用 ~ 表示。然而,在本实验环境中,我们将从 /home/labex/project 目录开始,这是我们的默认工作目录。

首先,请在桌面上打开终端 切换到实验环境中的终端标签页。

终端界面截图

让我们从了解当前所在位置开始:

pwd

pwd 是“print working directory”的缩写。它会显示你在文件系统中的当前位置。此命令对于在 Linux 文件结构中定位自己至关重要。你应该会看到 /home/labex/project 作为输出。

现在,让我们探索当前目录与主目录之间的关系:

echo ~

此命令将显示你的主目录路径,应该是 /home/labex

要查看当前目录的内容,请使用:

ls

这将列出当前工作目录(/home/labex/project)中的文件和目录。

我们还可以检查你的主目录的内容:

ls ~

此命令列出你的主目录的内容,可能与当前工作目录不同。

理解当前工作目录与主目录之间的区别对于有效导航 Linux 文件系统非常重要。

导航文件系统

Linux 使用一种称为“层次化文件系统”的结构。可以将其想象成一棵大树,树干被称为“根目录”,用单个正斜杠 / 表示。所有其他目录和文件都从根目录分支出来。

让我们探索如何在这种树状结构中移动:

  1. 检查当前位置:
pwd

这应该显示 /home/labex/project。如果没有显示,你可能位于其他目录中。使用 cd /home/labex/project 返回到起点。

  1. 查看当前目录的内容:
ls

这将列出当前位置中的所有文件和文件夹。/home/labex/project 是空的,因此你不会看到任何内容。

  1. 向上移动到父目录:
cd ..

.. 表示“上一级目录”。执行此命令后,再次运行 pwd。你现在应该位于 /home/labex

  1. 返回到项目目录:
cd project

这将带你回到 /home/labex/project

  1. 进入你的主目录:
cd ~

~ 是你主目录的快捷方式。运行 pwd 确认你位于 /home/labex

  1. 使用绝对路径返回到项目目录:
cd /home/labex/project

这被称为“绝对路径”,因为它从根目录(/)开始,并给出了完整的位置。

创建文件和列出目录内容

现在我们已经知道如何导航文件系统,接下来让我们创建一些文件并探索如何列出目录内容。

首先,确保你位于 /home/labex/project 目录中:

cd /home/labex/project
  1. 让我们创建几个文件:
touch file1.txt

touch 命令用于创建一个空文件。如果文件已经存在,它会更新文件的时间戳而不改变其内容。这是创建新的空文件的简单方法。

echo "Hello, Linux" > file2.txt

此命令执行两个操作:

  • echo 是一个打印文本的命令。
  • > 符号将 echo 的输出重定向到名为 file2.txt 的文件中。如果文件不存在,则会创建它;如果文件已存在,则会替换其内容。
echo "Hidden file" > .hiddenfile

这将创建一个隐藏文件。在 Linux 中,任何以点(.)开头的文件或目录名称都被视为隐藏文件。

  1. 现在,让我们创建一个目录:
mkdir testdir

mkdir 命令(“make directory”的缩写)创建一个名为 testdir 的新目录。

  1. 基本列表:
ls
目录内容列表输出

这将显示当前目录的内容。你应该会看到 file1.txtfile2.txttestdir

  1. 详细列表:
ls -l

-l 选项(这是小写字母 L,而不是数字 1)提供“长格式”列表。你将看到文件权限、所有者、大小和修改日期等详细信息。

  1. 显示隐藏文件:
ls -a

这将显示所有文件,包括我们创建的隐藏文件 .hiddenfile

  1. 组合选项:
ls -la

这将长格式(-l)与显示所有文件(-a)结合起来。

  1. 列出特定目录的内容:
ls -l testdir

这将列出 testdir 目录的内容(此时应该是空的)。

复制文件和目录

现在我们已经有一些文件可以操作了,接下来让我们学习如何复制它们:

  1. 复制文件:
cp file1.txt file1_copy.txt

这将在当前目录中创建一个名为 file1_copy.txtfile1.txt 副本。

让我们验证复制结果:

ls
  1. 将文件复制到另一个目录:
cp file2.txt testdir/

这将 file2.txt 复制到 testdir 目录中。

  1. 复制目录:
cp -r testdir testdir_copy

-r 选项表示“递归”。在复制目录时,必须使用此选项以确保复制所有内容。

  1. 验证我们的复制操作:
ls
ls testdir
ls testdir_copy
终端显示复制的文件

移动和重命名文件及目录

在 Linux 中,mv 命令用于移动和重命名操作:

  1. 重命名文件:
mv file1.txt newname.txt

这将 file1.txt 重命名为 newname.txt

  1. 将文件移动到目录中:
mv newname.txt testdir/

这将 newname.txt 移动到 testdir 目录中。

  1. 重命名目录:
mv testdir_copy new_testdir

这将 testdir_copy 重命名为 new_testdir

  1. 在一个命令中同时移动和重命名:
mv testdir/newname.txt ./original_file1.txt

这将 newname.txttestdir 中移出,并在当前目录中将其重命名为 original_file1.txt

  1. 验证我们的更改:
ls
ls testdir
命令执行结果显示

删除文件和目录

删除文件和目录是一项强大但潜在危险的操作。在使用这些命令之前,请务必仔细检查,尤其是在使用绕过安全保护的选项时:

  1. 删除文件:
rm file1_copy.txt

这将永久删除 file1_copy.txt

  1. 删除空目录:
rmdir new_testdir

rmdir 仅适用于空目录,如果目录不为空,你将收到错误提示。

  1. 删除目录及其内容:
rm -r testdir

需要使用 -r 选项来递归删除目录及其内容。

  1. 交互式删除文件:
rm -i file2.txt

-i 选项会在每次删除前提示确认。输入 'y' 并按 Enter 确认删除。

  1. 强制删除且不提示:
touch remaining_files
ls
删除前的文件列表
rm -rf remaining_files

-rf 组合非常强大且潜在危险。它的含义是:

  • -r:递归(用于目录)
  • -f:强制(忽略不存在的文件,从不提示)

警告rm -rf 会删除文件和目录而不要求确认。如果使用不当,可能会造成极大的破坏。在使用此命令之前,请务必仔细检查,尤其是在使用通配符或以超级用户身份运行时。

  1. 验证我们的删除操作:
ls
删除文件后的目录列表

请记住:在 Linux 中,命令行通常没有“回收站”或“垃圾桶”。当你使用 rm 删除某些内容时,通常无法恢复。

总结

恭喜!你已经学习了 Linux 中的基本文件操作:

  • 使用 cdpwd 导航文件系统
  • 使用 touchmkdir 创建文件和目录
  • 使用 ls 及其选项列出内容
  • 使用 cp 复制文件和目录
  • 使用 mv 移动和重命名
  • 使用 rmrmdir 删除文件和目录

这些命令构成了 Linux 中文件管理的基础。通过练习,你将能够熟练地从命令行管理文件和目录。

请谨慎使用这些命令,尤其是 rm,因为它会永久删除文件和目录,且无法恢复。

在继续你的 Linux 学习之旅时,可以探索手册页(例如 man ls)以了解更多关于每个命令及其选项的信息。祝你探索愉快!