1. 目录与文件基本操作
1.1 查看与切换 (ls, pwd, cd)
ls: 列出目录内容。-a: 显示所有文件(含隐藏文件,以.开头)。-l: 显示详细信息(权限、大小、时间等)。-d: 显示目录本身而非其内容。
pwd: 显示当前所在路径。cd: 切换目录。cd ..: 返回上级。cd ~: 进入家目录。cd -: 返回最近访问的目录。
1.2 创建与删除 (touch, mkdir, rmdir, rm)
touch filename: 创建空文件或更新文件时间戳。mkdir dirname: 创建目录。-p递归创建多级目录。rmdir dirname: 删除空 目录。-p连带父目录删除。rm filename: 删除文件或目录(非常重要)。-f: 强制删除,不询问。-r: 递归删除(用于删除非空目录)。
1.3 复制与移动 (cp, mv)
cp src dst: 复制。-r递归复制目录,-f强制。mv src dst: 移动或重命名。如果dst是存在的目录,则移动;如果是文件名,则重命名。
2.文件内容查看指令
cat: 查看文件内容。-n显示行号。more: 分页显示,只能向后翻。less: 分页显示,支持前后翻页、搜索(/向下搜,?向上搜),推荐使用。head -n X: 查看文件前 X 行(默认10行)。tail -n X: 查看文件后 X 行。tail -f filename: 循环读取,常用于实时监控日志。
3. 时间、帮助与辅助指令
date: 显示或设置时间。- 格式化显示:
date +%Y-%m-%d。 - 时间戳转换:
date +%s(时间转时间戳),date -d @1508749502(时间戳转时间)。
- 格式化显示:
cal: 查看日历。cal -y 2018显示整年。man: 查看命令手册。man 3 printf(查库函数),man 2 open(查系统调用)。bc: 浮点运算计算器。- 热键:
Tab: 命令补全。Ctrl + c: 终止程序。Ctrl + d: 输入结束 (EOF) 或 退出。
4. 查找与搜索指令
find path -options: 在目录树中查找文件。find . -name "test.c": 按文件名查找。
grep: 在文件中搜索字符串。-i: 忽略大小写。-n: 输出行号。-v: 反向选择(显示不包含字符串的行)。
5. Linux 权限管理 (核心)
5.1 用户与角色
- 超级用户 (root): 提示符
#,不受限制。 - 普通用户: 提示符
$,受限。 - 切换用户:
su [user](切换到root需输入密码)。 - Sudo:
sudo command暂时以 root 权限执行指令(需配置/etc/sudoers)。
5.2 文件属性与权限位
执行 ls -l 看到的信息:-rwxr-xr--
- 第1位 (文件类型):
d(目录),-(普通文件),l(链接),p(管道),b(块设备),c(字符设备)。 - 第2-10位 (权限): 分为三组:拥有者(u)、所属组(g)、其他用户(o)。
- 权限值:
r(Read, 4): 读。对目录为浏览信息。w(Write, 2): 写。对目录为删除/移动文件。x(Execute, 1): 执行。对目录为进入权限 (cd)。
5.3 修改权限 (chmod, chown, chgrp)
chmod: 修改权限。- 符号法:
chmod u+w,o-x file。 - 数字法:
chmod 755 file(rwx=7, rx=5)。
- 符号法:
chown user:group file: 修改拥有者。chgrp group file: 修改所属组。
5.4 默认权限与 umask
- 新建文件默认权限 666,目录 777。
- 实际权限 = 默认权限 & (~umask)。
- 普通用户 umask 默认为 0002,root 为 0022。
5.5 目录权限与粘滞位
- 目录权限悖论: 只要用户对目录有写权限 (w),就能删除目录下的任何文件,即使该用户对文件本身没有写权限。
- 粘滞位 (Sticky Bit):
chmod +t dir。设置后,该目录下的文件只能由:超级管理员、目录所有者、或文件所有者删除。