Linux基础:常用基本命令与软件包管理

Linux基础:常用基本命令与软件包管理

前言 :本文是"数据库基础"系列的第三篇。前两篇我们完成了 Linux 系统的安装和远程连接配置,学习了目录结构、VIM 编辑器和网络配置。本篇我们将正式进入 Linux 的常用基本命令 和软件包管理,掌握文件操作、权限管理、系统状态查看等核心技能,并学习如何使用 YUM 安装和管理软件------这些是后续安装数据库和部署应用的基础。

目录

  • 一、常用基本命令
  • 二、软件包管理
  • 三、总结

一、常用基本命令

1.1 帮助命令

man 获得帮助信息

基本语法

bash 复制代码
man [命令或配置文件]

功能描述:获得命令或配置文件的详细帮助信息。

显示说明

信息 功能
NAME 命令的名称和单行描述
SYNOPSIS 怎样使用命令
DESCRIPTION 命令功能的深入讨论
EXAMPLES 怎样使用命令的例子
SEE ALSO 相关主题(通常是手册页)

案例实操

bash 复制代码
# 查看 ls 命令的帮助信息
man ls

man 手册中按 q 退出查看。

help 获得 Shell 内置命令帮助

一部分基础功能的系统命令是直接内嵌在 Shell 中的,系统加载启动后会随着 Shell 一起加载,常驻系统内存中。这部分命令被称为"内置命令"。

基本语法

bash 复制代码
help 命令

功能描述:获得 Shell 内置命令的帮助信息。

案例实操

bash 复制代码
# 查看 cd 命令的帮助信息(cd 是内置命令)
help cd
常用快捷键
快捷键 功能
ctrl + c 停止进程
ctrl + l 清屏,等同于 clear
Tab 键 自动补全路径或命令(防止敲错)
上下键 查找执行过的历史命令

1.2 文件目录类

pwd 显示当前目录

基本语法

bash 复制代码
pwd

功能描述:print working directory,显示当前工作目录的绝对路径。

案例实操

bash 复制代码
[root@master ~]# pwd
/root
ls 列出目录内容

基本语法

bash 复制代码
ls [选项] [目录或文件]

功能描述:list,列出目录内容。

选项参数

选项 功能
-a 全部文件,包括隐藏文件(以 . 开头的文件)
-l 长格式列出,包含文件属性与权限(等价于 ll)
-al 全部文件 + 长格式,最常用

显示说明:每行列出的信息依次是:文件类型与权限、链接数、文件属主、文件属组、文件大小(字节)、建立或最近修改的时间、文件名。

案例实操

bash 复制代码
# 查看当前目录的所有内容(含隐藏文件+详细信息)
[root@master ~]# ls -al
total 132
dr-xr-x---. 18 root root 4096 Aug 23 20:34 .
dr-xr-xr-x. 18 root root 4096 Aug 12 21:11 ..
-rw-------.  1 root root 2008 Aug  8 14:56 anaconda-ks.cfg
-rw-------.  1 root root 2788 Aug 23 21:31 .bash_history
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
cd 切换目录

基本语法

bash 复制代码
cd [参数]

功能描述:Change Directory,切换路径。

参数说明

参数 功能
cd 绝对路径 切换到绝对路径指定的目录
cd 相对路径 切换到相对路径指定的目录
cd ~ 或 cd 回到用户主目录(root 为 /root)
cd - 回到上一次所在目录
cd .. 回到当前目录的上一级目录

案例实操

bash 复制代码
# 使用绝对路径切换到 /etc 目录
[root@master ~]# cd /etc
[root@master etc]# 

# 使用相对路径切换到当前目录下的 sysconfig 子目录
[root@master etc]# cd sysconfig/
[root@master sysconfig]# 

# 回到 root 用户主目录
[root@master sysconfig]# cd ~
[root@master ~]# 

# 回到上一次所在目录
[root@master sysconfig]# cd ~
[root@master ~]# cd -
/etc/sysconfig


# 回到上一级目录
[root@master sysconfig]# cd ..
[root@master etc]# 
mkdir 创建目录

