【Linux入门】路径的概念及目录的操作

2023-12-13 09:20:44 浏览数 (1)

本文主要介绍Linux系统中路径的基本概念以及对目录的基础操作。

根目录的概念

在Windows操作系统中,是由盘符开始描述路径,如:C:Programsabc 或者 D:gameabc。

在Linux操作系统中,则是以 目录树 的形式展现,所有的文件及目录都是从 根目录/ 开始的,如/home,/etc 等,即便是有多块硬盘挂载或有不同的分区,也要从 根目录/ 开始。

相对路径与绝对路径

绝对路径:路径的写法“一定是由根目录/开始”,写法比较麻烦,但正确率高且出错易于排查。如:/home/test/。

相对路径:路径的写法“不是由根目录/开始”,写法比较简单,能够通过较短的内容指定对应目录。如:test/abc

特殊目录的表示符号

代码语言:javascript复制
.           # 代表此层目录
..          # 代表上一层目录
-           # 代表前一个工作目录
~           # 代表当前用户的家目录
~abc        # 代表 abc 这个用户的家目录(注意:abc 此处表示账号名称)

示例如下:

代码语言:javascript复制
# 输入命令
ls -la

# 可能会返回以下内容,其中包括 . 及 ..
drwxr-xr-x 3 root root 4096 11月 30 12:41 .
drwxr-xr-x 6 root root 4096 11月 29 10:36 ..
drwxrwxrwx 2 root root 4096 11月 30 11:46 test_dir
-rw-r--r-- 1 root root    7 11月 29 10:41 test_file.txt

所有的目录都会存在2个目录,分别是...,代表此层与上层目录。即便是根目录也会存在这2个目录,只是代表的都是根目录自身。

目录处理命令

cd:切换目录

pwd:显示当前目录

mkdir:建立一个新目录

rmdir:删除一个空目录

切换目录 cd

cd 是 change directory 的缩写,用来切换工作目录的命令。当登录到Linux系统后,每个用户都会在自己的家目录中,可以用 cd 命令进入到其它目录。

命令格式:

代码语言:javascript复制
cd [相对路径或绝对路径,或特殊目录的符号]

命令示例:

代码语言:javascript复制
# 绝对路径写法,切换至指定目录
cd /home/www

# 相对路径写法,从当前目录进入指定目录,指定目录的层级必须为当前目录所包含
# 假设当前目录为 /home,进入当前目录下的子目录www(等同于绝对路径 /home/www)
cd www

# 相对路径写法,回到上级目录后再进入指定目录
# 假设当前目录为 /home/www,表示回到上级目录 /home 后再进入指定目录 test_dir(等同于绝对路径 /home/test_dir)
cd ../test_dir

# 进入当前用户的家目录
cd ~

# 不加任何路径,也表示进入当前用户的家目录
cd 

# 进入用户 abc 的家目录
cd ~abc

# 进入前一个工作目录
cd -

显示当前目录 pwd

pwd 是 print working directory 的缩写,用于显示当前工作目录。

命令格式:

代码语言:javascript复制
pwd

命令示例:

代码语言:javascript复制
# 输入命令
pwd

# 可能返回,表示当前工作目录为 /home/www
/home/www

建立新目录 mkdir

mkdir 是 make directory 命令的缩写,用于建立目录,需要注意的是,默认情况下,目录只能一层一层建立,想一次建立多个层级目录需要加上 -P 参数。

命令格式:

代码语言:javascript复制
mkdir [-mp] 目录名称

# -p 直接将目录名称递归建立
# -m 建立目录时同时设置权限

命令示例:

代码语言:javascript复制
# 在当前工作目录下,建立目录 test 
mkdir test

# 在当前工作目录下,连续建立多层级目录
mkdir -p test_a/test_b/test_c

# 建立目录时设置权限
mkdir -m 777 test_dir

# 以绝对路径方式建立目录
mkdir /home/www/test_dir

删除空目录 rmdir

rmdir 是 remove directory 命令的缩写,值得注意的是,rmdir 只能删除空目录,即被删除的目录中不能包含文件或子目录。

命令格式:

代码语言:javascript复制
rmdir [-p] 目录名称

# -p 按层级的将空目录一并删除

命令示例:

代码语言:javascript复制
# 在当前工作目录下,删除空目录 test 
rmdir test

# 在当前工作目录下,连续删除多层级空目录,将3个空目录同时删除
rmdir -p test_a/test_b/test_c

# 以绝对路径方式删除空目录
rmdir /home/www/test_dir

我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

0 人点赞