视频链接:

  土豆:http://www.tudou.com/programs/view/yT0PfIWU720

  B站(推荐): http://www.bilibili.com/video/av9877318/ 

  本章的目录如下,重点知识点我会点出来~

1. 目录与路径
1.1 相对路径与绝对路径              (绝对路径从/开始,相对路径是根据当前目录来算的,shell script推荐使用绝对路径)
1.2 目录的相关操作: cd, pwd, mkdir, rmdir     ()
1.3 关于执行文件路径的变量: $PATH          (echo $PATH,所谓的相对路径就是PATH搞出来的)
2. 档案与目录管理
2.1 档案与目录的检视: ls              (ls -ail)
2.2 复制、移动与删除: cp,mv,rm          (cp 文件 目录 or cp 文件 更名,rm -f强制 -r递归删除,mv移动或更名,mv 文件 更名, mv 文件 目录)
2.3 取得路径的文件名称与目录名称         (文件名basename,目录名dirname.用法后面跟上路径就ok)
3. 档案内容查阅:
3.1 直接检视档案内容: cat, tac, nl  (cat 由第一行开始显示档案内容tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!nl 显示的时候,顺道输出行号!)
3.2 可翻页检视: more, less
3.3 资料撷取: head, tail          (head取出前几行默认是10,head -n 20 文件,tail取出后面几行)
3.4 非纯文字文件: od      (/usr/bin/passwd用cat就是乱码,od -t c以ASCII码形式)
3.5 修改档案时间与建置新档: touch
4. 档案与目录的预设权限与隐藏权限
4.1 档案预设权限:umask       (umask很重要,直接打umask看权限,减权限。umask 022这样设置.umask的作用范围是这个用户的范围,换个用户就不行了)
4.2 档案隐藏属性: chattr, lsattr   (chattr 常用-i -a , lsattr -aR)
4.4 档案特殊权限:SUID/SGID/Sticky Bit 
4.3 档案类型:file          (file直接后面跟文件,看看他是什么格式类型的)
5. 档案的搜寻: which, whereis, locate, find     (which寻找执行档,whereis寻找特定档案)

touch修改档案时间:

chattr (设定档案隐藏属性)  + - = 这三个操作符号

lsattr 显示档案隐藏属性

SUID:

会制作出 s 与 t 的权限,是为了让一般使用者在执行某些程序的时候, 能够暂时的具有该程序拥有者的
权限。 举例来说好了,我们知道账号与密码的存放档案其实是 /etc/passwd 与 /etc/shadow 。 而
/etc/shadow 这个档案的权限是什么?是『-r--------』。且他的拥有者是 root 喔!在这个权限中,仅
有 root 可以『强制』储存,其它人是连看都没有办法看的吶!
但是偏偏鸟哥使用 dmtsai 这个一般身份使用者去更新自己的密码时,使用的就是 /usr/bin/passwd 这个
程序, 却是可以更新自己的密码的,也就是说, dmtsai 这个一般身份使用者可以存取 /etc/shadow 这
个密码文件! 但!怎么可能?明明 /etc/shadow 就是没有 dmtsai 可以存取的权限啊!呵呵~这就是 s 这
个权限的帮助啦! 当 s 这个权限在 user 的 x 时,也就是类似上表的 -r-s--x--x ,称为 Set UID ,
简称为 SUID , 这个 UID 代表的是 User 的 ID ,而 User 代表的则是这个程序 (/usr/bin/passwd) 的
拥有者 (root 啊!)。 那么由上面的定义中,我们知道了,当 dmtsai 这个使用者执行 /usr/bin/passwd
时,他就会『暂时』的得到档案拥有人 root 的权限。
SUID 仅可用在『二进制制档案(binary file)』上, SUID 因为是程序在执行的过程中拥有档案拥有者的
权限,因此,他仅可用于 binary file , 不能够用在批次档 (shell script) 上面的!这是因为 shell
script 只是将很多的 binary 执行档叫进来执行而已!所以 SUID 的权限部分,还是得要看 shell script
呼叫进来的程序的设定, 而不是 shell script 本身。当然,SUID 对于目录也是无效的~这点要特别留
意。

SGID

进一步来说,如果 s 的权限是在 group 时,那么就是 Set GID ,简称为 SGID。 SGID 可以用在两个部
分喔!
• 档案:如果 SGID 是设定在 binary file 上面,则不论使用者是谁,在执行该程序的时候, 他
的有效群组 (effective group) 将会变成该程序的群组所有人 (group id)。
• 目录:如果 SGID 是设定在 A 目录上面,则在该 A 目录内所建立的档案或目录的 group ,将会
是 此 A 目录的 group !
一般来说, SGID 应该是比较多用在特定的多人团队的项目开发上, 在系统当中应该会比较少这个设定才
对~

Sticky Bit

目前只对目录有效,在具有
SBit 的目录下,使用者若在该目录下具有 w 及 x 的权限, 则当使用者在该目录下建立档案或目录时,
只有档案拥有者与 root 才有权力删除

which 寻找执行档

whereis寻找特定档案,相对于find来说,find很强大,但是find是搜索硬盘的,如果你的硬盘很老旧那速度就会~~你懂的~,这个时候whereis就显得相当好用

那么 whereis 到底是使用什么咚咚呢?为何搜寻的速度会比 find 快这么多?! 其实那也没有什么!这
是因为 Linux 系统会将系统内的所有档案都记录在一个数据库档案里面, 而当使用 whereis 或者是底下
要说的 locate 时,都会以此数据库档案的内容为准, 因此,有的时后你还会发现使用这两个执行档时,
会找到已经被杀掉的档案! 而且也找不到最新的刚刚建立的档案呢! 这就是因为这两个指令是由数据库
当中的结果去搜寻档案的所在啊!
另外,基本上 Linux 每天会针对 Linux 主机上所有档案的所在进行搜寻数据库的更新, 更新的程序就是
updatedb ,你可以在 FC4 系统的 /etc/cron.daily/slocate.cron 这个档案找到相关的机制呦!当然,
也可以直接使用 /usr/bin/updatedb 来更新数据库档案呢!

