目录
1、cp(copy)备份
格式:cp [选项]… 源文件 目标 相当于改名复制
cp [选项]... 源文件... 文件夹 多个源文件只能复制到文件夹
如果对同一个文件连续复制三次,第一次复制 改名;第二次复制 将文件变成改名后的子目录,第三次复制 覆盖了,问是否覆盖
选项 | 说明 |
---|---|
-i | 覆盖目标同名文件或目录时提醒用户确认 |
-f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
-p | 复制时保持源文件的权限、属主及时间标记等属性不变(如果复制的是链接,-p不保留链接属性) |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
-a | 完整保留所有的信息(如果复制的是链接,-a保留链接属性) |
-v | 可视化 |
-u | 相当于增备,差异备份 |
-b | 先备份(只保留最近) |
(1)cp [选项]… 源文件 目标
(2)cp -i :为覆盖目标同名文件或目录时提醒用户确认
(3)cp -f :覆盖目标同名文件或目录时不进行提醒,直接强制复制
新版本的xshell将cp设置为cp -i的别名,cp -i为覆盖目标同名文件或目录时提醒用户确认
(4) cp -r:复制目录时必须使用此选项,表示递归复制所有文件及子目录
不适用 -r不会复制成功
(5)cp -p :复制时保持源文件的权限、属主及时间标记等属性不变
(6)cp -a:完整保留所有的信息
2、rm
2.1格式
格式:rm [选项] 要删除的文件或目录
-f | 强制 |
-i | 交互 |
-r | 递归(删除目录需要) |
(1)rm -f:强制删除
rm -i:交互删除
(2)rm -r:递归删除
(3)删除特殊文件
2.2删除文件后空间不释放
删除文件后,如果磁盘空间没有释放,是因为文件有别人在使用这个正在删除的大文件,造成空间不释放, 别人退出使用该文件后空间会被释放
2.2.1使用w或lsof命令查看是否有人在使用该文件
2.2.2有人使用文件想要删除的3种办法
- 将被打开的文件变成空文件,依赖shell环境
echo " " > 目标文件
- 导入空文件
cat /dev/null > 目标文件
- 查看被删除的文件和对应PID后杀死进程
lsof | grep f1.txt
kill -9 PID
3、mv (移动)
格式:mv [选项] … 源文件或目录… 目标文件或目录 单个文件
将指定的文件或目录转移位置
如果目标位置与源文件位置相同,则相当于执行重命名操作
-f | 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖 |
-n | 如果目标文件已经存在,则不会覆盖移动,而且不询问用户 |
-i | 交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项) |
-v | 显示文件或目录的移动过程 |
(1)mv -i
(2)mv -f
(3)mv -n
(4)mv -v
4、批量改名
- rename
格式:rename 旧字符 新字符 目标文件
- 写脚本
5、which
查找命令、文件存放目录,搜索范围由环境变量PATH决定
格式:which[-a] 命令 /程序名
6、find
采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
格式:find [option]..... [查找路径围] [查找条件表达式] [处理动作]
查找路径:指定具体目标路径;不指定时默认为当前目录
查找条件:可以对文件名、大小、类型、权限等标准进行查找;默认为找出指定路径下的所有文件
处理动作:对符合条件的文件做操作,默认输出至屏幕(print)
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用“*” “?” 通配符 |
按文件大小查找 | -size | 根据目标文件的大小进行查找 一般使用“+”(大于)、“-”(小于)号设置超过或小于指定的大小作为查找条件常用的容量单位包括 kB(注意 k 是小写)、MB、GB |
按文件属主查找 | -user (无主 nouser) | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)套接字文件socket(s)等 |
按inode号查找 | -inum | 根据inode号查找 |
最大搜索目录深度 | -maxdepth level | 将文件已分级的形式查找 |
最小搜索目录深度 | -mindepth level | 将文件已分级的形式查找 |
各表达式之间使用逻辑运算符 -a的优先级高
“-a”表示 而且(and)
“-o”表示 或者(or)
(1)按名称查找
查找etc目录下以p开头的文件,以及名为passwd文件
(2)按文件大小查找
查找etc目录下大于1M的文件
linux中的100M不是正好100M 是99开始不包括99到100(99-100]
1024M 和 1G 的区别
1024M 代表 1023M - 1024M 不包括1023
1G 表示 0G -1G 不包括0G
-size 10k 表示9k 到10k 且不包括9k (9-10]
-size -10k 表示9k 以内 包括9k [9-10)
-size +10k 表示10k 以上 不包括 10k
(3)按文件属主查找
(4)按文件类型查找
(5)按照目录深度查找
查找etc目录下的第二层目录
(6)查找etc目录下的大于600k及(或)以ces结尾的文件
(6)寻找之后执行操作
-ok COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会交互式要求用户确认
find -name "*.txt" -ok mv {} /mnt \;
-delete :删除操作
-exec COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令 {}: 用于引用查找到的文件名称自身
find -name "*.txt" -exec mv {} /mnt \;
(7)时间
find -mtime 10 10天到11天
find -mtime +10 11天以上
find -mtime -10 10天以内
7、硬件信息及其他系统信息
7.1 查看CPU
- lscpu命令可以查看cpu信息
- cat /proc/cpuinfo也可看查看到
7.2查看内存大小
- free查看内存大小
-
cat /proc/meminfo 查看内存大小
7.3查看硬盘和分区的情况
- lsblk查看
- cat /proc/partitions查看
7.4查看机器架构
7.5查看内核版本
7.6系统时间
-d | 显示指定字符串所描述的时间,而非当前时间 |
%F | 完整日期格式,等价于 %Y-%m-%d |
% T | 时间(24小时制)(hh:mm:ss) |
(1) date +%F
(2)指定时间 -d