Linux命令2

目录:

1、复制文件或者目录-cp

2、rm删除

3、改名mv

4、找文件

  1-1:which

  2-1:find(重点)

  2-1-1:处理动作

5、系统信息

6、总结

复制文件或目录-cp

格式:
cp 想要复制的文件(/etc/abc) 复制的地方(/mnt/abc)可以改名也可以不改
选项:
-f 强制覆盖目标同名(为什么正常情况下会提醒,因为自带别名可以 alias cp查看)
-i 覆盖目标同名文件或目录时提醒用户确认
-p 复制时保持源文件的权限、属主及时间标记等属性不变(功能不够强大)
-a 完整保留所有的信息,更强大的保留属性,连链接文件也可以保留
-r 复制文件夹使用,同时复制文件夹下的文件(表示递归复制所有文件及子目录)
-u 差异备份(只对文件夹起作用)
//
0
0
//经过-a所属还是123,没有-a则变成了root
0
//
 
 
一次性复制多个文件,只能跟目录并且目录要存在,不能加名字
0
 
 
0
 
//第一次是将123文件拷贝到112目录并且改名7.bak
//第二次是将123复制到7.bak并且成为子目录
//第三次是因为已经存在7这个文件了
//幂等性
0
 
//只在源文件比目标文件新,或目标文件 不存在时才进行复制
 

rm删除

-f 强制删除
-r 递归删除 rm -fr /*
0
可以在文件夹里面删这个文件夹,删除后这个文件夹里面的内容消失,离开这个文件夹后,文件夹本身也没了
 
如果一些特殊名字的文件比如-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消失
0
 
除了rh其他全部移动到1.abc12文件夹中
 
rename 旧字符 新字符 目标文件
rename txt txt.bak * 将txt文件改成txt.bax文件
//rename可以批量改名但是只能相同格式的。建议写脚本
0
txt格式变成txt.txt
 

找文件

查找命令/文件存放目录-which(echo $PATH)
which ls
 
查找文件或者目录-find
特点:采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
格式:
find [查找范围] [查找条件表达式] [处理动作]
处理动作:对符合条件的文件做操作,默认输出至屏幕(print)
常用查找条件类型:
按名称查找 -name 根据目标文件的名称进行查找,允许使用"*"和"?"( iname不区分大小写)通配符(通配符记得加“”)
0
按大小查找 -size 根据目标文件的
大小进行查找,"+"和"-"设置超过或者小于指定的大小为条件
常用的容量包括k(k是小写)、M、G
-size [+/-] 单位 find -size 1k
 
0
按文件属主查找 -user 根据文件是否属于目标用户进行查找
按照文件类型查找 -type 根据文件类型进行查找(文件类型包括f普通文件、目录d、块设备文件b字符......
按inode -inum 根据文件inode号查找
最大搜索目录深度 -maxdepth 数字 将你的文件已分级的形式查找
按照权限查找 -mindepth 数字 同上
0
-nouser #查找没有属主的文件
-nogroup #查找没有属组的文件
-name "文件名称" #支持使用glob,如:*, ?, [], [^],通配符要加双引号引起来
-inum n #按inode号查找
-links n   #链接数为n的文件
 
1G 和1024M 区别:无视大小写,1g-1=0所以是0-1g的范围,1024-1=1023,所以是1023-1024M
0
0
↑不写范围是默认当前文件夹 不写查找条件是默认全部显示
find默认是先文件夹后文件
//或与且的优先级
o or a and
find /etc -maxdepth 2 查找最高第二层的文件
-mindepth 3
0
 
\\文本三剑客:awk、sed、grep
处理动作:
-delete 删除查找到的文件
-ok COMMAND {} \; 对查找到的每一个文件执行由COMMAND指定的命令对于每个文件执行命令之前,都会交互式要求用户确认
-exec COMMAND {} \; 对查找到的每一个文件执行由COMMAND指定的命令
 
-atime [+|-]#
find -atime +3
#表示[#,#+1)
+# #表示[#+1,∞]
-# #表示[0,#)
补充:
locate 查找是根据linux里面的数据库,但是数据库是过一段时间更新,所以刚刚创建的要等会才能找到(locate 文件名)locate查找速度很快,常用来查找常年不变的文件。如果没有更新可以手动 updatedb 但是很耗硬件资源,别乱用

 

 

系统信息:

lsblk 看硬盘
df -h 磁盘空余容量(h是人性化)
cat /etc/redhat-release 查看系统版本
lscpou 看CPU
free 看内存
arch 看机器架构 x86
 

总结:

cp
cp 源文件/目录 目标文件或者目录
-i 提示覆盖同名文件
-f 强制覆盖不提示
-a 强力保留权限
-p 只保留一部分
-u 选择掌握 备份差异
 
rm
rm -rf 文件或目录
-r 递归删除
-f 强制删除
系统删不掉:1、有其他用户正在使用→echo "1" > 大文件
 
mv 移动或改名
mv 源文件 目标文件 如果路径一致→改名 如果不一致→移动
 
rename 选择掌握
 
locate
通过数据库去找文件,速度快,但是不即时(使用updatedb,但是慎用)
 
which 命令
 
find
-name 名字查找 可以使用通配符(记得加上"")
-size 大小 范围 kB M G 在没有加减的时候写的单位越小越好
-user 根据文件的主人
-type 文件类型-f普通 -d目录 -s套接字 -l链接 -p管道 -c字符 -b块设备
-maxdepth 最大层次
-mindepth 最小层次
-mtime 时间 +3 第四天 到 正无穷 -3 是0-2 3是第三天
-nouser 无主用户 用户被删除
-inum inode号
-empty 空文件
 
find的处理动作
-ls 长格式
-delete 删除
-ok 执行一次询问一次
-exec 直接的不要询问
 
总结
1、熟记cp及选项
2、会用rm和mv,rm使用务必小心
3、寻找文件的重点是find
posted @ 2022-09-20 19:13  七分人格  阅读(40)  评论(0编辑  收藏  举报