Linux目录管理命令

1. pwd :显示当前所在目录的路径

1.1 语法格式

pwd #直接按回车键

1.2 实践案例

案例:查看当前所在目录路径
[root@yyds ~]# pwd
/root                   --->显示的是绝对路径

2. cd :切换目录

2.1 语法格式

cd 【参数】 【目录】

2.2 参数选项

参数选项

注释说明

参数选项

注释说明

~

切换到当前用户家目录

-

切换到上次所在目录

切换到当前用户家目录

.

当前目录

/root

切换到当前用户家目录

..

切换到当前目录的上一级目录

2.3 实践案例

# 案例1:查看执行cd、cd ~、cd /root命令后所在目录
[root@yyds tmp]# pwd
/tmp
[root@yyds tmp]# cd
[root@yyds ~]# pwd
/root
[root@yyds tmp]# cd ~
[root@yyds ~]# pwd
/root
[root@yyds tmp]# cd /root
[root@yyds ~]# pwd
/root

# 案例2:使用绝对路径,切换/etc 目录下
[root@yyds ~]# cd /etc/
[root@yyds etc]# pwd
/etc

# 案例3:使用相对路径,切换到/etc目录 
[root@yyds ~]# cd /
[root@yyds /]# cd etc/
[root@yyds etc]# pwd
/etc

# 案例4:切换到/etc/sysconfig/network-scripts/
[root@yyds ~]# cd /etc/sysconfig/network-scripts/
[root@yyds network-scripts]# pwd
/etc/sysconfig/network-scripts

# 案例5:快速回到家目录
[root@yyds network-scripts]# cd                 --->>方法一
[root@yyds ~]# cd -                             --->>回到上次所在目录
/etc/sysconfig/network-scripts
[root@yyds network-scripts]# cd ~               --->>方法二
[root@yyds ~]# cd -                             --->>回到上次所在目录
/etc/sysconfig/network-scripts
[root@yyds network-scripts]# cd /root           --->>方法三
[root@yyds ~]# 

# 案例6:返回上次所在目录
[root@yyds ~]# cd -                             
/etc/sysconfig/network-scripts

# 案例7:返回上级目录
[root@yyds network-scripts]# cd ..
[root@yyds sysconfig]# pwd
/etc/sysconfig

# 案例8:返回/目录
[root@yyds sysconfig]# cd /                     --->>方法一
[root@yyds /]# cd -                             --->>回到上次所在目录
/etc/sysconfig
[root@yyds sysconfig]# cd ../..                 --->>方法二
[root@yyds /]# pwd
/

3. ls :查看当前目录下的所有文件及其属性信息

3.1 语法结构

 ls 【参数】 【文件】
 ls [文件]                        --->>查看文件是否存在
 ls [目录]                        --->>查看目录是否存在
 ls [文件1] [文件1] [文件1]        --->>查看多个文件

3.2 参数选项

参数选项

注释说明

参数选项

注释说明

-l

查看文件的详细属性信息️❤️

-S

递归显示所有子目录❤️

-a

显示隐藏文件❤️

-t

依据最后修改时间将文件排序显示

-i

显示文件的inode属性信息️❤️

-R

递归显示所有子文件

-d

显示目录自身属性信息️

-r

逆序排序❤️

案例实践:

# 案例1:查看/etc/hosts 文件是否存在
[root@yyds ~]# ls -l /etc/hosts
-rw-r--r-- 1 root root 158  6月 23  2020 /etc/hosts

# 案例2:查看/etc/hosts /etc/passwd 两个文件是否存在
[root@yyds ~]# ls -l /etc/hosts /etc/passwd
-rw-r--r-- 1 root root  158  6月 23  2020 /etc/hosts
-rw-r--r-- 1 root root 1809  6月 30 23:08 /etc/passwd

# 案例3:查看当前位置的yyds和/etc/passwd 文件是否存在
[root@yyds ~]# ls -l yyds /etc/passwd
ls: 无法访问 'yyds': 没有那个文件或目录
-rw-r--r-- 1 root root 1809  6月 30 23:08 /etc/passwd

# 案例4:显示/tmp 目录下所有的内容
[root@yyds ~]# ls /tmp                             --->>方法一
yyds01.txt
systemd-private-c2a65d0e5b444a2a8294c787c5df926e-bluetooth.service-FKCAqo
systemd-private-c2a65d0e5b444a2a8294c787c5df926e-chronyd.service-lfiT7q
systemd-private-c2a65d0e5b444a2a8294c787c5df926e-systemd-logind.service-ZzP9XJ
[root@yyds ~]# cd /tmp                             --->>方法二
[root@yyds tmp]# ls
yyds01.txt
systemd-private-c2a65d0e5b444a2a8294c787c5df926e-bluetooth.service-FKCAqo
systemd-private-c2a65d0e5b444a2a8294c787c5df926e-chronyd.service-lfiT7q
systemd-private-c2a65d0e5b444a2a8294c787c5df926e-systemd-logind.service-ZzP9XJ

