Linux系统的命令库非常庞大,其中有少量命令因具有强大功能在应用中高频出现,是开发者和运维人员必备的核心工具,下面为大家分享的就是Linux系统中的五个“万金油”级命令,从基础用法到高阶技巧!
第一个命令ls被称文件与目录的“导航仪”
ls是Linux中使用率最高的命令之一,用于列出目录内容,但其功能远不止简单的文件罗列。
核心用法包括基本查看:
ls 列出当前目录可见文件
ls a 显示隐藏文件(以.开头的文件)
ls l 详细列表(权限、所有者、大小、时间)
人性化显示:
ls lh 文件大小以K/M/G单位显示
ls color=auto 按类型彩色输出
实际应用可以按时间排序,快速定位最新修改文件
ls lt 按修改时间倒序排列
ls ltr 按修改时间正序排列(找最早文件)
过滤特定文件:结合通配符高效筛选
ls .log 列出所有日志文件
ls d / 仅显示子目录
递归列出子目录:
ls R /var/log 递归显示/var/log下所有内容
与find联用快速统计文件数量
ls 1 | wc l 统计当前目录文件数(不含隐藏文件)
第二种命令grep是文本搜索的“瑞士军刀”
grep是文本过滤与搜索的终极工具,支持正则表达式,适用于日志分析、配置检查等场景。核心用法包含基础搜索:
grep "error" app.log 在app.log中查找包含"error"的行
grep i "warning" syslog 忽略大小写搜索"warning"
递归搜索:
grep r "TODO" /project 递归搜索/project目录下所有文件的"TODO"
上下文查看:
grep C 3 "panic" kernel.log 显示匹配行及其前后3行
统计匹配次数:
grep c "404" access.log 统计404状态码出现次数
反向筛选:
grep v "success" result.csv 排除包含"success"的行
正则表达式搜索:
grep E "[09]{3}[09]{4}" contacts.txt 匹配电话号码(如1234567)
多模式匹配:
grep e "error" e "critical" messages 同时匹配"error"和"critical"
第三种命令find是文件定位的“精准雷达”
find命令通过条件组合实现复杂文件搜索,支持按名称、类型、时间、大小等多维度过滤。
按名称搜索:
find /home name ".jpg" 查找/home下所有.jpg文件
find . iname "readme.md" 忽略大小写搜索readme.md
按时间过滤:
find /var/log mtime 7 查找7天内修改过的文件
find ~ amin +30 查找30分钟前访问过的文件
按大小筛选:清理磁盘空间
find /tmp size +100M 查找大于100MB的文件
find . size 10k 查找小于10KB的文件
批量操作文件:
find . name ".bak" exec rm {} \; 删除所有.bak文件
find /data type f empty delete 删除所有空文件
权限与用户过滤:
find /etc user root 查找属于root用户的文件
find . perm 644 查找权限为644的文件
组合条件查询:
find /var name ".log" \( size +50M o mtime +30 \) ls 查找大于50M或30天未修改的日志文件
第四种命令ssh是远程管理的“安全通道”
ssh是远程连接Linux服务器的标准工具,支持加密通信与端口转发,保障操作安全。基础连接:
ssh user@192.168.1.100 使用用户名密码登录
ssh p 2222 user@hostname 指定端口连接
密钥认证,免密登录配置
sshkeygen 生成密钥对
sshcopyid user@host 将公钥上传至目标主机
文件传输:
scp file.txt user@host:/path 本地复制到远程
scp r user@host:/data ~/backup 递归复制远程目录到本地
端口转发,突破网络限制
ssh L 8080:localhost:80 user@host 将本地8080端口转发到远程80端口
ssh D 1080 user@host 建立SOCKS5代理
禁用密码登录,编辑/etc/ssh/sshd_config
PasswordAuthentication no
systemctl restart sshd
连接保活,防止会话超时
ssh o ServerAliveInterval=60 user@host 每60秒发送保活包
最后一种tar,归档压缩的“万能工具箱”
tar命令用于文件打包与解压,支持gzip、bzip2、xz等多种压缩算法。打包与压缩:
tar czvf backup.tar.gz /data 使用gzip压缩(z)
tar cjvf backup.tar.bz2 /data 使用bzip2压缩(j)
解压文件:
tar xzvf backup.tar.gz 解压gzip包
tar xvf archive.tar 自动识别压缩格式
增量备份:
tar g snapshot.snar czvf backup_inc.tar.gz /data 基于快照增量备份
排除特定文件:
tar exclude='.tmp' czvf clean.tar.gz /project
分卷压缩,大文件分割
tar czvf /bigdata | split b 2G bigdata.tar.gz. 分割为2G/卷
远程压缩:节省本地空间
ssh user@host "tar czf /logs" > logs_remote.tar.gz
以上就是常用必备的Linux五大命令行,在Linux中提升效率可以通过参数组合、管道串联、脚本封装、安全优先、持续学习这些原则出发,结合自身工作场景反复联系,逐步解锁更多高阶应用。