目录:
复制文件或目录-cp
格式: cp 想要复制的文件(/etc/abc) 复制的地方(/mnt/abc)可以改名也可以不改 选项: -f 强制覆盖目标同名(为什么正常情况下会提醒,因为自带别名可以 alias cp查看) -i 覆盖目标同名文件或目录时提醒用户确认 -p 复制时保持源文件的权限、属主及时间标记等属性不变(功能不够强大) -a 完整保留所有的信息,更强大的保留属性,连链接文件也可以保留 -r 复制文件夹使用,同时复制文件夹下的文件(表示递归复制所有文件及子目录) -u 差异备份(只对文件夹起作用) // //经过-a所属还是123,没有-a则变成了root // 一次性复制多个文件,只能跟目录并且目录要存在,不能加名字 //第一次是将123文件拷贝到112目录并且改名7.bak //第二次是将123复制到7.bak并且成为子目录 //第三次是因为已经存在7这个文件了 //幂等性 //只在源文件比目标文件新,或目标文件 不存在时才进行复制rm删除
-f 强制删除 -r 递归删除 rm -fr /* 可以在文件夹里面删这个文件夹,删除后这个文件夹里面的内容消失,离开这个文件夹后,文件夹本身也没了 如果一些特殊名字的文件比如-f无法删除,可以在前面加上路径 [root@localhost ~]# touch ./-a -开头的文件 [root@localhost ~]# ls [root@localhost ~]# rm -f -a #删除不掉 [root@localhost ~]# rm -f ./-a #需要加路径 [root@localhost ~]# touch ./-a [root@localhost ~]# rm -- -a rm:是否删除普通空文件 "-a“?y 面试题: 空间满了:加盘(但是满) 为了快速解决:删除没有用处的大文件 删除没有释放空间为什么:有别的用户在使用→1、杀死正在使用文件的进程 2、使用echo “1” >删除的文件名 将1导入删除文件名(相当于完全覆盖了内容) 经验: 建完1个服务器你先建一些没有用的文件放在那里 ls of |wc -l(ls of是显示正在打开的文件,wc-l统计有多少行。|管道符的意思是wc -l使用ls of的成果) df -h(看磁盘用量) 管道符 | 将 前一个命令的结果 当做 对象 传递给下一个命令 grep 过滤你想要的字符改名mv
格式: mv 源文件/目录 名字(改名只能1个1个的改) 移动或者改名 有2和3.txt文件,输入mv 3.txt 2.txt, 3名字变成了2,并且原本的2.txt消失 除了rh其他全部移动到1.abc12文件夹中 rename 旧字符 新字符 目标文件 rename txt txt.bak * 将txt文件改成txt.bax文件 //rename可以批量改名但是只能相同格式的。建议写脚本 txt格式变成txt.txt找文件
查找命令/文件存放目录-which(echo $PATH)
which ls查找文件或者目录-find
特点:采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找 格式: find [查找范围] [查找条件表达式] [处理动作] 处理动作:对符合条件的文件做操作,默认输出至屏幕(print) 常用查找条件类型: 按名称查找 -name 根据目标文件的名称进行查找,允许使用"*"和"?"( iname不区分大小写)通配符(通配符记得加“”) 按大小查找 -size 根据目标文件的 大小进行查找,"+"和"-"设置超过或者小于指定的大小为条件 常用的容量包括k(k是小写)、M、G -size [+/-] 单位 find -size 1k 按文件属主查找 -user 根据文件是否属于目标用户进行查找 按照文件类型查找 -type 根据文件类型进行查找(文件类型包括f普通文件、目录d、块设备文件b字符...... 按inode -inum 根据文件inode号查找 最大搜索目录深度 -maxdepth 数字 将你的文件已分级的形式查找 按照权限查找 -mindepth 数字 同上 -nouser #查找没有属主的文件 -nogroup #查找没有属组的文件 -name "文件名称" #支持使用glob,如:*, ?, [], [^],通配符要加双引号引起来 -inum n #按inode号查找 -links n #链接数为n的文件 1G 和1024M 区别:无视大小写,1g-1=0所以是0-1g的范围,1024-1=1023,所以是1023-1024M ↑不写范围是默认当前文件夹 不写查找条件是默认全部显示 find默认是先文件夹后文件 //或与且的优先级 o or a and find /etc -maxdepth 2 查找最高第二层的文件 -mindepth 3 \\文本三剑客:awk、sed、grep处理动作:
-delete 删除查找到的文件 -ok COMMAND {} \; 对查找到的每一个文件执行由COMMAND指定的命令对于每个文件执行命令之前,都会交互式要求用户确认 -exec COMMAND {} \; 对查找到的每一个文件执行由COMMAND指定的命令 -atime [+|-]# find -atime +3 #表示[#,#+1) +# #表示[#+1,∞] -# #表示[0,#) 补充: locate 查找是根据linux里面的数据库,但是数据库是过一段时间更新,所以刚刚创建的要等会才能找到(locate 文件名)locate查找速度很快,常用来查找常年不变的文件。如果没有更新可以手动 updatedb 但是很耗硬件资源,别乱用