目录操作
移动 改名 批量改名,写脚本
mv [选项] … 源文件或目录… 目标文件或目录 单个文件
移动 或者改名
-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;
-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项);
-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;
-v:显示文件或目录的移动过程;
批量
rename log log.bak* //所有 log文件改成 log.bak
rename 旧字符 新字符 目标文件
[root@test1 opt]# rename txt txt.bak * #将txt改成txt.bak [root@test1 opt]# ls a.txt.bak E.txt.bak j.txt.bak N.txt.bak R.txt.bak w.txt.bak A.txt.bak f.txt.bak J.txt.bak o.txt.bak s.txt.bak W.txt.bak b.txt.bak F.txt.bak k.txt.bak O.txt.bak S.txt.bak x.txt.bak B.txt.bak g.txt.bak K.txt.bak p.txt.bak t.txt.bak X.txt.bak c.txt.bak G.txt.bak l.txt.bak P.txt.bak T.txt.bak y.txt.bak C.txt.bak h.txt.bak L.txt.bak q.txt.bak u.txt.bak Y.txt.bak d.txt.bak H.txt.bak m.txt.bak Q.txt.bak U.txt.bak z.txt.bak D.txt.bak i.txt.bak M.txt.bak rh v.txt.bak Z.txt.bak e.txt.bak I.txt.bak n.txt.bak r.txt.bak V.txt.bak
rename 旧字符 新字符 目标文件
[root@test1 opt]# rename txt txt.bak *.txt
#把 txt 改成 txt.bak
删除文件
rm [选项] 要删除的文件或目录
-f、强制
-i、交互
-r 递归(删除目录需要)
root@localhost ~]# rm -rf / #不让执行
[root@localhost ~]# echo * #删根后查看
[root@localhost ~]# rm -rf /data/*
[root@localhost ~]# rm -rf /data ##之间的区别误操作,等于删根
如何删除特殊的文件
[root@localhost ~]# touch ./-f
# -开头的文件
[root@localhost ~]# ls
[root@localhost ~]# rm -f -f
#删除不掉
[root@localhost ~]# rm -f ./-f
#需要加路径
[root@localhost ~]# touch ./-f
[root@localhost ~]# rm -- -f
rm:是否删除普通空文件 "-f"?y
删除文件后空间不释放: 有别人在使用 这个大文件 造成空间不释放
[root@localhost ~]# cp /dev/zero /boot/bigfile.img
cp: 写入"/boot/bigfile.img" 出错: 设备上没有空间
cp: 扩展"/boot/bigfile.img" 失败: 设备上没有空间
[root@localhost ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root 10475520 10293876 181644 99% /
devtmpfs 917600 0 917600 0% /dev
tmpfs 933524 0 933524 0% /dev/shm
tmpfs 933524 9216 924308 1% /run
tmpfs 933524 0 933524 0% /sys/fs/cgroup
/dev/sda1 5232640 5232620 20 100% /boot
tmpfs 186708 12 186696 1% /run/user/42
tmpfs 186708 0 186708 0% /run/user/0
#磁盘使用满了以后会造成服务的停止业务受影响,是一个重大的事故
[root@localhost ~]# ll -S /boot ##文件大小排序
总用量 5191344
-rw-r--r--. 1 root root 5171437568 8月 26 01:00 bigfile.img
-rw-------. 1 root root 69266920 8月 6 21:02 initramfs-0-rescue-869dbd607e5e4f758fa152ef2229f2b6.img
-rw-------. 1 root root 30802796 8月 6 21:03 initramfs-3.10.0-693.el7.x86_64.img
-rw-------. 1 root root 18808968 8月 6 21:06 initramfs-3.10.0-693.el7.x86_64kdump.img
-rw-r--r--. 1 root root 10182684 8月 6 21:02 initrd-plymouth.img
-rwxr-xr-x. 1 root root 5877760 8月 6 21:02 vmlinuz-0-rescue-869dbd607e5e4f758fa152ef2229f2b6
-rwxr-xr-x. 1 root root 5877760 8月 23 2017 vmlinuz-3.10.0-693.el7.x86_64
-rw-------. 1 root root 3228420 8月 23 2017 System.map-3.10.0-693.el7.x86_64
-rw-r--r--. 1 root root 293027 8月 23 2017 symvers-3.10.0-693.el7.x86_64.gz
-rw-r--r--. 1 root root 140894 8月 23 2017 config-3.10.0-693.el7.x86_64
drwx------. 5 root root 97 8月 6 21:03 grub2
drwxr-xr-x. 2 root root 27 8月 6 20:58 grub
drwxr-xr-x. 3 root root 17 8月 6 20:57 efi
#使用另一个xshell打开 bigfile文件 也是可以删除的,但是空间不会释放
#文件正在使用可以删除,
[root@localhost ~]# rm -rf /boot/bigfile.img
[root@localhost ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root 10475520 10293964 181556 99% /
devtmpfs 917600 0 917600 0% /dev
tmpfs 933524 0 933524 0% /dev/shm
tmpfs 933524 9216 924308 1% /run
tmpfs 933524 0 933524 0% /sys/fs/cgroup
/dev/sda1 5232640 5232620 20 100% /boot
tmpfs 186708 12 186696 1% /run/user/42
tmpfs 186708 0 186708 0% /run/user/0
[root@localhost ~]# lsof |grep delete
#过滤出被删除的文件list open file
pulseaudi 1671 gdm 6u REG 0,4 67108864 23475 /memfd:pulseaudio (deleted)
alsa-sink 1671 1674 gdm 6u REG 0,4 67108864 23475 /memfd:pulseaudio (deleted)
alsa-sour 1671 1677 gdm 6u REG 0,4 67108864 23475 /memfd:pulseaudio (deleted)
vim 7532 root 3r REG 8,1 5171437568 80 /boot/bigfile.img (deleted)
[root@localhost ~]# w
#查看谁在使用什么进程
01:09:59 up 8:49, 2 users, load average: 0.98, 0.57, 0.27
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.91.1 00:54 7.00s 0.12s 0.01s w
root pts/1 192.168.91.1 01:05 4:07 4:07 4:06 vim /boot/bigfile.img
#另一终端退出使用空间被释放
[root@localhost ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root 10475520 10293868 181652 99% /
devtmpfs 917600 0 917600 0% /dev
tmpfs 933524 0 933524 0% /dev/shm
tmpfs 933524 9216 924308 1% /run
tmpfs 933524 0 933524 0% /sys/fs/cgroup
/dev/sda1 5232640 182388 5050252 4% /boot
tmpfs 186708 12 186696 1% /run/user/42
tmpfs 186708 0 186708 0% /run/user/0
[root@localhost ~]# echo"" > /boot/bigfile.img
#写入空文件,依赖shell
[root@localhost ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root 10475520 10293892 181628 99% /
devtmpfs 917600 0 917600 0% /dev
tmpfs 933524 0 933524 0% /dev/shm
tmpfs 933524 9216 924308 1% /run
tmpfs 933524 0 933524 0% /sys/fs/cgroup
/dev/sda1 5232640 182388 5050252 4% /boot
tmpfs 186708 12 186696 1% /run/user/42
tmpfs 186708 0 186708 0% /run/user/0
[root@localhost ~]# rm -rf /boot/bigfile.img
#清空文件