2018-7-28 直播课堂笔记
现在有了直播课,感觉一下子又上课了。因为这是星期六的课程,老师今天讲的内容主要是串讲,一个小时 也一下子就过去了。
刚开始还是讲到了大家的笔记,这个一直是重点,怎么样才能高效率的笔记 这可能是我们第一阶段比较重要的一个重心,笔记即要记得清楚完全一看就明了,还要漂亮,排版也是非常关键,这里提到一个markdown很多博客都是用的这个编辑器,这个如果熟练掌握对我们的笔记也是非常重要的,有时间一定要学学这个语法。
- 系统目录结构有很多要记住主要的几个: /bin /sbin /usr /tmp /etc /home /var
- which 这个命令这里主要是讲到 一个绝对路径和相对路径还有一个PATH(环境变量)
- ls命令 list 这里一共列出7段需要非常熟悉,还有几个参数 –i -h –t inode
- alisa 别名,其实我们很多命令都有别名 ls cp rm 这个主要是方便我们一些经常用到的命令不要每次都记这么长的路径,用一个简单好记的英文别名一下就可以。
- 文件类型 –b - -s -l ,这里提供一个好的网址非常全面的介绍了linux文件系统
- http://www.apelearn.com/study_v2/linux_dir_tree.jpg
- cd 命令 这个是一个基本命令,用得非常多,也比较简单(cd. cd.. cd- )
- histroy记录历史命令 !命令 (从history中找到最后一次该命令的执行)
- mkdir rmdir 创建目录 删除目录
- touch 创建文件 rm (-r –rf )这个命令也用得非常多。删除文件
- cp 复制文件或目录 mv复制文件或目录可以重名命
- 文档查看cat/more/less/head/tail Cat一般查看小文件 cat –n 给文件加上行号,more和less一般查看大文件,more会自动退出,less需要按“q”退出。head查看文件前10行数据 tail查看后10行数据(经常用于查看日志文件)
- 文件和目录权限 chmod 目录一定要有“x”权限,要不然就没有什么意义。
- 更换文件所有者和所属组chown umask
- 隐藏权限lsattr chattr 常用“a”这个可以追加内容,不能删除。“i”文件不能删除、重命名、设定连接、写入与新增数据
- 扩展内容了解 facl这个权限。
2.17 隐藏权限lsattr/chattr
2.18 特殊权限set_uid
2.19 特殊权限set_gid
2.20 特殊权限stick_bit
2.21 软链接文件
2.22 硬连接文件
2.23/2.24/2.25 find命令
2.26 文件名后缀
2.27linux和windows互传文件
2.17我们一般说的文件都是普通文件权限,其实linux还有一些特殊权限
chattr(change attribute)的格式为:chattr [+-=][Asaci][文件或目录名]
A | 增加该属性后,表示文件或目录的atime将不可修改 |
s | 增加该属性后,会将数据同步写入磁盘中 |
a | 增加该属性后,表示只能追加不能删除,非root用户不能设定该属性。 |
c | 增加该属性后,表示自动压缩该文件,读取时会自动解压. |
i | 增加该属性后,表示文件不能删除、重命名、设定链接、写入以及新增数据。 |
2.17.1下面我们看一下具体的操作情况,先给文件增加“a”属性后,不能删除,但可以追加数据
如果取消相关权限只要这样操作:
2.17.2 来看一下加了“i”属性后,是不是不能删除,不能重命名、设定链接、写入以及新增数据。
2.18 特殊权限set_uid
这里我们还是以实际例子来解释会比较清楚:
我们先新建一个用户 user 普通用户用touch创建文件是这样的权限
下面我们给touch设置set_uid权限
我们再由user1创建一个文件再看这个文件的权限
这就是set_uid作用,让user1临时有root的权限。
2.19 特殊权限set_gid
set_gid作用在文件上是和set_uid是一样的效果,我们这里就不举例了,这里我们列一个目录set_gid的例子:
如果user普通用户创建目录是这样的:
下面我们给这个目录设置set_gid权限
我们再一次在该目录下去创建文件,发现下面创建的文件同样属于root组这就是set_gid
2.20 特殊权限stick_bit
这个我们了解一下/tmp/这里就设置了防删除位
set uid | 该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限。 |
set gid | 该权限可以作用在文件上,也可以作用在目录上。作用在文件上和set uid一样,作用在目录上,任何用户在目录下创建的文件都具有和该目录所属的组相同的组。 |
sticky bit | 防删除位。(只对目录有效。当一个目录被设置了SBIT以后,只有文件所有这和root用户可以更改删除该文件,其他用户只读) |
2.21 软链接文件
相当于会把读取的行为转发到该文件所链接的文件上。
格式一般为:
ln[-s][来源文件][目标文件]
如果不加“-s”那就是建立软链接
2.22 硬链接文件
直接再建立一个inode链接到文件放置的块区域,进行硬链接时文件内容没有任何变化,只是增加了一个指向改inode的文件,并不会另外占用磁盘空间。
硬链接有两个限制:
1.不能跨文件分区 |
2.不能链接目录 |
这里我利用别人的一张图对比看一下这两个的区别:
硬连接
多个档名对应同一个inode,硬链接只是在某个目录下新增一笔档名链 接到某个inode号码的关联记录而已。
如果将上图中任何一个档名删除,档案的inode与block都还存在,依然还可以通过另一个档名来读取正确的档 案数据。
此外,不论用哪一个档名来编辑,最终的结果都会写入相同的inode和block中,因此均能进行数据的修改。
软链接
软连接就是建立一个独立的文件,而这个文件会让数据的读取指向它link的那个档案的档名,
由于只是作为指向的动作,所以当来源档案被删除之后,软连接的档案无法开启,因为找不到原始档名。
连结档的内容只有档名,根据档名链接到正确的目录进一步取得目标档案的inode,
最终就能够读取到正确的数据。如果目标档案的原始档名被删除了那么整个环节就进行不下去了。
2.23/2.24/2.25 find命令
a.1这个命令是非常重要并且也是用的比较多的一个命令,我们先看一下参数
-H | 只跟随命令行中指定的符号连接 |
-L | 跟随所有的符号连接 |
-p | 默认的选项,表示不跟随符号连接 |
a.2一般我们会用到以下几种比较多:
a.2.1根据名称查找
用法:find -name filename
find -iname filename(不区分名称字母大小写)
2.2.2 按文件类型进行查找:
- | 这个就是表示普通文件 |
d | 这个是表示目录 |
b | 这个一般是表示块设备 |
c | 这个是表示字符设备 |
l | 这个是链接文件 |
s | 这个一般是通信文件 |
p | 这个是管道文件 |
用法:find -type filetype
2.2.3 按文件从属关系查找
用法:find . -user root
2.2.4 按文件大小查找
用法:find . -size +10K
2.2.5 按时间查找
atime(文件的最后访问时间) |
-atime以天为单位[+/-] -amin以分为单位[+/-] |
mtime(文件的最后修改时间) | -mtime以天为单位[+/-] -mmin以分为单位[+/-] |
ctime(文件最后改变时间)三个变量来查询 | -ctime以天为单位[+/-] -cmin以分为单位[+/-] |
2.2.6按权限查找
用法:find . -perm 775
2.26 文件名后缀
这个对于我们经常接触windows的人来说,这个应该非常敏感。但是linux中没有这么严格要求一般只有这几种我们是这样定义
.sh | 这代表是一个shell脚本 |
.gz | 代表它是一个压缩包 |
.cnf | 表示是一个配置文件 |
.zip | 一般是一个压缩文件 |
2.27linux和windows互传文件
yum install -y lrzsz
//linux与windows互传文件需要在linux上yum安装lrzsz
sz 文件名 //linux往windows传文件
rz 回车,选择文件 //windows往linux 传文件,传到当前目录