扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
ls命令是linux下最常用的命令之一,ls跟dos下的dir命令是一样的都是用来列出目录下的文件。\x0d\x0a1. ls -a 列出文件下所有的文件,包括以“.“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录)。\x0d\x0a2. ls -l 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。\x0d\x0a3. ls -F 在每一个文件的末尾加上一个字符说明该文件的类型。"@"表示符号链接、"|"表示FIFOS、"/"表示目录、"="表示套接字。\x0d\x0a4. ls -s 在每个文件的后面打印出文件的大小。 size(大小)\x0d\x0a5. ls -t 按时间进行文件的排序 Time(时间)\x0d\x0a6. ls -A 列出除了"."和".."以外的文件。\x0d\x0a7. ls -R 将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现\x0d\x0a8. ls -L 列出文件的链接名。Link(链接)\x0d\x0a9. ls -S 以文件的大小进行排序
成都创新互联是专业的温江网站建设公司,温江接单;提供网站设计、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行温江网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
Linux上查找最大文件的3种方法
第一种:ls
最简单的方法就是借助 ls 命令,因为 ls 命令本身输出是带文件大小信息的。
比如,我要列出 /data/log/ 目录中的20个最大文件,可以:
ls -lSh /data/log/ | head -20
第二种:find
find 本身就是查找命令,可以递归查找一个目录的子目录,所以用它是自然的。
比如,查找/etc目录下最大的5个文件:
find /etc -type f -printf “%s\t%p\n” | sort -n | tail -5 | xargs ls -Slh
查找当前用户名下最大的10个文件
find $HOME -type f -printf “%s\t%p\n” | sort -nr | head -10 | xargs ls -Slh
查询大于200M的文件
find / -type f -size +200M | xargs ls -Slh
查询100M和200M之间的文件
find / -type f -size +100M -size +200M | xargs ls -Slh
查询root目录下最大的5个文件
find /root -type f -exec ls -s {} ; | sort -n | tail -n5 | xargs ls -Slh
查询/目录下10天以前最大的5个文件
find / -type f -mtime +10 -printf “%s\t%p\n” | sort -n | tail -5 | xargs ls -Slh
第三种:du
du 命令可以查看磁盘空间的使用情况,自然也可以用来查看磁盘上占用空间较多的文件和文件夹。
查找/root下5个最大的文件
du -ah /root | sort -nr | head -n5
查找当前目录下最大的5个目录
du -ah | sort -nr | head -n5
查找根目录下最大目录/文件(包括子文件夹)
du -Sh / | sort -rh | head -n10
只看大小在 GB 范围内的所有文件
du -ah / | grep “[0-9]G\b”
涉及到的命令参数:
find:
-exec执行指令:假设find指令的回传值为True,就执行该指令;
-mtime n 查找系统中最后n天被改变文件数据的文件 +大于 -小于
-type 查找某一类型的文件
b -块设备文件;
c -字符设备文件;
d -目录;
p -管道文件;
f -普通文件;
l -符号链接文件;
s -socket文件;
-printf输出格式:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式可以自行指定;
sort:
-n 依照数值的大小排序;
-r 以相反的顺序来排序;
xargs:传递参数
ls -Slh
-Sl 从大到小显示详情
-Slr 从小到大显示详情
-h humans 以人类易读的方式显示(正常情况下显示为bit,加上-h后 显示的为KB MB GB TB等)
du:
-a 显示所有目录或文件的大小
-h 以K,M,G为单位,提高信息可读性
-S 显示目录的大小,但不含子目录大小
alias(中文称为“别名”)允许使用更加简短的名称来重新定义Linux中的Shell命令,从而简化命令行的输入。如果经常与CLI打交道,那么使用alias不仅会节省时间,而且也能提高效率,真是一举两得的好事。基本用法:alias的基本使用方法为:alias新的命令='原命令-选项/参数'。举例说明,aliasl=‘ls-lsh'将重新定义ls命令,现在只需输入l就可以列目录了。获知别名:直接输入alias命令会列出当前系统中所有已经定义的命令别名。删除别名:要删除一个别名,可以使用unalias命令,如unaliasl。上面的是网上看到的,这个方法只是暂时的,如果重启一次就失效了,如果我们想永久生效一个命令怎么呢?打开.bashrc(应该是ubuntu发行版的,其他发行版也许可以修改.bash_profile)可以看到……#somemorelsaliasesaliasll='ls-alF'aliasla='ls-A'aliasl='ls-CF'……方法1:直接在我们的环境变量文件中添加aliasxx='xxxxx'方法2:.bashrc中有一句话#Youmaywanttoputallyouradditionsintoaseparatefilelike#~/.bash_aliases,insteadofaddingthemheredirectly.就是说可以另外新建一个文件用于专门存放自己的alias信息例$cd$vi.bash_aliases在文件中输入自己想设置的命令aliasrm='rm-i'然后保存推出$source.bashrc#让我们的环境生效方法……小结:1.很多时候我们只注意了解决问题本身,但是往往忽略了其他的东西,在解决问题的过程中也是一个学习的机会,尤其不要忘了看软件源码之类的注释!突然发现这个非常重要,就是因为看了注释,我才发现了这个方法,而我本来的目的是想对我自己的环境变量进行设置修改,在解决环境变量的问题同时我又顺带解决了这个alias的问题,以后得牢记!!!2.在查找网上的解决方法的时候,经常发现别人有的文件本机没有,例如.bashrc和.bash_profile可能就是不同发行版上的,这个时候可以换个搜索方式,或者自己尝试……
h选项的意思是生成的结果有利于人看,也就是不是用默认的byte做单位,而是根据实际情况调整。
4K就是4k字节,就是目录的真实大小,linux系统中目录中保存的仅仅是文件的文件名和文件的inode号,相当于保存的是它里面文件的指针,所以系统会根据目录中文件名和inode的数量分配若干个block给目录,而block的大小一般就是4k,如果一个目录中文件名太多可能会分配2个或多个block给目录。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流