文件管理--命令


命令cd

change directory 切换目录

## 切换到当前登录用户的家目录   /root   /home/admin
[root@localhost ~]# cd
[root@localhost ~]# cd ~
## 返回上一次所在的目录
[root@localhost ~]# cd -
## 返回当前所在目录的上一级目录
[root@localhost ~]# cd ..
## 切换目录+绝对路径
[root@localhost /]# cd /etc/sysconfig/network-scripts/
## 切换目录+相对路径
[root@localhost /]# cd etc/sysconfig/network
[root@localhost ~]# cd ../etc/sysconfig/network-scripts/


命令ls

命令 作用
-l 显示详细信息
a 显示所有文件
-t 按照修改时间顺序
-h 修改文件大小为人类可读
-r 排序翻转
[root@moban sysconfig]# ls -l    等于 ll    
total 92
-rw-r--r--. 1 root root  315 Mar 25 22:24 anaconda
-rw-r--r--. 1 root root  483 Mar 25 22:24 authconfig
drwxr-xr-x. 2 root root   43 Mar 25 22:21 cbq
drwxr-xr-x. 2 root root    6 Oct 13  2020 console
-rw-r--r--. 1 root root  150 Oct 20  2020 cpupower
-rw-------. 1 root root  110 Aug  9  2019 crond
-rw-------. 1 root root 1390 Apr 11  2018 ebtables-config
-rw-r--r--. 1 root root   73 Oct  1  2020 firewalld
lrwxrwxrwx. 1 root root   15 Mar 25 22:22 grub -> ../default/grub
-rw-r--r--. 1 root root  348 May 30  2023 htcacheclean
-rw-r--r--. 1 root root  802 May 30  2023 httpd
-rw-r--r--. 1 root root  798 Oct 13  2020 init
-rw-------. 1 root root 2134 Oct  2  2020 ip6tables-config
-rw-------. 1 root root 2116 Oct  2  2020 iptables-config
-rw-r--r--. 1 root root  903 Aug  6  2019 irqbalance
-rw-r--r--. 1 root root 1729 Oct  2  2020 kdump
-rw-r--r--. 1 root root  180 Mar 25 22:24 kernel
-rw-r--r--. 1 root root  200 Oct 30  2018 man-db
drwxr-xr-x. 2 root root    6 Oct 13  2020 modules
-rw-r--r--. 1 root root  634 Oct 13  2020 netconsole
-rw-r--r--. 1 root root   22 Mar 25 22:24 network
drwxr-xr-x. 2 root root 4096 Apr  1 15:03 network-scripts
-rw-r--r--. 1 root root   15 Aug  4  2017 rdisc
-rw-r--r--. 1 root root  905 Oct 13  2020 readonly-root
-rw-r--r--. 1 root root  196 Oct 13  2020 rsyslog
-rw-r--r--. 1 root root    0 Jun 10  2014 run-parts
lrwxrwxrwx. 1 root root   17 Mar 25 22:22 selinux -> ../selinux/config
-rw-r-----. 1 root root  506 Aug  9  2019 sshd
-rw-r--r--. 1 root root  610 Oct 31  2018 wpa_supplicant

[root@moban sysconfig]# ls -a    显示隐藏文件
.           cpupower         httpd             kernel           rdisc          wpa_supplicant
..          crond            init              man-db           readonly-root
anaconda    ebtables-config  ip6tables-config  modules          rsyslog
authconfig  firewalld        iptables-config   netconsole       run-parts
cbq         grub             irqbalance        network          selinux
console     htcacheclean     kdump             network-scripts  sshd

