2.1 文件权限与目录配置
2.1.1 文件属性、文件权限
使用 ls -al
列出文件及其属性
- 属性(依次序):【权限】【链接】【拥有者】【用户组】【文件容量】【修改日期】【文件名】
- 权限一共有10位(共4组)
- 使用file 命令来查看这个文件的类型
| 权限位 | 代表的含义 |
| —- | —- |
| 第1位(d、-、l、b、c、s、p) | d:目录;-:普通文件;l:链接文件;b:可存储设备;c:键盘鼠标;s:套接字文件;p:命名管道(使用file 命令来查看这个文件的类型) |
| 第2,3,4位 | 文件拥有者的权限 |
| 第5,6,7位 | 文件拥有者所在用户组的权限 |
| 第8,9,10位 | 非文件拥有者所在用户组的人的权限(陌生人的权限) |
2.1.2 文件权限rwx的代表数字
2.1.3 文件权限的修改命令 chown、chgrp、chmod
- chgrp [-R] :修改用户所属用户组
- chown [-R] :修改文件拥有者
- chown —regerence=a.txt b.txt 复制a的权限到b上
- chown [-R] 账号名称:用户组名称 文件或目录
- chown [-R] 用户名 文件/目录 :修改属主【递归修改】
- chown [-R] .用户组 :修改用户组
- chown [-R] :用户组 :修改用户组
- chown [-R] 用户名:用户组 :修改用户名和用户组
- chmod [-R] :修改文件的权限(SUID、SGID、SBIT等)
chmod [augo] [+-=] [rwx] filename
- 数字类型修改权限:chmod [-R] xyz 文件或目录 (xyz就是rwx属性数字的相加,例如 r+w=6 )
- 符号类型修改权限:chmod [-R] a=rwx,u=rwx,g=rwx,o=rwx 文件名或目录
| 命令 | 身份 | 修改方式 | 权限 | 文件名 |
| —- | —- | —- | —- | —- |
|
chmod
| a(所有人),u(用户拥有者),g(文件组),o(其他人) | +,-,= | r,w,x | filename |
2.1.4 目录与文件的权限不同
- Linux下一个文件到底能不能执行,跟后面的扩展名没有关系,而是具不具备x权限
| 组件 | 内容 | r | w | x |
| —- | —- | —- | —- | —- |
| 文件 | 详细数据 | 读到文件内容 | 修改文件内容 | 执行文件内容 |
| 目录 | 文件名 | 读到文件名 | 修改文件名 | 进入该目录的权限 |
2.2 Linux目录介绍
2.2.1 简单区别
|
可分享 |
不可分享 |
不变(static) |
/usr(软件存放处) |
/etc(配置文件) |
|
/opt(第三方辅助软件) |
/boot(启动与内核文件) |
可变动(variable) |
/var/mail(用户邮箱) |
/var/run(程序相关) |
|
/var/spool/news(新闻组) |
/var/lock(程序相关) |
2.2.2 具体目录
2.3 目录概念及相关讲解
2.3.1 目录与路径
- 相对路径:相对于当前目录写起
- 绝对路径:从根目录写起
2.3.2 目录的相关操作
目录 |
代表 |
. |
当前目录 |
.. |
上一层目录 |
- |
前一个工作目录 |
~ |
目前使用者所在的家目录 |
~account |
代表account这个使用者的家目录 |
2.3.3 执行文件路径的变量:$PATH
path 变量由一堆目录组成,每个目录用“:”隔开
- 将一个目录加入系统环境变量:
PARH = " ${PATH}:/目录名(绝对路径)"
` - 不建议将本目录“.”加入路径(很危险)
2.3.4 处理目录的命令
cd
:切换目录 (配合上面的目录代表符号)pwd [-p]
:显示当前目录(-p显示真正的目录而不是链接)mkdir [-m -p]
:建立一个新目录(-m设置权限,-p进行递归创建)rmdir [-p]
:删除一个空目录(-p递归删除)basename
:获取文件名dirname
:获取目录
2.4 常用命令及介绍
ls、cp、rm、mv
ls -aAdfFhilnrRSt
文件名或目录cp -adfilprsu
源文件 目标文件rm -fir
文件或目录mv -fiu source1 source2 source3 ... directory
file
:显示文件类型(d - c s p l b )
| 命令 | 介绍 | 可带参数 |
| —- | —- | —- |
| ls | 查看 | -a:显示所有文件;-d:仅列出目录本身;-l:详细信息显示(可以使用alias转换别名) |
| cp | 复制 | -a:文件的权限信息都复制;-i:覆盖前进行询问;-p:连同属性(权限、用户、时间)一起复制(不使用默认的);-r:递归复制;-l:硬链接;-s:软连接;-b:新复制的文件名后加~ |
| rm | 删除 | -f:强力删除文件;-I:删除前询问;-r:递归删除(很危险) |
| mv | 移动(重命名) | -f:强制移动;-i:询问是否覆盖;-u:更新文件;-b :先对原文件备份~;-t:将多个文件移动到一个目录(mv -t 目录 文件1 文件2) |
| file | 查看类型 | -b:显示结果时,不显示文件名;-c:显示file是如何判断文件类型的;-i:输出mime类型的字符串;-z:显示压缩文件的内容;-L:查看软连接对应的文件类型;-f:查看文件中文件名的类型 |
cat
:查看文件内容 tac:逆向查看文件(从最后开始)
命令 |
可用参数 |
使用说明 |
cat |
-A = -vET |
其他命令的集合 |
|
-b;-n |
列出行号(仅列出有字的);列出行号(包含空白行) |
|
-E;-v;-T |
显示换行符$;显示特殊字符;用^I显示[tab] |
cat > 文件名 <<EOF |
输出重定向 |
将键盘输入的内容添加的文件中,以输入EOF为结束 |
cat >> 文件名 <<EOF |
追加重定向 |
向文件中追加数据,以输入EOF为结束 |
cat 文件1 文件2 > 文件3 |
合并重定向 |
将文件1 文件2 的内容合并到文件3中 |
nl
:添加行号打印
命令 |
可用参数 |
使用说明 |
nl |
-b a; -b t |
全部列出行号;空行不列出行号 |
|
-n ln;-n rn;-n rz |
行号在最左方显示;行号在最右方显示且不加0;行号在最右方显示且加0 |
|
-w |
行号栏位占用的字符数 |
more
与less
:查看文件 (一页一页查看)(常在管道中使用)
命令 |
按键 |
more |
空格键:向下翻页(屏);Ctrl+ f:向下翻一页(屏);enter:向下翻一行;/字符串:查找字符串;:f :显示文件名以及目前的行数;b:往回翻页;q:立即离开 |
|
v:调用vi编辑器;!command:调用shell命令(与在命令行一样) |
|
+ number :从第几行显示文件 |
less |
空格键:向下翻页;[page down ]:向下翻页;[page up]:向上翻页;/字符串:向下查找;?字符串:向上查找;n:重复前一个查找;N:反向重复前一个查找;g:前进到这个数据的第一行;G:前进到这个数据的最后一行;q:离开 |
|
head /tail
:查看n行
命令 |
参数 |
说明 |
head(从前开始) |
-数字 number 文件名 |
显示(数字)行(默认是10行) |
tail (反向) |
-数字 number 文件名 |
显示(数字)行 |
|
-f number |
持续刷新文件的内容 |
od
:查看非文本文件的的内容
- -t a:默认字符;
- -t c:ascii码; C(放在type中间进行数制的对比)
- -t d[size]:利用十进制输出,每个整数用size bytes 例:od -t oCc 文件名
- -t f[size]:浮点数制
- -t o[size]:八进制
- -t x[size]:、八进制、十六进制
mkdir
:创建目录
- -m:设置权限
- -p :递归创建
- -v :显示
- mkdir -p a/{b,c,d} :递归创建a目录,在a目录下创建b,c,d同级目录(使用花括号的作用)
- mkdir -p {a,b}-{c,d} :会创建a-c,b-c,a-d,b-d等4个目录
touch
:创建新文件或修改文件时间:
- -a : 修改访问时间
- -c :不会创建文件,仅修改文件的时间
- -d :用指定的日期创建/修改新文件的日期,不使用系统时间
- -t :用指定格式的时间戳创建新文件,不使用系统时间
- -m :修改mtime
tree
:(= ls -R)查看目录树
which
:查找命令所在路径
whereis
:查找命令所在路径、源代码文件、帮助信息文件所在的目录
- -b :查找命令所在路径
- -s :源代码文件
- -m :只显示帮助信息所在的位置
locate/locatedb
:建立数据库,方便快速查找
find
:查找文件
- find [path] [option] [option]
- -exec … ;
2.5 文件的隐藏属性
2.5.1 默认属性查看:umask
- 里面的数字代表需要减掉的权限(默认是022)
- umask 022 :代表只拿掉其他人的w权限
2.5.2 隐藏属性的查看及修改 chattr
chattr
配置文件的默认属性- chattr [+-=] [ASacdistu] 文件或目录
第二参数介绍:
- A:不修改atime
- a:文件只能增加数据,不能删除数据【root】
- i :不能增加、删除、改名、设置链接、写入【root】
- s:删除时会彻底删除,不能恢复
- u:与s相反
lsattr
显示文件隐藏属性
lsattr -[adR]
文件或目录- -a:将隐藏文件的隐藏属性也显示
- -d:如果后面接目录,仅将目录的属性显示,不显示里面的文件的
- -R:与-d相反,递归显示子目录的数据属性
- /、 /dev/ 、 /tmp/ 、 /var/ 、 /etc/ 不受chattr保护
2.5.3 文件的特殊权限:SUID、SGID、SBIT