Linux高级指令

本文详细介绍了Linux系统中常用的管理与监控命令,包括hostname、id、whoami、ps-ef、top、du-sh、find、service、kill/killall、ifconfig、reboot、shutdown、uptime、uname、netstat-tnlp和man等,涵盖了进程管理、系统信息查看、网络配置、服务控制等多个方面,帮助读者深入理解Linux系统的操作和维护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hostname

作用:操作服务器的主机名读取、设置),一般不用于“设置”,因为通过hostname设置的主机名重启之后就失效了。

#hostname          表示输出完整的主机名
#hostname -f       表示输出当前主机名中的FQDN(全限定域名)

id

作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…),该指令如果不指定用户则默认当前用户。

#id
#id 用户名

如何验证信息是否正确:

  1. 验证用户信息:通过文件/etc/passwd
  2. 验证用户组信息:通过文件/etc/group
    在这里插入图片描述

whoami

作用:显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志

#whoami

ps -ef

作用:主要是查看服务器的进程信息
选项含义:

  • -e:等价于-A,表示列出全部的进程
  • -f:显示全部的列(显示全字段)
    若只调用ps,不添加选项,则只展示当前终端的进程信息。
    在这里插入图片描述
#ps -ef

在这里插入图片描述
字段解释:

  • UID:执行该进程的用户id;
  • PID:进程id;
  • PPID:该进程的父进程id,如果一个程序的父进程找不到,则该程序的进程称之为僵尸进程;
  • C:CPU的占用率,其形式是百分比;
  • STIME:进程的启动时间;
  • TTY:终端设备,发起该进程的设备识别符号,如果显示?,则表示该进程并不是由终端设备发起;
  • TIME:进程的执行时间;
  • CMD:该进程的名称或者对应的路径。

使用案例:在ps的结果中过滤出指定的进程状态(实现查找功能)

#ps -ef | grep 进程名称


图中第一行即为查找结果,由图可知查找结果至少有一个(当查找进程不存在时)。

top

作用:查看服务器的进程所占资源。

#top

该指令是动态显示的,通过q键退出。
在这里插入图片描述

  • PID:进程id;
  • USER:该进程对应的用户;
  • PR:优先级;
  • VIRT:虚拟内存;
  • RES:常驻内存;
  • SHR:共享内存;
  • S:表示进程的状态(sleeping),其中S表示睡眠,R表示运行。
  • %CPU:表示CPU的占用百分比;
  • %MEM:表示内存的占用百分比;
  • TIME+:执行的时间;
  • COMMAND:进程的名称或者路径。

注:
假设进程A正在运行:
虚拟内存:申请500MB,实际使用了320MB,此时的虚拟内存就是500MB;
常驻内存:申请500MB,实际使用了320MB,此时的虚拟内存就是320MB;
共享内存:申请500MB,实际使用了320MB,但其中包含的其他事进程的调用开销需要扣除(因为其他进程也用了,不能只算在进程A的头上)
因此,计算一个进程的实际使用内存 = 常驻内存(RES) - 共享内存(SHR)

在运行top的过程中,可以使用快捷键:

  • M:表示将结果按照内存(MEM)降序排列;
  • P:表示将结果按照CPU使用率降序排列;
  • 1:当服务器拥有多个CPU时,可以使用1快捷键来切换是否显示各个CPU的详细信息。

最重要的是MP快捷键,能够快速的找出消耗最大的进程。

du -sh

作用:查看目录的真实大小

#du -sh 目录路径

选项含义:

  • -s:summaries,只显示汇总大小
  • -h:表示以较高可读性的形式进行显示

find

作用:用于查找文件

#find 路径范围 选项 选项的值

选项:

  • -name:按照文档名称进行搜索(支持模糊搜索)
  • -type:按照文件类型进行搜索

文档类型:“-”表示文件(在使用find的时候需要用f来替换),“d”表示文件夹。

  1. 将当前目录及其子目录下所有文件后缀为 .txt 的文件列出来:
#find 路径 -name "*.txt"

在这里插入图片描述
2. 将当前目录及其子目录中的所有文件列出:

# find 路径 -type f
  1. 将当前目录及其子目录中的所有文件夹列出:
# find 路径 -type d

service

作用:用于控制一些软件的服务启动/停止/重启

#service 服务名 start/stop/restart

例如:需要启动本机安装的Apache(网站服务器软件),其服务名为httpd。

#service httpd start

通过ps命令来检查httpd服务是否启动:
在这里插入图片描述
注:可通过如下命令安装Apache

yum install httpd

也可以通过如下命令进行服务的启动/停止/重启:

systemctl start/stop/restart httpd.service

kill/killall

作用:表示杀死进程(当遇到僵尸进程或者出于某些原因需要关闭进程的时候)

#kill 进程PID      (语法需要配合ps一起使用)

在这里插入图片描述
可以通过两种方式验证进程有没有被杀死:
在这里插入图片描述
可以直接使用进程名称:

#killall 进程名称

ifconfig

作用:用于操作网卡相关的命令

#ifconfig    (获取网卡信息)

在这里插入图片描述