基本语法

bash 复制代码
mkdir [选项] 要创建的目录

功能描述:Make directory,建立目录。

选项参数

选项 功能
-p 创建多层目录

案例实操

bash 复制代码
# 创建单级目录
[root@master ~]# mkdir bigdata

# 创建多级目录
[root@master ~]# mkdir -p bigdata/31/test
rmdir 删除空目录

基本语法

bash 复制代码
rmdir 要删除的空目录

功能描述:Remove directory,移除目录(只能删除空目录)。

案例实操

bash 复制代码
[root@master ~]# rmdir bigdata/31/test
touch 创建空文件

基本语法

bash 复制代码
touch 文件名称

案例实操

bash 复制代码
[root@master ~]# touch word.txt
[root@master ~]# ls -l word.txt
-rw-r--r--. 1 root root 0 Aug 24 20:17 word.txt
cp 复制文件或目录

基本语法

bash 复制代码
cp [选项] source dest

功能描述:复制 source 文件到 dest。

选项参数

选项 功能
-r 递归复制整个文件夹

案例实操

bash 复制代码
# 复制文件
[root@master ~]# cp word.txt bigdata/31/

# 递归复制整个目录
[root@master ~]# cp -r bigdata/31/ ./

经验技巧 :强制覆盖不提示的方法:\cp

rm 删除文件或目录

基本语法

bash 复制代码
rm [选项] deleteFile

功能描述:移除文件或目录。

选项参数

选项 功能
-r 递归删除目录中所有内容
-f 强制删除,不提示确认
-v 显示指令的详细执行过程

案例实操

bash 复制代码
# 删除文件(会提示确认)
[root@master ~]# rm word.txt
rm: remove regular empty file 'word.txt'? y

# 强制递归删除目录(最常用,需谨慎!)
[root@master ~]# rm -rf bigdata/

警告 :rm -rf 是 Linux 中最危险的命令,执行前务必确认当前目录和文件名是否正确。误删除无法恢复!

mv 移动或重命名

基本语法

bash 复制代码
mv oldNameFile newNameFile        # 重命名
mv /source/file /target/folder/   # 移动文件

功能描述:移动文件或目录,或重命名。

案例实操

bash 复制代码
# 重命名文件
[root@master ~]# mv word.txt test.txt

# 移动文件到指定目录
[root@master ~]# mv test.txt bigdata/31/
cat 查看文件内容

基本语法

bash 复制代码
cat [选项] 要查看的文件

功能描述:查看文件内容,从第一行开始显示(适合小文件)。

选项参数

选项 功能
-n 显示所有行的行号,包括空行

案例实操

bash 复制代码
[root@master ~]# cat -n anaconda-ks.cfg
     1  #version=DEVEL
     2  # System authorization information
     3  auth --enableshadow --passalgo=sha512
     4  # Use CDROM installation media
     5  cdrom
more 分页查看文件

基本语法

bash 复制代码
more 要查看的文件

功能描述:基于 VI 编辑器的文本过滤器,以全屏幕方式按页显示文本文件内容。

操作说明

操作 功能
空格键(space) 向下翻一页
Enter 向下翻一行
q 立刻退出 more
Ctrl + F 向下滚动一屏
Ctrl + B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号

案例实操

bash 复制代码
[root@master ~]# more /var/log/messages
Aug 23 20:41:01 master rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-55.el7" x-pid="1020" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
......
Aug 24 19:34:52 master kernel: DMI: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 11/12/2020
Aug 24 19:34:52 master kernel: Hypervisor detected: VMware
--More--(2%)
less 分屏显示文件内容(更强大)

基本语法

bash 复制代码
less 要查看的文件

功能描述:分屏查看文件内容,功能比 more 更强大。less 在显示文件时,不是一次将整个文件加载后才显示,而是根据显示需要加载内容,对于大型文件效率更高。

操作说明

