Linux - 目录管理

Linux - 目录管理 首页 / Linux入门教程 / Linux - 目录管理

在本章中,我们将详细讨论Unix中的目录管理。

目录也是文件,它存储着文件名和文件相关信息,所有文件,无论是普通文件,特殊文件还是目录,都包含在目录中。

Unix使用分层结构来组织文件和目录,这种结构通常称为目录树,该树只有一个根节点,即斜杠字符(/),所有其他目录都包含在其下方。

Home目录

首次登录时进入到的目录称为Home目录,您也可以通过 cd ~ 命令进入Home目录-

$cd ~
$

这里〜表示主目录,假设您想进入其他用户的主目录,请使用以下命令-

无涯教程网

$cd ~username
$

要进入最后一个目录,可以使用以下命令-

$cd -
$

绝对/相对路径

目录按层次结构排列,root(/)在顶部,层次结构中任何文件的位置均由其路径名描述。

路径名的元素由/分隔,如果相对于root进行描述,则路径名是绝对路径,因此绝对路径始终以/开头。

以下是绝对文件名的一些示例。

/etc/passwd
/users/learnfk/chem/notes
/dev/rdsk/Os3

路径名也可以相对于您当前的工作目录,相对路径名绝不能以/开头,相对于用户learnfk的Home目录,某些路径名可能看起来像这样-

chem/notes
personal/res

要随时确定您在文件系统层次结构中的位置,请输入命令 pwd 以打印当前工作目录-

$pwd
/user0/home/learnfk

$

目录列表

要列出目录中的文件,可以使用以下语法-

$ls dirname

以下是列出/usr/local 目录中包含的所有文件的示例-

$ls /usr/local

X11       bin          gimp       jikes       sbin
ace       doc          include    lib         share
atalk     etc          info       man         ami

创建目录

现在,我们将了解如何创建目录。目录由以下命令创建-

$mkdir dirname

在这里,目录是您要创建的目录的绝对或相对路径名。如:

$mkdir mydir
$

在当前目录中创建目录 mydir 。这是另一个示例-

$mkdir /tmp/test-dir
$

此命令在/tmp 目录中创建目录 test-dir 。 mkdir 命令如果成功创建了目录,则不会产生任何输出。

如果在命令行上提供多个目录,则 mkdir 将创建每个目录名。如,-

$mkdir docs pub
$

在当前目录下创建目录docs和pub。

创建父目录

现在,我们将了解如何创建父目录。有时,当您要创建目录时,其父目录或目录可能不存在。在这种情况下, mkdir 发出如下错误消息-

$mkdir /tmp/learnfk/test
mkdir: Failed to make directory "/tmp/learnfk/test"; 
No such file or directory
$

在这种情况下,可以为 mkdir 命令指定 -p 选项。它会为您创建所有必需的目录。如-

$mkdir -p /tmp/learnfk/test
$

上面的命令会自动创建所有必需的父目录。

删除目录

可以使用 rmdir 命令删除目录,如下所示:

$rmdir dirname
$

注意-要删除目录,请确保目录为空,这意味着该目录内不应有任何文件或子目录。

链接:https://www.learnfk.comhttps://www.learnfk.com/linux/linux-directories.html

来源:LearnFk无涯教程网

您可以一次删除多个目录,如下所示:

$rmdir dirname1 dirname2 dirname3
$

如果目录dirname1,dirname2和dirname3为空,则上面的命令将其删除。如果成功, rmdir 命令将不产生任何输出。

更改目录

您可以使用 cd 命令执行其他操作,而不仅仅是更改主目录。您可以通过指定有效的绝对或相对路径来使用它来更改任何目录。语法如下所示-

$cd dirname
$

在这里, dirname 是您要更改到的目录的名称。如,命令-

$cd /usr/local/bin
$

转到目录/usr/local/bin 。在此目录中,可以使用以下相对路径 cd 到目录/usr/home/learnfk -

$cd ../../home/learnfk
$

重命名目录

mv(移动)命令也可以用于重命名目录。语法如下-

$mv olddir newdir
$

您可以将目录 mydir 重命名为 yourdir ,如下所示:

$mv mydir yourdir
$

当前&上级目录

文件名.(点)代表当前的工作目录,文件名..(点点)表示当前工作目录上一级的目录,通常称为父目录。

如果我们输入命令以显示当前工作目录/文件的列表,然后使用 -a 选项列出所有文件,并使用 -l选项提供长文件名列表,我们将收到以下输出。

$ls -la
drwxrwxr-x    4    learnfk   class   2048  Jul 16 17.56 .   #表示当前目录
drwxr-xr-x    60   root              1536  Jul 13 14:18 ..  #表示上级目录
----------    1    learnfk   class   4210  May 1 08:27 .profile #表示这是个隐藏文件
-rwxr-xr-x    1    learnfk   class   1948  May 12 13:42 memo #正常文件
$

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

AI技术内参 -〔洪亮劼〕

Service Mesh实践指南 -〔周晶〕

浏览器工作原理与实践 -〔李兵〕

技术面试官识人手册 -〔熊燚(四火)〕

编程高手必学的内存知识 -〔海纳〕

深入剖析Java新特性 -〔范学雷〕

网络排查案例课 -〔杨胜辉〕

深入浅出分布式技术原理 -〔陈现麟〕

徐昊 · TDD项目实战70讲 -〔徐昊〕

好记忆不如烂笔头。留下您的足迹吧 :)
1 篇笔记
jack 2023年01月05日 16:42

mkdir 新建目录/文件夹  mkdir -p 目录/目录/目录  创建多级文件目录

rmdir 删除目录/文件夹 (不能删除有子目录和有子文件的目录)