「这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战」
运维的规范操作:
01.所有文件编辑修改时,请用cp命令进行备份
[root@fu ~]# cp /data/oldboy.txt /data/oldboy.txt.bak
[root@fu ~]# ls -l /data/
total 8
drwxr-xr-x. 2 root root 4096 Jun 20 06:28 data
-rw-r--r--. 1 root root 34 Jun 20 13:47 error.txt
-rw-r--r--. 1 root root 0 Jun 20 14:43 info.log
-rw-r--r--. 1 root root 0 Jun 20 12:06 oldboy.txt
-rw-r--r--. 1 root root 0 Jun 20 17:48 oldboy.txt.bak
-rw-r--r--. 1 root root 0 Jun 20 13:47 right.txt
02.在移动数据之前,先确保目录路径是否存在目录信息
[root@fu ~]# #mv /data/ /root/
[root@fu ~]# ls -ld /root/data/
drwxr-xr-x. 3 root root 4096 Jun 20 17:48 /root/data/
-
进入/root目录下的data目录,删除oldboy.txt文件 第一种方式:利用rm命令删除
remove 移除 ==rm移除命令
rm 要移除的文件或目录信息
移除一个文件操作:
[root@fu ~]# cd /root/data/
[root@fu data]# pwd
/root/data
[root@fu data]# rm oldboy.txt
rm: remove regular empty file `oldboy.txt'? y
移除一个目录操作:
移除目录前做好进行备份
[root@fu data]# ls
data error.txt info.log oldboy.txt.bak right.txt
[root@fu data]# cp oldboy.txt.bak oldboy.txt
[root@fu data]# echo oldboy123 >oldboy.txt
[root@fu data]# cp /root/data/ /tmp/
cp: omitting directory `/root/data/'
[root@fu data]# cp -a /root/data/ /tmp/
cp: overwrite `/tmp/data/oldboy.txt'? y
cp: overwrite `/tmp/data/info.log'? y
cp: overwrite `/tmp/data/error.txt'? y
cp: overwrite `/tmp/data/right.txt'? y
开始移除目录 (rm 只能移除单个文件 -r 可以移除目录 -f 强制删除)
[root@fu data]# rm /root/data
rm: cannot remove `/root/data': Is a directory
[root@fu data]# rm -r /root/data/
rm: descend into directory `/root/data'? n
[root@fu data]# rm -rf /root/data/
[root@fu data]# ls -ld /root/data/
ls: cannot access /root/data/: No such file or directory
删根时,会有自我保护功能(centos6.9)
[root@fu data]# rm / -rf
rm: it is dangerous to operate recursively on `/'
rm: use --no-preserve-root to override this failsafe
第二种删除数据的方式:精确删除多个文件数据信息
第一里程: 找出相应的文件数据
find 查找数据信息命令
find 在哪找东西 找的东西的类型 找的东西的名称
[root@fu data]# find /root/data/ -type f -name "*.txt"
/root/data/oldboy.txt
/root/data/error.txt
/root/data/right.txt
第二里程:将数据进行删除
[root@fu data]# find /root/data/ -type f -name "*.txt"
/root/data/oldboy.txt
/root/data/error.txt
/root/data/right.txt
[root@fu data]# find /root/data/ -type f -name "*.txt"|xargs ls -l (ls -l 可以换成rm-r)
-rw-r--r--. 1 root root 34 Jun 20 13:47 /root/data/error.txt
-rw-r--r--. 1 root root 10 Jun 20 18:39 /root/data/oldboy.txt
-rw-r--r--. 1 root root 0 Jun 20 13:47 /root/data/right.txt
补充说明:管道后面的命令,不识别命令别名功能
[root@fu data]# ls -l
total 4
-rw-r--r--. 1 root root 20 Jun 20 21:17 test.txt
[root@fu data]# find ./ -type f -name "test.txt"
./test.txt
[root@fu data]# find ./ -type f -name "test.txt"|xargs rm
[root@fu data]# ll
total 0
第三种删除数据的方式:精确删除多个文件数据信息
第一里程:找出相应的文件数据
find 查找数据信息命令
find 在哪找东西 找的东西的类型 找的东西的名称
[root@fu ~]# find /root/data/ -type f -name "*.txt"
/root/data/oldboy.txt
/root/data/error.txt
/root/data/right.txt
第二里程: 将数据进行删除(``反引号 == $())
ps:一切皆文件
反引号作用: 在命令中嵌入一个命令
[root@fu ~]# which cat
/bin/cat
[root@fu ~]# /bin/cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@fu ~]# `which cat` /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@fu ~]# $(which cat) /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@fu ~]# ls -l $(find /root/data/ -type f -name "*.txt")
-rw-r--r--. 1 root root 34 Jun 20 13:47 /root/data/error.txt
-rw-r--r--. 1 root root 10 Jun 20 18:39 /root/data/oldboy.txt
-rw-r--r--. 1 root root 0 Jun 20 13:47 /root/data/right.txt