[root@moban sysconfig]# ls -tlh    详细信息 自上排序
total 92K
drwxr-xr-x. 2 root root 4.0K Apr  1 15:03 network-scripts
-rw-r--r--. 1 root root  315 Mar 25 22:24 anaconda
-rw-r--r--. 1 root root   22 Mar 25 22:24 network
-rw-r--r--. 1 root root  483 Mar 25 22:24 authconfig
-rw-r--r--. 1 root root  180 Mar 25 22:24 kernel
lrwxrwxrwx. 1 root root   17 Mar 25 22:22 selinux -> ../selinux/config
lrwxrwxrwx. 1 root root   15 Mar 25 22:22 grub -> ../default/grub
drwxr-xr-x. 2 root root   43 Mar 25 22:21 cbq
-rw-r--r--. 1 root root  802 May 30  2023 httpd
-rw-r--r--. 1 root root  348 May 30  2023 htcacheclean
-rw-r--r--. 1 root root  150 Oct 20  2020 cpupower
drwxr-xr-x. 2 root root    6 Oct 13  2020 console
-rw-r--r--. 1 root root  798 Oct 13  2020 init
drwxr-xr-x. 2 root root    6 Oct 13  2020 modules
-rw-r--r--. 1 root root  634 Oct 13  2020 netconsole
-rw-r--r--. 1 root root  905 Oct 13  2020 readonly-root
-rw-r--r--. 1 root root  196 Oct 13  2020 rsyslog
-rw-r--r--. 1 root root 1.7K Oct  2  2020 kdump
-rw-------. 1 root root 2.1K Oct  2  2020 ip6tables-config
-rw-------. 1 root root 2.1K Oct  2  2020 iptables-config
-rw-r--r--. 1 root root   73 Oct  1  2020 firewalld
-rw-r-----. 1 root root  506 Aug  9  2019 sshd
-rw-------. 1 root root  110 Aug  9  2019 crond
-rw-r--r--. 1 root root  903 Aug  6  2019 irqbalance
-rw-r--r--. 1 root root  610 Oct 31  2018 wpa_supplicant
-rw-r--r--. 1 root root  200 Oct 30  2018 man-db
-rw-------. 1 root root 1.4K Apr 11  2018 ebtables-config
-rw-r--r--. 1 root root   15 Aug  4  2017 rdisc
-rw-r--r--. 1 root root    0 Jun 10  2014 run-parts

[root@moban sysconfig]# ls -tlh   详细信息反转排序
total 92K
drwxr-xr-x. 2 root root 4.0K Apr  1 15:03 network-scripts
-rw-r--r--. 1 root root  315 Mar 25 22:24 anaconda
-rw-r--r--. 1 root root   22 Mar 25 22:24 network
-rw-r--r--. 1 root root  483 Mar 25 22:24 authconfig
-rw-r--r--. 1 root root  180 Mar 25 22:24 kernel
lrwxrwxrwx. 1 root root   17 Mar 25 22:22 selinux -> ../selinux/config
lrwxrwxrwx. 1 root root   15 Mar 25 22:22 grub -> ../default/grub
drwxr-xr-x. 2 root root   43 Mar 25 22:21 cbq
-rw-r--r--. 1 root root  802 May 30  2023 httpd
-rw-r--r--. 1 root root  348 May 30  2023 htcacheclean
-rw-r--r--. 1 root root  150 Oct 20  2020 cpupower
drwxr-xr-x. 2 root root    6 Oct 13  2020 console
-rw-r--r--. 1 root root  798 Oct 13  2020 init
drwxr-xr-x. 2 root root    6 Oct 13  2020 modules
-rw-r--r--. 1 root root  634 Oct 13  2020 netconsole
-rw-r--r--. 1 root root  905 Oct 13  2020 readonly-root
-rw-r--r--. 1 root root  196 Oct 13  2020 rsyslog
-rw-r--r--. 1 root root 1.7K Oct  2  2020 kdump
-rw-------. 1 root root 2.1K Oct  2  2020 ip6tables-config
-rw-------. 1 root root 2.1K Oct  2  2020 iptables-config
-rw-r--r--. 1 root root   73 Oct  1  2020 firewalld
-rw-r-----. 1 root root  506 Aug  9  2019 sshd
-rw-------. 1 root root  110 Aug  9  2019 crond
-rw-r--r--. 1 root root  903 Aug  6  2019 irqbalance
-rw-r--r--. 1 root root  610 Oct 31  2018 wpa_supplicant
-rw-r--r--. 1 root root  200 Oct 30  2018 man-db
-rw-------. 1 root root 1.4K Apr 11  2018 ebtables-config
-rw-r--r--. 1 root root   15 Aug  4  2017 rdisc
-rw-r--r--. 1 root root    0 Jun 10  2014 run-parts


mkdir

make directory 创建目录
## -p:递归创建目录,没报错(如果目录不存在,就创建,目录存在,就不执行命令)
[root@localhost ~]# mkdir -p 111/{2,3}/abc
## -v:显示目录创建的过程
mkdir -p /home/zls /home/zls/test1 /home/zls/test2 /home/oldboy
/home/oldboy/test1 /tmp/oldboy /tmp/oldgirl /root/test/test1 /root/test/test2
/root/abc /backup
[root@localhost ~]# mkdir -pv
{/home/{zls/test{1,2},oldboy/test1},/tmp/{oldboy,oldgirl},/root/{test/test{1,2},
abc},/backup}
mkdir: created directory ‘/home/zls/test1’
mkdir: created directory ‘/home/zls/test2’
mkdir: created directory ‘/home/oldboy/test1’
mkdir: created directory ‘/tmp/oldboy’
mkdir: created directory ‘/tmp/oldgirl’
mkdir: created directory ‘/root/test/test1’
mkdir: created directory ‘/root/test/test2’
mkdir: created directory ‘/root/abc’
mkdir: created directory ‘/backup’

