万字总结Linux常用命令(包含命令的用法、参数、使用示例)

前言:Linux命令数量非常庞大,往往需要在使用的时候进行查找,但是网络上资料繁杂,就笔者的观感而言,很难找到一份既有命令的用法也有参数的介绍,同时还可以提供一些简单示例的的高质量文章,因此本篇文章应运而生。本文按照命令的使用类型和场景进行了分类,相信可以使笔者更快速的查找和理解需要用到的命令。


目录

一.文件和目录管理命令

▐ ls - 列出目录内容

▐ cd - 更改当前工作目录

▐ pwd - 显示当前工作目录

▐ cp - 复制文件或目录

▐ mv - 移动或重命名文件或目录

▐ rm - 删除文件或目录

▐ mkdir - 创建目录

▐ rmdir - 删除空目录

▐ find - 查找文件或目录

▐ touch - 创建空文件或更新文件的时间戳

二.文件内容操作命令

▐ vi 和 vim 

1. 命令模式(Command Mode)

2. 插入模式(Insert Mode)

3. 底行模式(Last Line Mode)

▐ cat - 连接并显示文件内容

▐ more - 分页显示文件内容

▐ less - 分页显示文件内容(功能比more更强大)

▐ head - 显示文件的前几行

▐ tail - 显示文件的后几行

▐ grep - 在文件中搜索文本

▐ wc - 统计文件的行数、字数和字符数

三.文件权限管理命令

▐ chmod - 修改文件或目录的权限

▐ chown - 修改文件的所有者和组

▐ chgrp - 修改文件的所属组

四.进程管理命令

▐ ps:显示当前运行的进程

▐ top:实时显示系统资源使用情况

▐ kill:终止进程

五.压缩和归档命令

▐ tar:创建归档文件并支持压缩

▐ gzip:文件压缩工具

▐ bzip2:高效文件压缩工具

▐ xz:高效文件压缩工具

▐ zip:创建压缩归档文件

▐ unzip:解压缩 zip 归档文件

六.用户管理命令

▐ who:显示当前登录的用户

▐ useradd:添加新用户

▐ usermod:修改用户信息

▐ userdel:删除用户

▐ groupadd:添加新组

▐ groupdel:删除组

▐ passwd:修改用户密码

▐ su:切换用户

▐ sudo:以超级用户权限执行命令

▐ id:显示用户和组信息

七.网络管理命令

▐ ifconfig:配置网络接口

▐ ip:显示和操作路由、设备、策略路由等

▐ ping:检查网络连通性

▐ traceroute:跟踪路由路径

▐ netstat:显示网络连接、路由表、接口状态等

八.磁盘管理命令

▐ df:显示文件系统的磁盘空间使用情况

▐ fdisk:磁盘分区管理

▐ parted:高级磁盘分区管理

▐ mkfs:创建文件系统

▐ mount:挂载文件系统

▐ umount:卸载文件系统

九.程序安装和包管理命令

▐ 1. apt-get/apt:Debian系发行版的软件包管理工具

apt-get

apt

▐ 2. yum/dnf:Red Hat系发行版的软件包管理工具

yum

dnf

▐ 3. rpm:Red Hat Package Manager,用于安装、卸载和管理RPM包


一.文件和目录管理命令

这部分命令及其选项涵盖了文件和目录管理的常见操作,掌握这些命令就可以有效地管理和操作Linux系统中的文件和目录。

▐ ls - 列出目录内容

用法:

ls [选项] [目录]

常用选项

  • -l:使用长格式列出文件信息。
  • -a:显示所有文件,包括隐藏文件。
  • -h:以人类可读的格式显示文件大小。
  • -R:递归列出目录及其子目录中的内容。

示例

ls -l
ls -a /home/user
ls -lh /var/log

cd - 更改当前工作目录

用法

cd [目录]

示例

cd /home/user
cd ..
cd ~

pwd - 显示当前工作目录

用法

pwd

cp - 复制文件或目录

用法

cp [选项] 源文件 目标文件
cp [选项] 源文件... 目标目录

常用选项

  • -r:递归复制目录及其内容。
  • -i:在覆盖文件前提示确认。
  • -u:仅在源文件比目标文件新或目标文件不存在时复制。

示例

cp file1.txt file2.txt
cp -r dir1 dir2
cp -i file1.txt /backup/

mv - 移动或重命名文件或目录

用法

mv [选项] 源文件 目标文件
mv [选项] 源文件... 目标目录

常用选项

  • -i:在覆盖文件前提示确认。
  • -u:仅在源文件比目标文件新或目标文件不存在时移动。

示例

mv oldname.txt newname.txt
mv file1.txt file2.txt /backup/

