在充满新工具和多样化开发环境的世界中,任何开发人员或工程师都必须学习一些基本的系统管理命令,以下这 20 个基本的系统管理命令可以帮助开发人员排除故障、优化应用程序、提供重要的系统信息等,是每个程序员都必须了解的基础管理命令。
curl
curl 可以用来测试某个 URL 或者某个服务是否可以正常工作。比如,使用如下命令来测试当前数据库是否可以正常联通:
看起来一切都工作正常,但是如果出现下面这种情况,那么你就清楚当前数据库是因为域名解析的错误而导致的连接错误:
python -m json.tool / jq
从服务器返回的一串数据信息,往往很难阅读。如果服务器返回的是 JSON 数据,那么可以借助下面这个命令格式化 JSON 串,让它更易阅读:
更为高级的格式化工具也可以安装使用 jq 这个命令。
ls
ls 可以显示当前目录中的所有文件,查看当前文件的权限等信息:
tail
tail 可以显示文件末尾部分的信息,例如查看最新的日志等。加上 -f 这个参数,可以实时地查看日志信息:
另外也可以使用 -n 这个参数,用来查看文件末尾 100 行的信息:
cat
cat 用来连接和打印文件,可以使用这个命令快速查看文件内容:
grep
grep 命令可以让你在一堆文件中搜索特定的字符串:
ps
ps 命令可以显示当前系统的进程状态:
env
env 命令可以让你设置或者读取系统环境变量。因为启动不起来的时候,很有可能是因为这个环境变量设置的问题:
top
top 命令可以按照顺序列出当前内存和 CPU 占用都比较高的进程,可以帮助你检查当前应用的运行状态是否符合预期值:
netstat
使用 netstat 命令可以列出当前系统的所有网络的状态信息:
ip address
这个命令可以查看所有网卡当前的 IP 地址:
lsof
这个命令可以列出当前系统所有打开的文件描述符。在 Linux 中,基本上和系统的所有交互操作,都被视作是一次文件访问。你可以使用 netstat 查看当前哪个进程监听在 80 端口,或者查看当前进程打开了哪些文件:
df
使用这个命令查看当前系统各个盘的磁盘使用率:
du
如果想具体的查看某个目录下的各个文件的大小,那么可以使用 du 命令:
id
这个命令可以打印实际和有效的用户 UID 和组 GID。一些程序可能需要特定的 UID 和 GID 才能运行。
chmod
运行某个程序的时候,系统可能会提示你没有权限。使用 chmod 命令给它增加一个权限,就可以正常运行了:
dig / nslookup
这两个命令可以查看某个 URL 是否可以正确被 DNS 解析:
iptables
iptables 可以允许或者禁止某些端口的流量是否通过,就像一个防火墙似的:
sestatus
这个命令可以查看当前 SELinux 的状态和其它信息。SELinux 就是 Security Enhanced Linux 的缩写,该命令可以控制应用程序可以访问的资源等,避免资源被滥用。
history
history 命令可以显示你执行过的命令的历史记录。
领取专属 10元无门槛券
私享最新 技术干货