视频链接:

  土豆: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. idea ssm项目迁移到另一台机器上时出现不能正常启动项目的解决方案

    首先右下角提示关联spring文件,关联之,然后启动,发现项目无法启动,然后开始排错 首先从这个日志里发现了这么一条提示信息 然后百度了一下,答案都是说 web.xml 之类的 spring拦截器问题 ...

  2. java 自定义异常输出信息(使用构造器)

    throw new Exception("上传的脚本类型不匹配,当前只支持类unix系列的远程扫描,请上传后缀名为 .sh .pl 的脚本文件"); 这样就可以了,结合配置的异常信 ...

  3. 重新解读DDD领域驱动设计(一)

    回顾 十年前,还未踏入某校时,便听闻某学长一毕业就入职北京某公司,月薪过万.对于一个名不见经传的小学院,一毕业能拿到这个薪水还是非常厉害的.听闻他学生期间参与开发了一款股票软件,股票那时正迎来一波疯涨 ...

  4. GTK学习笔记————创建窗口

    创建gtk1.c文件 代码 #include <gtk/gtk.h> int main (int argc, char *argv[]) { GtkWidget *window; gtk_ ...

  5. Jenkins报表 代码 指标分析

    Jenkins报表 这表现在前面的章节中,也有可用最简单的一种是适用于 JUnit 测试报告的许多报表插件. 在生成后动作进行任何工作,你可以定义要创建的报告. 该构建已经完成,测试结果选项将可进一步 ...

  6. 关于T/G/M/K

    //扫盲贴 K, G, T,都是表数量,只是个数字,在不同的场合下表示的不同.在计算机行业中,这几个量可用来表示数据传输速度和容量,下面分别讨论,希望不了解的朋友不要被某知道上的误解了.如果有什么错误 ...

  7. 20135202闫佳歆--week3 跟踪分析Linux内核的启动过程--实验及总结

    实验三:跟踪分析Linux内核的启动过程 一.调试步骤如下: 使用gdb跟踪调试内核 qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd r ...

  8. python 图像处理(从安装Pillow开始)

    python2.x及以下用的是PIL(图像处理库是 PIL(Python Image Library)),最新版本是 1.1.7  可在http://www.pythonware.com/produc ...

  9. OVS 精确删除流表

    OVS 精确删除流表 前言 今天看了sdnlab小姐姐的mininet教程之后,看到有一个下流表的操作,优先级没能下成功,然后回来实验一下,这个问题是解决了,不过遇到了一个小问题,ovs如何精确删除流 ...

  10. sessionStorage & string typeof

    sessionStorage & string typeof