Linux命令速查表,高效运维与开发的必备指南,这份Linux命令速查表,凭什么成为运维开发的效率神器?,这份Linux命令速查表,凭什么成为运维开发的效率神器?
这份Linux命令速查表是运维与开发人员的高效工具,通过系统化分类和场景化示例,快速解决日常操作、故障排查及性能优化等需求,其核心优势在于: ,1. **即查即用**:涵盖文件管理、权限设置、进程监控(如ps
、top
)、网络配置(netstat
、ssh
)等高频命令,减少记忆负担; ,2. **场景适配**:提供日志分析(grep
、awk
)、批量任务(cron
)、磁盘管理(df
、du
)等实战场景命令组合; ,3. **效率提升**:简洁的语法说明与常用参数标注,避免反复查阅手册,尤其适合紧急调试与自动化脚本编写。 ,无论是新手快速入门,还是老手精准调优,都能通过这份速查表显著提升操作效率,堪称命令行环境下的“瑞士军刀”。(约160字)
Linux作为一款开源、稳定且高效的操作系统,凭借其卓越的性能、灵活的定制性和强大的安全性,已成为服务器管理、云计算、嵌入式开发等领域的首选平台,无论是经验丰富的系统管理员、专业的开发人员,还是刚接触Linux的初学者,掌握常用Linux命令都是提升工作效率的关键技能,面对庞大的命令体系,如何快速查找和记忆常用命令成为许多用户的痛点,本文精心整理了一份Linux命令速查手册,涵盖文件操作、系统管理、网络配置、权限管理等核心命令,并附有实用示例和使用技巧,帮助用户快速查阅并显著提高工作效率。
文件与目录操作
基本文件操作
-
ls
:列出目录内容ls -l # 以详细列表形式显示文件和目录信息(包含权限、所有者、大小等) ls -a # 显示所有文件,包括隐藏文件(以.开头的文件) ls -lh # 以易读格式显示文件大小(自动转换为KB/MB/GB单位) ls -t # 按修改时间排序显示文件 ls -R # 递归显示子目录内容
-
cd
:切换工作目录cd /path/to/directory # 进入指定绝对路径目录 cd ~/Documents # 进入当前用户家目录下的Documents目录 cd ~ # 返回当前用户的家目录(等同于cd /home/username) cd .. # 返回上一级目录 cd - # 返回上一次所在的目录(类似"后退"功能)
-
pwd
:显示当前工作目录的完整路径pwd # 显示当前所在目录的绝对路径
-
cp
:复制文件或目录cp file1.txt file2.txt # 复制单个文件并重命名 cp -r directory1 directory2 # 递归复制整个目录及其子内容 cp -i source.txt destination/ # 交互式复制,覆盖前提示确认 cp -u *.log /backup/ # 仅复制目标目录中不存在的或更新的文件 cp -v file* /target/ # 显示详细的复制过程信息
-
mv
:移动或重命名文件mv oldname.txt newname.txt # 文件重命名 mv file.txt /target/directory/ # 移动文件到指定目录 mv -i file.txt destination/ # 交互式移动,覆盖前提示确认 mv -n *.txt /backup/ # 不覆盖已存在的目标文件 mv -v dir1 dir2 # 显示详细的移动过程
-
rm
:删除文件或目录rm file.txt # 删除单个文件 rm -r directory # 递归删除目录及其所有内容 rm -f file.txt # 强制删除,不提示确认(谨慎使用) rm -i *.tmp # 交互式删除,每个文件都提示确认 rm --preserve-root / # 防止意外删除根目录(安全措施)
文件查看与编辑
-
cat
:查看文件内容cat file.txt # 显示文件全部内容 cat file1.txt file2.txt # 合并显示多个文件内容 cat -n notes.txt # 显示行号 cat > newfile.txt # 从标准输入创建新文件(Ctrl+D结束) cat file1.txt file2.txt > combined.txt # 合并文件内容并输出到新文件
-
less
/more
:分页查看文件less large_file.log # 支持前后翻页、搜索等功能(推荐使用) more large_file.log # 基本分页显示(功能较less少) # less常用操作: # 空格键:向下翻页 b键:向上翻页 /keyword:搜索 n/N:下一个/上一个匹配项 q:退出
-
head
/tail
:查看文件开头或结尾head -n 20 file.log # 查看文件前20行 tail -n 50 file.log # 查看文件最后50行 tail -f live.log # 实时追踪日志文件变化(监控日志必备) tail -F growing.log # 跟踪文件,即使文件被轮转也能继续跟踪 head -c 100 data.bin # 查看文件前100字节
-
nano
/vim
:文本编辑器nano quick_edit.txt # 简单易用的命令行编辑器(适合初学者) vim advanced_edit.txt # 功能强大的专业编辑器(学习曲线较陡) # nano基本操作: # Ctrl+O:保存 Ctrl+X:退出 Ctrl+K:剪切行 Ctrl+U:粘贴 # vim基本模式: # i:插入模式 ESC:命令模式 :wq:保存退出 :q!:不保存强制退出
文件查找与搜索
-
find
:按条件查找文件find /var/log -name "*.log" # 查找/var/log目录下所有.log文件 find /home -user username # 查找属于特定用户的文件 find / -size +100M # 查找系统中大于100MB的文件 find . -mtime -7 # 查找当前目录下7天内修改过的文件 find /tmp -type f -empty # 查找/tmp目录下的空文件 find . -perm 644 # 查找权限为644的文件 find /var -size +1G -exec ls -lh {} \; # 查找并显示大于1G的文件详情
-
grep
:搜索文件内容grep "error" system.log # 查找包含"error"的行 grep -i "warning" *.log # 忽略大小写查找"warning" grep -r "function" /path/to/code # 递归搜索目录中的内容 grep -v "debug" output.txt # 显示不包含"debug"的行 grep -E "[0-9]{3}-[0-9]{4}" contacts.txt # 使用正则表达式匹配电话号码 grep -A 3 -B 2 "exception" log.txt # 显示匹配行及其前后几行上下文 grep --color=auto "important" file.txt # 高亮显示匹配文本
系统管理与进程控制
系统信息查询
-
uname
:查看系统信息uname -a # 显示所有系统信息(内核版本、主机名等) uname -r # 显示内核版本(常用于驱动兼容性检查) uname -m # 显示系统架构(x86_64表示64位系统) uname -s # 显示操作系统名称(Linux) uname -n # 显示网络节点主机名
-
df
:查看磁盘使用情况df -h # 以易读格式(GB/MB)显示磁盘空间(推荐) df -i # 查看inode使用情况(解决"磁盘未满但无法创建文件"问题) df -T # 显示文件系统类型 df --total # 显示所有文件系统的总计信息
-
free
:查看内存使用情况free -h # 以易读格式显示内存和交换空间(推荐) free -m # 以MB为单位显示内存使用 free -t # 显示总计行 free -s 5 # 每5秒刷新一次内存信息(类似top的持续监控)
-
top
/htop
:实时监控系统进程top # 经典系统监控工具(按q退出) htop # 增强版监控工具,支持鼠标操作和颜色显示(需安装) # top常用操作: # M:按内存排序 P:按CPU排序 k:终止进程 h:帮助 # htop额外功能: # 树状视图显示进程关系,支持鼠标选择进程进行操作
进程管理
-
ps
:查看进程状态ps aux # 显示所有用户的所有进程(BSD风格) ps -ef # 显示完整格式的进程列表(标准UNIX风格) ps -u username # 显示特定用户的进程 ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head # 显示内存占用最高的进程 ps -C nginx -o pid= # 仅显示nginx进程的PID ps --forest # 以树状结构显示进程父子关系
-
kill
:终止进程kill -9 1234 # 强制终止PID为1234的进程(SIGKILL信号) killall nginx # 终止所有名为nginx的进程 pkill -f "python script.py" # 终止匹配模式的进程 kill -l # 列出所有可用信号 kill -15 5678 # 优雅终止进程(SIGTERM信号,允许进程清理资源)
-
systemctl
:管理系统服务(Systemd)systemctl start nginx # 启动nginx服务 systemctl stop nginx # 停止nginx服务 systemctl restart nginx # 重启nginx服务 systemctl status nginx # 查看服务状态(是否运行、最近日志等) systemctl enable nginx # 设置开机自启 systemctl disable nginx # 禁用开机自启 systemctl list-units --type=service # 列出所有服务 systemctl daemon-reload # 重载修改过的服务配置文件
用户与权限管理
用户账户管理
-
useradd
/userdel
:用户管理useradd -m newuser # 创建用户并创建家目录(-m选项很重要) userdel -r olduser # 删除用户并移除家目录(谨慎使用) usermod -aG sudo user1 # 将用户添加到sudo组(授予管理员权限) useradd -s /bin/bash -d /home/john -m -G developers john # 创建用户并指定shell、家目录和附加组 useradd -e 2024-12-31 tempuser # 创建有到期日的临时账户 userdel --remove tempuser # 删除用户并移除所有相关文件
-
passwd
:密码管理passwd username # 修改指定用户密码(需要root权限) passwd # 修改当前用户密码 passwd -l username # 锁定用户账户 passwd -u username # 解锁用户账户 passwd -S username # 查看账户密码状态 chage -l username # 查看密码过期信息
-
su
/sudo
:用户切换与提权su - username # 完全切换用户环境(包括环境变量) sudo command # 以root权限执行单条命令 sudo -i # 启动交互式root shell sudo -u username command # 以指定用户身份执行命令 sudo visudo # 安全编辑sudoers文件 sudo -l # 列出当前用户可执行的sudo命令
文件权限管理
-
chmod
:修改文件权限chmod 755 script.sh # 设置权限为rwxr-xr-x(所有者可读写执行,其他人可读执行) chmod +x executable # 添加可执行权限 chmod -R 644 /var/www # 递归修改目录权限(谨慎使用-R) chmod u=rwx,g=rx,o= file.txt # 使用符号模式设置权限 chmod a-w file.txt # 移除所有用户的写权限 chmod --reference=ref_file target_file # 参照其他文件设置权限
-
chown
:修改文件所有者chown user:group file.txt # 修改所有者和组 chown -R www-data:www-data /var/www # 递归修改目录所有者 chown :developers project/ # 仅修改文件组 chown --reference=ref_file target_file # 参照其他文件设置所有者
网络管理
网络配置与诊断
-
ifconfig
/ip
:网络接口配置ifconfig # 显示网络接口信息(较旧,部分新系统可能未预装) ip addr show # 显示IP地址信息(推荐使用) ip route show # 显示路由表 ip link set eth0 up # 启用网络接口 ip addr add 192.168.1.100/24 dev eth0 # 添加IP地址 ip neigh show # 显示ARP缓存表
-
ping
:网络连通性测试ping google.com # 测试与Google的连接(Ctrl+C停止) ping -c 5 8.8.8.8 # 发送5个ping包测试 ping -i 0.2 192.168.1.1 # 设置ping间隔为0.2秒 ping -M do -s 1472 example.com # 设置不分片并测试MTU ping -6 ipv6.google.com # IPv6 ping测试
-
netstat
/ss
:网络连接查看netstat -tuln # 查看监听端口(传统工具) ss -tuln # 更快的替代工具(推荐) ss -s # 显示统计摘要 ss -tp # 显示进程信息 netstat -r # 显示路由表 ss -o state established '( dport = :http or sport = :http )' # 查看所有HTTP连接
远程连接与传输
-
ssh
:安全远程登录ssh user@hostname # 基本连接 ssh -p 2222 user@host # 指定非标准端口 ssh -i ~/.ssh/key.pem user@host # 使用密钥认证 ssh -v user@host # 详细模式(调试连接问题) ssh -X user@host # 启用X11转发(运行图形程序) ssh -L 8080:localhost:80 user@gateway # 本地端口转发 ssh -D 1080 user@proxy # 动态端口转发(SOCKS代理)
-
scp
:安全文件传输scp file.txt user@host:/remote/path/ # 上传文件 scp user@host:/remote/file.txt ./ # 下载文件 scp -r directory/ user@host:/path/ # 递归传输目录 scp -P 2222 file.txt user@host:/path/ # 指定非标准端口 scp -C file.txt user@host:/path/ # 启用压缩传输 scp -q backup.tar.gz user@host:/backups/ # 静默模式(不显示进度)
压缩与归档
-
tar
:打包与解压tar -czvf archive.tar.gz directory/ # 创建gzip压缩包(常用) tar -xzvf archive.tar.gz # 解压gzip压缩包 tar -cjvf archive.tar.bz2 directory/ # 创建bzip2压缩包(压缩率更高) tar -xjvf archive.tar.bz2 # 解压bzip2压缩包 tar -cvf archive.tar directory/ # 仅打包不压缩 tar -tf archive.tar.gz # 查看压缩包内容不解压 tar -xvf archive.tar --wildcards '*.txt' # 仅解压匹配模式的文件
-
gzip
/gunzip
:文件压缩与解压gzip largefile.log # 压缩文件(生成.gz文件,原文件会被删除) gunzip largefile.log.gz # 解压.gz文件 gzip -9 data.txt # 使用最大压缩率(速度较慢) gzip -c access.log > access.log.gz # 压缩并保留原文件 zcat access.log.gz # 查看压缩文件内容不解压 gzip -l file.gz # 显示压缩文件信息(压缩率等)
Shell脚本与自动化
-
echo
:输出文本echo "Hello World" # 基本输出 echo -e "Line1\nLine2" # 解释转义字符 echo $PATH # 输出环境变量 echo {1..10} # 输出数字序列 echo *.txt # 显示匹配的文件列表 echo -n "No newline" # 输出不带换行符
-
alias
:命令别名alias ll='ls -alF' # 创建常用别名 alias grep='grep --color=auto' # 为grep添加默认颜色 unalias ll # 删除别名 alias # 列出所有别名 # 永久保存别名可添加到~/.bashrc文件中
-
cron
:定时任务crontab -e # 编辑当前用户的cron任务(VIP重要) crontab -l # 列出当前用户的cron任务 crontab -r # 删除所有cron任务(谨慎使用) # cron时间格式: # * * * * * command # | | | | | # | | | | +----- 星期几 (0 - 6) (星期天=0) # | | | +------- 月份 (1 - 12) # | | +--------- 日 (1 - 31) # | +----------- 小时 (0 - 23) # +------------- 分钟 (0 - 59)
总结与进阶建议
本文提供的Linux命令速查手册涵盖了文件操作、系统管理、网络配置、权限管理等核心命令,并附有实用示例和参数说明,适合日常运维和开发使用,熟练掌握这些命令可以大幅提升工作效率,减少重复劳动,建议将本文加入书签,作为日常工作的快速参考指南。
进阶学习建议:
- 善用帮助文档:几乎所有命令