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的代表数字
文件权限 代表数字
r 4
w 2
x 1

2.1.3 文件权限的修改命令 chown、chgrp、chmod
  • chgrp [-R] :修改用户所属用户组
    • chgrp 用户组 文件/目录 : 修改用户组
  • 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 行号栏位占用的字符数

moreless :查看文件 (一页一页查看)(常在管道中使用)
命令 按键
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 :查找命令所在路径
  • [-a]:找出所有的而不仅仅是第一个

whereis:查找命令所在路径、源代码文件、帮助信息文件所在的目录
  • -b :查找命令所在路径
  • -s :源代码文件
  • -m :只显示帮助信息所在的位置

locate/locatedb:建立数据库,方便快速查找
  • updatedb
  • locate [文件或命令]

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