rm - 删除文件或目录

用法

rm [选项] 文件...

常用选项

  • -r:递归删除目录及其内容。
  • -f:强制删除,不提示确认。
  • -i:删除前逐个文件提示确认。

示例

rm file1.txt
rm -r directory/
rm -f file1.txt

mkdir - 创建目录

用法

mkdir [选项] 目录...

常用选项

  • -p:递归创建目录,包括必要的父目录。

示例

mkdir newdir
mkdir -p /newdir/subdir

rmdir - 删除空目录

用法

rmdir [选项] 目录...

示例

rmdir emptydir

find - 查找文件或目录

用法

find [路径] [选项] [表达式]

常用选项

  • -name:按名称查找文件。
  • -type:按类型查找(f为文件,d为目录)。
  • -size:按大小查找文件。
  • -mtime:按修改时间查找文件。
  • -exec:对查找到的文件执行指定的命令。

示例

find /home -name "*.txt"
find /var/log -type f -size +1M
find /tmp -mtime -1
find / -type f -name "*.log" -exec rm -f {} \;

touch - 创建空文件或更新文件的时间戳

用法

touch [选项] 文件...

常用选项

  • -a:仅更新访问时间。
  • -m:仅更新修改时间。

示例

touch newfile.txt
touch -a -m existingfile.txt

二.文件内容操作命令

下面是Linux中用于查看和遍历文件内容的命令的详细介绍,包括每个命令的基本用法和常见选项。

vivim 

这里要对vivim 单独说一下,vivim 是 Linux 系统中常用的文本编辑器,其中 vimvi 的增强版,提供了更多的功能和改进。vi 有三种主要模式,它们分别是命令模式(Command Mode)、插入模式(Insert Mode)和底行模式(Last Line Mode)。以下是每种模式的详细解释:

1. 命令模式(Command Mode)

解释: 命令模式是 vivim 的默认模式。当你第一次启动 vivim 时,编辑器处于命令模式。在此模式下,你可以执行各种命令来导航、删除、复制、粘贴文本等。

特点

  • 导航:可以使用 hjkl 键来移动光标。
  • 删除文本:例如,使用 x 删除当前字符,使用 dd 删除当前行。
  • 复制文本:例如,使用 yy 复制当前行。
  • 粘贴文本:例如,使用 p 粘贴文本。
  • 切换模式:可以通过按 iao 等命令进入插入模式,或者按 : 进入底行模式。

示例

h      # 左移一个字符
j      # 下移一行
k      # 上移一行
l      # 右移一个字符
dd     # 删除当前行
yy     # 复制当前行
p      # 粘贴文本
i      # 进入插入模式
:      # 进入底行模式

2. 插入模式(Insert Mode)

解释: 插入模式用于插入和编辑文本。在命令模式下,通过按 iao 等命令可以进入插入模式。进入插入模式后,所有键入的字符都会直接插入到文本中。

特点

  • 插入文本:可以在光标当前位置、光标后面、新行等位置插入文本。
  • 退出模式:按 Esc 键可以退出插入模式,返回命令模式。

示例

i      # 在光标前插入文本
a      # 在光标后插入文本
o      # 在当前行下方新开一行并插入文本
O      # 在当前行上方新开一行并插入文本
Esc    # 退出插入模式,返回命令模式

3. 底行模式(Last Line Mode)

解释: 底行模式用于执行文件保存、退出、搜索、替换等命令。在命令模式下,通过按 :/? 可以进入底行模式。进入底行模式后,光标移动到编辑器底部,显示一个命令提示符。

特点

  • 文件操作:保存文件、退出编辑器等。
  • 搜索文本:在文件中搜索特定文本。
  • 替换文本:在文件中替换特定文本。
  • 执行命令:按 Enter 键执行命令。

示例

:w         # 保存文件
:q         # 退出编辑器
:wq        # 保存并退出
:q!        # 强制退出(不保存)
/pattern   # 搜索模式,向下查找
?pattern   # 搜索模式,向上查找
:s/old/new # 替换当前行的第一个匹配
:%s/old/new/g  # 替换整个文件的所有匹配

cat - 连接并显示文件内容

用法

cat [选项] 文件...

常用选项

  • -n:显示行号。
  • -b:对非空输出行编号。
  • -s:压缩连续的空行。
  • -E:在每行末尾显示 $

示例

cat file1.txt
cat file1.txt file2.txt > merged.txt
cat -n file1.txt

more - 分页显示文件内容

用法

more [选项] 文件...

常用选项

  • -d:显示"Press space to continue..."提示。
  • -num:指定每页显示的行数。
  • -s:压缩连续的空行。