# 案例5:显示/etc/sysconfig/network-scripts 下得所有文件
[root@yyds ~]# ls /etc/sysconfig/network-scripts
ifcfg-ens33

# 案例6: 显示/root 下的所有文件,含隐藏文件
[root@yyds ~]# ls -a /root
.   1.txt            .bash_history  .bash_profile  cfg.txt  .gnupg           .tcshrc   www
..  anaconda-ks.cfg  .bash_logout   .bashrc      .cshrc   initial-setup-ks.cfg  .viminfo

# 案例7:显示/root 下的所有文件的inode
[root@yyds ~]# ls -i
101033767 1.txt  102489504 anaconda-ks.cfg  101033761 cfg.txt  102489508 initial-setup-ks.cfg   34091944 www

4. mkdir :创建目录

4.1 语法结构

mkdir 【参数选项】 【目录名】

mkdir  [目录]
mkdir  [目录1] [目录2]
mkdir  [参数选项] [目录]

4.2 参数选项

参数选项

注释说明

参数选项

注释说明

-m

创建目录的同时设置权限❤️

-v

显示执行过程详细信息

-p

递归创建多级目录❤️

4.3 案例实践

# 案例1.在当前创建yyds目录
[root@yyds ~]# mkdir yyds
[root@yyds ~]# ll
总用量 0
drwxr-xr-x 2 root root 6  7月  2 04:40 yyds

# 案例2.在当前创建a b c 多个目录
#方法一:
[root@yyds ~]# mkdir a b c
[root@yyds ~]# ll
总用量 0
drwxr-xr-x 2 root root 6  7月  2 04:41 a
drwxr-xr-x 2 root root 6  7月  2 04:41 b
drwxr-xr-x 2 root root 6  7月  2 04:41 c
drwxr-xr-x 2 root root 6  7月  2 04:40 yyds
#方法二:
[root@yyds ~]# mkdir {a..c}
[root@yyds ~]# ll
总用量 0
drwxr-xr-x 2 root root 6  7月  2 04:42 a
drwxr-xr-x 2 root root 6  7月  2 04:42 b
drwxr-xr-x 2 root root 6  7月  2 04:42 c
drwxr-xr-x 2 root root 6  7月  2 04:40 yyds

# 案例3.在/tmp目录下创建a目录
[root@yyds ~]# mkdir /tmp/a
[root@yyds ~]# ll /tmp/
总用量 0
drwxr-xr-x 2 root root 40  7月  2 04:44 a

# 案例4.在/tmp/下创建yyds 在/opt/下创建oldgirl
[root@yyds ~]# mkdir /tmp/yyds /opt/oldgirl
[root@yyds ~]# ll /tmp/ /opt/
/opt/:
总用量 0
drwxr-xr-x 2 root root 6  7月  2 04:45 oldgirl

/tmp/:
总用量 0
drwxr-xr-x 2 root root 40  7月  2 04:44 a
drwxr-xr-x 2 root root 40  7月  2 04:45 yyds

# 案例5.在当前创建yyds/a/b/c目录
[root@yyds ~]# mkdir -p yyds/a/b/c
[root@yyds ~]# tree
.
└── yyds
    └── a
        └── b
            └── c

4 directories, 0 files

5. cp :复制文件或目录

5.1 语法结构

cp 【参数选项】 【源文件】 【目标文件】

cp [源文件] [目标文件]
cp [源文件] [修改后的文件名]
cp [文件1] [文件2] [文件3] [目录]
cp [参数] [源文件] [目标文件]

5.2 参数选项

参数选项

注释说明

参数选项

注释说明

-a

等价于pdr参数组合

-p

保留源文件或目录文件的所有属性❤️

-r

递归复制目录及其下所有子文件❤️

-i

若目标文件已存在,则会询问是否覆盖

-b

覆盖目标文件前先进行备份

-f

若目标文件已存在,则会直接覆盖

-t

将源文件和目标文件互换位置❤️

5.3 案例实践

# 案例1.创建yyds.txt 拷贝到/opt目录
[root@yyds ~]# touch yyds.txt
[root@yyds ~]# ll
总用量 0
-rw-r--r-- 1 root root 0  7月  2 04:54 yyds.txt
[root@yyds ~]# cp yyds.txt /opt/
[root@yyds ~]# ll /opt/
-rw-r--r-- 1 root root 0  7月  2 04:54 yyds.txt

