Linux 基础命令

命令基本格式

1
命令 [选项] [参数]
  • 选项:以 --- 开头,用于修改命令的行为。
  • 参数:命令操作的对象,如文件名、目录名等。

1. 文件与目录操作

命令 说明 常用示例
ls 列出目录内容 ls -l 长格式显示
ls -a 显示所有文件(包括隐藏文件)
ls -lh 以人类可读方式显示文件大小
cd 切换工作目录 cd /home/user 进入指定目录
cd .. 返回上一级目录
cd ~cd 返回家目录
pwd 显示当前工作目录的绝对路径 pwd
mkdir 创建目录 mkdir dir 创建单个目录
mkdir -p a/b/c 递归创建多级目录
rmdir 删除空目录 rmdir emptydir
touch 创建空文件或更新文件时间戳 touch file.txt 创建空文件
cp 复制文件或目录 cp file1 file2 复制文件
cp -r dir1 dir2 递归复制目录
cp -i file1 file2 覆盖前提示
mv 移动或重命名文件/目录 mv oldname newname 重命名
mv file /path/to/dir/ 移动文件
rm 删除文件或目录 rm file 删除文件
rm -r dir 递归删除目录
rm -f file 强制删除(不提示)
find 在目录树中查找文件 find / -name "*.txt" 按名称查找
find . -type f -size +10M 查找大于10M的文件
locate 快速查找文件(需更新数据库) locate filename 需要先 sudo updatedb

2. 文件内容查看与处理

命令 说明 常用示例
cat 连接并显示文件内容 cat file.txt 显示全部内容
cat file1 file2 > file3 合并文件
more 分页显示文件内容(只能向下翻页) more longfile.txt 空格翻页,q退出
less 分页显示(可上下翻页,功能更强) less longfile.txt/ 搜索,n下一个
head 显示文件开头几行 head -n 20 file.txt 显示前20行
head -c 100 file 显示前100字节
tail 显示文件结尾几行 tail -n 30 file.txt 显示最后30行
tail -f logfile 实时跟踪文件更新
grep 在文件中搜索文本 grep "pattern" file 搜索包含 pattern 的行
grep -i "pattern" file 忽略大小写
grep -r "pattern" /path 递归搜索目录
wc 统计行数、单词数、字符数 wc -l file 统计行数
wc -w file 统计单词数
wc -c file 统计字节数
sort 对文件内容排序 sort file.txt 按字母排序
sort -n file.txt 按数值排序
sort -r file.txt 逆序排序
uniq 报告或忽略重复行(常与 sort 配合) sort file.txt | uniq 去重
sort file.txt | uniq -c 统计重复次数

3. 权限管理

命令 说明 常用示例
chmod 修改文件或目录的权限 chmod 755 file 设置 rwxr-xr-x
chmod u+x file 给所有者增加执行权限
chmod -R 644 dir 递归修改目录下所有文件
chown 修改文件或目录的所有者和所属组 chown user file 改变所有者
chown user:group file 同时改变所有者和组
chown -R user:group dir 递归修改
chgrp 修改文件或目录的所属组 chgrp group file
umask 设置默认创建文件的权限掩码 umask 022 设置默认权限 755/644

4. 用户与组管理

命令 说明 常用示例
whoami 显示当前用户名 whoami
id 显示当前用户信息(UID、GID等) id
useradd 创建新用户 sudo useradd -m newuser 创建用户并创建家目录
passwd 修改用户密码 passwd 修改当前用户密码
sudo passwd username 修改其他用户密码
userdel 删除用户 sudo userdel username
sudo userdel -r username 同时删除家目录
groupadd 创建新组 sudo groupadd newgroup
su 切换用户 su - username 切换到目标用户并加载环境
sudo 以其他用户(通常是 root)执行命令 sudo command

5. 进程管理

命令 说明 常用示例
ps 显示当前进程快照 ps aux 显示所有进程
ps -ef 显示完整格式
ps -ef | grep ssh 查找特定进程
top 动态显示进程资源占用 top 按 q 退出
htop top 的增强版(需安装) htop
kill 终止进程 kill PID 发送 TERM 信号
kill -9 PID 强制杀死进程
pkill 按名称终止进程 pkill firefox
jobs 列出后台作业 jobs
bg 将暂停的作业放到后台运行 bg %1
fg 将后台作业调到前台 fg %1

6. 系统信息