示例

more file1.txt
more -d file1.txt

▐ less - 分页显示文件内容(功能比more更强大)

用法

less [选项] 文件...

常用选项

  • -N:显示行号。
  • -I:忽略搜索时的大小写。
  • -S:禁止自动换行。

示例

less file1.txt
less -N file1.txt

▐ head - 显示文件的前几行

用法

head [选项] 文件...

常用选项

  • -n:指定显示的行数。
  • -c:指定显示的字节数。

示例

head file1.txt
head -n 20 file1.txt
head -c 50 file1.txt

▐ tail - 显示文件的后几行

用法

tail [选项] 文件...

常用选项

  • -n:指定显示的行数。
  • -c:指定显示的字节数。
  • -f:实时显示文件内容,常用于查看日志文件。
  • -r:倒序显示文件内容。

示例

tail file1.txt
tail -n 20 file1.txt
tail -f /var/log/syslog
tail -c 100 file1.txt

▐ grep - 在文件中搜索文本

用法

grep [选项] 模式 文件...

常用选项

  • -i:忽略大小写。
  • -r:递归搜索目录。
  • -v:显示不匹配的行。
  • -n:显示行号。
  • -l:只显示包含匹配的文件名。
  • -c:显示匹配的行数。
  • -H:显示匹配的文件名。
  • -o:只输出匹配部分。

示例

grep "search_term" file1.txt
grep -i "search_term" file1.txt
grep -r "search_term" /var/log/
grep -v "search_term" file1.txt
grep -n "search_term" file1.txt
grep -l "search_term" *

▐ wc - 统计文件的行数、字数和字符数

用法

wc [选项] 文件...

常用选项

  • -l:显示行数。
  • -w:显示字数。
  • -c:显示字节数。
  • -m:显示字符数。

示例

wc file1.txt
wc -l file1.txt
wc -w file1.txt
wc -c file1.txt

三.文件权限管理命令

在Linux系统中,文件权限管理是非常重要的一部分。它控制了谁可以读取、写入或执行文件和目录。Linux文件权限包括三个部分:文件的所有者、文件所属的组以及其他用户。每个部分都有三种权限:

  • 读(r):允许读取文件内容或列出目录内容。
  • 写(w):允许修改文件内容或在目录中创建、删除、重命名文件。
  • 执行(x):允许执行文件(如果是可执行文件)或访问目录。

权限通常表示为一个十位的字符串,如 -rwxr-xr--,其中:

  • 第一位表示文件类型(例如,- 表示普通文件,d 表示目录)。
  • 接下来的九位分为三组,每组三位,分别表示所有者、组、其他用户的权限。

查看文件权限

ls 命令

查看文件权限通常使用 ls 命令:

ls -l

输出示例:

-rw-r--r-- 1 user group 4096 May 19 12:34 file.txt

▐ chmod - 修改文件或目录的权限

用法:

chmod [who][operation][permission] file

其中: 

  • who:权限修改对象,u(用户),g(组),o(其他),a(所有)。
  • operation+(添加权限),-(移除权限),=(设置权限)。
  • permissionr(读),w(写),x(执行)。

示例

chmod u+x file.txt     # 为文件所有者添加执行权限
chmod g-w file.txt     # 移除组的写权限
chmod o=r file.txt     # 设置其他用户只读权限
chmod a+r file.txt     # 为所有用户添加读权限

八进制模式

chmod [mode] file
  • mode 是一个三位的八进制数,每位代表不同的权限:
    • 读(r):4
    • 写(w):2
    • 执行(x):1

示例

chmod 755 file.txt     # 设置文件权限为 -rwxr-xr-x
chmod 644 file.txt     # 设置文件权限为 -rw-r--r--

▐ chown - 修改文件的所有者和组

用法

chown [选项] [新所有者][:新组] 文件

示例

chown user file.txt            # 修改文件所有者为 user
chown user:group file.txt      # 修改文件所有者为 user,组为 group
chown :group file.txt          # 仅修改文件所属组为 group
chown -R user:group /path/to/dir # 递归修改目录及其子文件夹和文件的所有者和组

▐ chgrp - 修改文件的所属组

用法

chgrp [选项] 新组 文件

示例

chgrp group file.txt           # 修改文件所属组为 group
chgrp -R group /path/to/dir    # 递归修改目录及其子文件夹和文件的所属组

四.进程管理命令

▐ ps:显示当前运行的进程

用法

ps [选项]

常用选项

  • -e-A:显示所有进程。
  • -f:显示完整格式的输出,包括PPID、C、STIME、TTY、TIME、CMD。
  • -u 用户:显示特定用户的进程。
  • -p PID:显示指定PID的进程。

