文件、目录管理
文件
-
文件类型
-
:普通文件,文本、二进制档、数据格式文件d
:目录b
:块文件,硬盘、软盘c
:字符文件,键盘、鼠标l
:软链接文件s
:套接口文件
-
后缀名
- Linux中,后缀名与文件类型无关,仅用于文件命名以区分文件类型,常见后缀名有:
.sh
:脚本*.Z、*.tar、*.tar.gz、*.zip、*.tgz
:压缩文件*.html、*.php
:网页文件
- Linux中,后缀名与文件类型无关,仅用于文件命名以区分文件类型,常见后缀名有:
-
文件时间
modification time(mtime)
: 文件内容变更时更新的时间status time(ctime)
: 文件权限/属性变更时更新的时间access time(atime)
: 文件读取(查看)时更新的时间
目录
-
目录命令规范: 长度不超过256字符、不能用”/“作为名字、严格区分大小写
-
绝对/相对目录: 绝对路径需要以根目录为起点,相对路径以当前目录为起点
-
PATH: 环境变量,用于指定搜索命令的路径;系统通过PATH找到指令文件以执行命令,若匹配到多个路径时只选择最先匹配的路径
-
目录含义
/bin、/sbin
1. /bin:存放所有用户可以执行的指令
2. /sbin:存放系统开机、修复、还原的指令,只有root才能使用/boot
- 存放开机过程中使用的配置文件
/dev、/media、/mnt
- /dev:挂载硬件设备文件的目录
- /media:媒体,挂载可移除设备的目录
- /mnt:挂载暂时使用的额外设备
/etc
- 存放系统主要配置文件
/lib、/lib64
- 函数库,用于存放系统运行、/bin、/sbin指令的共用函数库,指令执行调用函数以正常运行;/lib存放32位的函数库(/lib64指存放64位的函数库)
/opt
- 存放第三方大型软件,该软件独立且不依赖系统库
/run
- 存放系统/程序运行的临时文件
/proc、/sys
- 虚拟文件系统,/proc为存放系统提供服务的数据文件;/sys为存放系统和硬件信息文件
/home、/root
- /home:存放非root用户的主目录,/root为root的主目录(独立到根目录中)
- 工作目录:是指CLI下工作的目录,默认进入CLI后的目录为home目录
- home目录:存放个人用户文件的根目录,如root的home目录为/root
/usr
- unix software resource:unix系统软件资源,存放系统默认程序/软件
- 次目录
- /usr/bin、/usr/sbin、/usr/lib:这些目录才是所有指令和函数库的存放位置,而根目录的/bin、/sbin、/lib都会链接到这些目录
- /usr/local:存放用户自行安装的指令
- /usr/share:存放不依赖CPU的文件(静态资源),如文件、图片
/var
- 存放可变数据文件,如日志、应用缓存
用户管理
权限
-
用户权限
- 类型: 拥有者(user)、群组(gruop)、其他组(other)
- 记录文件: /etc/passwd(账号)、/etc/shadow(密码)、/etc/group(群组)
-
默认、隐藏权限
- 默认权限: 表示当前用户创建文件/目录后的默认权限值,默认文件最大权限为
666
(防止病毒文件自动执行),目录最大权限为777
- 隐藏权限
- SUID、SGID、SBIT
- SUID
- 仅对可执行文件有效,允许其他用户借用该文件的拥有者的权限来执行该文件
- 拥有者必须有x权限再添加SUID才会生效
- SGID
- 允许其他用户借用文件/目录的所属组的权限来执行该文件/目录
- SGID对目录、可执行文件有效,拥有者必须有x权限再添加SGID才会生效
- 只有父目录有SGID权限,子目录才会继承权限
- SBIT
- Sticky Bit: 仅对目录有效,作用在其他组位置,只有拥有者和root才能对该目录下的文件/目录进行删除
- 目录必须有x权限再添加SBIT才会生效
- 注意: 若权限为s、t则表示权限生效;若是大写S、T则表示文件/目录没有x权限,SUID/SGID/SBIT不生效
- SUID
- 默认权限: 表示当前用户创建文件/目录后的默认权限值,默认文件最大权限为
属性
- 格式:
类型
拥有者权限
群组权限
其他组权限
- 文件类型:
-
、d
、b
、l
- 权限:
r
(可读)、w
(可写)、x
(可执行)、-
(无权限)
操作命令
目录常规命令
pwd
- 定义 :Print Word Directory,用于查看当前工作目录路径
- 语法
pwd
cd
- 定义 :Change Directory,切换工作目录
- 语法
cd
[目录]- 符号
.
表示当前目录,..
表示上一级目录-
表示回到上一个工作目录,~
表示回到用户的家目录
- 举例
cd ../crom
# 返回上一级目录并进入crom目录内
mkdir
rmdir
- 定义 :make/remove directory创建/删除目录
- 语法
mkdir/rmdir
[option] [dirtectory]- 选项
-p
:递归处理所有子文件
文件常规命令
touch
- 定义 :change file timestampstouch,修改文件时间戳,可用于创建文件(文件不存在时,会创建空文件)
- 语法
touch
[option] [file]- 选项
-a
-m
:修改atime
mtime
时间为当前时间-d
:修改时间的日期-t
:指定修改的时间,格式为YYYYMMDDhhmm
,如202503031533
文件、目录管理
查看文件/目录信息
ls
-
定义:list dirtectory contents,列出目录内容
-
长数据串
- 字段 :[权限] [链接] [拥有者] [群组] [文件大小] [修改日期] [文件名]
- [日期] :显示月、日、时间,若修改时间离现在时间很久则显示月、日、年,3若要完全显示时间格式(年、月、日、时间)则加入参数
--full-time
- [文件名] :开头为
.
的文件为隐藏文件
-
语法
ls
[option] [file]- 选项
-a
:all,显示所有文件(含隐藏文件)-l
:以长数据串列出文件信息-t
:按时间顺序列出文件--full-time
:以完整时间模式列出文件
file
- 定义 :查看文件类型,可用于查看压缩文件的压缩格式
- 语法
file
[file]
which
- 定义 :根据
PATH
(环境变量)找到可执行文件(指令)的所在路径 - 语法
which
[option] [command]- 选项
-a
:将PATH
所有能匹配上的指令的路径都列出
whereis
- 定义 :从特定目录下查找文件/目录的路径
- 特定目录 :
/usr/bin
/usr/share
/usr/src
- 特定目录 :
- 语法
whereis
[option] [file/dirtectory]- 选项
-l
:查看whereis
在哪些特定目录下查找-b/m/s
:在/usr/bin
/usr/share
/usr/src
目录下查找路径-u
:不在/usr/bin
/usr/share
/usr/src
查找路径
find
- 定义 :在指定的目录下查找路径,该指令会从目录下一个个匹配
- 语法
find
[path] [option] [parameter]- 选项
-name
:按文件名进行查询-iname
:按文件名进行查询,且文件名不分大小写-type
:按文件类型进行查询,如f
d
l
复制、删除、移动
cp
- 定义 :复制文件/目录
- 语法
cp
[option] [src-dir/file] [des-dir/file]- 选项
-r
:递归复制所有文件(复制目录树)-d
:复制源链接文件的所有属性-p
:复制源文件的所有属性-a
:all,和-pdr
同效果-f
:强制复制,若不加该参数则复制时需要二次确认-l、-s
:-l
表示复制为硬链接,-s
表示复制为软链接-u
:目的文件不存在,或者目的比源文件旧才会复制,适用于备份
rm
- 定义 :remove,删除文件/目录
- 语法
rm
[option] [file/dir]- 选项
-f
:强制删除,若不加参数则删除时需要二次确认-i
:默认选项,删除时提示二次确认-r
:删除整个目录树
mv
- 定义 :move,移动或者重命名文件/目录
- 语法
mv
[src-dir/file] [des-dir/file]
文件内容查看
cat
- 定义 :concatenate,连接文件并输出文件内容
- 语法
cat
[option] [file]- 选项
-n
:列出行号,包括空行
more
- 定义 :以翻页形式显示文件内容
- 语法
more
[file]- 指令
空白键、ctr+b
:向下、上翻页enter
:向下翻一行/字符
:向下查找该字符q
:退出
less
- 定义 :比
more
灵活,可以前后翻页 - 语法
less
[file]- 指令
空白键
:向下翻页pagedown/pageup
:向下/上翻页/字符、?字符
:向下、上查找字符n/N
:向上/下查找/
?
指令的字符g/G
:到第一行/最后一行q
:退出
用户管理
修改权限
chgrp
- 定义 :change group,修改目录/文件的群组
- 语法
chagrp
[option] [group-name] [file/dir]- 选项
-R
:递归处理所有子文件/目录
chown
- 定义 :change owner,修改文件/目录的拥有者/群组
- 语法
chown
[option] [ user | user:group ] [file/dir]- 选项
-R
:递归处理所有子文件/目录
chmod
- 定义 :修改文件/目录的权限
- 权限
- 文件 :
rwx
表示查看、修改和执行文件内容 - 目录 :
r
表示读取文件名、w
表示修改文件名、x
表示进入目录权限
- 文件 :
- 语法
- 数字格式
- 数值 :
r
-> 4、w
-> 2、x
-> 1;数值可累加,如rwx
-> 7、r-x
-> 5- SUID/SGID/SBIT :
SUID
-> 4、SGID
-> 2、SBIT
-> 1,数值可以累加且修改时要放在rwx
前面,如SUIDrwxrwxrwx
-> 4777、SUIDSGIDrwxrwxrwx
-> 6777
- SUID/SGID/SBIT :
- 语法
chmod
[-R] [xyz] [file/dir]- [xyz] :表示拥有者、群组、其他人权限数值
- 数值 :
- 符号格式
- 符号
- 对象 :
u
-> user、g
-> group、o
-> other、a
-> all - 动作 :
+
-
=
- 权限 :
r
w
x
s
t
- 对象 :
- 语法
chmod
[-R] [对象] [动作] [权限] [file/dir]
- 符号
- 数字格式
chmod u=rwx,g=rx,o=r filename
chmod a-x filename