Linux 常用命令大全:从入门到精通
Linux 是一个功能强大、灵活且开源的操作系统,广泛应用于服务器、嵌入式系统和开发环境。掌握常用的 Linux 命令是使用和管理 Linux 系统的基础。下面我将从多个类别详细讲解 Linux 中最常用的命令,并附上示例和说明。
一、文件与目录操作
1. ls — 列出目录内容
ls # 列出当前目录文件
ls -l # 详细列表(权限、所有者、大小、修改时间等)
ls -a # 显示隐藏文件(以 . 开头)
ls -lh # 以人类可读格式显示文件大小(如 KB、MB)
2. cd — 切换目录
cd /home/user # 进入指定目录
cd .. # 返回上一级目录
cd ~ # 回到用户主目录
cd - # 切换到上一次所在的目录
3. pwd — 显示当前工作目录
pwd
4. mkdir — 创建目录
mkdir dir1 # 创建一个目录
mkdir -p dir1/dir2/dir3 # 递归创建多级目录
5. rmdir / rm — 删除目录或文件
rmdir empty_dir # 删除空目录
rm file.txt # 删除文件
rm -r dir # 递归删除目录及其内容(谨慎使用!)
rm -f file.txt # 强制删除,不提示确认
6. cp — 复制文件或目录
cp file1.txt file2.txt # 复制文件
cp -r dir1 dir2 # 递归复制整个目录
7. mv — 移动或重命名文件/目录
mv old.txt new.txt # 重命名
mv file.txt /tmp/ # 移动文件到 /tmp 目录
8. touch — 创建空文件或更新文件时间戳
touch newfile.txt
二、文件查看与编辑
1. cat — 查看文件内容(适合小文件)
cat file.txt
cat file1.txt file2.txt > combined.txt # 合并文件
2. more / less — 分页查看文件(适合大文件)
less largefile.log # 支持上下滚动,按 q 退出
more file.txt # 只能向下翻页
3. head / tail — 查看文件开头或结尾
head -n 10 file.txt # 显示前10行
tail -n 20 file.log # 显示最后20行
tail -f /var/log/syslog # 实时监控日志文件(常用!)
4. nano / vim — 文本编辑器
nano myfile.txt # 简单易用的编辑器
vim myfile.txt # 功能强大但需学习(按 i 进入编辑,:wq 保存退出)
三、系统信息与管理
1. uname — 查看系统信息
uname -a # 显示内核版本、主机名、架构等
2. df — 查看磁盘空间使用情况
df -h # 以人类可读格式显示(GB、MB)
3. du — 查看目录或文件占用空间
du -sh /home/user # 显示总大小(-s 汇总,-h 可读)
du -h --max-depth=1 # 查看当前目录下各子目录大小
4. top / htop — 查看进程和资源使用
top # 实时显示 CPU、内存、进程
htop # 更友好的交互式进程查看器(需安装)
5. ps — 查看当前进程
ps aux # 显示所有进程详细信息
ps -ef | grep nginx # 查找特定进程
6. kill / pkill — 终止进程
kill 1234 # 终止 PID 为 1234 的进程
pkill firefox # 按进程名终止
kill -9 1234 # 强制终止(慎用)
7. free — 查看内存使用
free -h # 以可读格式显示内存和交换空间
8. uptime — 系统运行时间与负载
uptime
四、网络相关命令
1. ping — 测试网络连通性
ping google.com
2. ifconfig / ip — 查看或配置网络接口
ip addr show # 推荐使用 ip 命令(ifconfig 已逐渐淘汰)
ifconfig # 旧命令,部分系统需安装 net-tools
3. netstat / ss — 查看网络连接和端口
ss -tuln # 查看监听的 TCP/UDP 端口(推荐)
netstat -tuln # 传统方式(部分系统需安装)
4. curl / wget — 下载文件或测试 HTTP 请求
curl https://example.com
wget https://example.com/file.zip
5. ssh — 远程登录
ssh user@192.168.1.100
五、权限与用户管理
1. chmod — 修改文件权限
chmod 755 script.sh # 数字方式(r=4, w=2, x=1)
chmod +x script.sh # 添加执行权限
chmod u+x,g-w file.txt # 用户加执行,组去掉写
2. chown — 修改文件所有者
chown user:group file.txt
chown -R user:group dir/ # 递归修改
3. useradd / userdel — 添加/删除用户
sudo useradd -m alice
sudo userdel -r alice # -r 同时删除家目录
4. passwd — 修改密码
passwd # 修改当前用户密码
sudo passwd alice # 修改其他用户密码
六、压缩与归档
1. tar — 打包和解包
tar -cvf archive.tar dir/ # 打包
tar -xvf archive.tar # 解包
tar -czvf archive.tar.gz dir/ # 打包并 gzip 压缩
tar -xzvf archive.tar.gz # 解压 gzip 压缩包
2. gzip / gunzip — 压缩/解压 .gz 文件
gzip file.txt # 生成 file.txt.gz
gunzip file.txt.gz
3. zip / unzip
zip -r archive.zip dir/
unzip archive.zip
七、查找与过滤
1. find — 查找文件
find /home -name "*.log" # 按名称查找
find . -type f -mtime -7 # 查找7天内修改过的文件
2. grep — 文本搜索
grep "error" /var/log/syslog
grep -r "TODO" ./ # 递归搜索目录
grep -i "Error" file.txt # 忽略大小写
3. which / whereis — 查找命令位置
which python
whereis nginx
八、管道与重定向
>:覆盖写入文件>>:追加写入文件|:将前一个命令的输出作为后一个命令的输入
ls -l > filelist.txt # 保存目录列表到文件
echo "hello" >> log.txt # 追加内容
ps aux | grep ssh # 查找 ssh 相关进程
cat access.log | grep 404 | wc -l # 统计 404 错误数量
九、其他实用命令
history:查看命令历史alias:设置命令别名(如alias ll='ls -l')man:查看命令手册(如man ls)sudo:以超级用户权限执行命令crontab -e:编辑定时任务date:显示或设置系统时间cal:显示日历
小贴士
- 使用 Tab 键自动补全 文件名或命令。
- 使用 上下箭头 调出历史命令。
- 遇到不懂的命令,先查
man command或command --help。 - 在生产环境中,慎用
rm -rf /、chmod -R 777 /等危险命令!