示例

ps -ef   # 显示所有进程的完整格式
ps -aux  # 显示所有进程,包括详细信息

▐ top:实时显示系统资源使用情况

用法

top

特点

  • 默认情况下,每隔几秒钟更新一次系统的进程信息。
  • 显示CPU、内存使用情况和每个进程的信息。

常用操作

  • q:退出 top
  • h:显示帮助。
  • k:终止一个进程。
  • r:重新调整进程的优先级(renice)。

示例

top   # 启动top,实时显示系统资源使用情况

▐ kill:终止进程

用法

kill [选项] PID

常用选项

  • -9:强制终止进程。
  • -15:发送TERM信号(默认),请求进程终止。

示例

kill 1234         # 终止进程ID为1234的进程
kill -9 1234      # 强制终止进程ID为1234的进程

五.压缩和归档命令

在Linux中,压缩和归档命令是管理文件和目录的重要工具。常见的压缩和归档命令包括 targzipbzip2xzzip 等。这些工具可以单独使用,也可以组合使用,以便创建压缩的归档文件。

▐ tar:创建归档文件并支持压缩

tar(tape archive)命令用于创建、提取和管理归档文件。

用法

tar [选项] [归档文件] [文件或目录]

常用选项

  • -c:创建新的归档文件。
  • -x:解压归档文件。
  • -t:列出归档文件内容。
  • -v:显示详细信息。
  • -f:指定归档文件名。
  • -z:使用 gzip 压缩或解压缩。
  • -j:使用 bzip2 压缩或解压缩。
  • -J:使用 xz 压缩或解压缩。
  • -C:指定解压到的目录。

示例

# 创建 tar 归档文件
tar -cvf archive.tar file1 file2 directory/

# 创建 gzip 压缩的 tar 归档文件
tar -czvf archive.tar.gz file1 file2 directory/

# 创建 bzip2 压缩的 tar 归档文件
tar -cjvf archive.tar.bz2 file1 file2 directory/

# 创建 xz 压缩的 tar 归档文件
tar -cJvf archive.tar.xz file1 file2 directory/

# 解压 tar 归档文件
tar -xvf archive.tar

# 解压 gzip 压缩的 tar 归档文件
tar -xzvf archive.tar.gz

# 解压 bzip2 压缩的 tar 归档文件
tar -xjvf archive.tar.bz2

# 解压 xz 压缩的 tar 归档文件
tar -xJvf archive.tar.xz

# 列出 tar 归档文件内容
tar -tvf archive.tar

# 解压到指定目录
tar -xvf archive.tar -C /path/to/directory

▐ gzip:文件压缩工具

gzip(GNU zip)用于压缩单个文件。

用法

gzip [选项] [文件]

常用选项

  • -d:解压文件。
  • -k:保留原文件。
  • -r:递归压缩目录中的所有文件。

示例

# 压缩文件
gzip file

# 解压文件
gzip -d file.gz

# 压缩并保留原文件
gzip -k file

# 递归压缩目录中的所有文件
gzip -r directory/

▐ bzip2:高效文件压缩工具

bzip2 用于压缩单个文件,通常比 gzip 压缩率更高,但速度较慢。

用法

bzip2 [选项] [文件]

常用选项

  • -d:解压文件。
  • -k:保留原文件。

示例

# 压缩文件
bzip2 file

# 解压文件
bzip2 -d file.bz2

# 压缩并保留原文件
bzip2 -k file

▐ xz:高效文件压缩工具

xz 用于压缩单个文件,压缩率比 gzipbzip2 更高,但速度较慢。

用法

xz [选项] [文件]

常用选项

  • -d:解压文件。
  • -k:保留原文件。
  • -z:压缩文件(默认行为)。
  • -T:指定使用的线程数。

示例

# 压缩文件
xz file

# 解压文件
xz -d file.xz

# 压缩并保留原文件
xz -k file

# 使用多线程压缩文件
xz -T4 file

▐ zip:创建压缩归档文件

zip 命令用于创建压缩归档文件,支持多文件和目录。

用法

zip [选项] [归档文件] [文件或目录]

常用选项

  • -r:递归压缩目录。
  • -d:从归档文件中删除文件。
  • -u:更新归档文件中的文件。
  • -m:压缩后删除原文件。

示例

# 创建 zip 归档文件
zip archive.zip file1 file2 directory/

# 递归压缩目录
zip -r archive.zip directory/

# 从归档文件中删除文件
zip -d archive.zip file1

# 更新归档文件中的文件
zip -u archive.zip file1

# 压缩后删除原文件
zip -m archive.zip file1

▐ unzip:解压缩 zip 归档文件