locate

find

鸟哥的Linux私房菜——第十一章的更多相关文章

  1. 鸟哥的linux私房菜——第五章学习(Linux的文件权限与目录配置)

    ******************第五章学习****************** 1.[重要的三个概念] 1).文件拥有者(使用者):User,该文件/文件夹只能我来读写: 2).群组:Group, ...

  2. 鸟哥的linux私房菜——第20章 启动流程、模块管理与loader

    20.1 Linux启动流程分析 Linux启动过程: 按下开机电源后计算机硬件主动读取BIOS来加载硬件信息以及硬件系统的自我测试,之后系统会主动读取第一个可启动的设备(由BIOS设置),此时就可以 ...

  3. 鸟哥的Linux私房菜——第十七章:Linux 账号与身份管理

    视频链接:http://www.bilibili.com/video/av10669732/ 1. Linux 的账号与群组1.1 使用者识别: UID 与 GID1.2 使用者账号:/etc/pas ...

  4. 鸟哥的linux私房菜 - 第三章 主机规划与磁盘分区

    各硬件装置在linux中的文件名 在linux系统中,每个装置都被当成一个档案来对待. 常见的装置与其在linux中的档名: 磁盘分区 磁盘链接的方式与装置文件名的关系 个人计算机常见的磁盘接口有两种 ...

  5. 鸟哥的linux私房菜——第十三章学习(Linux 帐号管理与 ACLL 权限设置)

    第十三章.Linux 帐号管理与 ACLL 权限设置 1.0).使用者识别码: UID 与 GID UID :User ID GID :group ID [root@study ~]# ll -d / ...

  6. 鸟哥的linux私房菜——第七章学习(Linux 磁盘与文件系统管理)

    1.1).文件系统特征 我们称呼一个可被挂载的数据为一个文件系统而不是一个分区! 文件系统通常会将这两部份的数据分别存放在不同的区块,权限与属性放置到 inode 中,至于实际数据则放置到 data ...

  7. 鸟哥的linux私房菜——第六章学习(Linux文件与目录管理)

    ******************第六章学习****************** 1.[文件与目录管理] 在所有目录下面都会存在的两个目录,分别是 "." 与 "..& ...

  8. 鸟哥的linux私房菜——第四章学习

    ******************第四章学习****************** [热键] 1.Tab键:命令补全:文件补全: 2.Ctrl+c:中断目前指令: 3.Ctrl+d:离开当前文本界面: ...

  9. 鸟哥的Linux私房菜第零章

    CPU从主存中读取数据通过微指令集控制和进行计算.主存储器内的数据则是从输入单元所传输进来,而CPU处理完毕的数据也必须要先写回主存储器中, 最后数据才从主存储器传输到输出单元.内存又称主存,是CPU ...

随机推荐

  1. Page结构

    SQL Server存储数据的基本单元是Page,每一个Page的大小是8KB,数据文件是由Page构成的.在同一个数据库上,每一个Page都有一个唯一的资源标识,标识符由三部分组成:db_id,fi ...

  2. Java类加载器学习笔记

    今后一段时间会全面读一下<深入理解Java虚拟机> 在这里先记一下在网上看到的几篇介绍 类加载器 的文章,等读到虚拟机类加载机制再详细介绍. 超详细Java中的ClassLoader详解 ...

  3. 7、Docker监控方案(cAdvisor+InfluxDB+Grafana)

    一.组件介绍 我们采用现在比较流行的cAdvisor+InfluxDB+Grafana组合进行Docker监控. 1.cAdvisor(数据采集) 开源软件cAdvisor(Container Adv ...

  4. android studio 下载 sdk 失败

    android studio 打开项目出现以下错误时,点击去安装,会提示"All packages are not available for download" 错误. 解决办法 ...

  5. Windows 10无法使用debug的解决方案

    在学习汇编语言的时候,XP系统或者更早版本的默认在Dos命令下敲入debug即可进入汇编指令模式下,而在Windows 7及更高版本下,这些功能似乎都被阉割了,所以今天我们讲带大家处理一下如何解决这个 ...

  6. Kubernetes调用vSphere vSAN做持久化存储

    参考 1.vSphere Storage for Kubernetes 2.IBM vSphere Cloud Provider 3.GitHub vSphere Volume examples 一. ...

  7. 11.5 Daily Scrum

    请把现在当成11月5日······   Today's tasks  Tomorrow's tasks 丁辛 餐厅列表数据结构设计 餐厅列表UI设计             李承晗           ...

  8. “数学口袋精灵”第二个Sprint计划(第四天)

    “数学口袋精灵”第二个Sprint计划----第四天进度 任务分配: 冯美欣:欢迎界面的背景音乐完善 吴舒婷:游戏界面的动作条,选择答案后的音效 林欢雯:代码算法设计 进度:   冯美欣:欢迎界面背景 ...

  9. Daily Scrum - 11/26

    Meeting Minutes 今天是Sprint 3第一天,任烁向我们交代了他那边的代码情况,他这两天回学校有点事,人千和章玮暂时先熟悉一下他写的那部分,正在试图将代码merge起来.重阳实现了进度 ...

  10. Linux命令(七)查找文件或目录 find

    find 命令可以根据给定的路劲和表达式查找指定的文件或目录.find 参数选项很多,并且支持正则表达式,功能强大. 和管道结合使用可以实现复杂的功能,是系统管理和普通用户必须掌握的命令. 一.fin ...