Linux文件管理
# 文件
通过命令 ls
&ll
可以得知当前目录的文件&文件夹 , ll
命令可以看到 权限相关信息
[root@bozhu01 ~]# ll
total 8
-rw-------. 1 root root 1719 11月 9 2021 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 5月 29 19:09 Desktop
drwxr-xr-x. 2 root root 6 5月 29 19:09 Documents
drwxr-xr-x. 2 root root 6 5月 29 19:09 Downloads
-rw-------. 1 root root 1767 11月 8 2021 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 5月 29 19:09 Music
drwxr-xr-x. 5 root root 39 5月 30 00:20 mysql
drwxr-xr-x. 2 root root 6 5月 29 19:09 Pictures
drwxr-xr-x. 2 root root 6 5月 29 19:09 Public
drwxr-xr-x. 3 root root 17 5月 31 04:28 tc_tomcat
drwxr-xr-x. 2 root root 6 5月 29 19:09 Templates
drwxr-xr-x. 3 root root 17 5月 30 01:55 tomcat
drwxr-xr-x. 2 root root 6 5月 29 19:09 Videos
==(权限) (链接数) (拥有者) (用户组) (文件容量) (最后修改日期) (文件名)==
# 文件类型
文件类型 | 对应符号 | 说明 |
---|---|---|
普通文件 | - | 文本 / 可执行 /... |
目录文件 | d | 仅仅代表目录 . /home |
符号设备文件 | c | /dev/tty |
块设备文件 | b | /dev/sda |
链接文件 | l | /dev/stdin |
套接字文件 | s | 套接字 |
管道文件 | p | 管道 |
# 权限
drwxr-xr-x. 包含有很多权限相关的信息
列数 | 值 | 说明 |
---|---|---|
1 | d /- | d目录(文件夹) / -文件 |
2 | r /- | r可读 / -无权 |
3 | w /- | w可写 / -无权 |
4 | x /- | x可执行 / -无权 |
5 | r /- | 用户组权限 r可读 / -无权 |
6 | w /- | 用户组权限 w可写 / -无权 |
7 | x /- | 非用户组权限 x可执行 / -无权 |
8 | r /- | 非用户组权限 r可读 / -无权 |
9 | w /- | 非用户组权限 w可写 / -无权 |
10 | x /- | 非用户组权限 x可执行 / -无权 |
文件&目录权限区别
权限 | 文件 | 目录 |
---|---|---|
内容 | 文件数据 | 目录名 |
r | 读取文件数据 | 读取目录名 |
w | 修改文件内容 | 修改目录名 |
x | 执行文件内容 | 进入目录 |
命令修改权限
chgrp
: 修改文件所属组 (修改前提改组必须存在)==chgrp [OPTION]... GROUP FILE...== : ==chgrp -R users a== (-R : 目录下全修改)
chown
: 修改文件拥有者==chown [OPTION]... [OWNER/GROUP] FILE...== : ==chown -R bozhu a==
==chown [OPTION]... [OWNER ] [:[GROUP]] FILE...== : ==chown -R root:root a==
chmod
: 修改文件权限==chmod [OPTION]... MODE[,MODE]... FILE...==
选项较多在系统中帮助查阅
r读 -- w写 -- x执行
操作符 | r | w | x | r | w | x | r | w | x |
---|---|---|---|---|---|---|---|---|---|
权限值 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
权限分配 | | | | | | |
分配文件权限 drwxr-xr-x. => ==chomd 755 a== (数字结构 : [4+2+1] [4+1] [4+1])
# 目录
# 配置
Linux首次目录配置时 , 人们都会先按照自己的想法进行分配 , 没有一个标准规则 , 因此诞生出了 FHS
在漫长的改版中 , 得出 4种目录的交互形态 : 不变 , 可变 , 可分享 , 不分享
可分享 (shareable) | 不可分享 (unshareable) | |
---|---|---|
不变 (static) | /usr (软件存放出) /opt (第三方辅助软件) | /etc (配置文件) /boot (启动/内核文件) |
可变 (variable) | /var/mail (用户邮箱) /var/spool/news (新闻组) | /var/run (程序相关) /var/lock (程序相关) |
- 可分享 (shareable) : 可给其他系统挂载使用的目录 , 分享其他主机挂载用的目录
- 不可分享 (unshareable) : 主机运行的设备&配置 , 和自身有关的
- 不变 (static) : 不变的数据 . 函数库/文件说明等... (一般随着发行版本变动)
- 可变 (variable) : 经常修改 , 日志/新闻组等...
FHS建议 : 根目录
/
分区越小越好
# 根目录
结构
目录 | 说明 |
---|---|
/bin | 系统命令执行相关 |
/boot | 启动项&启动配置相关 |
/dev | 读取外部设备 |
/etc | 系统配置 |
/lib | 函数库 |
/media | 媒体 |
/mnt | 挂载额外设备 |
/opt | 第三方辅助软件 |
/run | 系统启动运行生成的信息 |
/sbin | 设置系统环境 |
/srv | 网络服务启动数据 |
/tmp | 用户执行程序暂放 |
/home | 默认用户的家 ~ : 默认用户家 ~bozhu : 柏竹用户家 |
/lib <qual> | 二进制函数库 |
/root | 系统管理员家 |
/lost+found | 系统文件目录 , ext1&ext2系统目录 |
/sys | 系统硬件相关信息 |
这里还差两个目录 /usr
&/var
没讲 , 因为是改版后的统合 (为了简洁), 因此分开说明
/usr
放置 可分享&不可变 的数据 , 一般存放 操作系统软件资源
目录 | 说明 |
---|---|
/usr/bin/ | 一般用户能够使用的命令 |
/usr/lib/ | 函数库 |
/usr/local/ | 本机安装的软件 |
/usr/sbin/ | 非系统命令 , 网络服务相关 |
/usr/share/ | 只读文件 . 文档&软件说明相关 |
/usr/games/ | 游戏相关 |
/usr/include/ | c/c++头文件 (c/c++函数库) |
/usr/libexec/ | 不被一般用户执行的脚本 |
/usr/src/ | 一般源代码 |
/var
放置 不可分享&可变 的数据 , 存放 缓存&日志&软件产生的数据等...
目录 | 说明 |
---|---|
/var/cache/ | 应用程序的缓存 |
/var/lib/ | 程序执行 , 需要用到的数据 |
/var/lock/ | 文件资源 , 一次一个应用程序使用 |
/var/log/ | 日志信息 |
/var/mail/ | 邮箱目录 |
/var/run/ | 程序服务启动 PID |
/var/spool/ | 队列数据 , 等待其他程序使用的数据 |
# 目录路径
绝对路径 : ==./var/lib== (在当前文件夹进入)
相对路径 : ==/var/lib== (在根路径开始进入)
特殊路径
路径符号 | 说明 |
---|---|
. | 当前目录 |
.. | 上一层目录 |
- | 前一个工作目录 |
~ | 当前身份家目录 |
~bozhu | bozhu家目录 |
# 命令操作
目录操作
cd
: 切换目录pwd
: 显示当前目录mkdir
: 创建新目录rmdir
: 删除空目录cp
: 复制rm
: 删除mv
: 移动
文件内容查看
car
: 查看more
: 翻页查看空格
: 下页/字符串
: 向下查找关键字:f:
: 显示行数q:
: 离开b
: 往回翻页
less
: 弹性翻页查看- 继承以上 翻页查看 功能
- [pagedown]/[pageup] : 翻动 下一页/上一页
/字符串
/?字符串
: 向下查找/向上 关键字n
/N
: 重复/反复 前一个查找g
/G
: 移至 开头/结尾
数据截取
head
: 截取前几行tail
: 截取后几行