操作 功能
空格键 向下翻动一页
[pagedown] 向下翻动一页
[pageup] 向上翻动一页
/字串 向下搜寻【字串】,n 向下查找,N 向上查找
?字串 向上搜寻【字串】,n 向上查找,N 向下查找
q 离开 less

案例实操

bash 复制代码
[root@master ~]# less /var/log/messages
head 显示文件头部内容

基本语法

bash 复制代码
head [选项] 文件

功能描述:显示文件的开头部分内容,默认显示前 10 行。

选项参数

选项 功能
-n <行数> 指定显示头部内容的行数

案例实操

bash 复制代码
# 查看文件的前2行
[root@master ~]# head -n 2 anaconda-ks.cfg 
#version=DEVEL
# System authorization information
tail 显示文件尾部内容

基本语法

bash 复制代码
tail [选项] 文件

功能描述:显示文件的尾部内容,默认显示后 10 行。

选项参数

选项 功能
-n <行数> 输出文件尾部 n 行内容
-f 实时追踪该文档的所有更新(查看日志常用)

案例实操

bash 复制代码
# 查看文件尾部 1 行
[root@master ~]# tail -n 1 anaconda-ks.cfg 
%end

# 实时追踪日志文件(按 Ctrl+C 退出)
[root@master ~]# tail -f /var/log/messages
Aug 24 19:50:01 master systemd: Started Cleanup of Temporary Directories.
echo 输出内容

基本语法

bash 复制代码
echo [选项] [输出内容]

功能描述:输出内容到控制台。

选项参数

选项 功能
-e 支持反斜线控制的字符转换
控制字符 功能
\\ 输出 \ 本身
\n 换行符
\t 制表符(Tab)

案例实操

bash 复制代码
# 输出普通内容
[root@master ~]# echo "hello linux"
hello linux

# 输出带转义字符的内容
[root@master ~]# echo -e "hello\tlinux"
hello   linux
输出重定向 > 和 >>

基本语法

bash 复制代码
ls -l > file.txt      # 列表内容覆盖写入 file.txt
ls -al >> file.txt    # 列表内容追加到 file.txt 末尾
cat file1 > file2     # file1 的内容覆盖到 file2
echo "内容" >> file   # 追加内容到文件

案例实操

bash 复制代码
# 将 ls 查看信息写入文件(覆盖)
[root@master ~]# ls -l > test.txt

# 将 ls 查看信息追加到文件(追加)
[root@master ~]# ls -l >> test.txt

# 将 hello 追加到文件
[root@master ~]# echo hello >> test.txt
ln 软链接

基本语法

bash 复制代码
ln -s [原文件或目录] [软链接名]

功能描述:给原文件创建一个软链接(类似 Windows 的快捷方式)。

经验技巧

  • 删除软链接:rm -rf 软链接名(不要加 /,否则会删除原文件)
  • 查看:ll 列表属性第 1 位是 l,尾部会有指向

案例实操

bash 复制代码
# 创建软链接
[root@master ~]# ln -s /test.txt ./test_link
[root@master ~]# ll
lrwxrwxrwx. 1 root root    9 Aug 24 20:46 test_link -> /test.txt

# 删除软链接(注意不要加 /)
[root@master ~]# rm -rf test_link
history 查看历史命令

基本语法

bash 复制代码
history

功能描述:查看已经执行过的历史命令。

案例实操

bash 复制代码
[root@master ~]# history
   84  ln -s /test.txt ./test_link
   85  ll
   86  rm -rf test_link
   87  ll
   88  history 

1.3 时间日期类

基本语法

bash 复制代码
date [选项] [+格式]
选项 功能
-d<时间字符串> 显示指定的时间
-s<日期时间> 设置系统日期时间
参数 功能
+%Y 显示年份
+%m 显示月份
+%d 显示日期
+%H:%M:%S 显示时分秒

案例实操

bash 复制代码
# 显示当前时间
[root@master ~]# date
Mon Aug 24 20:48:24 CST 2026

# 显示当前年月日
[root@master ~]# date +%Y%m%d
20260824

