第三周课堂笔记

day9 3.11文本过滤工具和重定向

grep 文本过滤工具
-v 排除,取反
-n 给过滤后的内容加行号
-E 使用扩展的egrep命令
-i 不区分大小写

重定向

追加重定向
“-”普通文件(regular file)
创建:touch vim echo cat
拷贝、移动:cp mv
删除:rm
普通文件的三种类型:
1、纯文本文件:
2、数据文件:存放命令收集的信息。
3、二进制文件:可执行的命令。
“d”目录文件(directory)
生成:mkdir -p
复制:cp -a/-r
删除:rm -rf
区分:a.开头为d
b.颜色为蓝色
c.ls -p:目录结尾加斜线 斜线结尾

3.12休息

day10 3.13

1)重点命令:vi/vim/echo/cat/more/less/head/tail/grep/tr
2)普通命令:alias/unalias
3)重要知识:拷贝直接覆盖知识、多行文本追加知识、重定向符号知识*****

文件属性:文件的大小 时间 类型 权限 属主
索引节点:文件的唯一标识
身份证: 人的唯一标识
进程号: 进程的唯一标识

[root@oldboyedu ~]# ls -lhi
total 24K
33631870 -rw-r--r--. 1 root root 4 Mar 13 11:29 a.txt
33631871 -rw-r--r--. 1 root root 30 Mar 13 11:28 b.txt
16777289 drwxr-xr-x. 2 root root 64 Mar 7 11:57 data1
33631866 -rw-r--r--. 1 root root 712 Mar 11 15:58 grep.txt
33631863 -rw-r--r--. 1 root root 12 Mar 13 11:23 oldboy.txt
16964029 drwxr-xr-x. 2 root root 6 Mar 7 10:56 test
33631865 -rw-r--r--. 1 root root 24 Mar 13 11:46 test.txt
33631864 -rw-r--r--. 1 root root 54 Mar 13 10:26 test.txt.ori
1 2 3 4 5 6 7 8 9 10
共10列
第一列:inode索引节点编号(相当于人的身份证、家庭住址,全国唯一);
系统读取文件时首先通过文件名找到inode号码,然后才能读取到文件内容。
第二列:文件类型及权限。这一列共11个字符,
其中第一个字符为文件类型,
随后的9个字符为文件的对应权限,
最后一个字符点号“.”是和selinux有关的一个标识;

第三列: 硬连接数
第四列: 属主:文件的拥有者,用户
第五列: 属组:文件属于的组,用户组
第六列: 大小
第七列: 月份
第八列: 日
第九列: 时间
第十列: 文件名

老男孩思想:学习的时候重视过程,工作的时候重视结果。

第二列第一个字符:文件类型
一切皆文件。Windows用扩展名区分文件,Linux里有自己的文件类型,Linux的里扩展名
兼容windows方便区分文件。
1.- 普通文件(regular file)
图片 视频 文档 都是文件
创建:touch vim echo cat
拷贝、移动:cp、mv
删除:rm
三种类型:
a.纯文本文件:字符数字等内容
b.数据文件:存放命令收集的信息。
c.二进制文件:可执行的命令。
[root@oldboyedu ~]# file d.txt
d.txt: ASCII text
[root@oldboyedu ~]# file /var/log/lastlog
/var/log/lastlog: data
[root@oldboyedu ~]# file /bin/cat
/bin/cat: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=8ac8b57ae50762a4a0480486839107e87b3c284d, stripped

2.d 目录(directory)
生成: mkdir -p
复制:cp -a/-r
删除: rm -fr
区分:
a.开头为d
b.颜色为蓝色
c.ls -p,目录结尾加斜线,斜线结尾

day11 3.14

符号链接(symbolic link)文件,软链接(soft link)

快捷方式:
ln -s
rm

4.字符(character)/块(block)设备文件
以c开头的就是字符设备,猫等串口设备
以b开头的就是块设备 硬盘、光驱等都属于块设备
mknod

5.套接口(socket)文件
以s开头
.sock文件也是一类特殊的文件,这类文件通常用在网络之间,进行数据连接,如:我们可以启动一个程序来监听客户端的请求,客户端可以通过套接字来进行数据通信。
用于进程之间通信的文件。

[root@oldboyedu ~]# which cp
alias cp='cp -i'
/usr/bin/cp
[root@oldboyedu ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@oldboyedu ~]# which ip
/usr/sbin/ip

重点:
PATH 变量作用
命令行执行命令会从PATH 对应的路径中查找命令,
PATH 对应的路径中没有这个命令就会报command not found
whereis:显示命令、源码、说明文档等的路径

day12 3.15

