摘要
Linux就像一个文件树,记住这棵树的结构时一个称职的Linux系统管理员必备的素质。
Linux目录树
数据都是以文件的方式保存在硬盘分区上(交换区除外),而一个分区上可能存在上万数目的文件,保存在各个目录下,众多目录形成父子关系的目录。
Linux的根文件系统就是一颗倒树结构,这就是Linux目录树。如图所示(三层最常见的目录):
在目录中,叶子只能是空目录或者文件,非叶子节点只能是目录。记录几个老师上课提到过的目录用途:
目录 | 说明 |
---|---|
/tmp | 专门放进程产生的临时文件。Ubantu重启时会自动删除该目录全部内容。 |
/bin | 存放常用的外部命令 |
/sbin | 硬盘分区、格式化、启动、关闭、还原、修复系统所必需的全部命令 |
/etc | 连通其子目录都存放一些系统配置文件,很重要 |
/home | 普通用户的家目录 |
/root | 超级用户的家目录 |
/opt | 安装第三方机构提供的应用软件 |
/usr | 根目录中第二个重要的目录,存放共享静态文件、头文件和在线文件 |
/usr/bin | 存放绝大多数的用户命令 |
文件管理
目录
一个分区只有一个根目录 “ / ”,
绝对目录(绝对路径)的起点是树根“/”,如上图中树根下的第一行目录:/home、/etc等。
相对目录(相对路径)的起点是当前目录“./”,如./abc, ../usr/sbin。
Q:如何实现目录之间的跳跃
cd /tmp
#进入/tmp目录,cd+空格 后写目录路径
cd 和 cd~ 和 cd $HOME
#回到家目录
cd ../ 和 cd ..
#进入父目录,上一级目录
cd -
#返回上一次离开的目录
Q:对目录进行管理
mkdir /绝对路径/新目录
#在某绝对路径下创建一个新子目录
mkdir -p a/b/c/d
#在当前目录下创建多层目录a/b/c/d
mkdir 321
#当前目录下创建目录321
rm -r 321 123
#同时删除目录321和123
rm -rf 321
#直接删除321,不警告,321不存在会报错
文件
Q:管理文件命令
cp <源文件名或文件的目录> <新文件名或目录>
#将某已存在的文件复制为一个新文件,或复制到指定目录下,也可复制目录
mv <源文件名或文件目录或目录> <目标文件名或文件目录或目录>
#将已存在的文件进行改名或移动(接目标目录),也可移动目录
rm [-r] <文件或目录>
#删除文件或目录
cat <文件>
#显示文件内容
more <文件>
#分页显示文件内容,Space后翻页,b前翻页,q退出
head(tail) <文件>
#显示文件前(后)10行
注意:Linux下文件种类较多,不能根据文件名后缀来判断文件类型,可采用命令file <文件名>
判断,文件首字母为“.”的文件为隐藏文件。
文件权限
赋予文件权限是为了对用户进行权限控制。利用命令 ls -la
列出当前目录下的文件,如图:
Q:怎么阅读这个输出结果呢?
- 上图中每一行都代表一个文件
- 第八部分是文件名或目录名;第七部分是文件或目录最近一次修改的时间;第六部分表示文件大小:普通文件就为文件大小(字节数),目录则是该目录所包含的文件名大小(字节数);第5部分是文件的组群;第四部分右部分表示文件主人,左部分一列表示文件的硬连接数或目录包含的文件数目;
- 第0块,指明文件类型:
符号 | 文件类型 |
---|---|
d | 目录 |
- | 普通文件 |
l | 连接文件 |
b | 块设备文件 |
c | 字符文件 |
p | 管道文件 |
s | 套接字文件 |
- 1~3块,都表示权限。权限部分用9个字符表示,平均分为3组,从左至右分别是定义文件的主人、组群成员、其他人的权限。
符号 | 权限类型 |
---|---|
r | 读 |
w | 写 |
x | 执行 |
- | 无权限 |
s/S | 权限临时切换 |
t/T | 任何用户能够存取文件 |
权限有两种表示方法:字母权限和数字权限。就是利用规定好的规则(遇“-”转换为0,其它转换为1)进行二进制的转换,再对每一段进行一次十进制转换。逆推同理。如图:
例:
Q:文件权限管理命令?
chmod [-R] <权限> <文件或目录>
#修改文件或目录的权限,对象为目录时用参数-R
#打比方
chmod 644 file #把file的权限改为rw-r--r--
#指定对象修改权限,u代表主人,g代表组群,o代表其他人,+ — 进行权限的增减
chmod u+x,g+w,o-w file
#令主人可执行该文件,令组群可写入,剥夺其他人可写权限
chown [-R] <账号>:<组群> <文件或目录>
#修改文件的主人为该账号,修改文件组群为该组群。不修改时就不写(冒号也不写)。
chgrp [-R] <组群> <文件或目录>
#修改文件组群为该组群
文件通配符
符号 | 含义 |
---|---|
“ * ” | 匹配0个或多个字符 |
“ ? ” | 匹配一个字符 |
[⋯] | 匹配方括号里其中的一个字符 |
[!⋯]或[ ^⋯] | 不匹配其中任何一个字符 |
文件操作
列举文件和打包压缩操作
ls [<参数>] [<文件>]
#列出文件或目录
tar <参数> <包名> [<文件>]
#对文件或目录进行打包压缩或反方向操作
# 关于不同要求下具体使用哪个参数,可以利用 help 或 man 命令查找帮助。
总结
主要了解Linux下文件系统的结构以及一些基本的文件操作命令,了解文件权限及权限管理。