unzip 命令用于解压缩 zip 归档文件。

用法

unzip [选项] [归档文件]

常用选项

  • -d:指定解压到的目录。
  • -l:列出归档文件内容。
  • -o:覆盖已存在的文件。

示例

# 解压 zip 归档文件
unzip archive.zip

# 解压到指定目录
unzip archive.zip -d /path/to/directory

# 列出 zip 归档文件内容
unzip -l archive.zip

# 覆盖已存在的文件
unzip -o archive.zip

六.用户管理命令

在Linux中,用户管理命令用于管理用户账户和用户组,确保系统的安全和资源的有效分配。

▐ who:显示当前登录的用户

用法

who [选项]

常用选项

  • -H:显示列标题。
  • -q:显示登录用户的数量和名称。
  • -b:显示系统最后的启动时间。

示例

who         # 显示当前登录的用户
who -q      # 显示当前登录用户的数量和名称
who -b      # 显示系统最后的启动时间

▐ useradd:添加新用户

useradd 命令用于在系统中添加新用户。

用法

useradd [选项] 用户名

常用选项

  • -m:创建用户的主目录。
  • -d 目录:指定用户的主目录。
  • -s shell:指定用户的登录 shell。
  • -g 组:指定用户的主组。
  • -G 组1,组2,...:指定用户的附加组。
  • -u 用户ID:指定用户ID。
  • -c "描述":添加用户描述信息。

示例

# 添加新用户并创建主目录
useradd -m newuser

# 添加新用户,指定主目录和登录 shell
useradd -m -d /home/customdir -s /bin/bash newuser

# 添加新用户,指定主组和附加组
useradd -m -g users -G wheel,audio,video newuser

▐ usermod:修改用户信息

usermod 命令用于修改现有用户的信息。

用法

usermod [选项] 用户名

常用选项

  • -l 新用户名:更改用户名。
  • -d 新目录:更改用户主目录。
  • -m:移动用户主目录到新位置。
  • -s 新shell:更改用户的登录 shell。
  • -g 新组:更改用户的主组。
  • -G 新组1,新组2,...:更改用户的附加组。
  • -u 新用户ID:更改用户ID。
  • -c "新描述":更改用户描述信息。

示例

# 更改用户名
usermod -l newusername oldusername

# 更改用户主目录并移动内容
usermod -d /new/home/directory -m username

# 更改用户登录 shell
usermod -s /bin/zsh username

# 更改用户主组和附加组
usermod -g newgroup -G newgroup1,newgroup2 username

▐ userdel:删除用户

userdel 命令用于从系统中删除用户。

用法

userdel [选项] 用户名

常用选项

  • -r:删除用户的主目录和邮件池。

示例

# 删除用户但保留主目录
userdel username

# 删除用户并删除主目录
userdel -r username

▐ groupadd:添加新组

groupadd 命令用于在系统中添加新组。

用法

groupadd [选项] 组名

常用选项

  • -g 组ID:指定组ID。

示例

# 添加新组
groupadd newgroup

# 添加新组并指定组ID
groupadd -g 1001 newgroup

▐ groupdel:删除组

groupdel 命令用于从系统中删除组。

用法

groupdel 组名

 示例

# 删除组
groupdel oldgroup

▐ passwd:修改用户密码

passwd 命令用于修改用户密码。

用法

passwd [用户名]

示例

# 修改当前用户的密码
passwd

# 修改指定用户的密码(需要超级用户权限)
passwd username

▐ su:切换用户

su 命令用于切换到另一个用户的身份。

用法

su [选项] [用户名]

常用选项

  • -:切换到用户并加载该用户的环境变量。

示例

# 切换到 root 用户
su -

# 切换到指定用户
su username

▐ sudo:以超级用户权限执行命令

sudo 命令用于以超级用户或其他用户的身份执行命令。

用法

sudo [选项] 命令

常用选项

  • -u 用户:以指定用户的身份执行命令。
  • -s:启动交互式 shell。

示例

# 以超级用户权限执行命令
sudo command

# 以指定用户身份执行命令
sudo -u username command

# 启动超级用户的交互式 shell
sudo -s

▐ id:显示用户和组信息

id 命令用于显示指定用户或当前用户的ID、组ID和附加组信息。

用法

id [选项] [用户名]

常用选项

  • -u:显示用户ID。
  • -g:显示组ID。
  • -G:显示所有组ID。
  • -n:显示名称而不是数字ID。

示例

# 显示当前用户的信息
id

# 显示指定用户的信息
id username

# 显示当前用户的用户ID
id -u

# 显示当前用户的所有组ID
id -G

七.网络管理命令

