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