Linux服务器运维常用命令
概述
这篇文章介绍了 linux 服务器维护中常用的一些命令。
基础命令
cd(切换目录)
1 | cd 目录 |
cd ,命令用于切换目录,参数可是相对路径或绝对路径。
常用示例:
- 切换到当前目录下的xxx目录:
cd xxx或cd ./xxx - 切换到home目录:
cd ~ - 切换到上一个目录:
cd - - 切换到根目录:
cd / - 切换到上一层目录:
cd ..或cd ../
ls(显示目录中的文件)
ls,“list” 显示目录中的文件。
常用命令选项:
-
-l列表方式显示,可以显示文件的操作权限、归属组、归属用户、文件大小、修改时间 -
-a显示所有文件,包括隐藏文件(文件名以.开头的隐藏文件),如当前目录.、上级目录..、隐藏的 git 目录.git。 -
-h以方便人类阅读的单位输出文件大小,如使用ls -lh查看当前目录文件时,文件大小超过 1K 但未达到 1M 的将以 K 为单位显示,超过 1M 但未达到 1G 的将以 M 为单位显示。
pwd(显示当前所在目录)
pwd 命令用于显示当前所在目录的绝对路径。
mkdir(创建目录)
mkdir 命令用于创建目录,可添加 -p 选项创建多层目录。
常用示例:
- 创建目录 test :
mkdir test,如果 test 目录已经存在,执行出错 - 创建多层目录 abc/def :
mkdir -p abc/def,如果 abc 目录不存在将创建它并在其中创建 def目录;如果目录存在,并不会执行出错
rmdir(删除目录)
rmdir 命令用于删除目录,注意只有目录为空时才能删除,否则将会报错。可以添加 -p 选项删除多层目录。
常用示例:
- 删除目录 test:
rmdir test - 删除多层目录 abc/def :
rmdir -p abc/def,相当于执行命令rmdir abc/def abc
touch(创建文件)
touch 命令可用于创建空文件(当参数指定的文件不存在时)或更新文件的访问时间和更新时间。
常用示例:
-
创建文件 abc.txt :
touch abc.txt,注意:指定命令前 abc.txt 文件不存在 -
更新文件 abc.txt 的访问时间和更新时间:
touch abc.txt
rm(删除文件)
rm 命令用于删除文件,删除文件时会询问是否确认删除。常用选项 -f 强制删除(不再询问),-r 递归删除(删除目录及目录中的内容)。
- 删除文件 test.txt :
rm test.txt - 删除目录 test 及其中所有内容:
rm -rf test
data(查看和修改日期时间)
data 命令用于显示日期时间,可添加参数输出格式化的时间。
常用示例:
-
打印当前时间:
data,输出结果:1
Fri Sep 30 21:45:28 CST 2022
-
按格式输出年月日:
date +%Y/%m/%d,结果:1
2022/09/30
-
按格式输出时间:
date +%H:%M,结果:1
21:45
cal(显示日历)
cal ,日历(calendar)命令用于显示日历,不带参数时显示本月日历,日期当天回反白显示。可指定参数 月 和 年,以显示指定年月的日历。
常用示例:
-
显示当月日历:
cal -
显示 2022 年 10 月的日历:
cal 10 2022,结果如下:1
2
3
4
5
6
7
8October 2022
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
关机与重启
shutdown、reboot、halt、poweroff都需要管理员权限,这几个命令配合命令的选项,均可达到关机、停止系统和重启系统的功能,可以根据个人习惯使用其中一个。不过,语义化的命令更便于记忆。
reboot、halt、poweroff命令实际上都是调用systemctl完成关机相关操作,使用--help选项查看帮助信息,发现这三个命令的参数选项都是一样的。
shutdown(关机)
1 | shutdown [-krhc] [时间] [警告信息] |
命令选项:
-k仅给用户发送警告信息,不真的关机-r在将系统服务停止后重启(常用)-h在系统服务停止后立即关机(常用)-c取消已在进行的shutdown命令内容,临时改变主意不想关机时,可以执行命令shutdown -c
命令参数:
- 时间:即执行命令的时间,单位:分钟。如果不指定,默认为 1分钟。
- 警告信息:执行
shutdown命令后,将立即将警告信息发给所有正在使用的用户
常用示例:
- 立即关机:
shutdown -h now - 指定时间关机, 22时30分时关机:
shutdown -h 22:30 - 十分钟后关机:
shutdown -h +10 - 立即重启:
shutdown -r now - 30分钟后关机,并发送警告信息给所有在线使用者:
shutdown -r +30 'System will reboot after 30 minutes' - 仅发送警告信息,吓吓人:
shutdown -k now 'This system will shutdown'
reboot(重启)
重启系统。
命令选项:
--halt停止系统-p或--poweroff关机--reboot重启系统-f或--force强制执行-w或--wtmp-only不执行停止、关机、重启命令,仅写入 wtmp 记录-d或--no-wtmp不写入 wtmp 记录--no-wall不发送消息
halt(系统停止)
halt 命令需要管理员权限才能执行,作用是将数据写入磁盘并停止处理器运行,机器不重新启动。屏幕上可能会保留一些信息。
命令选项:同上
poweroff(关机)
关机。
命令选项:同上
sync(数据同步写入磁盘)
sync 命令用于将内存中的数据写入磁盘,防止文件数据异常。在关机或重启前,可以执行这个命令保证内存中的数据写入磁盘。管理员可同步所有数据,非管理员用户仅同步自己的数据。
systemctl(系统管理工具)
systemctl 是一个强大的系统管理工具,与关机相关的命令:
systemctl halt进入系统停止模式,屏幕上可能会保留一些信息,与电脑的电源管理模式有关systemctl poweroff进入系统关机模式,直接关机systemctl reboot直接重新启动systemctl suspend进入休眠模式
用户管理
su(切换用户)
1 | su [username] |
注:
[]表示参数可选
su 命令用于切换到指定用户,切换后可执行命令 exit 返回原用户。如果不带用户名参数,则切换到 root 用户。常用于普通用户切换到管理员用户执行一些需要管理员权限的命令。
useradd(添加用户)
1 | useradd 用户名 |
useradd 命令用于添加一个用户,添加成功后,将在 /home 目录下建立一个用户目录作为该用户的主目录。
命令可选参数:
-d指定用户目录-m指定权限-g指定组号
添加完用户后,一般需要使用 passwd 命令设定用户的密码,用户密码保存在 /etc/passwd 文件中。
passwd(修改密码)
1 | passwd [用户名] |
修改指定用户的密码,只有管理员可以带用户名参数;普通用户只能使用不带参数的 passwd 命令来修改自身的密码。
系统管理
lsb_release/uname(查看系统信息)
lsb_release 命令用于查看系统发行版信息及 LSB (Linux Standard Base) 信息,适用于所有 linux 版本。uname 命令用于查看系统信息,如查看 linux 内核版本、物理架构等。
常用示例:
-
打印系统信息:
lsb_release -a,输出结果如下:1
2
3
4
5LSB Version: n/a
Distributor ID: HuaweiCloudEulerOS
Description: Huawei Cloud EulerOS release 1.0 (x86_64)
Release: 1.0
Codename: x86_64 -
打印系统信息:
uname -a,输出结果如下1
Linux hecs-165974 4.19.90-vhulk2107.1.0.h699.hcev1.x86_64 #1 SMP Sat Jul 31 09:58:46 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
-
打印内核版本:
uname -r
ps(查看进程)
常用形式:
1 | ps -aux |
ps 命令用于查看当前的系统进程,结果不是动态连续的,如果需要实时监控进程,应使用 top 命令。
命令的结果:
USER进程的属主PID进程的 IDPPID父进程%CPU进程占用的CPU百分比%MEM占用内存的百分比NI进程的 NICE 值,数值大,表示占用 CPU 时间较少VSZ进程的虚拟大小RSS驻留中页的数量TTY终端 IDWCHAN正在等待的进程资源stat进程状态:R(运行)、S(休眠)、Z(僵尸)、T(停止或被追踪)、X(死掉的进程)、N(优先级较低的进程)、<(优先级高的进程)、W(进入内存交换)、D(非中断休眠(常驻IO))START进程启动的时间COMMAND命令的名称和参数
top(查看进程)
1 | top |
top 命令用于查看系统中占用资源较多的一些进程,默认按 CPU 占用率排序。
kill(结束进程)
1 | kill -9 进程ID |
kill 命令用于结束指定 PID 的进程,执行命令后将会向指定进程发送 SIGKILL 信号,其中 -9 表示强制终止,可以省略。
注:进程的 PID 号可使用
ps命令查询获取。
fdisk(磁盘管理工具)
fdisk 是一个磁盘分区管理工具,可用于查看磁盘分区信息和对磁盘分区进行管理,如添加、删除分区。
用法示例:
- 打印磁盘使用情况:
fdisk -l
free(查看内存)
free 命令用于打印系统内存使用情况。
用法示例:
-
打印内存使用情况:
free -h,结果如下:1
2
3
4total used free shared buff/cache available
Mem: 1.4Gi 205Mi 114Mi 83Mi 1.1Gi 1.0Gi
Swap: 0B 0B 0B
netstat(查看网络状态)
netstat 命令用于打印网络连接、路由表、网络统计等信息。
常用选项:
-a显示所有socket,包括正在监听的-n以数字形式显示地址和端口号-r显示核心路由表-f显示外部地址的完全限定域名(FQDN)-t显示当前连接卸载状态-v显示正在进行的工作-p proto显示proto指定的协议的连接-b显示在创建每个连接或侦听端口时涉及的可执行程序-e显示以太网统计,此选项可以和-s结合使用-o显示拥有的与每个连接关联的进程PID-q显示所有连接、侦听端口和绑定的非侦听 TCP端口-s显示每个协议的统计-x显示 NetworkDirect 连接、侦听器和共享端点-y显示所有连接的 TCP 连接模板,无法与其他选项联用
常用示例:
- 查看 8080 端口占用情况:
netstat -ano | grep 8080
工具
od(查看二进制文件)
od 命令用于读取文件内容,以八进制方式打印输出,可搭配选项输出为指定格式,如十六进制、ASCII等。
常用示例:
-
以ASCII编码方式输出文件
test.txt的内容:od -c test.txt -
以十六进制方式输出文件
test.txt的内容:od -x test.txt -
同时以ASCII和十六进制方式输出
test.txt的内容:od -cx test.txt,文件内容为abcde 12345,输出结果如下:1
2
30000000 a b c d e 1 2 3 4 5 \n
6261 6463 2065 3231 3433 0a35
0000014