鸟哥Linux私房菜知识点总结6到7章

近期翻看了一本《鸟哥的Linux私房菜》。这是一本基础的书,万丈高楼平地起。会的不多但能够学。这是我整理的一些知识点。尽管非常基础。希望和大家共同交流。

第6章主机规划与磁盘分区

1、在进行团队开发资源时,用户组是非常实用的一个功能。

2、Linux文件属性

如:-rw-r--r--

第一个字符代表这个文件时文件夹[d]。文件[-]或链接文件[I]

接下来的三个字符代表文件全部者的权限

再接下来的三个字符代表所属组的权限

最后三个字符代表其它人的权限

3、改变文件属性和权限:

chgrp:改变文件所属用户组

chown:改变文件全部者

chmod:改变文件权限

4、文件复制

cp 源文件 目标文件(注:复制行为cp会复制运行者的属性和权限)

5、你有r权限并不能说明就具有进入该文件夹的权限,能不能进入某一个文件夹。仅仅与该文件夹的x  权限有关。

6、要开放文件夹给不论什么人浏览时,至少应该给r和x的权限,但w权限不能轻易交出。

7、新建文件夹命令:mkdir

新建空文件命令:touch

8、.html文件可使用网页浏览器来直接开启,.php文件。可通过client的浏览器来服务端浏览,以得到运算后的网页结果

9、/var文件夹主要针对常态性变动的文件,包含缓存,登陆文件,程序文件,Mysql数据库文件

10、SELinux是Linux重要外挂,它能够用来作为详细权限的管理,针对逻辑程序的訪问权限的限制。

^(* ̄(oo) ̄)^

第7章Linux文件与文件夹管理

一、经常使用的处理文件夹的命令

1、cd:切换文件夹

2、pwd:显示当前文件夹

想要知道当前所在文件夹,直接输入pwd就可以

3、mkdir:新建一个新的文件夹

mkdir -p test1/test2/test3/test4  使用-p这个牛X。能够自行创建多层文件夹

mkdir -m 711 test 新建权限为rwx--x--x的文件夹

4、rmdir:删除一个空的文件夹

rmdir -r test 可删除test以下的全部文件夹

二、关于运行路径的变量:$Path

echo $Path 使用root的身份列出查询的路径

三、查看文件和文件夹

ls -al ~ 将主目录的全部文件列出来(含属性和隐藏)

Ls -alF --color=never~ 不显示颜色,但在文件名称末显示出该文件名称代表的类型

Ls -al --full-time ~ 完整呈现文件的改动时间

四、复制,删除和移动

1、cp:拷贝文件或文件夹

cp复制时默认的目的文件全部者是命令的运行者。就是谁运行的,老大归谁

因此比如password文件或配置文件,就不能直接用cp,必须加上-a或-p能够完整拷贝文件权限的參数才行。

能够利用cp -a /etc /tmp 来进行文件备份。

2、rm:移除文件或文件夹

-f  不会出现警告信息

-i  删除前会问一下(想起个笑话,说比尔盖茨家的马桶按一下都有提示,确定冲厕吗)

-r  递归删除(由于非常吊,所以非常危急!!)

rm -i bashrc* 删掉全部以bashrc开头的文件

3、mv:移动文件与文件夹或更名

-f  若目标文件已存在,直接覆盖

-i  会问你一下

-u  目标文件已存在,而且source更新。才林更新。

五、获得路径文件名称和文件夹名称

basename  获得最后的文件名称

dirname  获得文件夹名

六、文件内容查询

1、cat 由第一行開始显示内容

-A 列出特别字符,而非空白

-b 列出行号,空白不显示行号

-n 列出行号,空白显示行号

2、nl  显示时顺便输出行号

3、More 一页一页显示

Space 向下翻一页

Enter 向下滚动一行

搜索字符串功能:

输入/ xxx ,然后按n进行查询即可了

4、Od  以二进制的方式读取文件内容

5、数据选取head,tail

①Head number 文件 取出第number行

②持续显示/TEST内容(更新马上显示)
taiel -f /test

③想要显示/test第11行到第20行

Head -n 20 /test | tail -n 10

七、改动文件时间或创建新文件 touch

1、mtime  文件内容更改 -m

ctime  文件状态(权限和属性)更改 -c

atime  文件内容被取用 -a

2、将/test文件日期改为两天前

touch -d “2 days ago” /test

3、将/test时间改为2007/09/15 2:02

touch -t 0709150202 /test

八、文件与文件夹的默认权限与隐藏权限

1、文件默认权限umask

①用户在新建文件或文件夹时候的权限默认值

②用户创建文件默认无x权限。因此最大值为666

③用户创建文件夹默认权限全开,因此最大值为777

④umask的分数是指该默认值须要减掉的权限

2、文件隐藏属性chattr,lsattr

