1、创建空文件和刷新时间
touch命令可以用来创建空文件或刷新文件的时间
touch [OPTION]... FILE...
选项:
-a 仅改变atime和ctime -m 仅改变mtime和ctime -t [[CC]YY]MMDDhhmm[.ss] 指定atimet和mtime的时间戳 -c 如果文件不存在,则不予创建
示例:
[root@CentOS8 ~]# ll /etc/issue -rw-r--r--. 1 root root 23 Jan 2 2020 /etc/issue [root@CentOS8 ~]# touch /etc/issue [root@CentOS8 ~]# ll /etc/issue -rw-r--r--. 1 root root 23 Jan 21 19:39 /etc/issue [root@CentOS8 ~]# stat /etc/issue File: /etc/issue Size: 23 Blocks: 8 IO Block: 4096 regular file Device: 802h/2050d Inode: 134341451 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: system_u:object_r:etc_t:s0 Access: 2021-01-21 19:39:26.091042069 +0800 Modify: 2021-01-21 19:39:26.091042069 +0800 Change: 2021-01-21 19:39:26.091042069 +0800 Birth: - [root@CentOS8 data]# touch `date -d "-1 day" +%F_%T`.log [root@CentOS8 data]# ls 2021-01-20_19:43:40.log [root@CentOS8 data]# touch $(date -d "-1 year" +%F_%T).log [root@CentOS8 data]# ls 2020-01-21_19:44:17.log 2021-01-20_19:43:40.log
2、复制文件和目录
利用 cp(copy)命令可以实现文件或目录的复制
cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE...
选项:
-i 如果目标已存在,覆盖前提示是否覆盖。 -n 不覆盖,注意两者顺序。 -r,-R 递归复制目录及内部的所有内容 -a 归档,相当于-dR --preserv=all,常用于备份功能。 -d --no-dereference --preserv=links 不复制原文件,只复制链接名。 --preserv[ATTR_LIST] mode:权限 ownership:属主属组 timestamp: links xattr context all -p 等同--preserv=mode,ownership,timestamp -v --verbose 显示复制过程 -f --force 如果目标存在,并且不能打开,删除,重新覆盖。 -u --update 只复制源比目标更新文件或目标不存在的文件 -b 目标存在,覆盖前先备份,默认形式为filename~,只保留最近的一个备份。 --backup=numbered 目标存在,覆盖前先备份加数字后缀,形式为filename.~#~,可以保留多个版本。
[root@CentOS8 ~]# cp ~ou/issue2 /data/issue_ou.bak [root@CentOS8 ~]# ll ~ou/issue2 /data/issue_ou.bak -rw-r--r--. 1 root root 0 Jan 21 21:30 /data/issue_ou.bak -rw-rw-rw-. 1 ou ou 0 Jan 21 21:12 /home/ou/issue2 [root@CentOS8 ~]# cp -p ~ou/issue2 /data/issue_ou.bak2 [root@CentOS8 ~]# ll /data/ total 0 -rw-r--r--. 1 root root 0 Jan 21 19:44 2020-01-21_19:44:17.log -rw-r--r--. 1 root root 0 Jan 21 19:43 2021-01-20_19:43:40.log -rw-r--r--. 1 root root 0 Jan 21 21:30 issue_ou.bak -rw-rw-rw-. 1 ou ou 0 Jan 21 21:12 issue_ou.bak2 [root@CentOS8 ~]# cp /etc/sysconfig/ /data/ cp: -r not specified; omitting directory ‘/etc/sysconfig/‘ [root@CentOS8 ~]# cp -r /etc/sysconfig/ /data/ [root@CentOS8 ~]# ll /data/ total 4 -rw-r--r--. 1 root root 0 Jan 21 19:44 2020-01-21_19:44:17.log -rw-r--r--. 1 root root 0 Jan 21 19:43 2021-01-20_19:43:40.log -rw-r--r--. 1 root root 0 Jan 21 21:30 issue_ou.bak -rw-rw-rw-. 1 ou ou 0 Jan 21 21:12 issue_ou.bak2 drwxr-xr-x. 7 root root 4096 Jan 21 21:32 sysconfig [root@CentOS8 ~]# cp -b /etc/fstab /data/issue cp: overwrite ‘/data/issue‘? y [root@CentOS8 ~]# ll /data/ total 12 -rw-r--r--. 1 root root 0 Jan 21 19:44 2020-01-21_19:44:17.log -rw-r--r--. 1 root root 0 Jan 21 19:43 2021-01-20_19:43:40.log -rw-r--r--. 1 root root 709 Jan 21 22:11 issue -rw-r--r--. 1 root root 709 Jan 21 22:11 issue~ -rw-r--r--. 1 root root 0 Jan 21 21:30 issue_ou.bak -rw-rw-rw-. 1 ou ou 0 Jan 21 21:12 issue_ou.bak2 drwxr-xr-x. 7 root root 4096 Jan 21 21:32 sysconfig [root@CentOS8 ~]# cp --backup=numbered /etc/fstab /data/issue cp: overwrite ‘/data/issue‘? y [root@CentOS8 ~]# cp --backup=numbered /etc/fstab /data/issue cp: overwrite ‘/data/issue‘? y [root@CentOS8 ~]# ll /data/ total 20 -rw-r--r--. 1 root root 0 Jan 21 19:44 2020-01-21_19:44:17.log -rw-r--r--. 1 root root 0 Jan 21 19:43 2021-01-20_19:43:40.log -rw-r--r--. 1 root root 709 Jan 21 22:12 issue -rw-r--r--. 1 root root 709 Jan 21 22:11 issue~ -rw-r--r--. 1 root root 709 Jan 21 22:11 issue.~1~ -rw-r--r--. 1 root root 709 Jan 21 22:12 issue.~2~ -rw-r--r--. 1 root root 0 Jan 21 21:30 issue_ou.bak -rw-rw-rw-. 1 ou ou 0 Jan 21 21:12 issue_ou.bak2 drwxr-xr-x. 7 root root 4096 Jan 21 21:32 sysconfig
3、移动和重命名文件
mv命令可以实现文件或目录的移动和改名
同一分区移动数据,速度很快:数据的位置没有变化。
不同分区移动数据,速度相对慢:数据位置发生了变化。
mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE...
选项:
-i 交互式 -f 强制 -b 目标存在,覆盖前先备份
利用rename可以批量修改文件名
rename [options] <expression> <replacement> <file>...
4、删除文件
使用 rm 命令可以删除文件
rm [OPTION]... FILE...
选项:
-i 交互式 -f 强制删除 -r 递归 --no-preserve-root 删除/
删根示例:
[root@CentOS8 ~]# rm -rf / 不允许执行 rm: it is dangerous to operate recursively on ‘/‘ rm: use --no-preserve-root to override this failsafe [root@CentOS8 ~]# rm -rf /* 允许执行,危险行为!!
删除特殊文件
#将名为 “/data -f” 的文件删除 [root@CentOS8 data]# rm -f -f #此方式错误 [root@CentOS8 data]# rm -- -f [root@CentOS8 data]# rm ./-f [root@CentOS8 data]# rm /data/-f [root@CentOS8 data]# touch ‘~‘ [root@CentOS8 data]# ls ‘~‘ 2020-01-21_19:44:17.log 2021-01-20_19:43:40.log backup2021-01-21 -f issue issue~ issue.~1~ issue.~2~ issue_ou.bak issue_ou.bak2 rootdir sysconfig [root@CentOS8 data]# rm -f ~ rm: cannot remove ‘/root‘: Is a directory [root@CentOS8 data]# rm -- ~ rm: cannot remove ‘/root‘: Is a directory [root@CentOS8 data]# rm -f ./~ [root@CentOS8 data]# ls 2020-01-21_19:44:17.log 2021-01-20_19:43:40.log backup2021-01-21 -f issue issue~ issue.~1~ issue.~2~ issue_ou.bak issue_ou.bak2 rootdir sysconfig
rm虽然删除了文件,但被删除的文件仍然可能被恢复,在安全要求较高的场景下,可以使用shred安全删除文件。
shred格式
shred [OPTION]... FILE...
选项:
-z 最后一次覆盖添加0,以隐藏覆盖操作。 -v 能够显示操作进度 -u 覆盖后截断并删除文件 -n # 指定覆盖文件内容的次数(默认值是3次)
示例:
[root@CentOS8 ~]# shred -zvun 5 passwords.txt shred: passwords.txt: removing shred: passwords.txt: renamed to 0000000000000 shred: 0000000000000: renamed to 000000000000 shred: 000000000000: renamed to 00000000000 shred: 00000000000: renamed to 0000000000 shred: 0000000000: renamed to 000000000 shred: 000000000: renamed to 00000000 shred: 00000000: renamed to 0000000 shred: 0000000: renamed to 000000 shred: 000000: renamed to 00000 shred: 00000: renamed to 0000 shred: 0000: renamed to 000 shred: 000: renamed to 00 shred: 00: renamed to 0 shred: passwords.txt: removed [root@CentOS8 ~]# ls passwords.txt ls: cannot access ‘passwords.txt‘: No such file or directory
5、目录操作
选项:
-d 只显示目录 -L level 指定显示的层级数目 -P pattern 只显示由指定wild-card pattern匹配到的路径
5.2、创建目录mkdir
选项:
-p 存在于不报错,且可自动创建所需的各目录 -v 显示详细信息 -m MODE 创建目录时直接指定权限
5.3、删除空目录rmdir
-p 递归删除父空目录 -v 显示详细信息
注意:rmdir只能删除空目录,如果想删除非空目录,可以使用rm -r命令,递归删除目录树。