命令touch

## 创建可编辑的文件
[root@localhost ~]# touch 123
## 在指定目录下创建
[root@localhost ~]# touch /tmp/2.txt
## 创建多个文件
[root@localhost ~]# touch 1.txt 2.txt 3.txt 4.txt
[root@localhost ~]# touch {1..4}.txt
[root@localhost ~]# touch zls{1..5}.txt.123 # zls1.txt.123

文件管理命令--tree

## 需要先安装使用
## 安装命令
# yum install -y tree

##查看目录结构
[root@moban sysconfig]# tree
.
├── anaconda
├── authconfig
├── cbq
│   ├── avpkt
│   └── cbq-0000.example
├── console
├── cpupower
├── crond
├── ebtables-config
├── firewalld
├── grub -> ../default/grub
├── htcacheclean
├── httpd
├── init
├── ip6tables-config
├── iptables-config
├── irqbalance
├── kdump
├── kernel
├── man-db
├── modules
├── netconsole
├── network
├── network-scripts
│   ├── ifcfg-ens33
│   ├── ifcfg-lo
│   ├── ifdown -> ../../../usr/sbin/ifdown
│   ├── ifdown-bnep
│   ├── ifdown-eth
│   ├── ifdown-ippp
│   ├── ifdown-ipv6
│   ├── ifdown-isdn -> ifdown-ippp
│   ├── ifdown-post
│   ├── ifdown-ppp
│   ├── ifdown-routes
│   ├── ifdown-sit
│   ├── ifdown-Team
│   ├── ifdown-TeamPort
│   ├── ifdown-tunnel
│   ├── ifup -> ../../../usr/sbin/ifup
│   ├── ifup-aliases
│   ├── ifup-bnep
│   ├── ifup-eth
│   ├── ifup-ippp
│   ├── ifup-ipv6
│   ├── ifup-isdn -> ifup-ippp
│   ├── ifup-plip
│   ├── ifup-plusb
│   ├── ifup-post
│   ├── ifup-ppp
│   ├── ifup-routes
│   ├── ifup-sit
│   ├── ifup-Team
│   ├── ifup-TeamPort
│   ├── ifup-tunnel
│   ├── ifup-wireless
│   ├── init.ipv6-global
│   ├── network-functions
│   └── network-functions-ipv6
├── rdisc
├── readonly-root
├── rsyslog
├── run-parts
├── selinux -> ../selinux/config
├── sshd
└── wpa_supplicant
4 directories, 62 files

## -L:level 查看指定层级的目录结构
[root@localhost ~]# tree -L 2 /etc/
## -d:只查看目录不查看文件,查看指定目录层级的所有目录
[root@localhost ~]# tree -L 2 -d /etc/

文件管理命令cp

选项 作用
-r,-R 递归复制目录
-v 显示复制的详细信息,复制过程
-p 保持文件属性(时间,用户)
-a 等于 -p + -r 既能递归目录,也能保持文件属性
-l 询问,确定自己的操作
copy  复制拷贝
## 语法1  cp  [选项]... [-T] 源文件 目标    (备份)
[root@moban ~]# ll
total 0
-rw-r--r--. 1 root root 0 Apr  1 12:07 7.abc
[root@moban ~]# cp 7.abc 9.cba      将7.abc 拷贝一份在原目录下 名为9.cba
[root@moban ~]# ll
total 0
-rw-r--r--. 1 root root 0 Apr  1 12:07 7.abc
-rw-r--r--. 1 root root 0 Apr  1 15:25 9.cba

## 语法二:cp [选项]... 源文件... 目录
[root@moban ~]# ll /tmp/
total 0
[root@moban ~]# ll
total 0
drwxr-xr-x. 2 root root 6 Apr  1 12:09 111
drwxr-xr-x. 2 root root 6 Apr  1 12:09 222
drwxr-xr-x. 2 root root 6 Apr  1 12:09 333
-rw-r--r--. 1 root root 0 Apr  1 12:07 5.abc
-rw-r--r--. 1 root root 0 Apr  1 12:07 6.abc
-rw-r--r--. 1 root root 0 Apr  1 12:07 7.abc
-rw-r--r--. 1 root root 0 Apr  1 15:25 9.cba
[root@moban ~]# cp 7.abc /tmp/77.abc     将7.abc 拷贝至、tmp下名为77.abc
[root@moban ~]# ll /tmp/
total 0
-rw-r--r--. 1 root root 0 Apr  1 15:28 77.abc
[root@moban ~]# cp 5.abc 6.abc /tmp/     将多个文件拷贝至、/tmp下
[root@moban ~]# ll /tmp
total 0
-rw-r--r--. 1 root root 0 Apr  1 15:30 5.abc
-rw-r--r--. 1 root root 0 Apr  1 15:30 6.abc


