Linux常用命令需要掌握那些?
1、常见基础文件命令
2、日志的查询
3、进程的排查
4、权限的管理
5、资源的查看
6、基础网络命令
7、基础的服务管理
1、最基础的文件命令:
打印当前目录:pwd
查看当前目录内容:ls -a可以看到隐藏文件 -l 可以看到详情-权限/所属者/日期...
切换当前目录:cd ~是回到root,/ 回到根,.. 回退到上一级。
创建目录:mkdir -p 适合a/b/c,多层递归创建
创建文件:touch
修改文件内容:推荐vi/vim,且通过esc+insert操作。nano新手用的
删除:rm -r 遇到受保护的会交互,-rf 静默+强制删除。这俩都是递归删除。
复制:cp 旧位置 新位置
移动、改名:mv 旧名 新名
打印文件内容:cat 可以用>进行覆盖,>> 附加
分页查看:less,q 强制退出
2、日志查看命令:
查看文件前几行:head 默认10行,head -n 5 Log.log 开头五行。
查看文件末尾几行:tail
会随着文件持续输出新内容:tail -f 文件名称
按模式找匹配行:grep "...搜索内容..." 文件。grep -n(显示行数)/-i(忽略大小写)/-c(显示匹配行数) 。可以组合。
统计行数:wc -l 文件名字
管道:grep -i "error" Log.log | wc -l 查询行数
3、进程排查:
当前窗口进程的快照:ps
快照-进程PID关系:ps -ef Everyone Full (所有人的详细信息)
快照-进程内存/CPU:ps aux All User eXtra (所有用户的额外性能数据)。
实时关系图:top 只盯着进程 top -p <pid> 盯着进程下的多个线程top -H -p <pid>。 按P,CPU排序。按M,按内存排序
优雅杀死进程:kill <PID>
强制杀死进程:kill -9 <PID>
按名字批量删除:pkill 名字(模糊匹配,慎用)
4、权限命令
看权限:ls -l
(change mode/owner)
改权限位:rwx-4/2/1-读/改/执行 chmod 644 test.txt 代表owner/Group/Other - 所属者/同一个团队内的成员/其他人 他们分别的权力位:6/4/4
看我自己属于那个组:groups
改所属者:chown root:root test.txt 第一个root位所属者,第二个root位所在组。
文件和目录的权限有什么区别:r文件,是否可以读内容。目录,查看文件或目录列表 w 文件,改内容。目录,新增/删除文件本身,修改文件名 x 文件,可否执行。目录,可否进入。
5、资源查看
查看系统整体使用内存情况:free + -h 人类易读模式
查看磁盘分区整体使用情况:df(全拼disk free) -h 人类易读模式
查看目录所占磁盘:du(全拼disk usage) -h 人类易读模式 du -sh .(-s)代表递归汇总,否则回把所有文件直接列出。.代表所选中目录。
6、网络命令
看硬件:ip addr 看那些网卡活着,ip是多少
看地图:ip route 对外,包走那条路径。对内,发到那个部门,比如docker啊,还是其他。但是你不会知道发到那个具体的程序。
看业务:ss -lntp 看具体的映射,-l (Listening监听),-n (Numeric),-t (TCP协议),-p (Process)进程
测接口:telnet + ip + 端口
测联通性:ping,如ping 8.8.8.8
测服务可用性:curl,如curl https://baidu.com
7、服务管理
直接管理程序:systemctl start/stop/restart(重启)/enable(开机自动重启)
看该程序的日志:journalctl -u 选择查看的容器, -n 可以看日志行数