Linux基础知识
Linux目录结构以及文件路径目录
Linux的目录是树形结构,与Windows操作系统的不同之处在于,Linux只有一个根目录,且没有类似Windows的C盘这种“盘符”的概念
在Linux的文件路径描述中,层次分离一般以斜杠/,而Windows一般以反斜杠\
以下是Linux根目录以及其下各种文件夹的意义:/:根目录。一般根目录下只存放目录,在1inux下有且只有一个根目录,所有的东西都是从这里开
始:/root:系统管理员root的目录:/usr:系统应用程序存放的目录,一般安装的软件在该目录下:/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件:/home:系统普通用户的家目录,其下为用户username的目录/home/username//var:放置系统执行过程中经常变化的文件,例如日志文件。
绝对路径和相对路径
绝对路径: 以/开头的都算绝对路径相对路径: 以./开头的是相对路径,基于当前目录的路径
~代表家目录,cd ~ 与cd (不加参数)是一样的
1 | cd ~username # 切换到 username 用户的家目录(需权限) |
文件/目录权限
在 Linux 系统中,每个文件和目录都有权限(Permissions)、所有者(Owner)和所属组(Group),用于控制不同用户对文件的访问级别。
查看文件权限
使用 ls -l 查看文件权限:
1 | ls -l 文件名 |
示例输出:
1 | -rwxr-xr-- 1 root users 4096 Jan 10 10:00 myfile.txt |
解析:
| 部分 | 含义 |
|---|---|
-rwxr-xr-- | 权限(文件类型 + 所有者/组/其他用户权限) |
1 | 硬链接数 |
root | 所有者(Owner) |
users | 所属组(Group) |
4096 | 文件大小(字节) |
Jan 10 10:00 | 最后修改时间 |
myfile.txt | 文件名 |
权限符号解析
权限由 10 个字符 组成:
1 | - rwx r-x r-- |
权限字符含义:
| 字符 | 权限 | 数字表示 |
|---|---|---|
r | 读(Read) | 4 |
w | 写(Write) | 2 |
x | 执行(Execute) | 1 |
- | 无权限 | 0 |
示例:
1 | -rwxr-xr-- # 所有者可读、写、执行;组可读、执行;其他用户仅可读 |
计算数字权限:
- 所有者:
rwx= 4 + 2 + 1 = 7 - 组:
r-x= 4 + 0 + 1 = 5 - 其他用户:
r--= 4 + 0 + 0 = 4 - 最终权限数字:
754
特殊权限
除了 rwx,Linux 还有 3 种特殊权限:
| 权限 | 符号 | 数字 | 作用 |
|---|---|---|---|
| SUID | s | 4 | 执行时临时拥有所有者权限(如 passwd) |
| SGID | s | 2 | 执行时临时拥有组权限,或目录下新建文件继承组 |
| Sticky Bit | t | 1 | 仅所有者/root 可删除(如 /tmp) |
常见权限示例
| 权限 | 数字 | 适用场景 |
|---|---|---|
-rw------- | 600 | 仅所有者可读写(如私钥) |
-rw-r--r-- | 644 | 所有者可读写,其他用户只读(如配置文件) |
-rwxr-xr-x | 755 | 所有者可读写执行,其他用户可读执行(如脚本) |
drwx------ | 700 | 仅所有者可访问目录 |
drwxr-xr-x | 755 | 所有者可读写执行目录,其他用户可读执行 |
-rwsr-xr-x | 4755 | SUID 权限(如 /usr/bin/passwd) |
drwxrwxrwt | 1777 | Sticky Bit(如 /tmp) |
配套Shell命令
| 命令 | 作用 |
|---|---|
chmod | 修改权限 |
chown | 修改所有者 |
chgrp | 修改所属组 |
umask | 设置默认权限 |
ls -l | 查看权限 |
Shell命令
Linux命令Vim 指令大全
基本移动
h- 左移j- 下移k- 上移l- 右移w- 移动到下一个单词开头b- 移动到上一个单词开头e- 移动到单词末尾0- 移动到行首^- 移动到行首第一个非空白字符$- 移动到行尾gg- 移动到文件开头G- 移动到文件末尾:[n]- 跳转到第n行
插入模式
i- 在光标前插入a- 在光标后插入I- 在行首插入A- 在行尾插入o- 在当前行下方新建一行并插入O- 在当前行上方新建一行并插入s- 删除当前字符并插入S- 删除当前行并插入C- 删除到行尾并插入
删除
x- 删除当前字符X- 删除前一个字符dw- 删除到单词末尾db- 删除到单词开头dd- 删除当前行D- 删除到行尾d[n]w- 删除n个单词d[n]j- 删除n行向下d[n]k- 删除n行向上
复制与粘贴
yy- 复制当前行y[n]w- 复制n个单词y$- 复制到行尾p- 粘贴到光标后P- 粘贴到光标前
撤销与重做
u- 撤销Ctrl+r- 重做
搜索与替换
/pattern- 向前搜索?pattern- 向后搜索n- 下一个匹配项N- 上一个匹配项:%s/old/new/g- 全局替换:%s/old/new/gc- 全局替换并确认
可视模式
v- 进入字符可视模式V- 进入行可视模式Ctrl+v- 进入块可视模式
窗口操作
:sp [file]- 水平分割窗口:vsp [file]- 垂直分割窗口Ctrl+w h/j/k/l- 在窗口间移动Ctrl+w w- 循环切换窗口Ctrl+w c- 关闭当前窗口Ctrl+w o- 关闭其他窗口
标签页
:tabnew [file]- 新建标签页gt- 下一个标签页gT- 上一个标签页:tabclose- 关闭当前标签页
其他常用
.- 重复上一个命令Ctrl+g- 显示当前位置信息:q- 退出:q!- 强制退出不保存:w- 保存:wq或ZZ- 保存并退出:e [file]- 打开文件:set nu- 显示行号:set nonu- 隐藏行号
高级功能
Ctrl+n- 自动补全(插入模式)Ctrl+x Ctrl+f- 文件名补全(插入模式)Ctrl+d- 列出可能的补全(命令模式)q[a-z]- 开始录制宏到指定寄存器q- 停止录制宏@[a-z]- 执行指定寄存器的宏:!command- 执行外部命令
Vim的强大之处在于组合这些命令,例如 d3w 删除3个单词,c$ 修改到行尾等。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Pisland!
评论