用户:管理Linux系统而存在的。
用户一般分为用户名和用户ID(Identify)
相当于我们的名字和身份证,名字和学号。
用户名方便管理员使用,用户ID是唯一区别一个用户(计算机只识别ID)
user UID
Linux里所有的用户和进程都要有用户对应。
文件存在必须对应用户
进程运行必须应用用户

Linux用户分三类:
1、超级管理员 root
权限堪称皇帝。UID为0,换句话UID为0的都有皇帝对应的权限。
[root@oldboyedu ~]# id root
uid=0(root) gid=0(root) groups=0(root)
[root@oldboyedu ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@oldboyedu ~]# whoami
root
不要修改ID为0变管理员。
作业:root密码丢失了如何找回来? 锻炼自学能力。
下节课小组找人来前面讲。

2、虚拟用户(傀儡)
实际存在的用户,但是又不允许它登录。
价值何在?
满足文件或进程运行属主的要求。但是又不会带来管理风险。
UID 1-499

3、普通用户
实际存在的用户,又允许它登录。管理员身份创建的,帮助管理员管理系统的。
大臣、臣民一起管理。
权限仅仅限制家目录,在一些系统级目录可以读不可以写,不可以进入/root目录。
UID C7 1000起步 C6 500起步
[root@oldboyedu ~]# useradd oldgirl

用户组:集合、组织
人的家庭、老男孩58期

Linux里每个用户都必须要有一个组织,这个组织就叫做用户组
用户组也是给人看,用户组也有唯一标识,Group ID 简称GID
默认情况创建用户,并没有创建用户组啊,它会自动创建一个
和用户名相同的用户组以及相同的GID。
[root@oldboyedu ~]# id oldgirl
uid=1001(oldgirl) gid=1001(oldgirl) groups=1001(oldgirl)

用户和用户组的对应关系
1、1对1
2、1对多个用户组
3、多个用户对应一个用户组
4、多对多
文件权限:严格的权限,Linux安全权限严格。
rwxr-xr-x
9个字符
r read 可读取 4
w write 可写 2
x execute 可执行 1

  • 没有权限 0

字符分组:3个字符是一组
d rwx r-x r-x . 2 root root 6 Mar 13 2019 test
用户权限 用户组权限 其他权限

789列:文件的最后修改时间
文件时间有三种:
修改时间:modify,文件内容被改过之后的时间。
访问时间:access,文件内容被访问过的时间。
变化时间:change,文件属性发生改变的时间。
ls参数:
-t modify,文件内容被改过之后的时间。
-c change,文件属性发生改变的时间。
-a access,文件内容被访问过的时间。

[root@oldboyedu /data]# ls -lhi
total 12K
33631841 -rw-r--r--. 1 root root 0 Oct 1 00:19 1.txt

第一列:
表现形式是数字 33631841 叫做文件的索引节点(Index Node)
类似人的身份证,索引节点是文件在系统中的唯一标识。
找一个文件最终都要通过索引节点才能找到
索引节点的概念出在ext文件系统中(ext2 ext4 ext3).

索引节点是硬盘上的一块存储空间。大小256字节或512字节。

索引节点里存放是数据是文件的属性(大小、时间、用户和组、权限等)都
在索引节点里,唯独不包含文件名(文件名在上级目录的block里)。

磁盘要想使用,先分区,格式化(创建文件系统)。
格式化创建文件系统时,就会生成大量的inode和block。
inode作用存储文件的属性信息,同时存放指向文件实体(block)的指针(类似软链接)
block作用是存放文件内容的(大片)。

Block叫做磁盘块,是用来存放实际数据的实体单元(ext文件系统一般最大为4KB),即用来真正存放数据,例如:照片、视频等普通文件数据,单个大的文件需要占用多个Block块来存储,
特别小的单个文件如果不能占满整个Block块,剩余的空间也无法在利用。

一个Block最多只能存一个文件的内容,一个block 4K,放了0.1K文件,剩3.9K浪费了。
磁盘满原因有两种:
1、inode满了。
2、block满了。

提示:
no space left on device 报错,没有空间在设备上了。
磁盘满了。
[root@oldboyedu /]# cd /app/logs/
[root@oldboyedu /app/logs]# touch {1..100}.txt
touch: cannot touch ‘6.txt’: No space left on device
touch: cannot touch ‘7.txt’: No space left on device

检查步骤:
步骤1:df -h
步骤2: df -i 看是不是inode满了

为什么inode会满?
小文件太多
初始化时候 block数量远大于inode数量。
一个文件大片 占一个inode,10万个block。
[root@oldboyedu /app/logs]# cp /bin/cat ddd
[root@oldboyedu /app/logs]# cp /bin/cat dddd
cp: error writing ‘dddd’: No space left on device
cp: failed to extend ‘dddd’: No space left on device
文件满了。

你可能感兴趣的:(第三周课堂笔记)