# 案例2.复制多个文件到/opt目录
[root@yyds ~]# touch {a..c}.txt
[root@yyds ~]# ll
总用量 0
-rw-r--r-- 1 root root 0  7月  2 04:55 a.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 b.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 c.txt
-rw-r--r-- 1 root root 0  7月  2 04:54 yyds.txt
[root@yyds ~]# cp a.txt b.txt c.txt /opt/
[root@yyds ~]# ll /opt/
总用量 0
-rw-r--r-- 1 root root 0  7月  2 04:56 a.txt
-rw-r--r-- 1 root root 0  7月  2 04:56 b.txt
-rw-r--r-- 1 root root 0  7月  2 04:56 c.txt
-rw-r--r-- 1 root root 0  7月  2 04:54 yyds.txt

# 案例3.拷贝不同目录下文件/etc/hosts /tmp/1.txt 文件到/opt目录
[root@yyds ~]# cp /etc/passwd /tmp/a.txt /opt/
[root@yyds ~]# ll /opt/
总用量 4
-rw-r--r-- 1 root root    0  7月  2 05:01 a.txt
drwxr-xr-x 2 root root    6  7月  2 04:45 oldgirl
-rw-r--r-- 1 root root 1856  7月  2 05:01 passwd

# 案例4.cp后重新起个名字,在当前将yyds.txt 备份成yyds.txt.bak
[root@yyds ~]# cp yyds.txt yyds.txt.bak
[root@yyds ~]# ll
总用量 0
-rw-r--r-- 1 root root 0  7月  2 04:55 a.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 b.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 c.txt
-rw-r--r-- 1 root root 0  7月  2 04:54 yyds.txt
-rw-r--r-- 1 root root 0  7月  2 05:02 yyds.txt.bak

# 案例5.将yyds.txt 复制到/opt下命名为yyds.txt.bak
[root@yyds ~]# cp yyds.txt /opt/yyds.txt.bak
[root@yyds ~]# ll /opt/
总用量 4
-rw-r--r-- 1 root root    0  7月  2 05:01 a.txt
-rw-r--r-- 1 root root    0  7月  2 05:02 yyds.txt.bak
drwxr-xr-x 2 root root    6  7月  2 04:45 oldgirl
-rw-r--r-- 1 root root 1856  7月  2 05:01 passwd

# 案例6.将/opt目录下得yyds.txt.bak 复制到当前目录
#方法一:
[root@yyds ~]# cp /opt/yyds.txt.bak ./
[root@yyds ~]# ll
总用量 0
-rw-r--r-- 1 root root 0  7月  2 04:55 a.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 b.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 c.txt
-rw-r--r-- 1 root root 0  7月  2 04:54 yyds.txt
-rw-r--r-- 1 root root 0  7月  2 05:05 yyds.txt.bak
#方法二:
[root@yyds ~]# cp /opt/yyds.txt.bak .
[root@yyds ~]# ll
总用量 0
-rw-r--r-- 1 root root 0  7月  2 04:55 a.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 b.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 c.txt
-rw-r--r-- 1 root root 0  7月  2 04:54 yyds.txt
-rw-r--r-- 1 root root 0  7月  2 05:06 yyds.txt.bak
#方法三:
[root@yyds ~]# cp /opt/yyds.txt.bak ~
[root@yyds ~]# ll
总用量 0
-rw-r--r-- 1 root root 0  7月  2 04:55 a.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 b.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 c.txt
-rw-r--r-- 1 root root 0  7月  2 04:54 yyds.txt
-rw-r--r-- 1 root root 0  7月  2 05:07 yyds.txt.bak
#方法四:
[root@yyds ~]# cp /opt/yyds.txt.bak /root/
[root@yyds ~]# ll
总用量 0
-rw-r--r-- 1 root root 0  7月  2 04:55 a.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 b.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 c.txt
-rw-r--r-- 1 root root 0  7月  2 04:54 yyds.txt
-rw-r--r-- 1 root root 0  7月  2 05:08 yyds.txt.bak