命令 说明 常用示例
uname 显示系统信息 uname -a 显示所有信息
uname -r 显示内核版本
df 显示磁盘分区使用情况 df -h 以人类可读方式显示
du 估算文件或目录的磁盘使用量 du -sh /home 显示目录总大小
du -h --max-depth=1 显示当前目录下各子目录大小
free 显示内存使用情况 free -h 显示人类可读的内存和交换分区
date 显示或设置系统时间 date 显示当前时间
date -s "2025-01-01 12:00" 设置时间(需权限)
cal 显示日历 cal 显示本月日历
cal 2025 显示全年日历
uptime 显示系统运行时间和负载 uptime
which 显示命令的绝对路径 which ls 输出 /bin/ls
whereis 查找命令的二进制、源码和手册页 whereis ls

7. 网络命令

命令 说明 常用示例
ping 测试网络连通性 ping -c 4 google.com 发送4个包
ifconfig 显示或配置网络接口(较旧) ifconfig 显示所有接口
ip 现代网络配置工具 ip addr show 显示IP地址
ip link set eth0 up 启用接口
netstat 显示网络连接、路由表等 netstat -tuln 显示监听端口
ss netstat 的替代工具,更快 ss -tuln
wget 下载文件 wget https://example.com/file.zip
curl 传输数据工具(支持多种协议) curl -O https://example.com/file.zip 下载文件
curl -I https://example.com 显示响应头
ssh 远程登录 ssh user@host
ssh -p 2222 user@host 指定端口
scp 通过 SSH 复制文件 scp file.txt user@host:/remote/path/
scp -r dir user@host:/remote/path/ 递归复制目录

8. 压缩与打包

命令 说明 常用示例
tar 打包和解包工具(常与压缩结合) 打包:tar -cvf archive.tar dir/
解包:tar -xvf archive.tar
打包并压缩 gzip:tar -czvf archive.tar.gz dir/
解压 gzip:tar -xzvf archive.tar.gz
压缩 bzip2:tar -cjvf archive.tar.bz2 dir/
gzip / gunzip 压缩 / 解压 .gz 文件 gzip file 压缩为 file.gz
gunzip file.gz 解压
zip / unzip 处理 .zip 文件 zip -r archive.zip dir/ 递归压缩目录
unzip archive.zip 解压

9. 软件包管理(以 Debian/Ubuntu 和 CentOS/RHEL 为例)

发行版 命令 说明 常用示例
Debian/Ubuntu apt 高级包管理工具 sudo apt update 更新软件源
sudo apt install package 安装
sudo apt remove package 卸载
sudo apt upgrade 升级所有包
dpkg 底层包管理 dpkg -i package.deb 安装本地 deb 包
dpkg -l 列出已安装包
CentOS/RHEL yum 包管理器(旧) sudo yum install package
sudo yum remove package
sudo yum update
dnf yum 的下一代 用法与 yum 类似
rpm 底层包管理 rpm -ivh package.rpm 安装
rpm -qa 列出所有已安装包

10. 其他实用命令

命令 说明 常用示例
echo 输出文本 echo "Hello World"
echo $PATH 显示环境变量
printf 格式化输出 printf "Name: %s\n" "John"
man 查看命令手册 man ls 查看 ls 的详细帮助
history 显示命令历史 history 列出历史命令
!100 执行历史中第100条命令
clear 清屏 clear 或按 Ctrl+L
alias 创建命令别名 alias ll='ls -l'
取消别名 unalias ll

11. 管道与重定向

符号 说明 示例
| 管道:将前一个命令的输出作为后一个命令的输入 ls -l | grep ".txt"
> 输出重定向(覆盖) echo "text" > file.txt
>> 输出重定向(追加) echo "more" >> file.txt
< 输入重定向 sort < file.txt
2> 重定向错误输出 command 2> error.log
&> 重定向标准输出和错误 command &> all.log

小贴士

  • 大多数命令支持 --help 选项查看简要帮助,如 ls --help
  • 使用 man 命令获取详细手册。
  • 命令和文件名可以使用 Tab 键自动补全。
  • 使用 Ctrl+C 终止当前运行的程序,Ctrl+Z 暂停当前程序(可用 fg 恢复)。

本手册涵盖了日常使用中最常见的 Linux 命令,掌握它们可以应对绝大多数基础操作。实际使用中可根据需要查阅更详细的文档。