前言:
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.txtmv 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 # 忽略大小写搜索 hellogrep -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 [信号] PIDkillall 进程名
常用信号:
-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 -lunalias 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.gzgunzip 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:新版命令,功能更强大。
示例:
ifconfigip 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 # 断点续传
本次教程到这里就结束了,希望大家多多关注支持(首席摸鱼师 微信同号),持续跟踪最新文章吧~