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 是多用户系统,不同用户处于不同地位,拥有不同权限。使用 llls -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=4w=2x=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--helphelp
文件操作 touchcpmvrmcattail -f
目录操作 pwdlscdmkdir
权限管理 chmodchown、rwx
搜索查找 findgreplocate
压缩解压 tar -zcvftar -zxvf
进程管理 ps auxtopkill -9
软件包管理 rpm -ivhyum 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 本地安装

系列直达

相关推荐
2401_890603402 小时前
Linux 进程控制
linux·运维·服务器
啦啦啦啦啦zzzz3 小时前
时间轮定时器
linux·服务器·网络·c++·定时器
神威难绷泪3 小时前
Linux应用软件编程:目录IO framebuffer
linux
byte轻骑兵3 小时前
【BlueZ 】BLE 与经典蓝牙的差异:BlueZ 中双模式的源码区分设计
linux·bluez·电脑蓝牙·嵌入式蓝牙
小雪崩4 小时前
嵌入式学习 day30:minilog
linux·c语言·学习
嵌入式小能手4 小时前
飞凌嵌入式ElfBoard-Shell脚本编写基础-传参-$0
linux
丰锋ff4 小时前
初识Linux操作系统
linux·运维·服务器
嵌入式小能手5 小时前
飞凌嵌入式ElfBoard-Shell脚本编写基础-特殊变量
linux·运维·服务器
吹什么轩6 小时前
Linux系统复习:权限的解析
linux·运维·服务器