命令 | 语法 | 常用选项及说明 |
---|---|---|
ls | ls [选项] [目录名] | - -l :以长格式显示文件和目录信息- -a :显示所有文件,包括隐藏文件- -h :与 -l 配合,以人类可读的方式显示文件大小- -R :递归显示子目录内容 |
cd | cd [目录名] | - 无选项时,若 目录名 为 .. ,返回上一级目录;若为 ~ ,返回用户主目录 |
mkdir | mkdir [选项] 目录名 | - -p :创建多级目录 |
rm | rm [选项] 文件或目录名 | - -f :强制删除,不提示确认- -r :递归删除目录及其内容 |
mv | mv [选项] 源文件或目录 目标文件或目录 | - 无常用特殊选项,可用于文件或目录的移动和重命名 |
cp | cp [选项] 源文件或目录 目标文件或目录 | - -r :递归复制目录及其内容- -a :归档复制,保留文件所有属性 |
pwd | pwd | 无选项,显示当前工作目录的绝对路径 |
touch | touch [选项] 文件名 | - 无常用特殊选项,用于创建空文件或更新文件的访问和修改时间 |
命令 | 示例 |
ls -l /home | 显示 /home 目录下文件和目录的详细信息 |
ls -ah | 显示当前目录下所有文件(含隐藏文件)并以可读大小显示 |
ls -R | 递归显示当前目录及其子目录内容 |
cd /var/log | 进入 /var/log 目录 |
cd .. | 返回上一级目录 |
cd ~ | 返回用户主目录 |
mkdir new_dir | 创建一个名为 new_dir 的目录 |
mkdir -p a/b/c | 创建多级目录 a/b/c |
rm file.txt | 删除 file.txt 文件 |
rm -f unwanted_file | 强制删除 unwanted_file |
rm -r dir_to_remove | 删除 dir_to_remove 目录及其所有内容 |
mv old_file.txt new_file.txt | 重命名 old_file.txt 为 new_file.txt |
mv file.txt /new/location | 将 file.txt 移动到 /new/location 目录 |
cp file1.txt file2.txt | 复制 file1.txt 为 file2.txt |
cp -r source_dir dest_dir | 复制 source_dir 目录及其内容到 dest_dir |
cp -a important_file /backup | 复制 important_file 并保留所有属性到 /backup 目录 |
pwd | 显示当前所在目录的完整路径 |
touch new_empty_file.txt | 创建一个名为 new_empty_file.txt 的空文件 |
除了选项本身可以组合以外,选项和参数也可以一起使用。
命令 | 语法 | 常用选项及说明 |
---|---|---|
cat | cat [选项] 文件1 [文件2 ...] | - -n :显示行号 |
tac | tac 文件 | 无选项,反向显示文件内容 |
grep | grep [选项] 模式 文件名 | - -i :忽略大小写- -r :递归搜索目录中的文件- -n :显示匹配行的行号 |
sed | sed [选项] '脚本命令' 文件 | - -i :直接修改文件内容 |
awk | awk '条件 {动作}' 文件 | - 可用于文本处理和数据提取,条件和动作可根据需求自定义 |
more | more Linux路径 | 查看文件,支持翻页(查看大文件内容时使用) 文件打开后:↓ q :退出查看 |
wc | wc [-c -m -l -w] 文件路径 | 统计文件的行数、单词数量等 -m:统计字符数量 -l:统计行数 -w:统计单词数量 |
tail | tail [-f -num] linux路径 | 查看文件尾部的内容,跟踪文件的最新更新 -num:表示,查看尾部多少行,默认10 |
命令 | 示例 |
cat file.txt | 显示 file.txt 的内容 |
cat -n file.txt | 显示 file.txt 的内容并显示行号 |
tac file.txt | 反向显示 file.txt 的内容 |
grep "keyword" file.txt | 在 file.txt 中搜索包含 keyword 的行 |
grep -i "Hello" file.txt | 忽略大小写搜索包含 Hello 的行 |
grep -r "pattern" /home | 递归搜索 /home 目录下所有文件中包含 pattern 的行 |
sed 's/old/new/g' file.txt | 将 file.txt 中所有的 old 替换为 new |
sed -i 's/error/fix/g' file.txt | 直接修改 file.txt 中所有的 error 为 fix |
awk '{print $1}' file.txt | 打印 file.txt 中每行的第一个字段 |
awk '\(3 > 10 {print \)0}' data.txt | 打印 data.txt 中第三列大于 10 的行 |
命令 | 语法 | 常用选项及说明 |
---|---|---|
ping | ping [选项] 目标地址 | - -c 次数 :指定发送 ICMP 包的次数- -i 间隔 :指定发送 ICMP 包的时间间隔(秒) |
ifconfig | ifconfig [接口名] [选项] | - up :启用指定网络接口- down :禁用指定网络接口- 指定 IP 地址和子网掩码: ifconfig 接口名 IP地址 netmask 子网掩码 |
netstat | netstat [选项] | - -an :显示所有网络连接信息,包括监听和非监听状态- -t :显示 TCP 连接信息- -u :显示 UDP 连接信息 |
traceroute | traceroute [选项] 目标地址 | - 无常用特殊选项,用于跟踪数据包到目标地址所经过的路由 |
命令 | 示例 |
ping www.baidu.com | 测试与百度服务器的网络连接 |
ping -c 5 www.google.com | 向谷歌服务器发送 5 个 ICMP 包进行测试 |
ping -i 2 192.168.1.1 | 每 2 秒向 192.168.1.1 发送一个 ICMP 包 |
ifconfig eth0 up | 启用 eth0 网络接口 |
ifconfig eth0 down | 禁用 eth0 网络接口 |
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 | 为 eth0 接口配置 IP 地址和子网掩码 |
netstat -an | 显示系统中所有网络连接的详细信息 |
netstat -t | 显示所有 TCP 连接信息 |
netstat -u | 显示所有 UDP 连接信息 |
traceroute www.example.com | 跟踪到 www.example.com 的路由 |
命令 | 语法 | 常用选项及说明 |
---|---|---|
ps | ps [选项] | - -ef :显示所有进程的详细信息,包括父进程 ID 等- -aux :以 BSD 风格显示所有进程信息,包含 CPU 和内存使用情况 |
top | top [选项] | - -d 秒数 :指定刷新间隔时间 |
kill | kill [信号] 进程号 | - -9 :强制终止进程(SIGKILL 信号)- -15 :正常终止进程(SIGTERM 信号,默认) |
pkill | pkill [选项] 进程名 | - -f :根据进程名的完整命令行匹配 |
命令 | 示例 |
ps -ef | 显示系统中所有进程的详细信息 |
ps -aux | 以 BSD 风格显示所有进程的 CPU 和内存使用情况 |
top | 实时显示系统中进程的资源使用情况 |
top -d 5 | 每 5 秒刷新一次 top 显示的内容 |
kill 1234 | 正常终止进程号为 1234 的进程 |
kill -9 5678 | 强制终止进程号为 5678 的进程 |
pkill firefox | 终止所有名为 firefox 的进程 |
pkill -f "python script.py" | 终止所有命令行包含 python script.py 的进程 |
命令 | 语法 | 常用选项及说明 |
---|---|---|
chmod | chmod [选项] 权限模式 文件或目录名 | - 权限模式可以用数字(如 755 )或符号(如 u+rwx,g+rx,o+rx )表示- -R :递归修改目录及其子目录和文件的权限 |
chown | chown [选项] 所有者:组名 文件或目录名 注:只有root可用 | - -R :递归修改目录及其子目录和文件的所有者和组 |
chgrp | chgrp [选项] 组名 文件或目录名 | - -R :递归修改目录及其子目录和文件的所属组 |
命令 | 示例 |
chmod 755 script.sh | 将 script.sh 的权限设置为所有者可读可写可执行,组用户和其他用户可读可执行 |
chmod -R 777 shared_dir | 递归将 shared_dir 目录及其内容的权限设置为所有人可读可写可执行 |
chown user:group file.txt | 将 file.txt 的所有者设置为 user,所属组设置为 group |
chown :group file.txt | 将 file.txt 的所属组设置为 group |
chown user file.txt | 将 file.txt 的所有者设置为 user |
chown -R root:root /var/www | 递归将 /var/www 目录及其内容的所有者和组设置为 root |
chgrp developers project_dir | 将 project_dir 的所属组设置为 developers |
chgrp -R sales sales_data | 递归将 sales_data 目录及其内容的所属组设置为 sales |
命令 | 语法 | 常用选项及说明 |
---|---|---|
tar | tar [选项] 压缩包名 文件或目录 | - -zcvf :创建 gzip 压缩的 tar 包- -jcvf :创建 bzip2 压缩的 tar 包- -zxvf :解压缩 gzip 压缩的 tar 包- -jxvf :解压缩 bzip2 压缩的 tar 包 |
gzip | gzip [选项] 文件 | - -d :解压缩文件 |
bzip2 | bzip2 [选项] 文件 | - -d :解压缩文件 |
命令 | 示例 |
tar -zcvf archive.tar.gz file1.txt file2.txt | 创建包含 file1.txt 和 file2.txt 的 gzip 压缩 tar 包 |
tar -jxvf backup.tar.bz2 | 解压缩 bzip2 压缩的 backup.tar.bz2 包 |
gzip file.txt | 压缩 file.txt 为 file.txt.gz |
gzip -d file.txt.gz | 解压缩 file.txt.gz 为 file.txt |
bzip2 large_file.txt | 压缩 large_file.txt 为 large_file.txt.bz2 |
bzip2 -d large_file.txt.bz2 | 解压缩 large_file.txt.bz2 为 large_file.txt |
命令 | 语法 | 常用选项及说明 |
---|---|---|
uname | uname [选项] | - -a :显示所有系统信息,包括内核名称、主机名、内核版本等- -r :显示内核版本 |
df | df [选项] | - -h :以人类可读的方式显示磁盘使用情况 |
du | du [选项] 目录名 | - -h :以人类可读的方式显示目录大小- -s :只显示总大小 |
free | free [选项] | - -h :以人类可读的方式显示内存使用情况 |
命令 | 示例 |
uname -a | 显示系统的所有信息 |
uname -r | 显示当前内核版本 |
df | 显示系统磁盘分区的使用情况 |
df -h | 以易读的格式显示磁盘使用情况 |
du /home/user | 显示 /home/user 目录及其子目录的磁盘使用情况 |
du -sh /var/log | 以易读格式显示 /var/log 目录的总大小 |
free | 显示系统内存的使用情况 |
free -h | 以易读格式显示内存使用情况 |
类别 | 命令 | 功能描述 |
---|---|---|
语法: 选项: | ||
安装 | yum install [package_name] | 安装指定软件包 |
yum install -y [package_name] | 自动确认安装指定软件包 | |
更新 | yum update | 更新所有可更新的软件包 |
yum update [package_name] | 更新指定软件包 | |
卸载 | yum remove [package_name] | 卸载指定软件包 |
搜索 | yum search [keyword] | 根据关键字搜索软件包 |
显示信息 | yum info [package_name] | 显示指定软件包的详细信息 |
列出软件包 | yum list | 列出所有可用和已安装的软件包 |
yum list installed | 列出已安装的软件包 | |
yum list available | 列出可用的软件包 | |
清理缓存 | yum clean all | 清理所有 yum 缓存(包括软件包、元数据等) |
软件组管理 | yum grouplist | 列出可用的软件包组 |
yum groupinstall [group_name] | 安装指定的软件包组 | |
yum groupremove [group_name] | 移除指定的软件包组 | |
显示依赖关系 | yum deplist [package_name] | 显示指定软件包的依赖关系 |
检查更新 | yum check-update | 检查哪些软件包有可用更新 |
锁定软件包 | yum versionlock add [package_name] | 锁定指定软件包版本,使其不被更新 |
yum versionlock list | 列出已锁定版本的软件包 | |
yum versionlock delete [package_name] | 解除指定软件包的版本锁定 | |
yum versionlock clear | 清除所有软件包的版本锁定 |
类别 | 命令 | 功能描述 | 示例 |
---|---|---|---|
安装 | apt install [package_name] | 安装指定的软件包 | apt install nginx |
apt install -y [package_name] | 自动确认并安装指定软件包及其依赖 | apt install -y nodejs | |
更新 | apt update | 刷新软件源列表,获取最新的软件包信息 | apt update |
apt upgrade | 更新已安装的软件包到最新版本,但不处理依赖变化导致的软件包增减 | apt upgrade | |
apt full - upgrade | 更新软件包,处理依赖变化,可能会删除或添加软件包以确保系统稳定 | apt full - upgrade | |
卸载 | apt remove [package_name] | 卸载指定软件包,但保留其配置文件 | apt remove apache2 |
apt purge [package_name] | 卸载指定软件包并删除其配置文件 | apt purge postgresql | |
查询 | apt search [keyword] | 根据关键字搜索相关软件包 | apt search python3 |
apt show [package_name] | 显示指定软件包的详细信息,如版本、依赖等 | apt show docker.io | |
apt list | 列出所有软件包 | apt list | |
apt list --installed | 列出已安装的软件包 | apt list --installed | |
apt list --upgradable | 列出可升级的软件包 | apt list --upgradable | |
依赖处理 | apt build - dep [package_name] | 安装编译指定软件包所需的依赖包 | apt build - dep linux - headers |
标记 | apt - mark hold [package_name] | 标记软件包,使其不会被自动更新 | apt - mark hold openssh - server |
apt - mark unhold [package_name] | 取消软件包的标记,使其可以被自动更新 | apt - mark unhold firefox | |
清理 | apt clean | 清理所有已下载的软件包缓存 | apt clean |
apt autoclean | 清理不再需要的软件包缓存 |
命令 | 功能 | 语法 | 常用选项及示例 |
---|---|---|---|
用户 | 相关 | 命令 | |
useradd | 创建新用户账户 | useradd [选项] 用户名 | -u :指定用户的 UID,如useradd -u 1001 newuser -c :添加用户注释,如useradd -c "Test User" newuser -m :自动创建用户的主目录-k :指定用户主目录的骨架目录 |
passwd | 设置或更改用户密码,管理用户密码有效期等属性 | passwd [选项] [用户名] | -l :锁定用户账户,如passwd -l newuser -u :解锁用户账户,如passwd -u newuser -d :删除用户的密码,如passwd -d newuser -e :强制用户在下次登录时更改密码,如passwd -e newuser |
usermod | 修改用户账户的属性 | usermod [选项] 用户名 | -L :锁定用户账户,等同于passwd -l -U :解锁用户账户,等同于passwd -u -a -G :将用户添加到附加用户组,如usermod -a -G group1 newuser |
userdel | 删除用户账户 | userdel [选项] 用户名 | -r :删除用户的同时,删除其主目录和邮件 spool,如userdel -r newuser |
id | 显示用户的 UID、GID 及所属用户组等信息 | id [选项] [用户名] | -u :仅显示用户的 UID,如id -u newuser -g :仅显示用户的 GID,如id -g newuser -G :显示用户所属的所有组的 GID,如id -G newuser |
su | 切换用户身份 | su [选项] [用户名] | - :切换用户并同时切换到该用户的环境,如su - newuser |
sudo | 以超级用户或其他用户身份执行命令 | sudo [选项] 命令 | -u :指定以某个用户身份执行命令,如sudo -u newuser command -l :列出当前用户可以使用 sudo 执行的命令,如sudo -l |
用户组 | 相关 | 命令 | |
groupadd | 创建新的用户组 | groupadd [选项] 用户组名 | -g :指定用户组的 GID,如groupadd -g 1001 newgroup |
groupdel | 删除用户组 | groupdel 用户组名 | 无特殊选项,如groupdel newgroup |
groupmod | 修改用户组的属性 | groupmod [选项] 用户组名 | -n :修改用户组名,如groupmod -n newname oldname -g :修改用户组的 GID,如groupmod -g 1002 newgroup |
groups | 显示用户所属的用户组 | groups [用户名] | 无特殊选项,若不指定用户名,则显示当前用户所属的用户组,如groups newuser |
gpasswd | 管理用户组的密码和成员 | gpasswd [选项] 用户组 | -a :将用户添加到用户组,如gpasswd -a newuser newgroup -d :将用户从用户组中删除,如gpasswd -d newuser newgroup -M :设置用户组的成员列表,如gpasswd -M user1,user2 newgroup |
getent | 从系统数据库(如本地文件或 NSS 服务)获取条目信息,可查用户、组、主机等 | getent [选项] 数据库名 [键值 ...] | 1. -s, --service :指定 NSS 服务。示例: getent -s ldap passwd ,从 LDAP 取用户信息。2. -h, --help :显示帮助信息。示例: getent --help 。3. -V, --version :显示版本信息。示例: getent --version 。4. 常见数据库查询示例: - getent passwd :查所有用户信息。用户名:密码:用户ID:组ID:描述信息:home目录:终端 - getent passwd root :查 root 用户信息。- getent group :查所有用户组信息。- getent group sudo :查 sudo 组信息。- getent hosts :查所有主机信息。- getent hosts localhost :查 localhost 主机信息。 |
命令 | 语法 | 选项 |
---|---|---|
find | find 起始路径 [选项] [名称或大小] | -name:以名称查询 -size:以大小查询 |
vi | 编辑文件 | |
echo | echo 输出的内容 | 在命令行内输出指定内容,类似print ` ` :被这个符合包围,会被视作命令执行 |
su | su [-] [用户名] | -符号是可选的,表示是否在切换用户后加载环境变量 root :超级管理员 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl+d |
sudo | sudo 其他命令 | 为这条命令临时赋予root授权 需要为普通用户配置sudo认证 |
重定向符号 | > 与 >> | >:将左侧命令的结果,覆盖写入到符合右侧指定的文件夹中 (覆盖老数据) >>:将左侧命令的结果,追加写入到符合右侧指定的文件夹中 (即插入新数据) |
history | history | 查看历史输入过的命令 eg:!c,从历史命令中从下往上执行第一个c开头的命令 |
命令 | 介绍 |
---|---|
find / -name "test*" | 从根目录开始以名字搜索全部以test开头的文件,*为通配符 |
find /home -size -10K | 查找home目录下小于10KB的文件 |
模式 | 命令 | 说明 |
---|---|---|
命令模式 | 无(启动默认进入) | 启动 vi 后自动进入,用于执行移动光标、文本编辑等操作的基础模式 |
命令模式 | h | 光标向左移动一个字符 |
命令模式 | j | 光标向下移动一行 |
命令模式 | k | 光标向上移动一行 |
命令模式 | l | 光标向右移动一个字符 |
命令模式 | Ctrl + f | 向前翻一页(屏幕) |
命令模式 | Ctrl + b | 向后翻一页(屏幕) |
命令模式 | 0 | 将光标移动到当前行的行首(第一个字符处) |
命令模式 | ^ | 将光标移动到当前行的第一个非空白字符处 |
命令模式 | $ | 将光标移动到当前行的行尾 |
命令模式 | gg | 将光标移动到文件的开头 |
命令模式 | G | 将光标移动到文件的末尾 |
命令模式 | nG (n 为数字) | 将光标移动到文件的第n 行 |
命令模式 | x | 删除光标所在位置的字符 |
命令模式 | dd | 删除光标所在的整行 |
命令模式 | ndd (n 为数字) | 删除从当前行开始的n 行 |
命令模式 | yy | 复制光标所在的整行 |
命令模式 | nyy (n 为数字) | 复制从当前行开始的n 行 |
命令模式 | p | 在光标之后粘贴已复制或剪切的内容 |
命令模式 | P | 在光标之前粘贴已复制或剪切的内容 |
命令模式 | u | 撤销上一次的操作 |
命令模式 | Ctrl + r | 恢复之前撤销的操作 |
命令模式 | i | 进入插入模式,在光标当前位置前插入文本 |
命令模式 | a | 进入插入模式,在光标当前位置后插入文本 |
命令模式 | o | 进入插入模式,在光标所在行的下一行插入新行 |
命令模式 | O | 进入插入模式,在光标所在行的上一行插入新行 |
插入模式 | Esc | 退出插入模式,返回命令模式 |
末行模式 (底线命令模式) | : (从命令模式输入进入) | 进入末行模式,用于执行保存、退出、查找替换等命令 |
末行模式 | w | 保存当前编辑的文件 |
末行模式 | w [文件名] | 将当前编辑的内容另存为指定的文件名 |
末行模式 | q | 若文件未修改,正常退出 vi;若文件已修改,提示保存 |
末行模式 | q! | 强制退出 vi,不保存对文件所做的任何修改 |
末行模式 | wq | 保存文件并退出 vi |
末行模式 | x | 功能与wq 类似,保存文件并退出 vi,但如果文件未修改则不执行写操作,直接退出 |
末行模式 | /[字符串] | 从光标位置开始向下查找指定的字符串,按n 查找下一个匹配项,按N 查找上一个匹配项 |
末行模式 | ?[字符串] | 从光标位置开始向上查找指定的字符串,按n 查找下一个匹配项,按N 查找上一个匹配项 |
末行模式 | :%s/old/new/g | 在整个文件中,将所有匹配old 的字符串替换为new ,g 表示全局替换(一行中多个匹配都替换) |
末行模式 | n1,n2s/old/new/g (n1 、n2 为行号) | 在文件的第n1 行到第n2 行之间,将所有匹配old 的字符串替换为new ,g 表示全局替换 |
末行模式 | set nu | 显示行号 |
末行模式 | set nonu | 取消显示行号 |
末行模式 | set ic | 设置查找时忽略大小写 |
末行模式 | set noic | 取消查找时忽略大小写的设置 |
末行模式 | r [文件名] | 将指定文件的内容读取并插入到当前光标所在位置 |
Vi/Vim 工作模式
管道符:|
快捷键 | 功能 | 应用场景 |
---|---|---|
Ctrl+C | 中断当前正在执行的命令或程序 | 当命令执行出现错误或不需要继续运行时,可使用该快捷键停止,如在执行长时间运行的find 命令查找大量文件时,若想中途停止就可以按Ctrl+C 。 |
Ctrl+Z | 将当前任务暂停并放入后台 | 比如在使用vi 编辑器编辑文件时,突然需要执行其他命令,但又不想关闭vi ,就可以按Ctrl+Z 暂停vi ,然后在后台执行其他操作,之后再使用fg 命令将vi 恢复到前台继续编辑。 |
Ctrl+D | 表示输入结束,常用于退出当前终端或关闭当前输入流 | 在命令行输入完命令后,若需要告诉系统输入已结束,可按Ctrl+D ;在vi 编辑器的命令模式下按Ctrl+D 可向下翻半页。 |
Ctrl+A | 将光标移动到当前行的行首 | 在命令行输入较长命令时,若想快速回到行首修改命令开头部分,按Ctrl+A 即可。 |
Ctrl+E | 将光标移动到当前行的行尾 | 与Ctrl+A 相反,当需要快速到达行尾添加内容或修改命令末尾部分时使用。 |
Ctrl+L | 清屏,相当于执行clear 命令 | 当终端界面显示内容过多,想要清理屏幕以便查看新的输出内容时使用。 |
Ctrl+U | 删除从光标位置到行首的所有字符 | 在命令行输入错误内容,且错误部分在光标之前,可使用Ctrl+U 快速删除。 |
Ctrl+K | 删除从光标位置到行尾的所有字符 | 与Ctrl+U 相反,用于删除光标后的内容。 |
Ctrl+R | 在历史命令中搜索 | 当忘记之前执行过的命令具体内容时,按Ctrl+R 可进入搜索模式,输入关键字即可搜索历史命令。 |
Ctrl+键盘左键 | 向左跳一个单词 | |
Ctrl+键盘右键 | 向右跳一个单词 | |
Alt+F | 按单词向前移动光标 | 在命令行或文本编辑器中,需要按单词为单位移动光标时使用,例如在编辑一个较长的命令,想快速移动到下一个单词处进行修改。 |
Alt+B | 按单词向后移动光标 | 与Alt+F 相反,用于按单词向后移动光标。 |
类别 | 命令 | 功能描述 |
---|---|---|
服务管理 | systemctl start [service_name] | 启动指定的服务 |
systemctl stop [service_name] | 停止指定的服务 | |
systemctl restart [service_name] | 重启指定的服务 | |
systemctl reload [service_name] | 重新加载指定服务的配置文件,通常不会中断服务运行 | |
systemctl status [service_name] | 查看指定服务的状态,包括是否正在运行、最近一次启动时间等 | |
服务开机启动管理 | systemctl enable [service_name] | 设置指定服务在系统启动时自动启动 |
systemctl disable [service_name] | 设置指定服务在系统启动时不自动启动 | |
systemctl is - enabled [service_name] | 检查指定服务是否设置为开机自动启动 | |
服务状态查询 | systemctl is - active [service_name] | 检查指定服务当前是否正在运行 |
systemctl is - failed [service_name] | 检查指定服务是否处于失败状态 | |
服务列表查看 | systemctl list - units --type=service | 列出所有正在运行的服务 |
systemctl list - units --type=service --all | 列出所有服务,包括已停止的服务 | |
目标(Target)管理 | systemctl isolate [target_name] | 切换到指定的目标运行级别 |
systemctl get - default | 查看系统的默认目标运行级别 | |
systemctl set - default [target_name] | 设置系统的默认目标运行级别 | |
系统关机与重启 | systemctl poweroff | 关闭系统 |
systemctl reboot | 重启系统 | |
systemctl suspend | 使系统进入睡眠状态 | |
systemctl hibernate | 使系统进入休眠状态 | |
服务依赖关系查看 | systemctl list - dependencies [service_name] | 查看指定服务的依赖关系 |
服务分类 | 服务名称 | 功能描述 |
---|---|---|
系统基础服务 | acpid | 高级配置与电源接口服务,处理电源管理事件,如关机、休眠、唤醒等操作 |
atd | 用于安排在指定时间执行一次任务的服务,与 crond 用于定期重复任务不同 | |
chronyd | 网络时间协议(NTP)客户端服务,用于同步系统时间与网络上的时间服务器 | |
dbus | 消息总线系统,为应用程序之间提供通信机制,许多系统服务依赖它进行交互 | |
irqbalance | 自动将硬件中断请求(IRQ)均衡分配到多个 CPU 核心,以提高系统性能 | |
lvm2-monitor | 逻辑卷管理器(LVM)监控服务,确保系统能够实时检测 LVM 卷的状态和变化 | |
systemd-journald | 系统日志记录服务,负责收集和存储系统和服务产生的日志信息,替代传统的 syslog 部分功能 | |
systemd-udevd | 设备管理器服务,负责在系统启动和运行过程中动态管理设备的添加、移除和配置 | |
网络服务 | bind | BIND(Berkeley Internet Name Domain)是最常用的 DNS(域名系统)服务器软件,用于域名解析 |
dhcpd | DHCP(动态主机配置协议)服务器服务,自动为网络中的客户端分配 IP 地址等网络配置信息 | |
dovecot | 开源的 IMAP 和 POP3 邮件服务器,用于接收和存储用户的电子邮件 | |
exim 、postfix 或 sendmail | 常见的邮件传输代理(MTA)服务,负责在网络中发送和接收电子邮件 | |
named | 与 bind 相关,是 BIND DNS 服务器的守护进程 | |
samba | 实现 SMB/CIFS 协议的服务,允许 Linux 系统与 Windows 系统进行文件和打印机共享 | |
vsftpd | 一个安全且高性能的 FTP(文件传输协议)服务器服务,用于在网络上进行文件传输 | |
数据库服务 | mongodb | 开源的文档型数据库管理系统,采用 JSON 格式存储数据,适合处理大量非结构化数据 |
redis | 开源的内存数据结构存储系统,可用作数据库、缓存和消息中间件 | |
监控与性能管理服务 | collectd | 系统和应用程序监控守护进程,收集系统性能指标并存储或发送到其他系统进行分析 |
zabbix-server | 开源的企业级监控解决方案,可监控各种网络设备、服务器和应用程序的状态和性能 | |
容器与虚拟化服务 | crio | 符合 OCI(开放容器倡议)标准的容器运行时,用于在 Kubernetes 等容器编排系统中运行容器 |
k3s | 轻量级的 Kubernetes 发行版,适合在资源受限的环境中部署和运行容器化应用 | |
minikube | 用于在本地快速搭建单节点 Kubernetes 集群的工具,方便开发和测试 Kubernetes 应用 | |
podman | 一个无守护进程的容器引擎,可替代 Docker 进行容器的创建、管理和运行 | |
桌面环境相关服务 | gdm (GNOME 桌面) | GNOME 桌面环境的显示管理器,负责用户登录界面的显示和管理 |
kdm (KDE 桌面) | KDE 桌面环境的显示管理器,提供用户登录界面和会话管理功能 | |
lightdm | 轻量级的显示管理器,可用于多种桌面环境 | |
sddm | 现代的跨桌面环境显示管理器,具有简洁的界面和良好的性能 | |
安全相关服务 | auditd | 系统审计服务,记录系统活动和用户操作,用于安全审计和合规性检查 |
clamd | ClamAV 杀毒软件的守护进程,用于实时扫描文件和邮件,检测病毒和恶意软件 | |
selinux | 强制访问控制(MAC)系统,增强系统的安全性,限制进程和用户的访问权限 | |
firewalld | CentOS 等系统中动态的防火墙管理工具,支持网络区域(zone)概念,可根据不同场景配置不同的规则,能方便地通过命令行或图形界面进行操作,实现对网络连接的控制和防护 | |
ufw (Uncomplicated Firewall) | Ubuntu 等系统中简单易用的防火墙配置工具,提供了简洁的命令行接口,用于快速设置和管理防火墙规则,适合初学者和对防火墙配置要求不特别复杂的场景 | |
iptables | Linux 系统中传统的防火墙工具,通过命令行操作来配置各种规则链,对网络数据包进行过滤、转发、NAT 等操作,功能强大但配置相对复杂,常用于对网络安全有精细控制需求的场景 | |
nftables | 新一代的 Linux 防火墙框架,旨在取代 iptables ,提供了更高效、灵活和简洁的语法,支持更复杂的网络规则配置和流量管理 |
类别 | 命令 | 功能描述 |
---|---|---|
创建硬链接 | ln [源文件] [目标文件] | 为源文件创建一个硬链接文件。 硬链接与源文件指向同一个 inode(索引节点) 本质上是同一个文件的不同访问入口,删除其中一个不影响其他链接访问数据。 |
创建软链接 | ln -s [源文件或目录] [目标文件或目录] | 为源文件或目录创建一个软链接。 软链接类似于 Windows 系统中的快捷方式,它保存的是源文件或目录的路径信息,删除源文件后软链接将失效。 |
覆盖已有链接 | ln -f [源文件] [目标文件] | 如果目标文件已存在,强制覆盖它来创建新的链接。可结合 -s 用于软链接,也可单独用于硬链接。 |
详细输出 | ln -v [源文件] [目标文件] | 在创建链接时显示详细的操作信息,告知用户链接是否成功创建。 |
跨文件系统创建软链接 | ln -s [源文件] [目标文件] | 由于硬链接不能跨文件系统创建,而软链接不受此限制,可用于在不同文件系统间建立关联。 |
命令分类 | 命令 | 语法 | 常用选项及示例 |
---|---|---|---|
系统信息相关 | uname | uname [选项] | -a :显示所有信息,如uname -a ;-m :显示机器硬件架构,如uname -m ;-r :显示内核发行版本,如uname -r |
系统信息相关 | dmidecode | dmidecode [选项] | -q :安静模式,如dmidecode -q ;-t type :显示指定类型 DMI 信息,如dmidecode -t 1 |
系统信息相关 | hdparm | hdparm [选项] [设备名] | -i :显示硬盘硬件信息,如hdparm -i /dev/sda ;-t :进行硬盘读取测试,如hdparm -t /dev/sda ;-T :测试硬盘缓存读取速度,如hdparm -T /dev/sda |
系统信息相关 | date | date [选项] [+格式] | -s :设置系统日期和时间,如date -s "2024-10-01 12:00:00" ;+格式 :按指定格式输出,如date +"%Y-%m-%d %H:%M:%S" |
文件和目录操作 | cd | cd [目录名] | cd /home/user :进入指定目录;cd.. :返回上一级目录;cd ~ :回到用户主目录 |
文件和目录操作 | pwd | pwd | 直接执行显示当前工作目录完整路径 |
文件和目录操作 | ls | ls [选项] [目录名] | -l :长格式显示,如ls -l ;-a :显示所有文件,如ls -a ;-h :与-l 配合以人类可读方式显示大小,如ls -lh |
文件和目录操作 | mkdir | mkdir [选项] 目录名 | -p :创建多级目录,如mkdir -p /tmp/test/dir |
文件和目录操作 | rm | rm [选项] 文件或目录名 | -f :强制删除,如rm -f file.txt ;-r :递归删除目录,如rm -r test_dir ;-rf :强制递归删除,如rm -rf test_dir |
文件和目录操作 | mv | mv [选项] 源文件或目录 目标文件或目录 | mv file1.txt file2.txt :重命名文件;mv file.txt /home/user :移动文件 |
文件和目录操作 | cp | cp [选项] 源文件或目录 目标文件或目录 | -r :递归复制目录,如cp -r dir1 dir2 ;-a :归档复制,如cp -a file.txt /backup |
文本处理 | cat | cat [选项] 文件1 [文件2 ...] | -n :显示行号,如cat -n file.txt |
文本处理 | tac | tac [文件] | tac file.txt :反向显示文件内容 |
文本处理 | grep | grep [选项] 模式 文件名 | -i :忽略大小写,如grep -i "hello" file.txt ;-r :递归搜索目录,如grep -r "keyword" /home |
文本处理 | sed | sed [选项] '脚本命令' 文件 | -i :直接修改文件内容,如sed -i 's/old/new/g' file.txt |
进程管理 | ps | ps [选项] | -ef :显示所有进程详细信息,如ps -ef ;-aux :以 BSD 风格显示进程信息,如ps -aux |
进程管理 | top | top [选项] | -d 秒数 :指定刷新间隔秒数,如top -d 5 |
网络相关 | ifconfig | ifconfig [网络接口名] [选项] | -a:显示所有网络接口的信息,包括处于非活动状态(down)的接口 up:启用指定的网络接口 down:禁用指定的网络接口 ifconfig [接口名] [IP地址]:为指定的网络接口配置 IP 地址 ifconfig [接口名] [IP地址] netmask [子网掩码]:同时为指定接口配置 IP 地址和子网掩码 ifconfig [接口名] broadcast [广播地址]:为指定的网络接口配置广播地址 ifconfig [接口名] hw ether [MAC地址]:修改指定网络接口的 MAC 地址 |
网络相关 | ping | ping [选项] 目标地址 | -c 次数 :指定发送 ICMP 包的次数,如ping -c 5 www.baidu.com ;-i 间隔 :指定发送 ICMP 包的间隔秒数,如ping -i 2 www.baidu.com |
网络相关 | netstat | netstat [选项] | -an :显示所有网络连接详细信息,如netstat -an ;-t :显示 TCP 连接,如netstat -t ;-u :显示 UDP 连接,如netstat -u |
权限管理 | chmod | chmod [选项] 权限模式 文件或目录名 | 权限模式如755 chmod 755 file.txt :设置文件权限;-R :递归修改目录权限,如chmod -R 755 dir |
权限管理 | chown | chown [选项] 所有者:组名 文件或目录名 | -R :递归修改目录所有者和组如 chown -R user:group dir |
压缩和解压缩 | tar | tar [选项] 压缩包名 文件或目录 | -zcvf :创建 gzip 压缩的 tar 包,如tar -zcvf file.tar.gz file1 file2 ;-zxvf :解压缩 gzip 压缩的 tar 包,如tar -zxvf file.tar.gz |
压缩和解压缩 | gzip | gzip [选项] 文件 | -d :解压缩文件,如gzip -d file.txt.gz |
压缩和解压缩 | bzip2 | bzip2 [选项] 文件 | -d :解压缩文件,如bzip2 -d file.txt.bz2 |