掌握Linux常用50个命令,轻松管理文件与目录,提升系统操作效率,适合初学者和进阶用户。linux常用命令大全, linux必备命令50个, linux常用命令详解, linux系统常用命令列表, linux命令行操作指南, linux基础命令教程, linux常用命令速查表, linux命令使用方法, linux命令行技巧, linux常用命令合集
data-ad-format="fluid" data-ad-layout-key="-7k+ex-4a-9w+4a">https://www.calcguide.tech/2025/03/22/linux常用的50个命令/
一、文件与目录操作核心命令详解
- ls - 目录内容查看ls -l # 详细模式(权限/所有者/大小)
ls -a # 显示隐藏文件(包括.和..)
ls -lh # 人性化显示文件大小(KB/MB/GB)核心选项:- -l:长格式显示详细信息- -a:显示所有文件(含隐藏文件)- -R:递归列出子目录内容- -t:按修改时间排序(最新优先)1,4 - cd - 目录切换cd ~ # 返回用户家目录
cd .. # 返回上级目录
cd /var/log # 绝对路径切换特殊用法:-cd -:返回上次所在目录-cd:等效于cd ~6,7 - pwd - 显示当前路径pwd # 输出绝对路径如 /home/user
pwd -P # 显示物理路径(排除符号链接) - cp - 文件/目录复制cp file1 file2 # 基础复制
cp -r dir1 dir2 # 递归复制目录
cp -i *.txt backup # 覆盖前提示确认关键选项:- -r:递归复制目录- -i:覆盖前交互确认- -p:保留文件属性(时间/权限)9,10 - mv - 移动/重命名mv old.txt new.txt # 重命名文件
mv file /tmp/ # 移动文件到指定目录
mv -f data.log logs/ # 强制覆盖不提示重要选项:- -f:强制操作不提示- -u:仅移动较新文件- -v:显示操作过程12,14 - rm - 文件/目录删除rm file # 删除单个文件
rm -rf dir # 强制递归删除目录
rm -i *.tmp # 删除前逐一确认危险选项:- -r:递归删除目录- -f:强制删除不提示(慎用!)- -v:显示删除详情15,17 - mkdir - 目录创建mkdir project # 创建单层目录
mkdir -p app/{src,logs} # 递归创建多级目录
mkdir -m 750 private # 指定目录权限核心选项:- -p:自动创建父目录- -m:设置权限(如750)- -v:显示创建过程21,22 - touch - 文件创建/时间修改touch newfile # 创建空文件
touch -t 202501010000 file # 设置时间戳
touch -r ref.txt target.txt # 同步参考文件时间常用选项:- -a:仅修改访问时间- -m:仅修改修改时间- -t:自定义时间格式23,25 - find - 文件搜索find /var -name “*.log” # 按名称搜索
find . -size +100M # 查找超过100MB的文件
find /tmp -mtime -7 # 查找7天内修改的文件高级选项:- -type:按文件类型过滤(f/d/l)- -exec:对结果执行命令(如删除)- -maxdepth:限制搜索深度18,20 - ln - 创建文件链接ln -s /opt/app/bin app_bin # 创建符号链接
ln file1 file2_hardlink # 创建硬链接区别说明:- 硬链接:共享inode,不可跨文件系统- 软链接:独立inode,可跨文件系统26,28 - tar - 文件打包压缩tar czvf backup.tar.gz dir/ # 创建gzip压缩包
tar xzvf backup.tar.gz -C /restore # 解压到指定目录
tar tf archive.tar # 查看包内文件列表常用参数:- c:创建压缩包- x:解压文件- z:使用gzip压缩- v:显示操作过程29,31 - tree - 目录树形展示tree # 显示当前目录结构
tree -L 2 # 限制显示层级深度
tree -d # 仅显示目录实用选项:- -a:显示隐藏文件- -I:过滤指定模式文件- -o:输出结果到文件
安全提示:1. 执行删除命令前先用ls确认路径172. 修改系统目录时建议搭配sudo提权153. 使用find的-exec参数时需测试命令安全性20
二、Linux系统监控核心命令详解
- top - 进程实时监控top -d 5 # 每5秒刷新
top -p PID # 跟踪指定进程核心功能:- 实时显示CPU、内存、进程状态1,2- 支持交互操作(按P/M/T键排序进程)常用选项:- -b:批处理模式- -n:指定刷新次数- -u:过滤指定用户进程交互命令:- Shift+M:按内存占用排序- k:终止进程- q:退出界面 - free - 内存使用分析free -h # 人性化显示(GB/MB)
free -s 10 # 每10秒自动刷新数据解读:- Total:总物理内存- Used:已用内存(含buff/cache)- Available:可用内存6,7重要选项:- -t:显示内存+交换空间总量- -l:显示高低内存统计- –si:使用1000进制计算单位 - df - 磁盘空间监控df -hT # 显示文件系统类型
df -i # 查看inode使用关键参数:- -a:显示所有文件系统(含虚拟文件系统)- -x:排除指定文件系统类型- –output:自定义输出字段(如source,fstype)典型场景:- 排查磁盘空间不足问题9- 检测NFS挂载状态 - du - 目录空间分析du -sh /var/log # 统计目录总大小
du -c .log # 显示多个文件总大小实用选项:- –max-depth=1:限制统计层级- –exclude=”.tmp”:排除特定文件- -a:显示所有文件详情高级技巧:- 结合sort排序:du -h | sort -hr - uptime - 系统运行状态uptime -p # 易读格式显示运行时间
uptime -s # 显示系统启动时间输出解读:- 当前时间、运行时长、登录用户数- 1/5/15分钟负载平均值15,17负载警戒值:- 单核CPU:1.0为满载临界点- 四核CPU:4.0为满载临界点 - uname - 系统信息查询uname -a # 显示全部信息
uname -r # 查看内核版本核心参数:- -m:硬件架构(x86_64/arm)- -o:操作系统名称- -v:内核构建时间典型应用:- 验证系统架构是否支持软件安装- 检查内核版本是否满足安全要求18,19 - lscpu - CPU架构解析lscpu -p # 显示处理器拓扑
lscpu -e=cpu,node # 显示NUMA节点信息重要信息:- 物理核心数(Core(s) per socket)- 逻辑处理器数(CPU(s))- 缓存层级(L1/L2/L3)- 支持的指令集(AVX/SSE)21,22性能分析:- 超线程状态:Thread(s) per core >1 - lsblk - 块设备管理lsblk -f # 显示文件系统信息
lsblk -t # 树形结构展示核心功能:- 显示设备挂载点(MOUNTPOINT)- 识别LVM逻辑卷(TYPE=lvm)- 查看设备UUID24,25组合用法:- lsblk -o NAME,SIZE,RO,TYPE,MOUNTPOINT
专家建议:1. 使用watch -n 5 free -h实现动态监控2. 结合grep过滤关键信息(如df | grep /dev/sda1)3. 定期检查/proc/meminfo获取更详细内存数据
四、网络诊断与连接测试
- ping - 网络连通性测试ping -c 4 baidu.com # 发送4个探测包
ping -I eth0 -s 1500 # 指定网卡和包大小核心选项:- -c:指定发送次数- -i:设置发包间隔(默认1秒)- -w:总执行超时时间- -s:自定义数据包大小(默认56字节)- -t:设置TTL生存时间2,3 - netstat - 网络状态查看netstat -tulnp # 查看所有监听端口及进程
netstat -s # 显示协议统计信息常用参数:- -t:仅显示TCP连接- -u:显示UDP连接- -l:列出监听状态- -p:显示进程信息- -r:显示路由表6,8 - ss - 套接字统计(netstat替代)ss -ta state established # 显示已建立的TCP连接
ss -ltp # 查看监听端口及进程优势特性:- 显示TCP内部状态(如syn-recv/time-wait)- 支持连接状态过滤- 性能比netstat快10倍9,11 - curl - 多协议数据传输curl -o file.zip https://url # 下载文件
curl -X POST -d @data.json API_URL # POST请求核心功能:- 支持HTTP/HTTPS/FTP等37种协议- 可设置请求头(-H)/超时(–max-time)- 文件上传(-F)和Cookie管理(-b)12,13 - wget - 非交互式下载wget -c -P /download URL # 断点续传并指定目录
wget –limit-rate=200k URL # 限速下载特色功能:- 递归下载整个网站(-r)- 后台下载(-b)- 支持FTP认证(–ftp-user)15,17 - ssh - 安全远程登录ssh user@192.168.1.1 -p 2222 # 指定端口连接
ssh -i key.pem ubuntu@ec2-host # 密钥认证登录高级用法:- 远程命令执行:ssh host “ls /tmp”- 端口转发:-L/-R 参数- 配置文件:~/.ssh/config20 - ifconfig - 接口配置查看ifconfig eth0 192.168.1.2 netmask 255.255.255.0 up
ifconfig eth0 promisc # 启用混杂模式主要功能:- 查看IP/掩码/MAC地址- 启用/禁用网卡(up/down)- 设置MTU值(-mtu)注意:推荐使用iproute2的ip命令替代21,22
五、用户权限 - chmod - 文件权限控制chmod 755 script.sh # 数字模式设置权限
chmod u+x,g-w,o=r file.txt # 符号模式组合调整核心功能:- 修改文件/目录的读(r=4)、写(w=2)、执行(x=1)权限- 支持递归操作(-R参数)和权限继承4,5特殊权限:- SUID(4):执行时继承所有者权限(如/usr/bin/passwd)- SGID(2):目录新建文件继承父目录组- Sticky Bit(1):仅所有者可删除目录文件(如/tmp) - chown - 所有权管理chown user:group data.log # 修改所有者和所属组
chown -R www:web /var/www # 递归修改目录所有权关键选项:- -R:递归操作目录及子文件- -v:显示详细操作过程- –reference:参照文件权限批量设置6,7安全限制:- 仅root用户或具备sudo权限者可执行 - sudo - 特权执行sudo apt update # 临时获取root权限
sudo -u postgres psql # 以指定用户身份执行配置要点:- 通过/etc/sudoers定义权限规则(需visudo编辑)- 支持用户/组别名、命令白名单、免密操作9,11日志审计:- 所有sudo操作记录在/var/log/auth.log - passwd - 密码管理passwd # 修改当前用户密码
passwd -l username # 锁定指定账户重要选项:- -d:删除用户密码- -e:强制下次登录修改密码- -S:查看密码状态(加密算法/过期时间)12,14安全策略:- 密码复杂度规则存储在/etc/security/pwquality.conf - useradd - 用户创建useradd -m -s /bin/bash dev # 创建用户并生成家目录
useradd -G docker,admin sysop # 指定附加组核心参数:- -u:指定UID- -g:设置主组(默认创建同名组)- -e:设置账户过期时间15,17配置文件:- /etc/default/useradd 定义默认shell、家目录等
安全操作建议:1. 使用visudo代替直接编辑/etc/sudoers防止语法错误92. 定期执行chkuser检查异常用户账户173. 生产环境建议禁用root直接登录,使用sudo提权11
六、文本过滤与搜索
- grep - 模式匹配搜索grep “error” app.log # 基础搜索
grep -r –include=”*.log” “404” /var # 递归搜索特定文件类型核心选项:- -i:忽略大小写2,5- -v:反向匹配(排除模式)3- -E:启用扩展正则表达式4- -A/-B/-C:显示匹配行前后内容4- -o:仅输出匹配部分4 - sed - 流式文本编辑sed ‘s/foo/bar/g’ file.txt # 全局替换
sed ‘/^#/d’ config.conf # 删除注释行核心功能:- 替换(s)、删除(d)、追加(a)、插入(i)等操作9,10- 支持正则表达式和地址范围匹配- 原地编辑文件(-i参数)11
七、结构化数据处理 - awk - 字段处理引擎awk -F: ‘{print $1,$7}’ /etc/passwd # 提取指定字段
awk ‘$3 > 1000 {sum+=$3} END{print sum}’ data.txt # 数值统计核心特性:- 自动分割字段(-F指定分隔符)8- 内置变量(NR/NF/FILENAME)7- 支持数学运算和数组操作6 - sort - 数据排序sort -n -k2 data.txt # 按第二列数值排序
sort -u -t’,’ -k3,3 users.csv # 去除重复行关键选项:- -n:数值排序22- -r:逆序输出- -k:指定排序列范围- -t:自定义分隔符20
八、文件内容查看 - cat - 文件连接输出cat -n server.log # 显示行号
cat file1 file2 > merged.txt # 文件合并实用技巧:- 与重定向配合创建文件- 查看二进制文件(-v参数)12- 显示不可见字符(-A参数)13 - less - 交互式浏览less -N +F app.log # 实时跟踪日志更新
less -p “ERROR” debug.log # 跳转到首个匹配项高级功能:- 反向搜索(?命令)- 书签标记(m标记)17- 多文件切换(:n/:p)16
九、日志处理专用 - tail - 尾部内容追踪tail -f -n100 access.log # 实时监控最后100行
tail -c 1G bigfile.log # 查看末尾1GB内容关键参数:- -f:持续跟踪文件变化19- –pid:关联进程监控18- -s:设置刷新间隔19 - uniq - 重复行处理sort file.txt | uniq -c # 统计重复次数
uniq -d -w10 codes.txt # 显示前10字符重复的行注意事项:- 需先排序后处理25- -c:显示出现次数20- -u:仅显示唯一行25
专家建议:1. 组合使用命令:grep过滤 → sed清洗 → awk分析 → sort/uniq统计12. 处理大文件时优先使用less代替cat防止内存溢出153. 日志分析黄金组合:tail -f | grep | awk 19
十、Linux进程管理核心命令详解
- ps - 进程状态查看ps aux # 显示所有进程详细信息(BSD风格)
ps -ef # 显示完整格式的进程树(UNIX风格)
ps -p 1234 # 查看指定PID的进程信息核心功能:- 实时快照显示进程状态(PID/CPU/内存等)- 支持多种输出格式(树状/线程/自定义字段)关键选项:- -e:显示所有进程(包括系统进程)- -f:显示完整格式(含父进程PPID)- -u:按用户过滤进程- –sort:按CPU或内存排序1,3典型应用:- 排查高负载进程:ps aux –sort=-%cpu | head - kill - 进程终止控制kill -15 1234 # 正常终止进程(SIGTERM)
kill -9 1234 # 强制终止无响应进程(SIGKILL)
killall nginx # 终止所有同名进程信号说明:- 1(SIGHUP):重载配置(如nginx -s reload)- 2(SIGINT):终端中断(等效Ctrl+C)- 9(SIGKILL):强制终止(无法被捕获)- 19(SIGSTOP):暂停进程(配合18继续)7,8高级技巧:- 批量终止:ps aux | grep ‘python’ | awk ‘{print $2}’ | xargs kill -9 - nohup - 守护进程运行nohup ./start.sh &> output.log & # 后台运行并重定向输出
nohup tail -f access.log & # 持续监控日志核心特性:- 忽略SIGHUP信号(终端断开仍运行)- 默认输出到nohup.out文件- 需配合&符号后台运行9,11安全建议:- 生产环境建议使用systemd管理长期服务 - bg - 后台作业控制Ctrl+Z # 暂停前台进程
bg %1 # 将1号作业放入后台运行
bg # 恢复最近暂停的作业使用场景:- 暂停耗时操作(如大文件压缩)后继续后台运行- 结合jobs命令查看作业列表12,14注意事项:- 后台作业仍与终端关联(需nohup实现完全脱离) - fg - 前台作业恢复fg %2 # 将2号作业调至前台
fg # 恢复最近后台作业核心功能:- 恢复交互式操作(如vim编辑)- 查看后台任务输出结果- 支持作业号/进程名匹配15,16组合用法:- jobs查看作业列表 → fg %n恢复指定作业
安全操作指南:1. 生产环境慎用kill -9,优先尝试SIGTERM进行优雅终止82. 使用nohup时建议显式指定输出文件(避免污染nohup.out)3. 批量操作前用ps/pgrep验证目标进程3,6
Linux软件管理核心命令详解
- apt - Debian系包管理sudo apt update && sudo apt upgrade # 更新+升级全系统
sudo apt install -y nginx=1.18.0 # 指定版本安装核心功能:- 管理.deb软件包(Ubuntu/Debian)- 自动处理依赖关系1,2常用选项:- purge:完全删除软件包及配置- autoremove:清理无用依赖- list –installed:查看已安装包配置文件:- /etc/apt/sources.list(软件源配置) - yum - RHEL系包管理yum install httpd –setopt=skip_missing_names_on_install=False # 强制依赖检查
yum history undo 15 # 回滚第15次操作核心特性:- 基于RPM包管理(CentOS/RHEL)- 支持事务回滚功能6,8关键命令:- check-update:检查可用更新- provides */vim:查找文件所属包- localinstall:安装本地rpm包 - rpm - 包安装器rpm -ivh –nodeps oracle-instantclient.rpm # 强制安装
rpm -qa | grep python3 # 查询已安装包核心参数:- -q:查询操作(结合-a查所有)- -e –test:模拟卸载- -V:验证包完整性9,10特殊用法:- rpmbuild –rebuild:从源码构建rpm- –root=/mnt:指定根目录(系统修复) - dnf - 新一代YUMdnf module enable postgresql:12 # 启用模块
dnf repoquery –requires httpd # 查看依赖改进特性:- 并行依赖解析(速度提升20%+)- 模块化软件管理12,14高级功能:- group install “开发工具”:安装包组- copr enable:启用第三方仓库- history rollback:事务回滚 - systemctl - 服务管理systemctl enable –now docker # 启用并立即启动
systemctl mask firewalld # 完全禁用服务核心功能:- 管理系统服务生命周期- 控制开机自启动15,16常用操作:- list-dependencies:查看服务依赖- isolate graphical.target:切换运行级别- edit nginx.service:修改服务配置
运维经验:1. 生产环境建议使用apt-mark hold锁定关键包版本22. 通过yum-plugin-versionlock防止意外升级63. systemd-analyze blame分析启动耗时服务17
归档压缩三剑客详解
- tar - 多格式归档工具tar -czvf backup.tar.gz /data # 创建gzip压缩包
tar -xvf archive.tar.xz -C /restore # 解压xz压缩包到指定目录核心功能:- 支持打包、压缩、解压一体化操作1,2- 处理多种压缩格式:.tar/.tar.gz/.tar.xz等3- 保留文件权限和目录结构4关键选项:- -c:创建归档文件- -x:解压归档文件- -z:使用gzip压缩/解压- -J:使用xz压缩/解压- -v:显示操作过程- -f:指定归档文件名- –exclude:排除指定文件3典型用法:- 增量备份:tar -czvf backup.tar.gz –listed-incremental=snapshot.file /data5- 排除日志文件:tar -czvf app.tar.gz –exclude=”*.log” /var/www3 - zip - 跨平台压缩工具zip -er secure.zip secret.doc # 创建加密压缩包
zip -r -s 2g split.zip large_dir/ # 拆分压缩大文件核心特性:- 生成.zip格式压缩包,兼容Windows系统6,7- 支持文件加密和拆分压缩6,7- 保留文件注释和时间戳8常用参数:- -r:递归处理目录- -e:设置压缩密码- -s:指定分卷大小(如2g=2GB)- -x:排除指定文件- -q:静默模式操作6应用场景:- 批量压缩图片:zip images.zip *.jpg *.png- 备份网站文件:zip -r site_backup.zip /var/www/html7 - unzip - 压缩包解压专家unzip -l archive.zip # 查看压缩包内容
unzip -o -d /target data.zip # 强制覆盖解压到指定目录核心能力:- 支持密码验证解压加密包9- 选择性解压特定文件10- 自动处理中文编码11关键选项:- -d:指定解压目录- -o:覆盖已有文件- -l:列出压缩包内容- -P:指定解压密码- -x:排除指定文件9典型操作:- 解压部分文件:unzip data.zip “*.csv” -d /reports- 修复损坏压缩包:unzip -F broken.zip -d recovered10
专家建议:1. 重要备份使用tar.xz格式(高压缩率),临时传输用zip格式(兼容性好)3,72. 解压前务必用tar -tf或unzip -l查看文件结构,防止”tar炸弹”攻击1,43. 加密敏感文件时优先使用AES-256加密算法(zip -e采用传统加密存在风险)7,9
十一、Linux磁盘管理双核心命令详解
- fdisk - 磁盘分区专家fdisk -l /dev/sda # 查看指定磁盘分区表
fdisk /dev/sdb # 进入交互式分区模式核心功能1,3:- 创建/删除主分区、扩展分区、逻辑分区- 修改分区类型(MBR/GPT)- 支持扇区级别的分区调整- 查看磁盘布局和分区信息交互模式命令2,4:- n:新建分区(支持主/扩展分区)- d:删除指定编号的分区- t:修改分区类型代码(如82=swap)- p:打印当前分区表- w:写入磁盘并退出- q:放弃更改退出典型用法:- 初始化新硬盘:fdisk /dev/sdb → n → p → [回车默认参数] → w- 创建swap分区:t → 82 → w- 查看分区类型列表:l命令 - lsblk - 块设备侦查兵lsblk -f -o NAME,FSTYPE,SIZE,MOUNTPOINT # 带文件系统信息
lsblk -d -e 7 # 排除指定设备核心功能6,7:- 显示树形设备层级关系- 展示磁盘/分区的物理路径- 显示文件系统类型和挂载点- 支持SCSI设备详细信息查询关键选项8:- -f:显示文件系统/LABEL/UUID- -m:显示设备权限信息- -p:显示完整设备路径- -t:显示拓扑结构- -e:排除指定设备号典型用法:- 快速查看所有存储设备:lsblk -a- 检查外置设备挂载:lsblk -f | grep -v ‘loop’- 获取SCSI设备详情:lsblk -S
操作安全建议5:1. 使用fdisk前务必通过lsblk确认目标设备2. 分区操作前建议执行partprobe -s更新内核分区表3. 大容量磁盘(>2TB)建议使用parted创建GPT分区
十二、日志分析双剑客
- journalctl - systemd日志分析引擎journalctl -u nginx –since “09:00” -p err # 查看指定服务错误日志
journalctl -k -b -1 # 检查上次启动的内核日志核心功能:- 查看系统/内核/服务日志(支持二进制日志存储)- 按时间/服务/优先级/用户等多维度过滤- 支持实时日志跟踪(-f)和分页浏览关键选项:- -u:按服务单元过滤(如docker.service)- -k:显示内核日志- -b:指定启动编号(-b -1为上次启动)- -p:按日志级别过滤(0=紧急 7=调试)- –disk-usage:显示日志占用空间- –vacuum-size=500M:清理日志保留指定空间 - tail - 文件尾部追踪专家tail -f -n100 /var/log/syslog # 实时监控最后100行
tail -c 100M large.log # 查看文件末尾100MB内容核心特性:- 实时监控文件追加内容(-f参数)- 支持按行(-n)/字节(-c)控制显示范围- 结合管道实现动态日志分析(如tail -f | grep error)高级技巧:- 多文件跟踪:tail -f app.log access.log- 中断重连:用-F替代-f自动重载文件- 反向查看:tail -r(需安装coreutils扩展)
十三、linux硬件信息 - lscpu - CPU架构分析器lscpu -e=CPU,CORE,SOCKET,CACHE # 显示核心拓扑和缓存信息
lscpu -p –extended # 可解析格式输出物理ID核心参数:- -e:自定义输出列(支持CPU/CORE/SOCKET等)- -p:解析友好格式输出- -y:显示物理ID而非逻辑ID- -c:仅显示在线CPU核心数典型输出内容:- 架构类型(x86_64/ARM)- 核心/线程/插槽数量- CPU频率范围(MHz)- 缓存层级结构(L1/L2/L3) - lspci - PCI设备探测器lspci -vv -s 00:1f.2 # 显示指定插槽设备详情
lspci -k # 显示驱动和内核模块关键功能:- 列出所有PCI/PCIe设备(包括USB控制器)- 显示设备厂商ID/设备ID/硬件版本- 支持十六进制配置空间查看(-x/-xxx)实用参数:- -t:树状拓扑显示- -nn:显示数字编码的厂商和设备ID- -d [vendor]:[device]:按ID过滤设备 - lsblk - 块设备拓扑大师lsblk -f -o NAME,FSTYPE,MOUNTPOINT # 显示文件系统及挂载点
lsblk -m # 查看设备权限信息核心特性:- 树形显示磁盘/分区/LVM/RAID关系- 支持文件系统类型/UUID/LABEL显示- 可查看设备物理路径和SCSI信息常用选项:- -d:仅显示磁盘不展示分区- -b:以字节显示精确容量- -i:禁用ASCII艺术线简化输出- -S:列出SCSI设备详细信息
专家建议:1. 日志分析黄金组合:journalctl -f -u service | grep ERROR1,42. 硬件排障流程:lspci→lsblk→lscpu 逐步确认硬件识别状态9,123. 生产环境日志管理:定期用journalctl –vacuum-time=7d清理日志3