在Linux中,网络管理命令用于配置、管理和监控网络接口、路由、连接状态等。

▐ ifconfig:配置网络接口

ifconfig 命令用于显示或配置网络接口。

用法

ifconfig [接口] [选项]

常用选项

  • up:启动网络接口。
  • down:关闭网络接口。
  • inet 地址:设置接口的IP地址。
  • netmask 地址:设置接口的子网掩码。
  • broadcast 地址:设置接口的广播地址。

示例

# 显示所有网络接口的信息
ifconfig

# 启动网络接口 eth0
ifconfig eth0 up

# 关闭网络接口 eth0
ifconfig eth0 down

# 配置网络接口 eth0 的IP地址、子网掩码和广播地址
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255

▐ ip:显示和操作路由、设备、策略路由等

ip 命令是 ifconfig 的现代替代品,功能更强大。

用法

ip [选项] 对象 命令

常用对象和命令

  • addr:管理IP地址。
    • show:显示地址。
    • add:添加地址。
    • del:删除地址。
  • link:管理网络接口。
    • show:显示接口。
    • set:设置接口状态(up/down)。
  • route:管理路由表。
    • show:显示路由。
    • add:添加路由。
    • del:删除路由。

示例

# 显示所有网络接口的信息
ip addr show

# 显示接口 eth0 的信息
ip addr show eth0

# 启动网络接口 eth0
ip link set eth0 up

# 关闭网络接口 eth0
ip link set eth0 down

# 添加IP地址到接口 eth0
ip addr add 192.168.1.100/24 dev eth0

# 删除接口 eth0 上的IP地址
ip addr del 192.168.1.100/24 dev eth0

# 显示路由表
ip route show

# 添加默认网关
ip route add default via 192.168.1.1

# 删除默认网关
ip route del default

▐ ping:检查网络连通性

ping 命令用于测试与目标主机的连通性。

用法

ping [选项] 目标

常用选项

  • -c 次数:指定发送的ICMP请求数。
  • -i 间隔:指定每次请求间的间隔时间。
  • -s 大小:指定ICMP数据包的大小。

示例

# ping 一个主机,直到手动停止
ping www.example.com

# ping 一个主机5次
ping -c 5 www.example.com

# 每隔0.5秒 ping 一次
ping -i 0.5 www.example.com

▐ traceroute:跟踪路由路径

traceroute 命令用于显示数据包到目标主机的路径。

用法

traceroute [选项] 目标

常用选项

  • -n:使用IP地址而非主机名。
  • -m 最大跳数:设置最大跳数。

示例

# 跟踪到目标主机的路由
traceroute www.example.com

# 跟踪到目标主机的路由,使用IP地址
traceroute -n www.example.com

▐ netstat:显示网络连接、路由表、接口状态等

netstat 命令用于显示各种网络相关信息。

用法:

netstat [选项]

常用选项

  • -a:显示所有连接和监听端口。
  • -t:显示TCP连接。
  • -u:显示UDP连接。
  • -n:以数字形式显示地址和端口。
  • -r:显示路由表。
  • -i:显示网络接口信息。

示例

# 显示所有连接和监听端口
netstat -a

# 显示所有TCP连接
netstat -t

# 显示所有UDP连接
netstat -u

# 显示所有连接和监听端口,以数字形式
netstat -an

# 显示路由表
netstat -r

# 显示网络接口信息
netstat -i

八.磁盘管理命令

在Linux中,磁盘管理命令用于查看、配置和管理磁盘和文件系统。

▐ df:显示文件系统的磁盘空间使用情况

用法

df [选项] [文件]

常用选项

  • -h:以人类可读的格式显示磁盘使用情况。
  • -T:显示文件系统类型。

示例

df -h     # 以人类可读的格式显示所有挂载的文件系统的磁盘使用情况
df -Th    # 显示所有挂载的文件系统的磁盘使用情况和类型

▐ fdisk:磁盘分区管理

fdisk 命令用于查看和编辑磁盘分区表。

用法

fdisk [选项] 设备

常用选项

  • -l:列出所有磁盘及其分区信息。
  • -u:显示分区大小以扇区为单位。

示例

# 显示所有磁盘及其分区信息
fdisk -l

# 编辑磁盘 /dev/sda 的分区表
fdisk /dev/sda

常用交互命令

  • n:创建新分区。
  • d:删除分区。
  • p:打印分区表。
  • w:写入分区表并退出。
  • q:退出但不保存更改。

▐ parted:高级磁盘分区管理

parted 命令用于创建和管理磁盘分区,支持更多类型的分区表。

用法

parted [设备] [命令]

