作为面试官,在面试应聘者的时候,经常考linux的基本命令。毕竟,被招进来的人,必须要有很好的基本功,能够干活。通常,linux命令是我的必修课,这是应试第一关,也是老板要求的。如果你不会常用的命令,我想应聘者可能接触linux服务器很少(因为从面试官的反馈来看,有些人会告诉我,平时这些都是运维操作的,我没有作为业务发展非常重视),那么基本上这样的面试官可能给我的面试印象就大打折扣了。记得之前有一道这样的面试题,目的是考linux的基本功。题目大意是:在运维过程中,如果收到服务器磁盘告警,应该怎么办?(如何找出哪个目录占用磁盘空间大,或者如何找出前几个目录或文件占用磁盘空间大?)其实能完美回答这个问题的考生比较少.是的,也有答案,但如果继续追问,答案是模棱两可的。我对我的回答不再有信心了。接下来我简单说一下作为面试官(或者我自己)一般希望听到什么样的回答。首先,我想听听df命令的答案。一般我会先用df-h查看linux服务器文件系统的磁盘空间(分区/设备文件路径)占用的整体情况,方便知道是哪个设备目录磁盘不足。[root@xxx/tmp]#df-hfilesystemcapacityusedavailable%mountpointdevxxx16G016G0%/devxxx16G24K16G1%/dev/shmxxx16G266M16G2%/runxxx16G016G0%/sys/fs/xxxx/dev/vda199G28G67G30%//dev/vdb1493G393G75G85%/dataxxx3.1G03.1G0%/run/user/0ip:/eeex.0PxTx.xP6%/mnt/yyy/ddd从上图中的(Used%)一栏可以看出,/data目录占了85%,是used占比最大的。当磁盘告警时,一些公司的告警策略会告诉运维人员,哪个文件系统超过了百分比(80%或90%,取决于告警阈值的设置),需要处理。如果不告诉是哪个文件系统路径,必须先用df-h查看。其次,在第二层,我想听到的是du命令的回答。当我知道哪个文件系统的比例高,需要处理(删除)文件后,我需要知道在哪个目录下删除哪些文件。这时候我一定要找到在这个文件系统目录中,哪个目录所占的比例最大呢?这样,删除大文件后,磁盘告警可以快速解决。[root@job1/data]#du-sh./*|排序-hr|head-n10183G./tmp93G./tmp_ddd71G./logs35G./aaa14G./home51M./bbb3.1M./ccc20K./ddd16K./eee8.0K./fff是我平时喜欢用的du命令。也许他无法找出哪个文件更大,但它足够快速和直观。不同开发者使用的命令可能略有不同,但一般常用的参数都是差不多的。有-ah、-sh、max-depth,都是类似的。我习惯了上面代码中的命令。速度快,不需要递归。如果你想继续搜索,你可以继续使用它的命令。简单介绍一下上面命令的含义:du:-sor--summarize只显示总的-hor--human-readable以K,M,G为单位提高信息的可读性sort:-h:byfilesize升序排序-hr:按照文件大小倒序排列,-r表示倒序head:-n10:取结果集的前十位#如果要取结果集的后十位,你可以使用tail-n10专注于Web开发,后台开发,欢迎关注交流