eth表示Linux的一个网卡,ens33是其名称;lo是本地回还网卡,其IP地址一般都是127.0.0.1,也是一个网卡名称。
注意:inet就是网卡的IP地址

reboot

作用:重新启动计算机
boot目录:存储操作系统启动的时候产生的一些文件

#reboot       重启
#reboot -w    模拟重启,但是不重启(没什么效果,只写关机与开机的日志信息,主要用于测试)

shutdown

作用:关机

#shutdown -h now "关机提示"
#shutdown -h 时间(eg:12:00) "关机提示"

其中“关机提示”可写可不写。
在这里插入图片描述
如果想要取消关机计划,则可以按照以下方式去尝试:

  • 针对于centos7.x之前的版本:ctrl+c
  • 针对于centos7.x(包含)之后的版本:shutdown -c

除了shutdown关机以外,还有以下几个关机命令:

#init 0
#halt
#poweroff

uptime

作用:输出计算机的持续在线时间(计算机从开机到现在运行的时间)

#uptime

注:“挂起”时间不会清零
在这里插入图片描述

uname

作用:获取计算机操作系统的相关信息

#uname     获取操作系统的类型

在这里插入图片描述

#uname -a      all,表示获取全部的系统信息(类型、主机名全称、内核版本、发布时间、开源计划)

在这里插入图片描述

netstat -tnlp

作用:查看网络的连接状态

#netstat -tnlp

在这里插入图片描述
选项说明:

  • -t:表示只列出tcp协议的连接;
  • -n:表示将地址从字母组合转换成IP地址,将协议转换为端口号来显示;
  • -l:表示过滤出“state(状态)”列中期值为LISTEN(监听)的连接;
  • -p:表示显示发起连接的进程PID和进程名称。

man

作用:manual,手册(包含了Linux中全部命令的手册)

#man 命令     (按下q键即可退出)

ctrl + u 和 ctrl + k

作用:在命令行中快速删除光标前/后的内容
前:ctrl + u;后:ctrl + k

<think>好的,我需要帮助用户找到关于Linux高级命令的教程和参考资料。用户提到了“advanced Linux commands tutorial and reference”,并且系统级指令要求引用特定的引用内容,即引用[1]和引用[2]。首先,我要确认用户的需求是寻找高级命令的教程和参考,可能需要涵盖工具如vim、cscope以及其他常用命令的实例。 根据提供的引用内容,引用[1]提到了Linux的vi和vim编辑器教程以及高级功能,特别是cscope和vim的结合使用。引用[2]则提供了50个最常用Linux命令的实例。用户可能需要更深入的教程,比如高级文本处理、系统管理或自动化脚本相关的命令。 接下来,我需要组织回答的结构,确保每个部分都包含相关的命令示例,并正确引用提供的资料。同时,按照用户的要求,所有行内数学表达式要用$...$格式,但这个问题可能不涉及数学公式,所以可能需要忽略这部分。不过要确保LaTeX语法正确,如果有用到的话。 然后,生成相关问题。用户要求生成相关问题,可能需要围绕高级命令的使用场景、具体工具如vim和cscope的深入教程,或者命令组合应用等方面提问。 需要检查是否有遗漏的信息,例如是否有其他高级命令或工具在提供的引用中被提及,比如cscope的具体用法,或者引用[2]中的50个命令中的高级应用案例。确保回答中的每个引用都正确对应,比如引用[1]对应vim和cscope,引用[2]对应常用命令实例。 最后,确保回答使用中文,结构清晰,分步骤讲解,并且自然地融入引用标识。可能还需要注意用户提到的“系统级指令”中的其他要求,比如生成相关问题,并确保回答真实可靠。</think>以下是为您整理的Linux高级命令教程与参考资料,涵盖系统管理、文本处理和开发工具的高级应用: ### 一、高级文本处理工具 1. **sed流编辑器**(适合批量文本替换) ```bash # 替换文件中所有"error"为"warning"并备份原文件 sed -i.bak 's/error/warning/g' logfile.txt ``` 2. **awk数据分析**(处理结构化文本) ```bash # 统计nginx日志中不同状态码出现次数 awk '{status[$9]++} END {for(s in status) print s, status[s]}' access.log ``` 3. **正则表达式进阶**(使用扩展正则) ```bash # 匹配包含3位以上数字的日志条目 grep -E '[0-9]{4,}' system.log ``` ### 二、系统监控与性能分析(引用[2]相关实践) 1. **进程资源追踪** ```bash strace -p <PID> # 跟踪进程系统调用 lsof -i :8080 # 查看端口占用情况 ``` 2. **性能基准测试** ```bash # 测试磁盘连续写入速度(单位MB/s) dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct ``` ### 三、开发工具集成(引用[1]的vim高级功能) 1. **vim + cscope代码分析** ```vim :cs add /path/to/cscope.out # 加载符号数据库 :cs find c printf # 查找函数调用点 ``` 2. **多窗口调试模式** ```bash # 在vim中同时查看代码和调试输出 vim -O main.c "tail -f debug.log" ``` ### 四、自动化运维示例 ```bash # 查找过去24小时修改过的php文件并打包备份 find /var/www -name "*.php" -mtime -1 -exec tar -czvf backup.tar.gz {} + ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值