第二周知识重点总结

文件系统和目录结构

image.png

cat /etc/centos-release 打印centos的系统版本

文件系统结构

/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
/bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home/USERNAME:普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置

b: block device,随机访问
c: character device,线性访问

/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置

/usr: universal shared, read-only data

bin: 保证系统拥有完整功能而提供的应用程序
sbin:
lib:32位使用
lib64:只存在64位系统
include: C程序的头文件(header files)
share:结构化独立的数据,例如doc, man等
local:第三方应用程序的安装位置
bin, sbin, lib, lib64, etc, share

/var: variable data files

cache: 应用程序缓存数据目录
lib: 应用程序状态信息数据
local:专用于为/usr/local下的应用程序存储可变数据
lock: 锁文件
log: 日志目录及文件
opt: 专用于为/opt下的应用程序存储可变数据
run: 运行中的进程相关数据,通常用于存储进程pid文件
spool: 应用程序数据池
tmp: 保存系统两次重启之间产生的临时数据

/proc: 用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置

LINUX的文件类型

image.png

绝对和相对路径

工作中尽量使用相对路径


2文件管理和通配符.avi_20190722_201219.508.jpg

pwd 打印当前工作目录
cd 切换目录
cd - 回到上次的目录
df 查看磁盘各分区情况
df -i 查看各分区节点情况
ls 常用选项
ls -a 包含隐藏文件
ls -l 显示额外信息
ls -R 目录递归
ls -ld 显示目录本身信息
stat xx 显示文件状态信息
atime 读时间 (读取间隔时间短暂,atime不变)
mtime 文件内容变更时间
ctime 文件状态更改时间(例如文件的所有者,权限)
echo '- - - ' > /sys/class/scsi_host/host2/scan 扫描硬盘
echo '- - - ' > /sys/class/scsi_host/host0/scan 扫描硬盘
touch 新建普通文件 如果文件存在 则刷新文件时间
根据后缀显示文件颜色的配置文件 /etc/DIR_COLORS
dd if=/dev/zero of=/data/zerofile bs=1 count=1
从/dev/zero里面读数据 写入到/data/zerofile里面
bs=1 一块一个字节 count=1 写一次
basename /etc/profile.d/env.sh =env.sh
dirname /etc/profile.d/env.sh = /etc/profile.d
mknod 创建设备文件
mknod /data/disk b 8 0
/data/disk是名称 b是类型 8是类型编号 0是第几号
mkfifo xx 创建管道文件
nc -UL xx 创建socket文件

通配符

2文件管理和通配符.avi_20190722_202514.932.jpg

2文件管理和通配符.avi_20190722_203846.592.jpg

[[:lower:]] 表示一个小写字母
ls .* -d 加-d是指只查看当前目录的隐藏文件
查看-a这种文件 ./-a

[a-e] = a A b B c C d D e
echo {0..5} =1,2,3,4,5

2文件管理和通配符.avi_20190723_090858.799.jpg

星号在通配符和正则表达式中有其不一样的地方,在通配符中可以匹配任意的0个或多个字符,而在正则表达式中他是重复之前的一个或者多个字符,不能独立使用的。比如通配符可以用来匹配任意字符,而正则表达式不行,他只匹配任意长度的前面的字符。

注意通配符里的星号是不包括“点”的

