Linux常用命令
Linux系统的常用命令整理,按功能分类说明,覆盖文件操作、系统管理、网络工具等场景:
文件与目录操作
查看目录内容
1
2
3
4ls # 列出当前目录内容
ls -l # 详细列表(权限、大小、时间)
ls -a # 显示隐藏文件(以`.`开头)
ls -lh # 显示文件大小(人类可读格式,如KB/MB)切换目录
1
2
3
4cd /path # 进入绝对路径
cd .. # 返回上一级目录
cd ~ # 进入用户家目录
cd - # 返回上一次所在目录创建/删除文件与目录
1
2
3
4
5
6touch file.txt # 创建空文件
mkdir dirname # 创建目录
mkdir -p dir1/dir2 # 递归创建多级目录
rm file.txt # 删除文件
rm -r dirname # 递归删除目录及内容
rm -rf dirname # 强制删除(慎用!)复制与移动
1
2
3
4cp file1 file2 # 复制文件
cp -r dir1 dir2 # 递归复制目录
mv file1 newname # 重命名文件
mv file1 /path # 移动文件到指定路径查看文件内容
1
2
3
4
5cat file.txt # 显示文件全部内容
less file.txt # 分页查看(支持上下翻页)
head -n 5 file # 显示文件前5行
tail -n 10 file # 显示文件末尾10行
tail -f log.txt # 实时追踪日志更新
文件权限与所有权
修改权限
1
2chmod 755 file # 设置权限:用户rwx,组和其他r-x
chmod +x script.sh # 添加可执行权限修改所有者
1
2chown user:group file # 修改文件所有者和所属组
chown -R user:group dir # 递归修改目录下所有文件
搜索与查找
文件查找
1
2
3find /path -name "*.log" # 按名称查找文件
find /var -mtime +7 # 查找7天前修改的文件
find . -size +10M # 查找大于10MB的文件文本搜索
1
2
3grep "error" log.txt # 在文件中搜索关键词
grep -r "pattern" /path # 递归搜索目录下的所有文件
grep -i "warning" file # 忽略大小写搜索
压缩与解压
tar命令
1
2
3
4tar -czvf archive.tar.gz dir/ # 压缩目录为gzip格式
tar -xzvf archive.tar.gz # 解压gzip压缩包
tar -cjvf archive.tar.bz2 dir/ # 压缩为bzip2格式
tar -xjvf archive.tar.bz2 # 解压bzip2压缩包zip/unzip
1
2zip -r archive.zip dir/ # 压缩目录为zip格式
unzip archive.zip # 解压zip文件
系统信息与管理
查看系统状态
1
2
3
4
5top # 实时监控进程和资源(CPU/内存)
htop # 增强版top(需安装)
free -h # 查看内存使用(人类可读格式)
df -h # 查看磁盘空间
du -sh dir # 统计目录大小进程管理
1
2
3
4ps aux # 查看所有进程
kill 1234 # 终止PID为1234的进程
kill -9 1234 # 强制终止进程
pkill process_name # 按进程名终止系统服务管理(systemd)
1
2
3
4
5systemctl start nginx # 启动服务
systemctl stop nginx # 停止服务
systemctl restart nginx # 重启服务
systemctl status nginx # 查看服务状态
systemctl enable nginx # 设置开机自启
网络工具
连接与测试
1
2
3ping example.com # 测试网络连通性
curl -I http://example.com # 发送HTTP请求并显示响应头
wget http://example.com/file.zip # 下载文件端口与路由
1
2
3
4netstat -tuln # 查看监听端口
ss -tuln # 替代netstat(更快)
lsof -i :80 # 查看占用80端口的进程
traceroute example.com # 跟踪网络路由路径网络配置
1
2
3ifconfig # 查看网络接口信息(旧版)
ip addr # 查看IP地址(新版推荐)
ip route # 查看路由表
用户与权限
用户管理
1
2
3
4
5sudo su - # 切换到root用户
useradd username # 创建新用户
passwd username # 修改用户密码
usermod -aG sudo username # 将用户加入sudo组(Ubuntu)
userdel username # 删除用户SSH连接
1
2
3
4ssh user@host # 连接远程服务器
ssh -p 2222 user@host # 指定端口连接
ssh-keygen # 生成SSH密钥对
ssh-copy-id user@host # 上传公钥到远程主机
包管理工具
APT(Debian/Ubuntu)
1
2
3
4
5sudo apt update # 更新软件包列表
sudo apt upgrade # 升级所有已安装的包
sudo apt install nginx # 安装软件包
sudo apt remove nginx # 卸载软件包(保留配置)
sudo apt purge nginx # 完全卸载(删除配置)YUM/DNF(CentOS/RHEL/Fedora)
1
2
3
4sudo yum update # 更新所有包(旧版)
sudo dnf upgrade # 新版Fedora/CentOS
sudo yum install httpd # 安装软件包
sudo yum remove httpd # 卸载软件包
日志查看
- 系统日志
1
2
3journalctl -u nginx # 查看指定服务的日志(systemd)
tail -f /var/log/syslog # 实时追踪系统日志(Ubuntu)
tail -f /var/log/messages # 实时追踪系统日志(CentOS)
计划任务
- Cron任务示例定时任务:
1
2crontab -e # 编辑当前用户的定时任务
crontab -l # 列出当前用户的定时任务1
2# 每天凌晨3点执行脚本
0 3 * * * /path/to/script.sh
实用技巧
管道与重定向
1
2
3
4cat file.txt | grep "error" # 管道传递输出
ls > list.txt # 输出重定向到文件
ls 2> error.log # 错误信息重定向到文件
ls >> log.txt # 追加输出到文件后台运行命令
1
2
3
4nohup ./script.sh & # 后台运行且退出终端不终止
Ctrl + Z # 暂停当前任务
bg # 将暂停的任务放到后台
fg # 将后台任务切回前台别名设置
1
2alias ll='ls -alF' # 临时设置别名
# 永久生效需写入 ~/.bashrc 或 ~/.zshrc
常见问题排查
磁盘空间不足
1
2df -h # 查看磁盘使用情况
du -sh /* # 查找大文件目录内存泄漏检测
1
2free -h # 查看内存总量和剩余
top # 监控进程内存占用服务启动失败
1
2systemctl status nginx # 查看服务状态和错误信息
journalctl -xe # 查看详细系统日志