Linux教程:Linux常用命令教程入门学习与使用

前言:

Linux我们大家都知道,服务的部署,项目的上线,以及一些中间件的运行,数据库的载体,容器等均离不开这款强大的操作系统,就像Windows一样,所有软件的运行都得需要它,并且它是一款完全免费的和自由传播的类UNIX操作系统,包含许多种版本,有Ubuntu‌,Debian‌,‌Fedora‌,‌CentOS等,最常用的就是‌CentOS了,它由黑底白字的命令窗口实现各种各样的功能实现,业界使用率非常高,但很遗憾的是,许多‌CentOS版本已经被停止服务了,于是乎,openEuler‌横空出世,扛起了东方神话的大旗,解决了吃馍馍没有汤的分裂局面,两者在使用上完全相似,本次我们就来列举一下常用的Linux命令,以便我们在今后的工作当中能快速上手。
在这里插入图片描述

Linux 命令是操作 Linux 系统的核心工具,按功能分为文件操作、文本处理、系统管理、权限管理、压缩解压、网络管理等大类,下面我们详细说明。

一、文件与目录操作命令

这类命令用于创建、查看、修改、删除文件和目录,是最基础的操作。

1. ls - 列出目录内容

功能:列出当前或指定目录下的文件和子目录。

语法:ls [参数] [目录路径]

常用参数

-l:以长格式显示,包含权限、所有者、大小、修改时间等信息。
-a:显示所有文件,包括隐藏文件(以 . 开头的文件)。
-h:与 -l 配合,以人类可读的单位显示文件大小(如 KB、MB)。

示例

ls -lh /home  # 以长格式、可读大小列出 /home 目录内容
ls -a         # 列出当前目录所有文件(含隐藏文件)

2. cd - 切换工作目录

功能:切换当前终端的工作目录。

语法:cd [目录路径]

特殊路径

cd ~ 或 cd:切换到当前用户的家目录。
cd ..:切换到上级目录。
cd -:切换到上一次所在的目录。

示例

cd /usr/local  # 切换到 /usr/local 目录
cd ..          # 回到上级目录

3. pwd - 显示当前工作目录

功能:打印当前终端所在的绝对路径。

语法:pwd

示例

pwd # 输出如 /home/user

4. mkdir - 创建目录

功能:创建新的空目录。

语法:mkdir [参数] 目录名

常用参数

-p:递归创建多级目录,若父目录不存在则自动创建。

示例

mkdir test          # 创建名为 test 的目录
mkdir -p a/b/c      # 递归创建 a/b/c 三级目录

5. rm - 删除文件或目录

功能:删除文件或目录,使用需谨慎。

语法:rm [参数] 目标

常用参数

-f:强制删除,不提示确认。
-r:递归删除目录及其下所有内容(包括子目录和文件)。

示例

rm test.txt         # 删除 test.txt 文件(会提示确认)
rm -rf test_dir     # 强制删除 test_dir 目录及所有内容

6. cp - 复制文件或目录

功能:复制文件或目录到指定位置。

语法:cp [参数] 源路径 目标路径

常用参数

-r:递归复制目录(复制目录时必须加此参数)。
-f:强制覆盖目标已存在的文件。

示例

cp file.txt /tmp/   # 复制 file.txt 到 /tmp 目录
cp -r dir1 /home/   # 复制 dir1 目录到 /home 目录

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

功能:移动文件 / 目录到新位置,或给文件 / 目录重命名。

语法:mv [参数] 源路径 目标路径

示例

mv file.txt new.txt # 将 file.txt 重命名为 new.txt
mv new.txt /tmp/    # 将 new.txt 移动到 /tmp 目录

8. touch - 创建空文件或修改文件时间戳

功能:创建新的空文件,或更新已有文件的访问 / 修改时间戳。

语法:touch 文件名

示例

touch demo.txt # 创建空文件 demo.txt

9. ln - 创建链接文件

功能:创建硬链接或软链接(符号链接),软链接更常用。

语法:ln [参数] 源文件 链接文件

常用参数

-s:创建软链接(类似 Windows 快捷方式)。

示例

ln -s /home/test.txt /tmp/test_link.txt  # 创建软链接
ln /home/test.txt /tmp/test_hard.txt    # 创建硬链接

二、文本文件查看与处理命令

这类命令用于查看、编辑、筛选文本文件内容,适用于日志分析、配置文件修改等场景。

1. cat - 查看文件内容

功能:读取文件内容并输出到终端,适合查看小文件。

语法:cat [参数] 文件名

常用参数

-n:显示行号。

示例

cat /etc/hosts      # 查看 /etc/hosts 文件内容
cat -n test.txt     # 显示 test.txt 内容并标注行号

2. more/less - 分页查看文件内容

功能:分页显示文件内容,适合查看大文件。

more:只能向下翻页,按 Space 翻页,q 退出。
less:支持上下翻页、搜索,功能更强大,按 q 退出。