1 ls /var/l[0-9][[:lower:]]
2 ls /etc/[0-9]
[^0-9]
3 ls /etc/[^a-Z][[:lower:]]*
4 ls /etc/rc/[0-6]*
5 ls /etc/.conf
6 ls /etc/[mnrp]
.conf
7 ls /root/.* -d
8 ls /etc/*/ -d
小技巧 只显示目录 记得加/

CP

image.png
3文件常见的管理命令.avi_20190723_110031.972.jpg

cp -a 备份很常用

cp -d 只复制软连接文件本身

cp -v 显示拷贝的过程

echo {a..z} a,b,c,d,e,f,g...z
echo f{1,2,3}.{log,txt}
这种很常用
f1.log f1.txt f2.log f2.txt f3.log f3.txt

image.png

1 cp -av /etc/ /data/backupdata +%F (等价于反引号date +%F反引号)

cp -u 只复制src比dest更新的文件
cp xx xx --backup=numbered 对文件备份多次的设置编号
mv 移动

3文件常见的管理命令.avi_20190723_140459.196.jpg

rm 删除
3文件常见的管理命令.avi_20190723_140629.542.jpg

工作中一般用mv 代替 rm

目录相关命令

4文件管理命令和节点表结构.avi_20190723_141119.464.jpg
4文件管理命令和节点表结构.avi_20190723_141815.300.jpg

1 mkdir -p testdir/dir1/{x,y}/{a,b}
2mkdir -p testdir/dir2/{x/{a,b},y}
3 mkdir -p testdir/{dir3,dir4,dir5/{dir6,dir7}}

索引节点

df -i 查看磁盘各分区节点的利用率
每个分区都有自己的节点编号
节点表存放文件的元数据
每创建一个文件都消耗一个节点编号
节点编号用光,即使有空间,也不能创建文件
目录也是文件,根据目录节点表找到对应的数据块
目录数据块里存放文件名和文件对应的inode号码
根据文件inode号码找到文件节点表,进而找到文件的数据块(文件的真正内容)
删除一个文件,先把目录数据块里的文件名和对应的inode号码删除,然后删除文件的节点表,但是文件的数据块没有被立即清空,只是被标识为空闲状态,直到有数据使用这块空间
cp /etc/fstab / /data/fstab.bak 底层做了什么?
首先在/data 分区分配一个节点编号 然后把文件的
元数据(权限,大小等)写入节点表,找一块
磁盘空间存放文件内容,并且把节点表里的指针指向这块磁盘空间
在/data目录里增加一条文件名和节点编号的记录
然后把此记录和目录关联起来,最终完成创建

image.png

INODE表结构


image.png

ext系列的文件系统工作过程

4文件管理命令和节点表结构.avi_20190723_194505.286.jpg
image.png
image.png
image.png
image.png

image.png
image.png

硬链接

image.png

软连接/符号链接

image.png
image.png
image.png

假设 数据库下有个大文件 想要删除它,但是由于
这个文件太大占用太多的数据块,一旦删除,需要
把每个数据块标记为空闲状态,而此时服务器压力过大可能造成死机。所以解决办法是对此文件创建一个硬链接,即使删除数据库文件,因为还有另外的文件使用数据块,所以,数据块不会删除。不会造成服务器压力过大,同时也删除了数据库文件。

新磁盘使用

image.png
image.png

vim编辑器

注意:vim编辑文件时,有时误操作会出现生成.swp文件,需要把该隐藏文件删除后,才可正常编辑

image.png
image.png
image.png
1文本编译工具VIM详解.avi_20190724_192954.870.jpg

模式转换

1文本编译工具VIM详解.avi_20190724_193204.057.jpg

关闭文件

1文本编译工具VIM详解.avi_20190724_193336.157.jpg

扩展命令

image.png
image.png

命令模式

image.png

翻屏

image.png

字符编辑

image.png

删除

image.png

复制

image.png

粘贴

image.png

image.png

扩展模式地址定界

image.png
image.png

查找

image.png

撤销更改

image.png

剪贴板寄存器

image.png

标记和宏

image.png

扩展模式 查找并替换

image.png
image.png

文件分割

image.png

配置文件

image.png
image.png

格式

image.png

标准输入和输出

image.png

输出和错误重定向

image.png

输出和错误重定向到文件

image.png

tr转换

tr -dc ‘xxx’ 删除xxx的补集

image.png

重定向输入

image.png

多行重定向输入和mail

image.png

管道

image.png
image.png

tee

image.png

1
/etc/skel 新建用户家目录的默认模板目录

用户

image.png

image.png

安全上下文

image.png

组的类别

image.png

用户和组的配置文件

image.png

密码期限

image.png

group格式

image.png

gshadow格式:

image.png

useraddd

image.png

与useradd相关的文件

image.png

用户属性

image.png

删除用户

image.png

查看相关用户id

image.png

su

image.png

passwd

image.png

chage

image.png

groupadd

groups username 查看用户属于哪些组
groupmems -l -g xxx 查看xxx组里的成员

image.png

修改删除组

image.png

gpasswd

image.png

查看更改组成员

image.png
image.png

chown

image.png

文件权限

image.png

chmod

image.png

新建目录和文件的默认权限

对于目录来说,读权限是指能够看到目录里的文件名

写权限是指 能够在目录里面创建和删除文件

执行权限是指能够进入目录(基本权限)

image.png
image.png

1 无法进入目录
2 无法查看目录有哪些文件
3 不可以
4 不可以

特殊权限

suid 是指用户执行此程序时临时切换为程序的所有者

对于一个多人可写的目录,如果设置sticky,则每个用户只能删除自己的文件

sgid 作用在二进制程序上时,执行sgid权限的程序时,此用户将继承此程序的所属组权限

作用于目录上时,此文件夹下所有用户新建文件都自动继承此目录的用户组

image.png
image.png
image.png

sticky

image.png
image.png

文件特殊属性

image.png

访问控制列表

image.png
image.png

image.png
image.png
image.png

cat

image.png

分页查看

image.png

head/tail

image.png

你可能感兴趣的:(第二周知识重点总结)