# 案例7.拷贝多个文件到当前的位置
[root@yyds ~]# touch /tmp/{1..3}.txt
[root@yyds ~]# ll /tmp/
总用量 0
-rw-r--r-- 1 root root 0  7月  2 05:09 1.txt
-rw-r--r-- 1 root root 0  7月  2 05:09 2.txt
-rw-r--r-- 1 root root 0  7月  2 05:09 3.txt
-rw-r--r-- 1 root root 0  7月  2 04:59 a.txt
[root@yyds ~]# cp /tmp//{1..3}.txt .
[root@yyds ~]# ll
总用量 0
-rw-r--r-- 1 root root 0  7月  2 05:10 1.txt
-rw-r--r-- 1 root root 0  7月  2 05:10 2.txt
-rw-r--r-- 1 root root 0  7月  2 05:10 3.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 a.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 b.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 c.txt
-rw-r--r-- 1 root root 0  7月  2 04:54 yyds.txt
-rw-r--r-- 1 root root 0  7月  2 05:08 yyds.txt.bak

# 案例8.复制yyds目录到/opt下
[root@yyds ~]# mkdir yyds
[root@yyds ~]# ll
总用量 0
-rw-r--r-- 1 root root 0  7月  2 05:10 1.txt
-rw-r--r-- 1 root root 0  7月  2 05:10 2.txt
-rw-r--r-- 1 root root 0  7月  2 05:10 3.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 a.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 b.txt
-rw-r--r-- 1 root root 0  7月  2 04:55 c.txt
drwxr-xr-x 2 root root 6  7月  2 05:11 yyds
[root@yyds ~]# cp -r yyds /opt/
[root@yyds ~]# ll /opt/
总用量 4
-rw-r--r-- 1 root root    0  7月  2 05:01 a.txt
drwxr-xr-x 2 root root    6  7月  2 05:11 yyds
-rw-r--r-- 1 root root    0  7月  2 05:02 yyds.txt.bak
drwxr-xr-x 2 root root    6  7月  2 04:45 oldgirl
-rw-r--r-- 1 root root 1856  7月  2 05:01 passwd

# 案例9.复制多个目录到/opt下
[root@yyds ~]# mkdir {A..C}
[root@yyds ~]# ll
总用量 0
drwxr-xr-x 2 root root 6  7月  2 05:13 A
drwxr-xr-x 2 root root 6  7月  2 05:13 B
drwxr-xr-x 2 root root 6  7月  2 05:13 C
[root@yyds ~]# rm -rf /opt/*
[root@yyds ~]# ll /opt/
总用量 0
[root@yyds ~]# cp -r {A..C} /opt/
[root@yyds ~]# ll /opt/
总用量 0
drwxr-xr-x 2 root root 6  7月  2 05:14 A
drwxr-xr-x 2 root root 6  7月  2 05:14 B
drwxr-xr-x 2 root root 6  7月  2 05:14 C

# 案例10.将etc目录复制到当前的位置
[root@yyds ~]# cp -r /etc/ .
[root@yyds ~]# ll
总用量 12
drwxr-xr-x   2 root root    6  7月  2 05:13 A
drwxr-xr-x   2 root root    6  7月  2 05:13 B
drwxr-xr-x   2 root root    6  7月  2 05:13 C
drwxr-xr-x 124 root root 8192  7月  2 05:15 etc
[root@yyds ~]# ll etc/
总用量 1308
drwxr-xr-x  3 root root    101  7月  2 05:15 abrt
-rw-r--r--  1 root root     16  7月  2 05:15 adjtime
-rw-r--r--  1 root root   1529  7月  2 05:15 aliases
......省略

6. rm :删除文件或目录

6.1 语法结构

rm 【参数选项】 【文件名】

6.2 参数选项

参数选项

注释说明

参数选项

注释说明

-d

仅删除无子文件的空目录

-f

强制删除不询问

-r

递归删除目录及其内全部子文件

6.3 案例实践

# 案例1. 删除当前的yyds
[root@yyds ~]# ll
总用量 0
drwxr-xr-x 3 root root 15  7月  2 05:56 yyds
[root@yyds ~]# rm -rf yyds/
[root@yyds ~]# ll
总用量 0

# 案例2. 删除opt目录下的a.txt b.txt
[root@yyds ~]# ll /opt/
总用量 0
-rw-r--r-- 1 root root 0  7月  2 05:52 a.log
-rw-r--r-- 1 root root 0  7月  2 05:50 a.txt
-rw-r--r-- 1 root root 0  7月  2 05:50 b.txt
-rw-r--r-- 1 root root 0  7月  2 05:50 c.txt
drwxr-xr-x 2 root root 6  7月  2 05:53 yyds
-rw-r--r-- 1 root root 0  7月  2 05:48 yyds.txt
[root@yyds ~]# rm /opt/a.txt /opt/b.txt 
rm:是否删除普通空文件 '/opt/a.txt'?y
rm:是否删除普通空文件 '/opt/b.txt'?y
[root@yyds ~]# ll /opt/
总用量 0
-rw-r--r-- 1 root root 0  7月  2 05:52 a.log
-rw-r--r-- 1 root root 0  7月  2 05:50 c.txt
drwxr-xr-x 2 root root 6  7月  2 05:53 yyds
-rw-r--r-- 1 root root 0  7月  2 05:48 yyds.txt

