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