# 拷贝目录中如果有源文件则则询问是否进行覆盖
# 结尾必须是目录 

## 保持文件属性
[root@localhost ~]# cp -rp /home/zls1 /tmp/

## 语法二:cp [选项]... 源文件... 目录
[root@localhost ~]# cp -a /home/zls1 /tmp/
----
## 语法三:cp [选项]... -t 目录 源文件... (反人类)
cp [OPTION]... -t DIRECTORY SOURCE...
[root@localhost ~]# cp -t /tmp/ saomiao.sh

## 总结:
1.当复制的目标不存在时,将源文件复制出来并改名为目标名
2.当复制目标存在时,且是一个目录,则直接将文件复制到指定的目录下(名字不变)
3.当复制目标存在时,且是一个普通文件,则提示是否要覆盖,输入y是覆盖,输入n是不覆盖
4.当复制多个文件时,最后一个必须写已存在的目录,否则会报错
5.cp命令默认情况下无法拷贝目录,必须加-r选项,递归复制目录

文件管理命令-mv

选项 作用
-i 提示询问是否覆盖
move 移动,剪切
## 语法一:mv [选项]... [-T] 源文件 目标(重命名)
mv [OPTION]... [-T] SOURCE DEST

## 给文件改名
[root@moban ~]# mv 9.cba 8.abc         9.cba 改为8.abc
## 语法二:mv [选项]... 源文件... 目录
mv [OPTION]... SOURCE... DIRECTORY
[root@moban ~]# mv 8.abc 5.abc         8.abc覆盖原目录下的5.abc
mv: overwrite ‘5.abc’? y
[root@moban ~]# mv /tmp/{77.abc,6.abc} .     移动多个文件到目录下
mv: overwrite ‘./6.abc’? y
## 总结:
1.当移动的目标不存在时,将源文件重命名
2.当移动目标存在时,且是一个目录,则直接将文件剪切到指定的目录下(名字不变)
3.当移动目标存在时,且是一个普通文件,则提示是否要覆盖,输入y是覆盖,输入n是不覆盖
4.当移动多个文件时,最后一个必须写已存在的目录,否则会报错
## 语法三:mv [选项]... -t 目录 源文件... (反人类)
mv [OPTION]... -t DIRECTORY SOURCE...

文件管理工具-rm

选项 作用
-i 询问是否删除()
-r 递归删除
-f force强制删除 不询问
## 两种让命令不走别名的方法:
在命令前面加\(转义符)
使用命令的绝对路径

[root@moban ~]# ll
total 0
drwxr-xr-x. 2 root root 6 Apr  1 12:09 111
drwxr-xr-x. 2 root root 6 Apr  1 12:09 222
drwxr-xr-x. 2 root root 6 Apr  1 12:09 333
-rw-r--r--. 1 root root 0 Apr  1 15:25 5.abc
-rw-r--r--. 1 root root 0 Apr  1 15:30 6.abc
-rw-r--r--. 1 root root 0 Apr  1 15:28 77.abc
-rw-r--r--. 1 root root 0 Apr  1 12:07 7.abc
[root@moban ~]# rm 7.abc 77.abc       删除7.abc 77.abc
rm: remove regular empty file ‘7.abc’? y
rm: remove regular empty file ‘77.abc’? y

[root@moban ~]# rm -r 111 222        删除111 222 目录
rm: remove directory ‘111’? y
rm: remove directory ‘222’? y
[root@moban ~]# ll
total 0
drwxr-xr-x. 2 root root 6 Apr  1 12:09 333
-rw-r--r--. 1 root root 0 Apr  1 15:25 5.abc
-rw-r--r--. 1 root root 0 Apr  1 15:30 6.abc

[root@moban ~]# rm -rf ./*   删除目录下的所有文件
[root@moban ~]# ll
total 0

1.rm删除普通文件的命令,默认只能删除普通文件
2.删除文件,不想询问,rm -f
3.删除目录,不想询问,rm -fr 、 rm -rf