①chattr [+-=][属性] 文件或文件夹名称

+  添加某一个特殊属性

- 降低某一个特殊属性

=  仅有后面接的參数

A 当设置这个属性,当訪问文件时,她的atime不会改变,可避免I/O较慢的及 其过度訪问磁盘。

S 当进行不论什么文件修改,修改会”同步”写入磁盘中。

a 设置文件仅仅能添加数据,不能删除和改动,仅仅有root能够

i   该文件不能被删除。改名,设置连接也无法写入或加入数据,对系统安全性有 帮助啊,仅仅有root能够设置此属性

s 若文件被删除,则就会被全然从磁盘中over了

u 若文件被删除。数据内容还存在磁盘,能够被找回

3、文件的特殊权限:SUID ,SGID ,SBIT

^(* ̄(oo) ̄)^   回头再研究这块,有点小迷糊

若果将A文件夹加上了SBIT的权限项目时。则甲仅仅可以针对自己创建的文件或目 录进行删除,重命名,移动等操作,而无法删除他人的文件

②4 为SUID

2  为SGID

1  为SBIT

如用chmod 4775 filename

③当然也可用符号

SUID为  u+s

SGID为   g+s

SBIT为   o+t

④文件具有SUID时。代表当用户运行此二进制程序时,在运行过程中用户会临时具有程序全部者权限。

⑤文件夹具有SGID时,代表用户在这个文件夹下创建的文件用户组都会与该文件夹的用户组名称同样。

⑥文件夹具有SBIT时。代表在该文件夹下用户创建的文件仅仅有自己与root能删。

4、查看文件类型file

file /test

九、命令与文件的查询

1、脚本文件名称的查询

which(寻找”运行文件”)

2、文件名称的查找

①whereis与locate利用数据库来查找数据,并没有实际查询硬盘比較节省时间。

②Linux系统会将系统内的全部文件都记录在一个数据库文件里面

3、Find

这个比較霸道。有老多种參数了。

①与时间有关:-atime,-ctime,-mtime

Eg:将3天前文件有修改的都列出来
find / -time 3

寻找test下文件将文件日期比test1早的列出来
find /test -newer /tset1

②与用户或用户组名有关的參数:

这块就写两个小样例即可了。

Eg:查找/home以下属于vbird的文件

find /home -user vbird

查找系统中不属于不论什么人的文件

find / -nouser

③与文件权限及名称有关的參数:

-size [+-]SIZE 查找大于或小于某个SIZE的文件

-type TYPE     查找某个类型文件:一般正规文件(f)、设备文件(b,c)、文件夹(d)、 连
接文件(l)、socket(s)、FIFO(p)属性

-perm mode 文件权限刚好等于XXX的文件

-perm -mode 文件权限必需要包含mode的权限

-perm +mode 包括任一mode权限

**重点:在/etc下查找文件名称包括.cpp的文件

find /etc -name  ‘*.cpp’

十、权限与命令间的关系

1、让用户能进入某文件夹成为工作文件夹的权限:

文件夹所需权限:用户对此文件夹至少x权限

额外需求:想用ls的话,还要有r权限

2、用户在某个文件夹内读取文件的基本权限:

文件夹所需权限:用户对此文件夹至少x权限

文件所需权限:用户对文件至少有r权限

3、让用户可改动一个文件的基本权限:

文件夹所需权限:用户对此文件夹至少x权限

文件所需权限:用户对文件至少有r、w权限

4、用户在某个文件夹内创建文件的基本权限:

文件夹所需权限:用户对此文件夹至少w、x权限

5、用户进入文件夹内并运行文件的基本权限:

文件夹所需权限:用户对此文件夹至少x权限

文件所需权限:用户对文件至少有x权限

十一、情景模拟题:

情景:有两个账户alex与arod,两人除了自己用户组外还共同支持一个名为project的用户组,如果两个用户须要共有/srv/ahome文件夹开发权,且该文件夹不许其它人进行查阅。。。

解答:

1、制作两个账户的相关数据

groupadd project 天剑新的用户组

useradd -G project alex 新建alex账号,且支持project

useradd -G project alex 新建alex账号,且支持project

id alex 查阅alex账号属性

2、新建须要开发的项目文件夹

mkdir /srv/home

ll -d /srv/ahome

3、给权限。用户组应为project

chgrp project /srv/ahome

chmod 770 /srv/ahome

ll -d /srv/ahome

4、增加SGID 权限

chmod 2770 /srv/ahome

 最后是我喜欢的一句话:

每一个人都有一双翅膀。有的人长在脚上,有的人长在手上。有的人长在头上,有的人长在心上。翅膀长在哪里,你的天赋就在哪里

上一篇:PHP中超全局变量$GLOBALS和global的区别


下一篇:Opencv step by step - ROI