语法

more 文件名
less 文件名

3. head/tail - 查看文件开头 / 结尾内容

功能

head:默认显示文件前 10 行。
tail:默认显示文件后 10 行,常用 -f 参数实时监控文件变化(如日志)。

语法

head [参数] 文件名
tail [参数] 文件名

常用参数

-n N:显示前 / 后 N 行。
-f:实时跟踪文件新增内容(常用于监控日志)。

示例

head -n 5 test.txt  # 显示 test.txt 前 5 行
tail -f /var/log/syslog  # 实时监控系统日志

4. grep - 文本搜索工具

功能:在文件或输出中搜索匹配的字符串或正则表达式,是文本处理的核心命令。

语法:grep [参数] 搜索内容 文件名

常用参数

-i:忽略大小写。
-v:反向匹配,显示不包含搜索内容的行。
-n:显示匹配行的行号。

示例

grep "error" /var/log/syslog  # 在系统日志中搜索包含 error 的行
grep -i "hello" test.txt      # 忽略大小写搜索 hello
grep -vn "test" demo.txt      # 显示不包含 test 的行并标注行号

三、系统管理命令

这类命令用于查看系统状态、进程、用户等信息,是运维的常用工具。

1. ps - 查看进程状态

功能:列出当前运行的进程。

语法:ps [参数]

常用参数

aux:以 BSD 风格显示所有进程(最常用),包含进程 ID(PID)、占用资源等。
-ef:以 System V 风格显示所有进程。

示例

ps aux | grep java # 查看所有 java 相关的进程

2. top - 实时监控系统资源与进程

功能:动态显示系统整体资源使用情况(CPU、内存)和进程信息,按 q 退出。
常用操作

P:按 CPU 使用率排序。
M:按内存使用率排序。
k:终止指定 PID 的进程。

3. kill/killall - 终止进程

功能:向进程发送信号,常用以终止进程。

kill:通过 PID 终止进程。
killall:通过 进程名 终止所有同名进程。

语法

kill [信号] PID
killall 进程名

常用信号

-9:强制终止进程(不可忽略)。

示例

kill -9 1234       # 强制终止 PID 为 1234 的进程
killall firefox    # 终止所有 firefox 进程

4. df - 查看磁盘空间使用情况

功能:显示文件系统的磁盘占用情况。

语法:df [参数]

常用参数

-h:以人类可读单位显示(KB/MB/GB)。

示例

df -h # 查看所有挂载磁盘的使用情况

5. free - 查看内存和交换空间

功能:显示系统内存(RAM)和交换分区(swap)的使用情况。

语法:free [参数]

常用参数

-h:以可读单位显示。
-m:以 MB 为单位显示。

示例

free -h # 查看内存使用情况

6. du - 查看文件 / 目录大小

功能:显示文件或目录占用的磁盘空间。
常用参数

-h:人类可读单位。
-s:只显示总大小,不显示子目录详情。

示例

du -sh         # 查看当前目录总大小
du -h --max-depth=1  # 查看各子目录大小

7. history - 查看命令历史

功能:显示当前用户执行过的命令历史。
示例

history  # 显示所有历史命令
!100     # 执行历史中第 100 条命令

8. man - 查看命令帮助手册

功能:查看任何命令的详细用法(最权威的帮助文档)。

语法:man 命令名

示例

man ls  # 查看 ls 命令的帮助
man find  # 查看 find 命令的帮助

9. alias - 设置命令别名

功能:给长命令设置简短别名,简化操作。
示例

alias ll='ls -l'  # 设置别名 ll = ls -l
unalias ll        # 取消别名

四、权限管理命令

Linux 是多用户系统,权限管理用于控制用户对文件 / 目录的访问权限。

1. chmod - 修改文件 / 目录权限

功能:修改文件或目录的读(r)、写(w)、执行(x)权限。
权限说明

权限对象:u(所有者)、g(所属组)、o(其他用户)、a(所有用户)。
权限类型:r(读,4)、w(写,2)、x(执行,1)。

语法

符号模式:chmod [u/g/o/a][+/-/=][r/w/x] 文件名
数字模式:chmod 三位数 文件名(三位数分别代表 u、g、o 的权限总和)。

示例

chmod u+x test.sh  # 给文件所有者添加执行权限
chmod 755 test.sh  # 设置权限为 所有者 rwx,所属组 rx,其他用户 rx

2. chown - 修改文件 / 目录所有者

功能:修改文件或目录的所有者和所属组。

语法:chown [参数] 所有者:所属组 文件名

示例

chown root:root test.txt  # 将 test.txt 所有者和组改为 root

五、用户与用户组管理命令

1. useradd/userdel - 创建 / 删除用户

语法

useradd [参数] 用户名  # 创建用户
userdel [参数] 用户名  # 删除用户

常用参数

useradd -m:创建用户时自动创建家目录。
userdel -r:删除用户时同时删除家目录。

