对于不熟悉Linux的用户来说,用到一个命令查一个效率实在是太低了。而日常遇到问题再现学现卖恐怕困难也不小,这次总结几个经常露脸的命令,拿来日常定位问题,不求甚解,拿来即用。
常用快捷键
Tab: 命令补全/路径补全/文件名补全,一次tab是补全,两次tab,列出相关信息。
Ctrl+C: 强制结束当前的进程。干了一半不想干了想反悔就Ctrl+C。
Ctrl+D: 发送一个exit信号,每次当我们有“退出”的意思的时候,就可以使用这个。比如SSH登录到另一个机器,想退出就Ctrl+D。
Ctrl+A: 移动到命令行首。
Ctrl+E: 移动到命令行尾。
Ctrl+U :从当前光标所在位置向前清除命令。
Ctrl+W: 从当前光标所在位置向前清除一个单词。
上下箭头: 上下翻看命令的输入记录,如果历史记录太多翻起来太慢,就用history显示出来然后再复制粘贴。
文件操作
查找文件
find 命令用来查找文件。比如不记得maven放在哪个目录了,可以用以下命令查找。
查看文件内容
less 翻页查看文件,后接要查看的文件名,空格往下翻页,q键退出。less功能很强大,记住这两个就可以用了。示例:
less error.log
cat 查看文件的全部内容,后接要查看的文件名,一般用于看小文件,太大的文件就用less。
header 查看文件的前几行。与之对应的是tail 查看文件的后几行。tail -f 可以用来监控文件,文件有变动的时候就跟着显示出来。示例:
header -50 error.log 查看日志文件前50行 tail -10 error.log 查看日志文件后10行 tail -f error.log 不停的盯着日志文件看,有新消息随时输出。
当然仅仅是能看到内容有时候效率太低了,一般都配合grep命令进行过滤检索。示例:
查找test.log文件中是否包含error关键字,以判断程序是否有错误。 cat test.log | grep error grep error test.log
复制文件
cpcopy files,文件拷贝操作,它还可以把多个文件一次性地复制到一个目录下。不介绍文件移动或删除命令了,在做系统运维的时候,少用mv或rm,做之前先备份。示例:
cp test.log /var/log/test_bak.log
系统监控
查看端口占用情况
查看80端口是否已经打开
netstat -anp | grep -w 80
查看进程
ps(process)查看进程运行情况。比如查看atom相关的进程。
ps aux | grep atom
结束进程
kill -9 pid 暴力结束进程。一般能正常结束的进程都正常结束了,就用不到kill命令了。
查看磁盘占用
df 显示磁盘空间使用情况。获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
du 可具体到某个文件夹的占用情况。一般用到的都是以下这两个命令:
df -ah 查看磁盘已用和剩余空间 du -ah /dirname 查看某个目录占用空间
Linux下man帮助
有命令不明白其中意思的时候,man是最有用的帮助,比如不知道cp命令如何使用,直接man cp就能看到详细解释。
另外,记不清具体命令的时候,可以通过man -k 关键字查找。比如不记得df命令了,但是我知道磁盘的意思的disk,所以 man -k disk,列出了很多个命令,根据各个命令描述过一下,差不多就能找到。