目录
Linux命令格式
Linux快捷按键
常用系统命令
man 查看命令的帮助信息
echo 输出信息(将信息输出到屏幕上面)
date 查看系统的日期、时间
timedatectl 设置系统时间,主要是时区(date -s也可以设置系统时间)
关闭、重启系统
wget 下载网络文件
常用系统进程命令
ps 用于查看系统的进程状态(静态的)(processes)
pstree 查看目前进程之间的依赖关系
top 查看系统的进程信息以及系统基本的运行情况(动态展示)
nice 调整进程的优先级
pidof 查询某个进程的PID号码
kill 关闭进程(systemctl stop sshd 也可以关闭进程)
killall 关闭某个服务所对应的全部进程
常用系统状态命令
uname 查看系统架构与内核版本信息
uptime 查看系统的负载信息
watch 可以实时动态的显示一条命令的结果
free 查看内存的使用情况
who 查看当前系统的登录用户
last 显示系统的用户登录记录
ifconfig 查看网卡信息与网络运行状态
ping 检查网络通信
tracepath 显示到达目的地的路径信息
netstat 显示网络连接、路由表、接口状态等信息
history 查看命令使用的历史记录
sosreport 收集系统配置、架构信息并输出诊断文档
Linux命令格式
命令格式
完整的命令格式分为三部分:命令、参数、对象
其中命令与参数、参数与参数、参数与对象之间最少要有一个空格做间隔
不过有些情况下命令格式没有参数或对象,不过命令一定是有的
命令:执行的动作(打)
参数:对于动作进行一个定制化(狠狠的打)--为了让命令更好的贴近工作需要
对象:动作的承受方(狠狠的打你)
参数格式
参数分为长格式和短格式
长格式 大部分情况:--+单词 例如:--list 、--all
短格式 大部分情况:-+字母 例如:-l、-a
有些情况下的参数格式是比较特别的:
find 长格式也是一个- , 即 find / -size
ps 三个短格式合并没有-, 即 ps aux
date命令使用的是 + 号
注意:参数格式不是一定确定的,可能会有其它变化,只是说的是大部分
参数合并
长格式与长格式、长格式与短格式不能合并
短格式和短格式之间能够合并,不过只保留一个-号
例如:-a和-l 合并为-al或者-la(大部分情况下不区分参数合并后的位置,但是有些参数合并需区分合并位置)
例如:压缩命令就需要注意参数的位置(tar czvf、tar xzvf 合并参数的位置不可改变)
注意事项
Linux中的命令、参数都严格区分大小写(一般命令为小写,参数为大写)
Linux快捷按键
ctrl+shift+加号 放大屏幕
ctrl+减号 缩小屏幕
ctrl+ l 清屏
tab 对命令、参数补全
ctrl+c 终止当前程序的运行
ctrl+d 表示键盘输入结束
常用系统命令
man 查看命令的帮助信息
man echo 查看echo命令的帮助信息
echo 输出信息(将信息输出到屏幕上面)
echo rhce.net 屏幕输出rhce.net
echo $LANG $表示提取变量的值,此处表示提取系统的语言(Lang=language)
echo一般用于和管道符使用
echo redhat | passwd --stdin root 更改root用户密码为redhat
date 查看系统的日期、时间
date "+%Y-%m-%d" 查看年月日
date "+%H:%M:%S" 查看小时、分钟、秒
可以通过date命令来命名文件,在做备份记录时可以使用
timedatectl 设置系统时间,主要是时区(date -s也可以设置系统时间)
timedatectl status 查看各时区的时间状态
timedatectl set-time 2023-2-7 设置系统日期为2023-2-7
timedatectl set-time 16:50:30 设置系统时间为16:50:30
timedatectl set-timezone Asia/Shanghai 设置系统时区为上海
关闭重启系统
reboot 重启系统
poweroff 关闭系统
wget 下载网络文件
wget 网址 下载网页上的文件
wget -P 目录 网址 将网络文件下载到指定目录
-b 后台下载
-r 递归下载
-c 断点续传
常用系统进程命令
系统的进程状态(5个常用模式)
R状态(Running) 运行状态,此进程正在为用户提供服务
S状态(Sleeping) 休眠状态,此进程没有为用户提供服务,正在等待为用户提供服务,不会消耗系统资源
D状态(unstopped)不可中断状态,此进程无法被中断-异常,有可能为用户提供服务,也有可能没有为用户提供服务,都会消耗系统资源(类似于windows的异常响应状态),即使使用kill命令也无法将其中断
Z状态(zombie) 僵死状态,此进程已经终止,没有为用户提供服务,但是进程描述符依然存在,会消耗系统资源,可以在父进程下调用wait4()系统函数后将进程释放
T状态(stopped) 停止状态,此进程停止运行,不会为用户提供服务,也不会消耗系统资源
五个不常用的进程状态
<状态 高优先级状态
N状态 低优先级状态
L状态 被锁进内存状态
s状态 包含子进程状态
I(大写i)状态 多线程状态
ps 用于查看系统的进程状态(静态的)(processes)
ps aux 查看一瞬间的系统进程状态(显示的内容太多,查看不方便)
a显示所有进程、u显示用户以及其它的详细信息、x显示没有控制终端的进程
由于ps查看的进程不易察看,需要使其像Windows任务管理器一样,按照某项参数排序找出重点,进行实时更新等,此时通过top命令来实现
USER PID %CPU %MEM
所属用户 进程号 cpu的占用率 内存的占用率
VSZ RSS TTY
进程像系统申请的内存大小 系统实际分配给进程的内存大小 ?表示后台运行
STAT START TIME COMMAND
进程状态 进程的启动时间 运行时间 对应的命令
pstree 查看目前进程之间的依赖关系
某些进程之间会存在依赖关系(父进程、子进程),当我们需要关闭某个子进程时,需要关闭子进程,然后在父进程调用wait或waitpid函数,否则会出现问题(子进程会进入僵死状态,并且会一直保持下去直到系统重启)
当关闭某个父进程时,其下的子进程也会关闭
top 查看系统的进程信息以及系统基本的运行情况(动态展示)
加强版的Windows任务管理器
第一行 系统的负载信息
19:25:27 系统时间
Up 2:24 系统从开机到现在已经运行时间
1 user 表示用户的数量(7和8中)、RHAL5、6中表示打开的终端的数量
0.03 0.01 0.00 表示系统近1分钟的CPU的负载情况、近5分钟的负载情况、近15分钟的负载情况
Load average CPU负载情况
最小为0,最大没有上限(并不是为0就好,一般保持在1或2,或者1以下)
0最低,可能导致资源被闲置
1代表满队列,但并不代表CPU的资源不足(后面队伍进来时,前面的队伍出去,不过队列一直是满的,充分使用CPU资源)
超过5:有可能导致服务器的不稳定性
具体的实际情况需要结合数值和服务器所提供业务类型进行观看,如果服务器提供静态网站业务,此值为8可能都挺稳定的;如果服务器提供的是数据库业务,此值可能刚到达5服务器就会不稳定
第二行 进程
共366个进程,1个运行状态,365个休眠状态,0个停止状态,0个僵死状态
第三行CPU负载情况
Us当前用户占用CPU百分比
Id 当前空闲CPU的百分比
第四行 物理内存的使用情况
此处内存总大小为1966M,空闲2.3M,使用了1355.4M,当前与硬盘的交互是518.3M(根据此值判断是内存不行了还是硬盘不给力)
以M为单位(M与G转换 计算机是按照1:1000进行转换的 即2g的内存,电脑实际有2000M,但是计算的时候是以1:1024计算的,所以会有上下的浮动)
第五行 交换分区(交换内存)的使用情况
此处交换内存总大小为2048M,空闲2041M,使用了7M
Swap一般只有内存不足的时候才会被使用
--当swap长期被大量使用 表示内存不够,需要扩展内存
交换分区
将一部分的硬盘容量充当为内存使用(此分区存放不经常使用的应用服务,充分应用内存的空间)
第六行
PID 进程的唯一编码(每一个进程对应唯一的PID编码,通过PID编码可以找到对应的进程)
USER 发起用户的名称
PR和NI 指的是进程的优先级
VIRT 进程使用的虚拟内存容量
RES 物理内存容量
SHR 共享内存容量
S(Status) 进程状态
%CPU 该进程最近一次刷新以来所占用的CPU时间和总时间的百分比
%MEM 占用的物理内存占总内存的百分比
TIME+ 累计CPU占用时间
COMMAND 系统进程所对应的命令/名称
nice 调整进程的优先级
nice -n -20 top 将top服务调整为-20
在top中,PR和NI代表进程的优先级,数字越低,优先级越高(优先获取资源),最低数值为-20一般不建议去调整
pidof 查询某个进程的PID号码
pidof sshd 查看sshd服务的PID值(PID值并不是固定的,重启服务后可以重新获取)
kill 关闭进程(systemctl stop sshd 也可以关闭进程)
kill 1200 关闭PID为1200的进程
kill -9 1200 强制关闭PID为1200的进程
killall 关闭某个服务所对应的全部进程
killall httpd 关闭httpd服务下的所有进程
常用系统状态命令
uname 查看系统架构与内核版本信息
uname
uname -a 查看系统所有信息
需要查看当前系统版本的详细信息,需要使用命令cat /etc/redhat-release查看
Linux 操作系统
localhost1.localdoamin 主机名
4.18… 内核的版本号(内核网站 www.kernel.org)
选择内核版本时一般选择偶数版本(一般情况偶数为稳定版,奇数为测试版)
Wed mar 13 …2019 系统的打包时间为2019年3月13号 星期三
第二个X86_64 系统的架构
第三个X86_64 主板(处理器)的架构
GNU/Linux 操作系统名称
uptime 查看系统的负载信息
top可以查看系统完整的信息(包含各个进程的信息)
uptime可以查看简要信息(内容为top第一行信息),并且不能够动态更新
watch 可以实时动态的显示一条命令的结果
watch -n 1 uptime 每1秒更新一次uptime命令的结果(就可以使得uptime动态显示)
free 查看内存的使用情况
默认以k为单位
free -h 通过人类易读模式显示出来(内容为top第四、五行信息))
who 查看当前系统的登录用户
登录的登录名
终端设备(tty2指的是命令行界面,pts 指的是图形化界面)
登陆到系统的时间
last 显示系统的用户登录记录
这个信息有滞后性,需要在下一次重启或者某个用户注销之后才会同步一次,这可能会导致,某些正在登录的用户或者已经离线的用户显示不出来
由于用户登录信息可以更改(通过touch -am修改),所以不要完全相信此命令的显示结果,以实际为准
vim /var/log/lastlog 下可以更改用户登录信息
ifconfig 查看网卡信息与网络运行状态
interface config 网络接口配置文件
环回地址 测试网络连通性
ens160 网卡名称
在不同系统有不同的名称(可以通过网卡名称大致判断系统类型)
ens33 (rhel7中的网卡类型) ens160(rhel8)
en 代表以太网网卡
wl 代表无线局域网网卡
ww 代表无线广域网网卡
ping 检查网络通信
-i ping的间隔秒数
-c ping的次数(Linux的ping不受限,windows会受限4次)
-I(大写i) 指定网卡名称(也可以指定IP)
tracepath 显示到达目的地的路径信息
netstat 显示网络连接、路由表、接口状态等信息
-a 显示所有的
-n 不进行域名解析,只显示IP
-i 显示网卡列表信息
-l 显示正在监听的服务状态
-r 显示路由信息
history 查看命令使用的历史记录
history -c 清空Linux命令的历史记录信息
!编号 就可以再次使用这条命令
历史命令被保存在各个用户自己的家目录的.bash_history中 (.开头文件为隐藏文件)
cat ~/.bash_history 可以查看文件内容,此内容并没有与history命令的内容保持同步
同last,需要用户注销或者重启才会在.bash_history中写入一次
sosreport 收集系统配置、架构信息并输出诊断文档
当服务器出现问题时,可以通过此命令自动收集错误信息并将其打包(明文的)