# 显示当前年月日时分秒
[root@master ~]# date "+%Y-%m-%d %H:%M:%S"
2026-08-24 20:48:51

# 显示前一天时间
[root@master ~]# date -d '1 days ago'
Sun Aug 23 20:49:05 CST 2026

# 设置系统时间
[root@master ~]# date -s "2026-08-24 20:50:00"
cal 查看日历

基本语法

bash 复制代码
cal [选项]

功能描述:不加选项显示本月日历。

案例实操

bash 复制代码
# 查看本月日历
[root@master ~]# cal
     August 2026    
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

# 查看2026年全年日历
[root@master ~]# cal 2026

1.4 用户管理命令

useradd 添加用户

基本语法

bash 复制代码
useradd 用户名                  # 添加新用户
useradd -g 组名 用户名          # 添加新用户到指定组

案例实操

bash 复制代码
[root@master~]# useradd node1 
[root@master~]# ll /home/
drwx------.  3 node1 node1 4096 Aug 24 20:51 node1
passwd 设置用户密码

基本语法

bash 复制代码
passwd 用户名

案例实操

bash 复制代码
[root@master ~]# passwd node1
Changing password for user node1.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
id 查看用户是否存在

基本语法

bash 复制代码
id 用户名

案例实操

bash 复制代码
[root@master ~]# id node1
uid=1002(node1) gid=1002(node1) groups=1002(node1)
cat /etc/passwd 查看所有用户
bash 复制代码
[root@master ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
...
node1:x:1002:1002::/home/node1:/bin/bash
su 切换用户

基本语法

bash 复制代码
su 用户名称         # 切换用户,不获取环境变量
su - 用户名称       # 切换用户,获取环境变量

功能描述:swith user,切换用户。

案例实操

bash 复制代码
# 切换到普通用户
[root@master ~]# su node1
[node1@master root]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/soft/jdk1.8.0_212/bin:/usr/local/soft/python3.11/bin:/root/bin

# 退出当前用户
[node1@master root]$ exit
exit

# 切换到用户并获得环境变量
[node1@master ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/soft/jdk1.8.0_212/bin:/usr/local/soft/python3.11/bin:/home/node1/.local/bin:/home/node1/bin
userdel 删除用户

基本语法

bash 复制代码
userdel 用户名        # 删除用户,保留用户主目录
userdel -r 用户名     # 删除用户及用户主目录

选项参数

选项 功能
-r 删除用户的同时,删除与用户相关的所有文件

案例实操

bash 复制代码
# 删除用户但保留主目录
[root@master ~]# userdel node1
[root@master ~]# ll /home/
drwx------.  5  1002  1002 4096 Aug 24 20:56 node1

# 删除用户及主目录
[root@master ~]# userdel -r node1
who 查看登录用户

基本语法

bash 复制代码
whoami        # 显示自身用户名称
who am i      # 显示登录用户的用户名及登陆时间

案例实操

bash 复制代码
[root@master ~]# whoami
root
[root@master ~]# who am i
root     pts/0        2026-08-24 20:05 (192.168.247.1)
sudo 设置普通用户具有 root 权限

步骤

bash 复制代码
# 1. 添加用户并设置密码
[root@master ~]# useradd node1
[root@node1 ~]# passwd node1

# 2. 修改 /etc/sudoers 文件
[root@master ~]# vi /etc/sudoers
# 找到 root 下面一行,添加:
root    ALL=(ALL)       ALL
node1 ALL=(ALL)    ALL

# 或者配置为 sudo 时不需要输入密码
node1 ALL=(ALL)    NOPASSWD:ALL
usermod 修改用户

基本语法

bash 复制代码
usermod -g 用户组 用户名
选项 功能
-g 修改用户的初始登录组

案例实操

bash 复制代码
[root@master~]# usermod -g root node1

1.5 用户组管理

基本语法

bash 复制代码
groupadd 组名                    # 新增组
groupdel 组名                    # 删除组
groupmod -n 新组名 老组名        # 修改组名
cat /etc/group                  # 查看所有组

案例实操

bash 复制代码
# 添加组
[root@master ~]# groupadd bigdata

# 修改组名
[root@master ~]# groupmod -n Bigdata bigdata 
# 查看组
[root@master ~]# cat /etc/group
...
Bigdata:x:1003:

1.6 文件权限类

Linux 文件属性

Linux 是多用户系统,不同用户处于不同地位,拥有不同权限。使用 ll 或 ls -l 可以查看文件属性。

从左到右的 10 个字符含义

复制代码
-rw-------.  1 root root 2788 Aug 23 21:31 .bash_history
位置 含义
0 文件类型:- 文件、d 目录、l 链接文件
1-3 属主权限(User)
4-6 属组权限(Group)
7-9 其他用户权限(Other)

rwx 权限说明

权限 作用到文件 作用到目录
r(读) 可以读取、查看 可以 ls 查看目录内容
w(写) 可以修改,不能删除(删除需对目录有写权限) 可以在目录内创建、删除、重命名
x(执行) 可以被系统执行 可以 cd 进入该目录
chmod 改变权限

基本语法

bash 复制代码
# 方式一:字母方式
chmod [{ugoa}{+-=}{rwx}] 文件或目录

# 方式二:数字方式
chmod [mode=421] [文件或目录]

权限数字表示 :r=4、w=2、x=1

字母 含义
u 所有者
g 所属组
o 其他人
a 所有人(u+g+o)

案例实操

bash 复制代码
# 给所有者增加执行权限
[root@master ~]# chmod u+x test.txt

# 给所属组增加执行权限
[root@master ~]# chmod g+x test.txt

# 数字方式:所有者可读写执行(7)、所属组可读执行(5)、其他人可读执行(5)
[root@master ~]# chmod 755 test.txt

# 递归修改整个目录下所有文件的权限
[root@master ~]# chmod -R 777 bigdata/

注意 :777 权限表示所有用户都可读可写可执行,安全性极低,生产环境慎用。

chown 改变所有者

基本语法

bash 复制代码
chown [选项] [最终用户] [文件或目录]
选项 功能
-R 递归操作

案例实操

bash 复制代码
# 修改文件所有者
[root@master ~]# chown node1 test.txt

# 递归修改文件所有者和所有组
[root@master ~]# chown -R node1:node1 bigdata
chgrp 改变所属组

基本语法

bash 复制代码
chgrp [最终用户组] [文件或目录]

案例实操

bash 复制代码
[root@master ~]# chgrp root test.txt

1.7 搜索查找类

find 查找文件

基本语法

bash 复制代码
find [搜索范围] [选项]

功能描述:从指定目录向下递归遍历各子目录,将满足条件的文件显示在终端。

选项 功能
-name <查询方式> 按文件名查找
-user <用户名> 查找属于指定用户的文件
-size <文件大小> 按文件大小查找:+ 大于,- 小于

文件大小单位 :b(512字节)、c(字节)、k(千字节)、M(兆字节)、G(吉字节)

案例实操

bash 复制代码
# 按文件名查找
[root@master ~]# find / -name "*.conf"

# 按拥有者查找
[root@master ~]# find /home -user xiaobaiwen

# 查找大于200MB的文件
[root@master ~]# find /home -size +204800k
locate 快速定位文件

基本语法

bash 复制代码
locate 搜索文件

功能描述:利用事先建立的文件名称及路径数据库快速定位给定文件。查询速度快,但需定期更新数据库。

案例实操

bash 复制代码
[root@master ~]# updatedb
[root@master ~]# locate test.txt
/root/test.txt
grep 过滤查找

基本语法

bash 复制代码
grep [选项] 查找内容 源文件
选项 功能
-n 显示匹配行及行号

管道符 |:将前一个命令的处理结果输出传递给后面的命令处理。

案例实操

bash 复制代码
# 查找文件中的关键词
[root@master ~]# grep -n "error" /var/log/messages

# 结合管道符过滤
[root@master ~]# ls -l | grep test

1.8 压缩解压类

gzip / gunzip

基本语法

bash 复制代码
gzip 文件          # 压缩文件为 .gz(不保留原文件)
gunzip 文件.gz     # 解压 .gz 文件

经验技巧

  • 只能压缩文件,不能压缩目录
  • 不保留原来的文件
  • 多个文件会产生多个压缩包

案例实操

bash 复制代码
# 压缩
[root@master ~]# gzip test.txt
[root@master ~]# ls
test.txt.gz

# 解压
[root@master ~]# gunzip test.txt.gz
zip / unzip

基本语法

bash 复制代码
zip [选项] XXX.zip 要压缩的内容    # 压缩
unzip [选项] XXX.zip              # 解压
zip 选项 功能
-r 压缩目录
unzip 选项 功能
-d <目录> 指定解压后文件的存放目录

经验技巧:zip 在 Windows/Linux 都通用,可以压缩目录且保留源文件。

案例实操

bash 复制代码
# 压缩文件
[root@master ~]# zip mypackage.zip test.txt word.txt

# 解压到指定目录
[root@master ~]# unzip mypackage.zip -d bigdata/
tar 打包(最常用)

基本语法

bash 复制代码
tar [选项] XXX.tar.gz 要打包的内容
选项 功能
-c 产生 .tar 打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩(生成 .tar.gz)
-x 解包 .tar 文件
-C 解压到指定目录

案例实操

bash 复制代码
# 压缩多个文件
[root@master ~]# tar -zcvf file.tar.gz test.txt word.txt
test.txt
word.txt

# 压缩目录
[root@master ~]# tar -zcvf bigdata.tar.gz bigdata/

# 解压到当前目录
[root@master ~]# tar -zxvf file.tar.gz

# 解压到指定目录
[root@master ~]# tar -zxvf bigdata.tar.gz -C /tmp/

1.9 磁盘管理类

du 查看磁盘占用

基本语法

bash 复制代码
du [选项] [目录或文件]

功能描述:disk usage,显示目录下每个子目录的磁盘使用情况。

选项 功能
-h 以 GB、MB、KB 等格式人性化显示
-s 只显示总和
-a 不仅查看子目录大小,还包括文件

案例实操

bash 复制代码
[root@master ~]# du -sh /root
220M    /root
df 查看磁盘空间

基本语法

bash 复制代码
df [选项]

功能描述:disk free,列出文件系统的整体磁盘使用量。

选项 功能
-h 以 GB、MB、KB 等格式人性化显示

案例实操

bash 复制代码
[root@master ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G   12M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root   91G  6.4G   80G   8% /
/dev/sda1                3.9G  168M  3.5G   5% /boot
tmpfs                    378M     0  378M   0% /run/user/0
lsblk 查看设备挂载
bash 复制代码
[root@master ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk 
├─sda1            8:1    0    4G  0 part /boot
└─sda2            8:2    0   96G  0 part 
  ├─centos-root 253:0    0   92G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom  

1.10 进程管理类

ps 查看进程

基本语法

bash 复制代码
ps aux              # 查看所有进程(面向用户友好)
ps -ef              # 查看所有进程(含父子关系)
ps aux | grep xxx   # 查找指定进程

选项说明

选项 功能
a 列出带有终端的所有用户的进程
x 列出当前用户的所有进程,包括没有终端的进程
u 面向用户友好的显示风格
-e 列出所有进程
-f 显示完整格式的进程列表

ps aux 显示信息说明

字段 含义
USER 进程是由哪个用户产生的
PID 进程的 ID 号
%CPU 进程占用 CPU 资源的百分比
%MEM 进程占用物理内存的百分比
VSZ 进程占用虚拟内存的大小(KB)
RSS 进程占用实际物理内存的大小(KB)
TTY 进程在哪个终端中运行
STAT 进程状态:R 运行、S 睡眠、T 暂停、Z 僵尸
START 进程的启动时间
TIME 进程占用 CPU 的运算时间
COMMAND 产生此进程的命令名

案例实操

bash 复制代码
# 查看所有进程
[root@master ~]# ps aux

# 查看 mysql 进程
[root@master ~]# ps aux | grep mysql
kill 终止进程

基本语法

bash 复制代码
kill [选项] 进程号      # 通过进程号杀死进程
killall 进程名称        # 通过进程名称杀死进程
选项 功能
-9 强制终止进程

案例实操

bash 复制代码
# 强制终止进程
[root@master ~]# kill -9 3271

# 通过名称终止进程
[root@master ~]# killall firefox
pstree 查看进程树

基本语法

bash 复制代码
pstree [选项]
选项 功能
-p 显示进程的 PID
-u 显示进程的所属用户

案例实操

bash 复制代码
[root@master ~]# pstree -p
top 实时监控

基本语法

bash 复制代码
top [选项]

功能描述:实时监控系统进程状态(类似 Windows 任务管理器)。

选项 功能
-d 秒数 指定刷新间隔(默认 3 秒)
-i 不显示闲置或僵死进程
-p PID 只监控指定进程

交互操作 :在 top 界面中按 M 按内存排序、按 P 按 CPU 排序、按 q 退出。

案例实操

bash 复制代码
# 每秒刷新一次
[root@master ~]# top -d 1

# 只监控指定进程
[root@master ~]# top -p 2575
netstat 查看网络状态

基本语法

bash 复制代码
netstat -anp | grep 进程号      # 查看进程网络信息
netstat -nltp | grep 端口号     # 查看端口占用

案例实操

bash 复制代码
# 查看 sshd 进程的网络信息
[root@master ~]# netstat -anp | grep sshd

# 查看 22 端口是否被占用
[root@master ~]# netstat -nltp | grep 22
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1467/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1020/sshd           
tcp6       0      0 :::22                   :::*                    LISTEN      1020/sshd       

1.11 关机重启命令

基本语法

bash 复制代码
sync                      # 将内存数据同步到磁盘(关机前先执行)
shutdown [选项] 时间      # 关机或重启
reboot                    # 重启
halt                      # 停机(不断电)
poweroff                  # 关机断电

shutdown 选项说明

选项 功能
-h 停机(halt)
-r 重启(reboot)
参数 功能
now 立刻执行
+分钟 等待指定分钟后执行

经验技巧 :Linux 系统为了提高磁盘读写效率,采用"预读迟写"方式。数据先写入缓冲区,等缓冲区满时再写入磁盘。使用 sync 可立即将缓冲区数据写入磁盘,防止数据丢失。

案例实操

bash 复制代码
# 同步内存数据到磁盘
[root@master ~]# sync

# 立即重启
[root@master ~]# reboot
[root@master ~]# shutdown -r now

# 1分钟后关机,并通知用户
[root@master ~]# shutdown -h 1 'This server will shutdown after 1 mins'

# 立即关机
[root@master ~]# shutdown -h now
[root@master ~]# poweroff

二、软件包管理

2.1 RPM 概述

RPM(RedHat Package Manager)是 RedHat 系列操作系统的软件包管理工具,类似 Windows 的 setup.exe。

RPM 包命名规范

复制代码
Apache-1.3.23-11.i386.rpm
部分 含义
Apache 软件名称
1.3.23-11 版本号(主版本.次版本.发布版本)
i386 硬件平台(Intel 32 位)
rpm 文件扩展名,代表 RPM 包

2.2 RPM 常用命令

查询命令

bash 复制代码
rpm -qa                    # 查询所有已安装的 rpm 软件包
rpm -qa | grep 软件名      # 过滤查询指定软件
选项 功能
-q query,查询
-a all,所有

案例实操

bash 复制代码
[root@master ~]# rpm -qa | grep java
java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64

卸载命令

bash 复制代码
rpm -e RPM软件包           # 卸载软件
rpm -e --nodeps 软件包     # 强制卸载(忽略依赖)
选项 功能
-e erase,卸载
--nodeps 不检查依赖,强制卸载

安装命令

bash 复制代码
rpm -ivh RPM包全名
选项 功能
-i install,安装
-v --verbose,显示详细信息
-h --hash,显示进度条
--nodeps 安装前不检查依赖

案例实操

bash 复制代码
[root@master ~]# rpm -ivh mysql-community-server-8.0.33-1.el7.x86_64.rpm

2.3 YUM 概述

YUM(Yellow dog Updater Modified)是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定服务器自动下载 RPM 包并安装,自动处理依赖关系,一次安装所有依赖的软件包。

通俗理解:YUM 就像 Linux 的"应用商店",输入命令就能自动下载、安装、更新软件,还会自动解决依赖问题。

2.4 YUM 常用命令

基本语法

bash 复制代码
yum [选项] [参数]
选项 功能
-y 对所有提问都回答 yes
参数 功能
install 安装 rpm 软件包
update 更新 rpm 软件包
check-update 检查是否有可用的更新
remove 删除指定的 rpm 软件包
list 显示软件包信息
clean 清理 yum 过期的缓存
deplist 显示软件包的所有依赖关系
search 搜索软件包

案例实操

bash 复制代码
# 安装 wget
[root@master ~]# yum install -y wget

# 搜索 mysql 相关包
[root@master ~]# yum search mysql

# 查看已安装的软件包
[root@master ~]# yum list installed | grep mysql

# 清理缓存
[root@master ~]# yum clean all

2.5 配置国内 YUM 源

默认的 YUM 源连接国外服务器,速度较慢。可以修改为国内镜像源,如阿里云、网易 163。

配置步骤

bash 复制代码
# 1. 安装 wget
[root@master ~]# yum install -y wget

# 2. 备份默认源
[root@master ~]# cd /etc/yum.repos.d/
[root@master yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.backup

# 3. 下载阿里云源
[root@master yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo

# 4. 替换默认源
[root@master yum.repos.d]# mv Centos-7.repo CentOS-Base.repo

# 5. 清理旧缓存,生成新缓存
[root@master yum.repos.d]# yum clean all
[root@master yum.repos.d]# yum makecache

# 6. 验证
[root@master yum.repos.d]# yum list | grep firefox

2.6 RPM 与 YUM 对比

对比维度 RPM YUM
依赖处理 手动解决依赖,逐个安装 自动解决依赖,一次安装
网络需求 本地安装,无需网络 需要网络连接(从远程仓库下载)
适用场景 无网络环境、安装特定版本 有网络环境、常规安装

三、总结

核心知识点速查

知识点 关键概念
帮助命令 man、--help、help
文件操作 touch、cp、mv、rm、cat、tail -f
目录操作 pwd、ls、cd、mkdir
权限管理 chmod、chown、rwx
搜索查找 find、grep、locate
压缩解压 tar -zcvf、tar -zxvf
进程管理 ps aux、top、kill -9
软件包管理 rpm -ivh、yum install

常用命令速查

用途 命令
查看文件内容 cat 文件名
实时查看日志 tail -f 日志文件
复制文件 cp 源 目标
强制删除 rm -rf 目录
解压 tar.gz tar -zxvf 包名.tar.gz
修改权限 chmod 755 文件名
安装软件 yum install -y 软件名
搜索软件 yum search 关键词
查看进程 `ps aux
查看磁盘 df -h

注意事项

要点 说明
rm -rf 危险 删除前务必确认当前目录和文件名,误删无法恢复
tail -f 退出 按 Ctrl + C 停止跟踪
top 退出 按 q 退出监控界面
sync 关机前执行 确保内存数据写入磁盘
权限最小原则 不要随意使用 777 权限,按需分配
YUM 需要网络 YUM 安装依赖网络仓库,无网络时使用 RPM 本地安装

系列直达

相关推荐
2035去旅行4 小时前
bootcmd 详细讲解
linux·嵌入式·arm·soc
陈希1235 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
女神下凡6 小时前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范
且从容.9 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道9 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
且从容.12 小时前
ubuntu安装flink
linux·ubuntu·flink
爱和冰阔落14 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨14 小时前
WSL2的安装与使用
linux·wsl
微小的鱼14 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng14 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器