当前位置:首页>Linux>100条Linux运维管理命令,能用到退休

100条Linux运维管理命令,能用到退休

  • 2026-10-21 13:27:18
100条Linux运维管理命令,能用到退休

  作为程序员、运维工程师的日常必备技能,Linux 命令总是让人又爱又恨 —— 常用命令记不住,生僻命令查半天,网上资料零散又杂乱?别慌!整理了一份超实用 Linux 命令大全,涵盖目录操作、文件管理、用户权限、系统管理、查找搜索等核心场景,格式清晰、拿来就用,新手也能快速上手,建议收藏备查。

一、基础操作:目录与路径

1. 目录切换

cd ~:切换到家目录(~ 是家目录快捷键)

cd -:切换到上一次所在目录

echo $PWD:显示当前工作目录

echo $OLDPWD:显示上一次工作目录

2. 目录查看

ls -A:显示所有文件(不含。和 ..)

ls -ld:显示目录本身的属性(而非目录内文件)

ls -R /home:递归显示目录下所有文件(包括子目录)

二、文件操作:创建、查看、修改

1. 文件 / 目录创建

mkdir 目录名:创建单个目录

mkdir -p /tmp/a/b/c:自动创建父目录(多级目录一键生成)

mkdir -v 目录名:显示创建过程

touch 文件名:创建空文件,若文件存在则修改时间戳

touch $(date -d "-2 day"+% F).log:生成 2 天前的日志文件(命令引用实战)

mktemp aa.XXXX:创建临时文件(X 需大写,自动过期删除)

mktemp -d aa.XX:创建临时目录

2. 文件查看

cat 文件名:正序查看文件内容

tac 文件名:倒序查看文件内容(cat 的反向命令)

head -n 10 文件名:查看文件前 10 行

tail -n 10 文件名:查看文件后 10 行

more 文件名 /less 文件名:分屏查看大文件(less 支持上下滚动)

stat 文件名:显示文件详细状态(含时间戳、权限等)

3. 文件复制 / 移动 / 删除

cp 源文件 目标路径:复制文件

cp -r 源目录 目标路径:递归复制目录(含子文件)

cp -a 源文件 目标路径:复制并保留文件所有属性(推荐用于重要文件)

cp /etc/{passwd,issue} /tmp:多源复制(一次性复制多个文件)

mv 源文件 目标路径:移动文件 / 目录,也可用于重命名

rm 文件名:删除文件

rm -r 目录名:递归删除目录(含子内容)

rm -f 文件名:强制删除(不提示)

rmdir 空目录名:删除空目录(仅能删空目录)

rename .txt .txt.bak *.txt:批量修改文件后缀(如 txt 转 txt.bak)

4. 链接创建

ln 源文件 链接名:创建硬链接(一个文件多个名字,不能跨磁盘 / 文件夹)

ln -s 源文件 链接名:创建软链接(相当于快捷方式,支持文件夹 / 跨磁盘)

 注意:删除软链接时不要加 /,否则会删除源文件内容!正确命令:rm -f 链接名 或 unlink 链接名

三、系统管理:用户、权限、进程

1. 用户与组管理

useradd 用户名:创建用户(默认配置在 /etc/login.defs)

usermod -u 1001 用户名:修改用户 UID

userdel 用户名:删除用户

passwd 用户名:修改用户密码(echo "新密码" | passwd --stdin 用户名 批量改密)

groupadd 组名:创建用户组

groupmod -g 1001 组名:修改组 GID

groupdel 组名:删除用户组

id 用户名:查看用户 UID、GID 等信息

su - 用户名:登录式切换用户(加载目标用户环境变量)

su -c "命令":以指定用户身份执行单个命令(不切换登录)

2. 权限管理

Linux 权限分读(r=4)、写(w=2)、执行(x=1),对应属主(u)、属组(g)、其他(o)三类用户。

chmod u=rwx,g=rw,o=r 文件名:设置权限(如 764)

chmod +x 文件名:给所有用户添加执行权限

chmod -R a+X 目录名:递归给目录添加执行权限(仅目录生效)

chmod --reference=/etc/shadow 文件名:复制目标文件的权限

chown 用户名:组名 文件名:修改文件属主和属组

chgrp 组名 文件名:单独修改文件属组

umask:查看文件权限反向掩码(文件默认 666-umask,目录默认 777-umask)

chattr +i 文件名:设置文件不可删除 / 修改(隐藏权限)

chattr +a 文件名:设置文件仅可追加(不能删除)

lsattr 文件名:查看文件隐藏权限

setfacl -m u: 用户名:rwx 文件名:给指定用户单独设置权限(精细化控制)

3. 特殊权限

chmod u+s 命令名:设置 SUID 权限(用户执行命令时临时获得属主权限,如 passwd 命令)

4. 进程管理

pstree:查看进程树

pstree -p:显示进程树及 PID(进程 ID)

四、查找搜索:高效定位文件 / 内容

1. locate(快速模糊查找)

依赖索引库,查找速度快,非实时更新。

locate 关键词:模糊查找文件

updatedb:手动更新索引库(消耗系统资源,谨慎执行)

locate -b 关键词:仅显示文件名(不含路径)

locate -c 关键词:统计匹配文件个数

2. find(实时精确查找)

实时扫描文件系统,支持多条件组合,功能强大。基本语法:find [起始路径] [查找条件] [处理动作]常用条件:

