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 -efEveryone Full (所有人的详细信息)
快照-进程内存/CPU:ps auxAll 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、服务管理
直接管理程序:systemctlstart/stop/restart(重启)/enable(开机自动重启)
看该程序的日志:journalctl-u选择查看的容器,-n可以看日志行数