Linux 语法速查
00:00
常用 Linux 命令速查表,含使用场景、常见错误,支持搜索和复制
学习指引
前置知识
- 了解操作系统的基本概念
- 已安装 Linux 系统或可通过终端访问 Linux 环境
推荐学习顺序
- 先学习【文件与目录操作】分组,掌握基本文件管理
- 再学习【权限与用户管理】分组,掌握系统安全管理
文件与目录操作
Linux 最基础的操作。本组命令用于浏览、创建、删除和移动文件与目录,是日常使用频率最高的命令。列出目录内容
ls -la /home输出: total 32
drwxr-xr-x 4 root root 4096 Jun 15 10:00 .
drwxr-xr-x 18 root root 4096 Jun 15 09:00 ..
drwxr-xr-x 3 user user 4096 Jun 15 10:00 user
场景: 查看指定目录下的文件和子目录。加 -l 显示详细信息(权限、所有者、大小等),加 -a 显示隐藏文件。
常见错误
- 错误:
ls /hom(路径拼写错误)-- 解决: 使用 Tab 键自动补全路径,避免手动输入错误
进阶: ls -lh 以人类可读格式显示文件大小(如 4K、2M),ls -lt 按修改时间排序,ls -lS 按文件大小排序。
切换目录
cd /var/log输出: (无输出,命令行提示符变为当前目录)
场景: 切换当前工作目录。cd ~ 回到用户主目录,cd - 返回上一次所在目录,cd .. 返回上级目录。
常见错误
- 错误:
cd /var/loog-- 解决: 先用 ls 确认目录名,或使用 Tab 键补全 - 错误:
cd log(未使用绝对路径且当前目录不对)-- 解决: 确认当前所在目录,或使用绝对路径 cd /var/log
进阶: cd 不带参数直接回到用户主目录,等同于 cd ~。pushd 和 popd 可实现目录栈操作,适合在多个目录间频繁切换。
创建目录
mkdir -p /data/project/src输出: (无输出,表示成功)
场景: 创建新目录。加 -p 可递归创建多级目录,即父目录不存在时自动创建,不会报错。
常见错误
- 错误:
mkdir /data/project/src(父目录 /data/project 不存在且未加 -p)-- 解决: 使用 mkdir -p 递归创建,或先逐级创建父目录 - 错误:
mkdir /existing_dir-- 解决: 目录已存在,使用 ls 确认后再决定是否需要创建
进阶: mkdir -m 755 project 可在创建目录时直接设置权限,等同于创建后执行 chmod 755 project。
删除文件或目录
rm -rf /tmp/old_project输出: (无输出,表示成功)
场景: 删除文件或目录。-r 递归删除目录及其内容,-f 强制删除不提示确认。此操作不可逆,务必谨慎使用。
常见错误
- 错误:
rm -rf / tmp/old_project(路径前多了空格)-- 解决: 路径中不要有多余空格,建议先使用 ls 确认路径后再删除 - 错误:
rm file.txt(误删重要文件)-- 解决: 重要操作前先备份,可使用 alias rm='rm -i' 设置删除前确认
进阶: 可安装 trash-cli 工具,使用 trash-put 代替 rm,文件会被移到回收站而非永久删除,支持 trash-restore 恢复。
复制文件或目录
cp -r /data/project /backup/project输出: (无输出,表示成功)
场景: 复制文件或目录。-r 用于递归复制整个目录,不加 -r 只能复制文件。目标路径不存在时会自动创建。
常见错误
- 错误:
cp /data/project /backup/project(project 是目录但未加 -r)-- 解决: 复制目录必须加 -r 参数:cp -r /data/project /backup/project - 错误:
cp file.txt /existing_dir/(目标目录中已有同名文件)-- 解决: 使用 cp -i 启用覆盖前确认提示
进阶: cp -a 可完整复制文件及目录,保留权限、所有者、时间戳等所有属性,常用于备份。
移动或重命名文件
mv old_name.txt new_name.txt输出: (无输出,表示成功)
场景: 移动文件到其他目录,或对文件进行重命名。源路径和目标路径在同一目录下时为重命名,不同目录下为移动。
常见错误
- 错误:
mv file.txt /nonexistent_dir/file.txt-- 解决: 确保目标目录存在,或先创建目标目录 - 错误:
mv file.txt existing_file.txt-- 解决: 使用 mv -i 启用覆盖前确认提示
进阶: mv 命令在同一个文件系统内操作时几乎是瞬时的(只修改目录项),跨文件系统时才会实际复制数据。
权限与用户管理
Linux 安全体系的核心。本组命令用于管理文件权限和用户账户,确保系统安全与合理的访问控制。修改文件权限
chmod 755 script.sh输出: (无输出,表示成功)
场景: 修改文件或目录的访问权限。755 表示所有者可读写执行,组用户和其他用户可读和执行。也可使用符号模式:chmod u+x script.sh。
常见错误
- 错误:
chmod 777 /etc/passwd-- 解决: 系统文件不应设置 777 权限,应遵循最小权限原则 - 错误:
chmod 755 dir/(未加 -R 递归修改目录内文件)-- 解决: 使用 chmod -R 755 dir/ 递归修改目录及内部所有文件的权限
进阶: 数字模式中:4=读(r),2=写(w),1=执行(x)。755 = 所有者(4+2+1) + 组(4+1) + 其他(4+1)。符号模式更直观:chmod u+rwx,g+rx,o+rx script.sh。
修改文件所有者
chown user:group file.txt输出: (无输出,表示成功)
场景: 修改文件或目录的所有者和所属组。普通用户只能修改自己拥有的文件,root 用户可修改任何文件的所有者。
常见错误
- 错误:
chown otheruser file.txt(当前用户不是 root 且不是文件所有者)-- 解决: 只有 root 用户或文件所有者才能修改所有者,需使用 sudo 提权 - 错误:
chown user file.txt(只改了所有者未改组)-- 解决: 使用 user:group 格式同时修改所有者和组,或用 chgrp 单独修改组
进阶: chown -R user:group directory/ 可递归修改目录及内部所有文件的所有者和组。
以管理员权限执行
sudo apt update输出: [sudo] password for user:
Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease
场景: 以超级用户权限执行命令。当普通用户权限不足时,在命令前加 sudo 可临时获取管理员权限。首次使用需输入当前用户密码。
常见错误
- 错误:
sudo rm -rf /(误操作)-- 解决: 执行 sudo 命令前务必仔细核对命令内容,避免使用危险的通配符和路径 - 错误:
user is not in the sudoers file-- 解决: 需要 root 用户将该用户添加到 sudo 组:usermod -aG sudo username
进阶: sudo -i 可切换到 root 用户的交互式 shell,sudo -u username command 可以指定用户身份执行命令。
创建新用户
sudo useradd -m -s /bin/bash newuser输出: (无输出,表示成功)
场景: 创建新的系统用户。-m 自动创建用户主目录,-s 指定默认 shell。创建后需用 passwd 命令设置密码。
常见错误
- 错误:
sudo useradd newuser(未加 -m 参数)-- 解决: 使用 useradd -m 创建用户并自动生成主目录,或手动 mkdir /home/newuser - 错误:
sudo useradd newuser(未设置密码)-- 解决: 创建用户后执行 sudo passwd newuser 设置初始密码
进阶: adduser 命令是 useradd 的交互式版本,会自动创建主目录、设置密码和拷贝配置文件,对新手更友好。