Linux知识整理四:常用命令(长期更新贴)

总结整理下过往用得多的Linux命令吧,其实也可以说是一些工具,比如两个Linux主机传文件,就常用rsync,查找文件用find,给文件打包用tar,查看进程用ps\pstree,然后磁盘扩容的时候用lvm相关的好几个命令(fdisk\lvcreate\vgextend\pvcreate\xfs_grows等等),还有yum开头的一系列命令,然后还配置yum源等,再还有查看系统日志,配置用户组文件文件夹权限的命令。貌似越想就越多,但是大概只记得命令是哪一个,而命令之后接的那些-开头的选项就模糊了,看来还是有必要系统整理记录。

1. find命令
这个命令以前经常在面试时被问起,命令作用其实类似于Windows的文件管理器中的搜索功能,搜索可以按某些类别来进行。不过命令还能对搜索到的文件,执行某些操作比如删除操作。命令语法如下:
find path -option [ -print ] [ -exec -ok command ] {} \;
意思就是查找某路径path下的文件,-option决定是怎样的选项是查找某路径下文件名或者文件大小怎样的文件。-print指打印出找到的文件,[ -exec -ok command ] {} 是指对搜索到的内容执行什么操作{}代指搜索到的内容,\;表示结束。所以这样一条完整的find命令,可以用三段来介绍,path,-option, [ -exec -ok command ]

path,可以用 . 代指当前目录及其子目录,/ 代指根目录及其子目录。如果path为空,则默认使用当前路径。

-option, 指一些用来查找文件的搜索选项,比如以文件名来搜索-name,以文件所属主来搜索-user,以文件大小来搜索-size,如下列举常用的来记录和测试。

  1. 查找根目录下的txt文件(-name选项能做到)
    find / -name ".txt"*
  2. 根据文件大小来查找,比如文件大于4450字节的文件,并显示文件详细信息
    find / -name ".txt" -size +4450c -exec ls -l {} ;*
    image.png

    3.服务器磁盘满,一般由大的日志文件导致,需找到大文件并删除。
    find / -size +500M -print0|xargs -0 du -m|sort -nr
    (find指令为找出500M以上的文件,print0和xargs -0配合使用,用来解决文件名中有空格或特殊字符问题。du -m是查看这些文件的大小,并以m为单位显示。最后sort -nr是按照数字反向排序,大的文件在前)
    4.根据文件的创建时间来查找-atime/-ctime -n,分别是指过去n天内被读取的文件或者n天内被修改的文件
    find /tmp -atime -2
    find /tmp -ctime -2
    5.根据文件的类型来查找,-type -c (c : 文件类型是 c 的文件,d: 目录,c: 字型装置文件,b: 区块装置文件,p: 具名贮列,f: 一般文件,l: 符号连结,s: socket)
    find /tmp -type d
    image.png

    6.按照文件的读写权限来查找,比如-perm 644,查找权限为rw-r--r--的文件,值得注意的是需要加-type f\d,来配合查找。
    find /tmp -type f -perm 755
    image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容