find /tmp -name "*.log":按文件名查找(支持通配符)

find /etc -iname "hosts":忽略大小写查找

find /home -user 用户名:按属主查找

find /dev -type b:按文件类型查找(b = 块设备,f = 普通文件,d = 目录)

find /var -size +200M:按大小查找(+ 大于,- 小于,单位 k/M/G)

find /etc -mtime -1:按修改时间查找(-1=1 天内,+1=1 天前)

find /tmp -perm 755:按权限查找

处理动作:

find /tmp -size +1G -ls:查找后显示详细信息

find /tmp -nouser -delete:删除无属主的文件

find /home -name "*.txt" -exec cp {} /tmp ;:查找后执行复制({} 代指找到的文件)

3. xargs(批量传递参数)

解决部分命令不支持管道传参的问题,拆分参数避免溢出。

echo file {1..50000}.txt | xargs -n1 touch:批量创建 5 万个文件(-n1 = 每次传 1 个参数)

find /var -size +2G | xargs ls -hl:查找大于 2G 的文件并显示详情

五、系统常用:时间、主机、日志、压缩

1. 时间与时区

date:显示系统时间(软件时钟)

date +"% F % T":显示格式化时间(年 - 月 - 日 时:分: 秒)

date -d "+2 day":显示 2 天后的日期

hwclock:显示硬件时钟

hwclock -s:硬件时间同步到系统时间

hwclock -w:系统时间同步到硬件时钟

timedatectl set-timezone Asia/Shanghai:设置时区为上海

2. 主机与系统信息

hostname 主机名:临时修改主机名

hostnamectl set-hostname 主机名:永久修改主机名(修改 /etc/hostname)

cat /etc/os-release:查看系统版本

who:查看当前登录用户

who -b:查看系统启动时间

w:查看登录用户及正在执行的操作(增强版 who)

cal:显示日历(cal 2024 显示 2024 年日历,cal 8 2024 显示 2024 年 8 月日历)

3. 日志与磁盘

cat /dev/null > 大文件.log:清空大文件(立即释放磁盘空间)

df -h:查看磁盘空间使用情况(人类可读格式)

df -i:查看 inode 使用情况(inode 耗尽会导致磁盘无法写入)

shred -v /dev/sdb:磁盘擦除(覆盖写入,防止数据恢复)

dd if=/dev/urandom of=/dev/sdb bs=512 status=progress:用随机数据覆盖磁盘

4. 压缩与归档(tar 命令)

tar -zcvf 压缩包.tar.gz 目录名:用 gzip 压缩(最常用)

tar -zxvf 压缩包.tar.gz -C 目标目录:解压到指定目录(-C 指定路径)

tar -jcvf 压缩包.tar.bz2 目录名:用 bzip2 压缩(压缩率更高)

tar -Jcvf 压缩包.tar.xz 目录名:用 xz 压缩(压缩率最高)

六、bash 高级特性:快捷键与技巧

1. 快捷键(效率神器)

Ctrl+A:跳到命令行首

Ctrl+E:跳到命令行尾

Ctrl+U:删除光标前所有字符

Ctrl+K:删除光标后所有字符

Ctrl+L:清屏(等同于 clear)

Ctrl+R:搜索历史命令(重复按继续搜索)

Esc+.:快速调用上一条命令的参数(或用!$)

2. 命令行展开

~:自动展开为家目录(如 cd ~)

{}:批量生成路径 / 文件名,如:

3. 引用与变量

单引号 ' ':强引用(内部字符原样显示,不解析变量)

双引号 "":弱引用(解析变量值,如 echo"$SHELL" 显示 shell 路径)

反引号  或 $(命令):引用命令执行结果(如 mkdir $(date +%H-%M-%S))

4. 历史命令

history:查看执行过的历史命令(保存在~/.bash_history)

history -c:清空当前历史命令

history -d 102:删除第 102 条历史命令

!101:执行第 101 条历史命令

!!:重复执行上一条命令

5. IO 重定向

命令 > 文件:正常输出重定向到文件(覆盖)

命令 >> 文件:正常输出追加到文件

命令 2> 文件:错误输出重定向到文件

命令 &> 文件:正常 + 错误输出都重定向到文件

命令 < 文件:从文件读取输入(输入重定向)

命令 &>/dev/null:忽略所有输出(仅关注命令是否执行成功)

七、实用小命令与技巧

bc:终端计算器(直接输入 bc 启动)

wall 'hello everyone':给所有在线用户发消息

shutdown -r +10:10 分钟后重启(shutdown -c 取消)

init 3:切换到字符界面(关闭图形界面,立即生效)

alias 别名 =' 命令 ':定义命令别名(如 alias rm='mv -t /tmp' 防误删)

unalias 别名:删除命令别名

which 命令:显示命令所在路径

whereis 命令:显示命令二进制文件、源码、手册位置

echo -e '\a':让系统发出提示音(脚本执行完成通知)

echo -e "\E [1;31m 文字 \E [0m":输出彩色文字(31 = 红色,32 = 绿色,33 = 黄色)

最后

这份笔记覆盖了 Linux 日常使用的 90%+ 场景,建议收藏起来,遇到不会的命令直接搜索关键词!如果觉得有用,记得分享给身边的小伙伴~ 

最新文章

随机文章