7. mv :移动文件或目录

7.1 语法结构

mv 【参数选项】 【源文件】 【目标文件】

mv [源文件] [目标文件]
mv [源文件] [修改后的文件名]
mv [文件1] [文件2] [文件3] [目录]
mv [参数] [源文件] [目标文件]

7.2 参数选项

参数选项

注释说明

参数选项

注释说明

-b

覆盖前为目标文件创建备份

-f

强制覆盖文件而不询问

-n

不要覆盖已有文件

7.3 案例实践

# 案例1.移动当前的yyds.txt到/opt目录下
[root@yyds ~]# touch yyds.txt
[root@yyds ~]# ll
总用量 0
-rw-r--r-- 1 root root 0  7月  2 05:48 yyds.txt
[root@yyds ~]# mv yyds.txt /opt/
[root@yyds ~]# ll /opt/
总用量 0
-rw-r--r-- 1 root root 0  7月  2 05:48 yyds.txt

# 案例2.移动多个文件
[root@yyds ~]# touch {a..c}.txt
[root@yyds ~]# ll
总用量 0
-rw-r--r-- 1 root root 0  7月  2 05:50 a.txt
-rw-r--r-- 1 root root 0  7月  2 05:50 b.txt
-rw-r--r-- 1 root root 0  7月  2 05:50 c.txt
[root@yyds ~]# mv {a..c}.txt /opt/
[root@yyds ~]# ll /opt/
总用量 0
-rw-r--r-- 1 root root 0  7月  2 05:50 a.txt
-rw-r--r-- 1 root root 0  7月  2 05:50 b.txt
-rw-r--r-- 1 root root 0  7月  2 05:50 c.txt
-rw-r--r-- 1 root root 0  7月  2 05:48 yyds.txt

# 案例3.移动a.txt到/opt/目录命名为a.log
[root@yyds ~]# touch a.txt
[root@yyds ~]# mv a.txt /opt/a.log
[root@yyds ~]# ll /opt/
总用量 0
-rw-r--r-- 1 root root 0  7月  2 05:52 a.log
-rw-r--r-- 1 root root 0  7月  2 05:50 a.txt
-rw-r--r-- 1 root root 0  7月  2 05:50 b.txt
-rw-r--r-- 1 root root 0  7月  2 05:50 c.txt
-rw-r--r-- 1 root root 0  7月  2 05:48 yyds.txt

# 案例4.移动目录 yyds到/opt下
[root@yyds ~]# mkdir yyds
[root@yyds ~]# ll
总用量 0
drwxr-xr-x 2 root root 6  7月  2 05:53 yyds
[root@yyds ~]# mv yyds/ /opt/
[root@yyds ~]# ll /opt/
总用量 0
-rw-r--r-- 1 root root 0  7月  2 05:52 a.log
-rw-r--r-- 1 root root 0  7月  2 05:50 a.txt
-rw-r--r-- 1 root root 0  7月  2 05:50 b.txt
-rw-r--r-- 1 root root 0  7月  2 05:50 c.txt
drwxr-xr-x 2 root root 6  7月  2 05:53 yyds
-rw-r--r-- 1 root root 0  7月  2 05:48 yyds.txt

⚠️⚠️⚠️在企业中用mv替代rm使用

8. tree :树状结构列出目录内容

8.1 语法结构

tree 【参数选项】 【目录】

8.2 参数选项

参数选项

注释说明

参数选项

注释说明

-L

使用层级显示内容❤️

-F

显示文件完整的路径

-d

仅显示目录名

8.3 案例实践

# 案例1.
[root@yyds ~]# mkdir -p yyds/a/b/c
[root@yyds ~]# tree
.
└── yyds
    └── a
        └── b
            └── c

4 directories, 0 files

# 案例2.
[root@yyds ~]# tree -L 1 /
/
├── backup
├── bin -> usr/bin
├── boot
├── box
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var

21 directories, 0 files

9. du:查看目录大小

9.1 语法格式

du [参数] [文件名]

9.2 参数选项

参数选项

注释说明

参数选项

注释说明

-a

显示目录中所有文件的大小

-s

显示子目录的总大小❤️

-h

以易读方式显示❤️

9.3 实践案例

[root@linux:~]# du -sh /etc
29M	/etc

posted @   一薪一亿呦  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示