跳到主要内容
Linux 入门教程:从零开始掌握常用命令与系统配置 | 极客日志
Shell / Bash
Linux 入门教程:从零开始掌握常用命令与系统配置 Linux 操作系统的基础知识,涵盖目录结构、Vim 编辑器使用、网络配置、系统服务管理、常用命令(文件、用户、权限、搜索、压缩、磁盘、进程)、以及软件包管理(RPM 和 YUM)。内容适合零基础学习者快速上手 Linux 环境部署与维护。
王者 发布于 2025/2/7 更新于 2026/6/2 19 浏览Linux 入门教程:从零开始掌握常用命令与系统配置
一、为什么要学 linux
因为我们要部署服务,Linux 系统一直以其稳定性而闻名,它们可以连续运行多年而不发生任何重大问题。事实上,很多 Linux 用户都从未在自己的环境中遇到过系统崩溃的情况。相对 Windows 而言,挂起和崩溃完全是一种常态。
Windows 由于是商业产品,源代码封闭,我们无法知道微软在里面做了什么手脚。而 Linux 由于是源代码开放操作系统,不存在这个问题。
二、目录介绍
Linux 系统中一切皆文件。
/bin:是 binary 的缩写,这个目录存放着最经常使用的命令,通过上方桌面可以看到 bin 文件夹有个箭头,是链接到 /usr/bin 下,相当于快捷方式,进入/bin 和/usr/bin 下是一模一样的。
/sbin:s 就是 super User 的意思,这里存放的是系统管理员使用的系统管理程序。
/home:存放普通用户的主目录,在 Linux 中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/root:该目录为系统管理员,也称为超级权限者的用户主目录。
/lib:系统开机所需要最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/etc:所有的系统管理所需要的配置文件和子目录。
/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 Windows 下的 Program Files 目录。
/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里。
/proc:这个目录是一个虚拟目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
/srv:service 缩写,该目录存放一些服务启动之后需要提取的数据。
/sys:这是 Linux 2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs。
/tmp:这个目录是用来存放一些临时文件的。
/dev:类似于 Windows 的设备管理器,把所有的硬件用文件的形式存储。管理着所有设备,例如 CPU、硬盘等等。
/media:Linux 系统会自动识别一些设备,例如 U 盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。CentOS 7 迁移到/run/media。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt 上,然后进入该目录就可以查看里面的内容了。和 media 差不多。
/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个 MySQL 数据库则就可以放在这个目录下。默认是空的。
/var:这个目录中存放着在不断扩充的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/www:/www 目录可以用于存储 Web 应用程序或网站文件,/www 目录没有特别的用途,它只是一个常规目录,可以根据需要进行使用和管理。
三、vi / vim 编辑器
用户@主机名 组成,~号代表当前目录位置,#号代表管理员用户,普通用户都是$号。
VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼容。
模式转换
进来默认一般模式,想要编辑文本就按 i 进入编辑模式。
vim 常用语法
一般模式
按『Esc』键 退出编辑模式,之后所在的模式为一般模式。
编辑模式
命令模式
四、网络配置
4.1、修改 IP 地址 vim /etc/sysconfig/network-scripts/ifcfg-ens33
执行 service network restart 重启网络,使网络生效。
4.2、配置主机名
4.2.1、修改主机名称 2)、通过编辑/etc/hostname 文件修改主机名
4.2.2、修改 hosts 映射文件 添加映射,保存后,可以直接访问 service,就可以访问到对应 IP 了。
五、系统配置
5.1、service 服务管理 Linux 中的进程和服务
计算机中,一个正在执行的程序或命令,被叫做'进程'(process)。
启动之后一只存在、常驻内存的进程,一般被称作'服务'(service)。
service 服务名 start | stop | restart | status
查看服务的方法:/etc/init.d/服务名,发现只有两个服务保留在 service。
2)、开启/关闭 network(网络) 服务的自动启动
chkconfig network on
chkconfig network off
3)、开启/关闭 network 服务指定级别的自动启动
chkconfig --level 指定级别 network on
5.2、systemctl systemctl start | stop | restart | status 服务名
2)、查看服务的方法:/usr/lib/systemd/system
cd /usr/lib/systemd/system
ll 命令查看所有服务
systemctl list-unit-files
systemctl disable service_name
systemctl enable service_name
5.3、防火墙 systemctl status firewalld
systemctl stop firewalld
systemctl start firewalld
systemctl enable firewalld.service
systemctl disable firewalld.service
firewall-cmd --list-ports
firewall-cmd --query-port=8080/tcp
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --add-port=65001-65010/tcp --permanent
firewall-cmd --remove-port=8800/tcp --permanent
firewall-cmd --permanent --add-rich-rule="rule family=\"ipv4\" source address=\"192.168.142.166\" port port=\"5432\" protocol=\"tcp\" accept"
firewall-cmd --permanent --remove-rich-rule="rule family=\"ipv4\" source address=\"192.168.142.166\" port port=\"5432\" protocol=\"tcp\" accept"
firwall-cmd:是 Linux 提供的操作 firewall 的一个工具(服务)命令
--zone
--add-port=8080/tcp
--permanent
5.4、关机重启命令
shutdown -h now
shutdown -h 1 'This server will shut down after 1 mins'
shutdown 15:28
shutdown -c
5.5、查看系统内核与版本
六、常用命令
6.1、文件目录类
1)、pwd 显示当前工作目录的绝对路径
2)、ls 列出目录的内容 ls :列出当前目录中的文件和子目录。
ls -l:以长格式列出当前目录中的文件和子目录,包括文件权限、所有者、文件大小、修改日期等详细信息。
ls -a:列出当前目录中的所有文件和子目录,包括隐藏文件和目录。
ls -h:以人类可读的格式列出文件大小,例如,使用 KB、MB、GB 等单位。
ls -t:按修改时间排序列出文件和子目录,最新修改的文件和目录将显示在最上面。
ls -r:反向排序列出文件和子目录,即从最后一个文件或目录开始列出。
ls -R:递归列出当前目录及其子目录中的所有文件和子目录。
ls -i:显示每个文件和目录的 inode 号码。
ls [选项] [目录或是文件]
可以多个参数组合如:ls -al
每行列出的信息依次是:文件类型与权限,链接数,文件属主,文件属组,文件大小用 byte 来表示,建立或最近修改的时间,名字
3)、cd 切换目录
4)、mkdir 创建一个新的目录 、rmdir 删除一个空的目录 mkdir xiyou
mkdir -p xiyou/dssz/meihouwang
rmdir xiyou/dssz/meihouwang
5)、touch 创建空文件 touch xiyou/dssz/sunwukong.txt
6)、cp 复制文件或目录 cp xiyou/dssz/suwukong.txt xiyou/mingjie/
2)、递归复制整个文件夹
参数:-r 递归复制整个文件夹
7)、rm 删除文件或目录 rm [选项] deleteFile(功能描述:递归删除目录中所有内容)
rm sunwukong.txt
rm -rf dssz/
8)、mv 移动文件与目录或重命名 (1)mv oldNameFile newNameFile(功能描述:重命名)
(2)mv /temp/movefile /targetFolder(功能描述:移动文件)
mv xiyou/dssz/suwukong.txt xiyou/dssz/houge.txt
mv xiyou/dssz/houge.txt ./
9)、cat 查看文件内容 查看文件内容,从第一行开始显示。
一般查看比较小的文件,一屏幕能显示全的。
10)、more 文件内容分屏查看器
11)、less 分屏显示文件内容 less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
12)、echo 输出内容到控制台 echo [选项] [输出内容]
可以用在写脚本的时候输出日志
-e:支持反斜线控制的字符转换
echo "hello\tworld"
echo -e "hello\tworld"
14)、tail 输出文件尾部内容 tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后 10 行内容。
tail -n 1 smartd.conf
tail -f houge.txt
15)、> 输出重定向 和 >> 追加 (3)采用 echo 将 hello 单词追加到文件中
16)、ln 软链接 软链接也称为符号链接,类似于 Windows 里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。
ln -s [原文件或目录] [软链接名](功能描述:给原文件创建一个软链接)
ln -s /home/lnTest.txt ./lnTxt
删除软链接:rm -rf 软链接名,而不是 rm -rf 软链接名/
如果使用 rm -rf 软链接名/ 删除,会把软链接对应的真实目录下内容删掉
查询:通过 ll 就可以查看,列表属性第 1 位是 l,尾部会有位置指向。
17)、history 查看已经执行过历史命令
18)、时间日期类 date -s "2023-06-19 20:52:18"
6.2、用户管理命令
1)、useradd 添加新用户 useradd 用户名(功能描述:添加新用户)
useradd -g 组名 用户名(功能描述:添加新用户到某个组)
2)、passwd 设置用户密码
3)、id 查看用户是否存在
4)、cat /etc/passwd 查看创建了哪些用户
5)、su 切换用户 su 用户名称(功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称(功能描述:切换到用户并获得该用户的环境变量及执行权限)
6)、userdel 删除用户 (1)userdel 用户名(功能描述:删除用户但保存用户主目录)
(2)userdel -r 用户名(功能描述:用户和用户主目录,都删除)
userdel hmb
userdel -r hmb
7)、sudo 设置普通用户具有 root 权限
8)、usermod 修改用户
9)、groupadd 新增组
10)、groupdel 删除组
11)、groupmod 修改组 groupmod -n xitian xitianqujing
12)、cat /etc/group 查看创建了哪些组
6.3、文件权限类
1)、文件属性 使用ll或 ls -lh命令查看权限
如果没有权限,就会出现减号 [-] 而已。从左至右用 0-9 这些数字来表示:
0 首位表示类型
在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等
- 代表文件
d 代表目录
l 链接文档 (link file);
第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。—User
第 4-6 位确定属组(所有者的同组用户)拥有该文件的权限,—Group
第 7-9 位确定其他用户拥有该文件的权限 —Other
(1)作用到文件:
[r] 代表可读 (read): 可以读取,查看
[w] 代表可写 (write): 可以修改,但是不代表可以删除该文件,删除一个文件的前
[x] 代表可执行 (execute):可以被系统执行
(2)作用到目录:
[r] 代表可读 (read): 可以读取,ls 查看目录内容
[w] 代表可写 (write): 可以修改,目录内创建 + 删除 + 重命名目录
[x] 代表可执行 (execute):可以进入该目录
(1)如果查看到是文件:链接数指的是硬链接个数。
(2)如果查看的是文件夹:链接数指的是子文件夹个数。
2)、chmod 改变权限 chmod [{ugoa}{+ - =}{rwx}] 文件或目录
u:所有者(user ) g:所有组 (group ) o:其他人 (other) a:所有人 (u、g、o 的总和)
+ 号代表增加 - 号代表取消 = 号代表直接赋予
(3)修改文件所属主用户执行权限,并使其他用户具有执行权限
(1)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。
(2)修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。
3)、chown 改变所有者 chown [选项] [最终用户] [文件或目录](功能描述:改变文件或者目录的所有者)
4)、chgrp 改变所属组 chgrp [最终用户组] [文件或目录](功能描述:改变文件或者目录的所属组)
6.4、搜索查找类
1)、find 查找文件或者目录 find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
(1)按文件名:根据名称查找/目录下的 filename.txt 文件。
find -name "ln*.txt"
find xiyou/ -name "*.txt"
(2)按拥有者:查找/opt 目录下,用户名称为-user 的文件
(3)按文件大小:在/home 目录下查找大于 200m 的文件(+n 大于 -n小于 n等于)
2)、locate 快速定位文件路径 locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。
由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。
3)、grep 过滤查找及 | 管道符 管道符,'|',表示将前一个命令的处理结果输出传递给后面的命令处理,可以前面查出来的东西传给管道符后端的处理,例如 ls | grep -n test
grep 是 Linux 系统中常用的文本搜索工具,可以在文件中查找指定的字符串或者正则表达式,并将匹配的行输出到终端或者文件中。
grep "string" filename
grep "string" file1 file2 file3
grep -i "string" filename
grep -r "string" directory
grep -n "string" filename
grep -v "string" filename
grep "string" filename > output.txt
6.5、压缩和解压类
1)、gzip/gunzip 压缩 注意:
(1)只能压缩文件不能压缩目录
(2)不保留原来的文件
(3)同时多个文件会产生多个压缩包
2)、zip/unzip 压缩 zip 压缩命令在 Windows/Linux 都通用,可以压缩目录且保留源文件。
zip 压缩文件名.zip 源文件
zip lnTest.zip lnTest.txt
zip -r nginx1.zip nginx-1.21.6
unzip lnTest.zip
unzip lnTest.zip -d /opt
3)、tar 打包 tar [选项] XXX.tar.gz 将要打包进去的内容(功能描述:打包目录,压缩后的文件格式.tar.gz)
tar -zcvf 打包的文件名.tar.gz [源文件]
tar -zcvf houma.tar.gz houge.txt bailongma.txt
tar -zcvf xiyou.tar.gz xiyou/
tar -zxvf houma.tar.gz
tar -zxvf xiyou.tar.gz -C /opt
6.6、磁盘查看和分区类
1)、du 查看文件和目录占用的磁盘空间 du 目录/文件(功能描述:显示目录下每个子目录的磁盘使用情况)
du -sh
du -sh *
du -sh /home/*
du -csh /home/*
2)、df 查看磁盘空间使用情况 df 选项(功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
3)、lsblk 查看设备挂载情况
4)、mount/umount 挂载/卸载 对于 Linux 用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构。
Linux 中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做'挂载'的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。
语法:mount [-t vfstype] [-o options] device dir(功能描述:挂载设备)
mkdir /mnt/cdrom/
mount -t iso9660 /dev/cdrom /mnt/cdrom/
5)、fdisk 分区 基本语法:
fdisk -l(功能描述:查看磁盘分区详情)
fdisk 硬盘设备名(功能描述:对新增硬盘进行分区操作)
Linux 分区
Device:分区序列
Boot:引导
Start:从 X 磁柱开始
End:到 Y 磁柱结束
Blocks:容量
Id:分区类型 ID
System:分区类型
分区操作按键说明
m:显示命令列表
p:显示当前磁盘分区
n:新增分区
w:写入分区信息并退出
q:不保存分区信息直接退出
6.7、进程管理类 进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
1)、ps 查看当前系统进程状态 ps -ef:列出所有进程的详细信息,包括进程的 PID、PPID、CPU 占用率、内存占用率等。
ps aux:与 ps -ef 类似,但是显示的是所有用户的进程信息。
ps aux 显示信息说明:
USER:该进程是由哪个用户产生的
PID:进程的 ID 号
%CPU:该进程占用 CPU 资源的百分比,占用越高,进程越耗费资源;
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
VSZ:该进程占用虚拟内存的大小,单位 KB;
RSS:该进程占用实际物理内存的大小,单位 KB;
TTY:该进程是在哪个终端中运行的。对于 CentOS 来说,tty1 是图形化终端,
tty2-tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。
STAT:进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、
Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示
START:该进程的启动时间
TIME:该进程占用 CPU 的运算时间,注意不是系统时间
COMMAND:产生此进程的命令名
ps -ef 显示信息说明:
UID:用户 ID
PID:进程 ID
PPID:父进程 ID
C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,
执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU 时间
CMD:启动进程所用的命令和参数
(1)配合 grep 查询 java 进程,查出 PID 后,就可以杀掉进程了
ps -ef | grep java
ps aux | grep java
ps -ef | grep java 服务名
2)、kill 终止进程
3)、pstree 查看进程树
4)、top 实时监控系统进程状态 第一行信息为任务队列信息
第二行为进程信息
第三行为 CPU 信息
第四行为物理内存信息
第五行为交换分区(swap)信息
5)、netstat 显示网络状态和端口占用信息 netstat -anp | grep 进程号或端口号
netstat –nlp | grep 端口号
netstat -ano | findstr 端口号
6)、crontab 定时任务设置 (2)、每隔 1 分钟,向/root/bailongma.txt 文件中添加一个 11 的数字
*/1 * * * * /bin/echo "11" >> /root/bailongma.txt
七、软件包管理
7.1、RPM RPM(RedHat Package Manager),RedHat 软件包管理工具,类似 Windows 里面的 setup.exe 是 Linux 这系列操作系统里面的打包安装工具,它虽然是 RedHat 的标志,但理念是通用的。
RPM 包的名称格式
Apache-1.3.23-11.i386.rpm
'apache' 软件名称
'1.3.23-11'软件的版本号,主版本和此版本
'i386'是软件所运行的硬件平台,Intel 32 位处理器的统称
'rpm'文件扩展名,代表 RPM 包
1)、RPM 安装命令(rpm -ivh)
2)、RPM 查询命令(rpm -qa) 语法:rpm -qa(功能描述:查询所安装的所有 rpm 软件包)
由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm 软件包
例如:查询 firefox 软件安装情况
3)、RPM 卸载命令(rpm -e) rpm -e RPM 软件包
rpm -e --nodeps 软件包
7.2、YUM 仓库配置 YUM(全称为 Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 CentOS 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装
1)、YUM 的常用命令 相关免费在线工具 Base64 字符串编码/解码 将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
Base64 文件转换器 将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
Markdown转HTML 将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
HTML转Markdown 将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
JSON 压缩 通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
JSON美化和格式化 将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online