常用命令

  • mklabel:创建新的分区表。
  • mkpart:创建新分区。
  • print:显示分区表。
  • rm:删除分区。
  • resizepart:调整分区大小。

示例

# 进入交互模式编辑磁盘 /dev/sda
parted /dev/sda

# 在交互模式下显示分区表
(parted) print

# 创建新的 GPT 分区表
(parted) mklabel gpt

# 创建新分区
(parted) mkpart primary ext4 0% 100%

▐ mkfs:创建文件系统

mkfs 命令用于在分区上创建新的文件系统。

用法

mkfs -t 文件系统类型 设备

常用文件系统类型

  • ext4:第四代扩展文件系统。
  • xfs:XFS 文件系统。
  • vfat:FAT 文件系统。

示例

# 在分区 /dev/sda1 上创建 ext4 文件系统
mkfs -t ext4 /dev/sda1

# 在分区 /dev/sdb1 上创建 xfs 文件系统
mkfs -t xfs /dev/sdb1

# 在分区 /dev/sdc1 上创建 vfat 文件系统
mkfs -t vfat /dev/sdc1

▐ mount:挂载文件系统

mount 命令用于将文件系统挂载到指定的挂载点。

用法

mount [选项] 设备 挂载点

常用选项

  • -t 类型:指定文件系统类型。
  • -o 选项:指定挂载选项(如只读、用户、绑定等)。

示例

# 将设备 /dev/sda1 挂载到 /mnt 目录
mount /dev/sda1 /mnt

# 挂载 ext4 文件系统
mount -t ext4 /dev/sda1 /mnt

# 以只读模式挂载
mount -o ro /dev/sda1 /mnt

▐ umount:卸载文件系统

umount 命令用于卸载已挂载的文件系统。

用法

umount [选项] 挂载点或设备

常用选项

  • -f:强制卸载。
  • -l:延迟卸载。

示例

# 卸载 /mnt 挂载点上的文件系统
umount /mnt

# 强制卸载 /mnt
umount -f /mnt

# 延迟卸载 /mnt
umount -l /mnt

九.程序安装和包管理命令

在Linux中,程序安装和包管理命令用于安装、更新、卸载和管理软件包。不同的Linux发行版使用不同的包管理工具和命令,下面是常见的包管理命令及其详细信息:

在Linux中,程序安装和包管理命令主要分为以下三个角度:

  1. apt-get/apt:Debian系发行版的软件包管理工具
  2. yum/dnf:Red Hat系发行版的软件包管理工具
  3. rpm:Red Hat Package Manager,用于安装、卸载和管理RPM包

▐ 1. apt-get/apt:Debian系发行版的软件包管理工具

这些工具主要用于基于Debian的发行版,包括但不限于以下操作系统:

  1. Debian:原始的Debian发行版。
  2. Ubuntu:最流行的基于Debian的发行版,包括其各种官方衍生版,如Kubuntu、Lubuntu、Xubuntu等。
  3. Linux Mint:基于Ubuntu的发行版,提供更友好的用户界面。
  4. Elementary OS:基于Ubuntu的发行版,注重美观和简洁。
  5. Kali Linux:基于Debian的发行版,专注于安全测试和数字取证。
  6. Raspbian:为Raspberry Pi优化的Debian发行版。

apt-getapt 是Debian系和Ubuntu系发行版中最常用的包管理工具。

apt-get

apt-get 是高级包管理工具,适用于命令行环境,用于处理软件包的安装、升级、删除等操作。

常用命令

  • update:更新包列表。
  • upgrade:升级所有已安装的软件包。
  • install:安装新软件包。
  • remove:卸载软件包。
  • autoremove:自动卸载不再需要的软件包。
  • clean:清理下载的包文件。
  • dist-upgrade:进行发行版升级。

示例

# 更新包列表
sudo apt-get update

# 升级所有已安装的软件包
sudo apt-get upgrade

# 安装新软件包
sudo apt-get install package_name

# 卸载软件包
sudo apt-get remove package_name

# 自动卸载不再需要的软件包
sudo apt-get autoremove

# 清理下载的包文件
sudo apt-get clean

# 进行发行版升级
sudo apt-get dist-upgrade
apt

apt 命令是 apt-get 的简化版,提供了更友好的用户界面,更易于使用。

常用命令

  • update:更新包列表。
  • upgrade:升级所有已安装的软件包。
  • install:安装新软件包。
  • remove:卸载软件包。
  • autoremove:自动卸载不再需要的软件包。
  • search:搜索软件包。
  • show:显示软件包信息。

示例

# 更新包列表
sudo apt update

# 升级所有已安装的软件包
sudo apt upgrade

# 安装新软件包
sudo apt install package_name

