Unix/Linux - 目录

欢迎,有抱负的程序员们!今天,我们将深入探讨Unix和Linux目录的迷人世界。作为你友善的邻居计算机老师,我将引导你进行这次旅行,一步一步。所以,拿起一杯咖啡(或者茶,如果你喜欢的话),让我们一起探索这些强大操作系统的目录结构!

Unix / Linux - Directories

Linux 目录结构

想象你的计算机是一棵大树。这棵树的根,就是根目录(/)。从这里,分支(子目录)向外延伸,形成一个层次结构。这个结构是Unix和Linux系统的支柱。

下面是Linux目录结构的一个简化视图:

/
├── bin
├── boot
├── dev
├── etc
├── home
├── lib
├── media
├── mnt
├── opt
├── proc
├── root
├── sbin
├── tmp
├── usr
└── var

这些目录每一个都有其特定的用途。例如,/bin 包含基本的用户命令,/etc 存储系统配置文件,而 /home 是用户主目录的所在地。

主目录

说到家,让我们来谈谈你在Linux世界中的个人空间——主目录。它就像是Linux大房子里的你的卧室。

要导航到你的主目录,你可以使用以下命令:

cd ~

或者简单地:

cd

在这里,cd 代表“更改目录”,而 ~ 是你主目录的快捷方式。

绝对/相对路径名

现在,让我们讨论如何导航这个树状结构。我们使用路径名,它们分为两种类型:绝对和相对。

绝对路径名

绝对路径名从根目录(/)开始。这就像给出你的完整地址,包括国家、城市和街道名称。

示例:

cd /home/username/Documents

这个命令将带你到你的主目录下的Documents文件夹,无论你当前在文件系统的哪个位置。

相对路径名

另一方面,相对路径名基于你当前的位置。这就像从你所在的地方给出方向。

示例:

cd Documents

如果你已经在你的主目录中,这将带你到Documents文件夹。

列出目录

现在我们知道如何导航了,来看看这些目录里有什么。ls 命令是你的好朋友。

ls

这将列出当前目录的内容。想要更多细节?试试:

ls -l

-l 选项给你一个长列表格式,显示权限、所有者、大小和修改日期。

创建目录

现在是时候在我们的Linux树上建立自己的分支了!我们使用 mkdir 命令来创建目录。

mkdir MyNewFolder

这将在你当前的位置创建一个名为 "MyNewFolder" 的新目录。

创建父目录

如果你想要在还不存在的目录中创建一个目录,怎么办?别担心!-p 选项会帮助你。

mkdir -p Projects/WebDevelopment/HTML

这将创建整个路径,即使父目录不存在。

移除目录

有时,我们需要做一些修剪。要移除一个空目录,使用 rmdir 命令:

rmdir MyNewFolder

但是要小心!如果你想要移除一个目录及其所有内容,使用 rm -r,但是谨慎使用:

rm -r Projects

这将删除 "Projects" 目录及其所有内容。这就像使用链锯而不是修枝剪!

更改目录

我们已经看到了 cd 命令,但让我们复习一下:

cd /path/to/directory    # 更改为特定目录
cd ..                    # 向上移动一级
cd ~                     # 前往主目录
cd -                     # 前往上一个目录

重命名目录

在Unix/Linux中,我们没有单独的“重命名”命令。相反,我们使用 mv(移动)命令:

mv oldname newname

例如:

mv MyProjects MyAwesomeProjects

这将把 "MyProjects" 目录重命名为 "MyAwesomeProjects"。

目录 . (点) 和 .. (点点)

让我们以两个特殊的目录名结束:

  • .(单个点)代表当前目录
  • ..(双点)代表父目录

这些在相对路径名中非常有用。例如:

cp ../file.txt .

这将把名为 "file.txt" 的文件从父目录复制到当前目录。

下面是一个总结我们覆盖的主要目录相关命令的表格:

命令 描述 示例
cd 更改目录 cd /home/user
ls 列出目录内容 ls -l
mkdir 创建新目录 mkdir NewFolder
rmdir 移除空目录 rmdir OldFolder
rm -r 移除目录及其内容 rm -r Projects
mv 移动/重命名目录 mv OldName NewName
cp 复制文件或目录 cp -r SourceDir DestDir

记住,熟能生巧!不要害怕在终端中尝试。Linux非常宽容(除非你粗心使用 rm -r)!快乐探索,愿Linux的力量与你同在!

Credits: Image by storyset