示例

useradd -m testuser  # 创建用户并生成家目录
userdel -r testuser  # 删除用户及家目录

2. passwd - 修改用户密码

语法:passwd [用户名]

示例

passwd testuser  # 修改 testuser 的密码(需 root 权限)
passwd           # 修改当前用户的密码

3. groupadd/groupdel - 创建 / 删除用户组

示例

groupadd testgroup  # 创建用户组
groupdel testgroup  # 删除用户组

4. usermod - 修改用户属性

功能:修改用户的所属组、家目录等属性。
示例

usermod -aG testgroup testuser # 将用户加入 testgroup 组

六、压缩与解压命令

这类命令用于打包、压缩、解压文件,节省磁盘空间或方便传输。

1. tar - 打包 / 解包工具

功能:可将多个文件 / 目录打包成一个文件,常与 gzip/bzip2 结合实现压缩。

语法:tar [参数] 打包文件名 源文件/目录

常用参数

-c:创建新的打包文件。
-x:解包打包文件。
-z:使用 gzip 压缩 / 解压(.tar.gz 格式)。
-j:使用 bzip2 压缩 / 解压(.tar.bz2 格式)。
-v:显示打包 / 解包的详细过程。
-f:指定打包文件的名称(必须放在参数最后)。

示例

tar -czvf test.tar.gz /home/test  # 打包并 gzip 压缩
tar -xzvf test.tar.gz             # 解压 .tar.gz 文件
tar -xjvf test.tar.bz2            # 解压 .tar.bz2 文件

2. zip/unzip - ZIP 格式压缩 / 解压

功能:处理 Windows/Linux 通用的 .zip 格式压缩包。
语法

zip [参数] 压缩包名 源文件/目录
unzip [参数] 压缩包名

常用参数

zip -r:递归压缩目录(压缩目录必须加此参数)。
unzip -d:指定解压后的目标目录。

示例

zip -r test.zip /home/test  # 压缩目录为 zip 包
unzip test.zip -d /tmp      # 解压到指定目录

3. gzip/gunzip - GZ 格式压缩 / 解压

功能:压缩单个文件(会删除原文件,生成 .gz 文件)。
示例

gzip test.txt  # 压缩 test.txt 为 test.txt.gz
gunzip test.txt.gz  # 解压为 test.txt

七、高级文件查找命令

1. find - 查找文件 / 目录

功能:根据文件名、大小、修改时间等条件搜索文件,功能强大。

语法:find 搜索路径 [参数] 搜索条件

常用参数

-name:按文件名搜索(支持通配符 * ?)。
-size:按文件大小搜索(+n 大于 n,-n 小于 n,单位 k/M/G)。
-type:按类型搜索(f 文件,d 目录)。

示例

find /home -name "*.txt"  # 在 /home 下查找所有 .txt 文件
find / -size +100M        # 查找大于 100M 的文件
find /tmp -type d         # 查找所有目录

2. locate - 快速查找文件

功能:基于系统数据库搜索文件,速度比 find 快,但需定期更新数据库。

语法:locate 文件名

示例

updatedb  # 更新搜索数据库(需 root 权限)
locate test.txt  # 查找 test.txt 位置

八、网络管理命令

1. ping - 测试网络连通性

功能:向目标主机发送数据包,测试网络是否可达。

语法:ping [参数] 目标IP/域名

示例

ping www.baidu.com # 测试与百度的连通性

2. ifconfig/ip addr - 查看网络接口信息

功能:查看或配置网络接口(IP 地址、MAC 地址等)。

ifconfig:传统命令,部分系统需安装 net-tools 工具。
ip addr:新版命令,功能更强大。

示例

ifconfig
ip addr

3. netstat - 查看网络连接与端口

功能:显示网络连接、路由表、监听端口等信息(部分系统需安装 net-tools)。
常用参数

-t:显示 TCP 连接。
-u:显示 UDP 连接。
-n:以 IP 地址显示,不解析域名。
-l:显示监听状态的端口。
-p:显示进程 ID 和进程名。

示例

netstat -tlnp # 查看所有监听的 TCP 端口及对应进程

4. ss - 替代 netstat 的网络工具

功能:功能与 netstat 类似,速度更快,信息更全。
示例

ss -t   # 查看所有 TCP 连接
ss -l   # 查看监听端口

5. curl/wget - 下载文件 / 测试网络

curl:发送 HTTP 请求,可测试接口、下载文件。
curl https://www.baidu.com  # 访问百度并输出页面内容
curl -O https://xxx.com/file.tar.gz  # 下载文件
wget:专门用于下载文件,支持断点续传。
wget https://xxx.com/file.tar.gz  # 下载文件
wget -c https://xxx.com/file.tar.gz  # 断点续传

本次教程到这里就结束了,希望大家多多关注支持(首席摸鱼师 微信同号),持续跟踪最新文章吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值