从这周开始学习老王的课程,老王第一周作业抽空补上。上班事情太多,时间零零碎碎,进度拉下一周多,抓紧时间追赶上大部队的步伐,已经39岁了,还能在一个初级网管的位置打杂多久,不能像单位那群北京人一样一个月四五千单位养老,趁着这个机会逼迫下自己,试试真的有没有机会脱离打杂的工作,发点牢骚!逐渐调整学习方式,白天上班见缝插针敲,晚上下班听视频,争取花大量时间在敲上,只有敲才有机会突破自己!
一、描述linux目录结构以及目录结构命名规定
(一)目录结构
整个Linux的文件和目录都是单根倒置的树结构,可以通过通过 ls / 查看到目录结构。
简化图如下
从上一篇博客中再扒一张过来,刚开始照抄照搬,慢慢的就能理解了。
(二)、目录结构命名规定
几乎所有的Linux版本都会遵循FHS(Filesystem Hierarchy Standard),中文翻译过来即为文件系统层次化标准。类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。
二、显示/etc目录下,所有以.d结尾的文件或目录
(一)ls命令学习和理解过程
1、先要清屏,一个命令执行下去,连带着上一个命令的执行信息,自己满屏看,到底哪里是哪里。清屏命令为clear,或者使用bash中的快捷键Ctrl+l(注意是英文大写字母L的小写字母,不是英文大写I,看走眼了,结果没清屏,SecureCRT参数里面到处找原因),顺手把老师说的bash快捷键挨个试下。
2、ls的理解过程
①、type ls得知这是别名,type可以查看该命令是否为内置命令,这里没说ls是内置的。
②、那么使用enable ls来判断,明确得知不是内置命令。既然是外部命令,使用ls --help 或者info ls 或者man ls来查询他的用法。满屏英文,参考老师的PPT上给出的示例,挨个查看解释,并敲上几遍。
③、-a, --all do not ignore entries strarting with . 直译为不忽略以点号开头的条目。在Linux中,点号开头的是隐藏文件或目录,也就是说这个参数是列出路径下所有的文件,包括隐私也得曝光。
④、 -l use a long listing format 直译为使用长格式清单。敲后结果看出来,把路径下文件或者目录的详细信息都显示出来了。
这些详细信息是:
第一行 :total 28指当前目录下所有文件所占用的空间总和
第二行:文件或目录详细信息
第1字段: 文件属性字段 -rw-r--r-- 共有10个字母组成:
第一个字符表示文件类型,有以下文件类型
-表示该文件是一个普通文件
d表示该文件是一个目录,字母"d",是dirtectory(目录)的缩写,注意:目录或者是特殊文件,这个特殊文件存放其他文件或目录的相关信息
b表示块设备文件(block),一般置于/dev目录下,设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件。没有文件大小,只有一个主设备号和一个辅设备号。一次传输数据为一整块的被称为块设备,如硬盘、光盘等。最小数据传输单位为一个数据块(通常一个数据块的大小为512字节)
c表示该文件是一个字符设备文件(character),一般置于/dev目录下,一次传输一个字节的设备被称为字符设备,如键盘、字符终端等,传输数据的最小单位为一个字节
p表示该文件为命令管道文件。与shell编程有关的文件
s表示该文件为sock文件。与shell编程有关的文件
l表示该文件是一个链接文件。字母"l"是link(链接)的缩写,类似于windows下的快捷方式。链接文件分为硬链接或符号链接两种:硬链接:多个指向同一文件。硬链接文件大小完全相同,如有多个硬链接,所链接的文件只是一个文件大小。同一个文件所有的文件都是等价的,操作系统不区分链接创建的先后顺序,若一个文件存在两个链接,那么除去一个文件还可以通过另外一个文件来访问该文件,也可以除去创建链接时用到的文件,但只要还有一个链接存在,就可通过该连接访问文件。符号链接(软链接):建立一个独立的文件,这个文件会让数据的读取指向它链接的文件内容。类似windows快捷方式。
后面9个字母表示该文件或目录的权限位:
r表是读 (Read) 、w表示写(Write) 、x表示执行 (eXecute)
前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。
第2字段:文件硬链接数
第3字段:文件(目录)拥有者,该字段表示该文件拥有者是谁。只有文件的拥有者才具有改动文件属性的权利。root具有改动任何文件属性的权利。对于目录,只有拥有该目录的用户,或者具有写权限的用户才有在目录下创建文件的权利。
第4字段:文件(目录)拥有者所在的组
第5字段: 文件所占用的空间(以字节为单位),如果是目录,表示该目录大小。注意是目录本身大小,而非目录及其下面的文件的总大小。
第6字段:文件(目录)最近访问(修改)时间
第7字段:文件名,如果是符号链接,会有"->"符号,跟着它指向的文件名
(二)、ls 命令剩下的参数学习过程就不一一列举了,我觉得敲应该在学习过程中占大头,同时按照马哥所说的5W1H的总结思路来学习,是可以学会的。
三、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
四、创建/app/rootdir目录,并复制/root下所有文件到该目录内, 要求保留原有权限
五、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
六、总结用户、用户组管理命令并演示命令以及常见用法
(一)、用户管理命令
1、useradd 命令用于创建新的用户,格式为“useradd [选项] 用户名”。
参数作用
-d 指定用户的家目录(默认为/home/username)
-e 账户的到期时间,格式为YYYY-MM-DD.
-u 指定该用户的默认UID
-g 指定一个初始的用户基本组(必须已存在)
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的基本用户组
-s 指定该用户的默认Shell解释器
2. groupadd命令用于创建用户组,格式为“groupadd[选项]群组名”。
3. usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”。
参数作用
-c 填写用户账户的备注信息
-d -m 参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去
-e 账户的到期时间,格式为YYYY-MM-DD
-g 变更所属用户组
-G 变更扩展用户组
-L 锁定用户禁止其登录系统
-U 解锁用户,允许其登录系统
-s 变更默认终端
-u 修改用户的UID
4. passwd命令用于修改用户密码、过期时间、认证信息等,格式为“passwd[选项][用户名]”。普通用户只能使用passwd命令修改自身的系统密码,而root管理员则有权限修改其他所有人的密码。
参数作用
-l锁定用户,禁止其登录
-u解除锁定,允许用户登录
--stdin允许通过标准输入修改用户密码
-d使该用户可用空密码登录系统
-e强制用户在下次登录时修改密码
-S显示用户的密码是否被锁定,以及密码所采用的加密算法名称
5. userdel命令用于删除用户,格式为“userdel[选项]用户名”。
参数作用
-f强制删除用户
-r同时删除用户及用户家目录
七、文件权限,属主属组管理命令有哪些,并演示命令以及用法
(一)chmod命令用来变更文件或目录的权限。 格式为chmod [选项] 文件名...
文件有三类用户:
u :属主
g :属组
o :其他
还可以一揽子用 a :所有
授权表示法:直接操作一类用户的一个权限位r,w,x;
u+, u-
g+, g-
o+, o-
a+, a-
例如:chmod u+x,g+w 文件名
注意事项:用户仅能修改属主为自己的那些文件的权限;
(二)chown 命令用于改变某个文件或目录的所有者和所属的组。 格式为:chown [选项] 用户 文件名...
选项:-R:递归修改
(三) chgrp 命令用于改变文件或目录所属的用户组。 格式为:chgrp [选项] 组 文件名...
注意:仅管理员可修改文件的属主和属组