# 卸载软件包
sudo apt remove package_name

# 自动卸载不再需要的软件包
sudo apt autoremove

# 搜索软件包
apt search package_name

# 显示软件包信息
apt show package_name

▐ 2. yum/dnf:Red Hat系发行版的软件包管理工具

这些工具主要用于基于Red Hat的发行版,包括但不限于以下操作系统:

  1. Red Hat Enterprise Linux (RHEL):商业支持的企业级发行版。
  2. CentOS:RHEL的社区版,提供免费使用的RHEL功能。
  3. Fedora:由Red Hat支持的社区版,常作为RHEL的新功能测试平台。
  4. Oracle Linux:基于RHEL的发行版,提供Oracle支持。
  5. AlmaLinux:社区驱动的RHEL替代品,主要用于服务器环境。
  6. Rocky Linux:由CentOS创始人Gregory Kurtzer发起的RHEL替代品。
yum

yum 是Red Hat系和CentOS系发行版中常用的包管理工具,支持自动解决软件包依赖性问题。

常用命令

  • check-update:检查可用更新。
  • update:升级所有已安装的软件包。
  • install:安装新软件包。
  • remove:卸载软件包。
  • clean:清理缓存。
  • list:列出软件包。

示例

# 检查可用更新
sudo yum check-update

# 升级所有已安装的软件包
sudo yum update

# 安装新软件包
sudo yum install package_name

# 卸载软件包
sudo yum remove package_name

# 清理缓存
sudo yum clean all

# 列出所有已安装和可用的软件包
yum list
dnf

dnfyum 的下一代版本,提供了改进的性能和更多功能。

常用命令

  • check-update:检查可用更新。
  • upgrade:升级所有已安装的软件包。
  • install:安装新软件包。
  • remove:卸载软件包。
  • clean:清理缓存。
  • list:列出软件包。

示例

# 检查可用更新
sudo dnf check-update

# 升级所有已安装的软件包
sudo dnf upgrade

# 安装新软件包
sudo dnf install package_name

# 卸载软件包
sudo dnf remove package_name

# 清理缓存
sudo dnf clean all

# 列出所有已安装和可用的软件包
dnf list

▐ 3. rpm:Red Hat Package Manager,用于安装、卸载和管理RPM包

RPM包管理器最初由Red Hat开发,现在广泛用于许多基于RPM的发行版,包括但不限于以下操作系统:

  1. Red Hat Enterprise Linux (RHEL):使用rpm作为其基础包管理工具。
  2. CentOS:使用rpm来管理软件包。
  3. Fedora:使用rpm作为其底层包管理工具。
  4. SUSE Linux Enterprise:SUSE的企业级发行版,使用rpm包管理器。
  5. openSUSE:SUSE的社区版,使用rpm来管理软件包。
  6. Oracle Linux:基于RHEL的发行版,使用rpm包管理器。
  7. Mageia:基于Mandriva Linux的社区发行版,使用rpm包管理器。
  8. PCLinuxOS:基于Mandriva的独立发行版,使用rpm包管理器。

rpm 是Red Hat Package Manager的缩写,用于管理RPM包。适用于Red Hat系发行版以及使用RPM包的其他发行版,如FedoraCentOS等。

常用命令

  • -i:安装软件包。
  • -e:卸载软件包。
  • -U:升级软件包。
  • -q:查询软件包。

示例

# 安装RPM软件包
sudo rpm -i package_file.rpm

# 卸载RPM软件包
sudo rpm -e package_name

# 升级RPM软件包
sudo rpm -U package_file.rpm

# 查询已安装的软件包
rpm -q package_name

# 查询所有已安装的软件包
rpm -qa

选项说明

  • -i:安装一个新软件包。
  • -e:卸载一个已安装的软件包。
  • -U:升级一个已安装的软件包,或如果未安装则安装。
  • -q:查询软件包信息。
  • -qa:列出所有已安装的软件包。

查询选项

  • -qi:显示已安装软件包的详细信息。
  • -ql:列出已安装软件包的文件列表。
  • -qc:列出已安装软件包的配置文件。

示例

# 显示已安装软件包的详细信息
rpm -qi package_name

# 列出已安装软件包的文件列表
rpm -ql package_name

# 列出已安装软件包的配置文件
rpm -qc package_name



 本次的分享就到此为止了,希望我的分享能给您带来帮助,创作不易也欢迎大家三连支持,你们的点赞就是博主更新最大的动力!如有不同意见,欢迎评论区积极讨论交流,让我们一起学习进步!有相关问题也可以私信博主,评论区和私信都会认真查看的,我们下次再见

评论 45
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luming.02

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值