自动挂载

yum -y install autofs

systemctl start autofs

systemctl enable autofs

或者

systemctl enable --now autofs

目录 根/

/opt 第三方软件安装目录

/sys 硬件相关

/tmp 临时目录

/var 可变的数据

根文件系统 rootfs 如:ext4

/etc/DIR_COLORS定义文件颜色

文件分为两部分

数据本身 data 文件内容

元数据 metadata 即属性

Linux的文件系统分层系统FHS

linux的文件的七种类型

- 普通文件  d 目录文件

l 链接文件   b 块设备  c  字符设备

p 管道文件(单工,单通道)  s 套接字文件scoket

基本命令

pwd 显示当前目录

cd 切换目录

基名 basename 只取文件名而不去路径

目录名 dirname 只取路劲,不要文件名

绝对路径 从/开始,完整的路劲

相对路经 相对于当前工作目录,不从根/开始,特殊场景下,是相对于某个位置

cd .. 切换到父目录

cd  回到家目录 cd ~ 

cd ~wang切换到wang的家目录

cd - 回到前一个文件夹

列出文件

ls 

-ld 列出文件本身信息

-R 递归

ll --time=mtime 修改时间

  ctime 改变属性时间 

atime 访问时间

stat 查看文件的所有时间 Inode 文件唯一标识

文件的内容

file 可以查看文件类型 -b只看结果

win文件 回车  =回车 换行  二进制 格式

linux文件 回车 =换行

dos2unix  win文件切换到unix文件格式

hexdump -C 查看文件的二进制内容

编码格式

win 7 ANSI 类似gbk

linux utf-8 (win 10)

iconv  -l 查看linux支持的编码

iconv -f gb2312 text.txt -o text1.txt  装换格式 utf-8

iconv -f utf-8 t gb2312 text1.txt o text.txt  utf-8装换成ansi格式win7

通配符

* 匹配零个或多个字符 (匹配不了.隐藏文件)

?   任意单个字符

~当前用户家目录

~mage 用户mage家目录

~- 当前一个工作目录(访问文件)

cd - 回到上一个目录

【0-9】 匹配数字范围

【a-z】小大字母选择 a A b B.. z

[wang] 列表中取一个字符

[^wang]匹配列表中所有字符以外的字符

{0..9} 花括号的特殊功能

[:lower:] 表示任意的小写字母 a-z 再加个[]表示取一个

[:upper:]   大写

ls -d /etc/rc[0-9]*   列出对应的文件,遇到目录时候只列出目录,而不列出里面的文件

ls -d .* 列出当前目录的所有隐藏文件= l.

ls -A 不显示. .. 其他文件

ls -d  /etc/*/ 显示非隐藏的目录

touch 识别不出通配符,通配符用来过滤现有文件

touch 可以创建文件,也可以刷新3个时间

touch `date -d "-1 day" +%F_%T`.log 创建前一天的日志

cp 复制文件,复制多个文件到目录,可能会丢失部分属性 时间,拥有者

-p 保留原有文件的属性 权限 拥有者,时间

-r 复制文件夹

复制链接文件时候,复制链接原有文件的内容

-a 复制保留文件的所有属性 ,常用语备份-av (如果是普通用户拥有者任然是普通用户权限)

-i 覆盖前提示 (root用户自带-i的别名)

-v 显示复制过程

-f 强制执行(如果目标文件存在,没有权限覆盖则删除原有文件,再复制)

-b 目标存在,先备份filename~ 再覆盖,只保留一个版本

--backup=numbered 目标存在,覆盖前先备份夹数字后缀filename.~#~可以保留多个

cp -a /data backup_`date +%F_%H:%M:%S`.log  备份日志语句

mv 移动 重命名

批量换名词 rename conf conf.bak *

删除文件  rm -rf 

-r递归 -f 强制

rm -rf  .[^.]*删除所有隐藏文件 不包括. ..

mv代替rm

-开头的文件 以绝对路径删除或者--

rm ./-f

shred 安全的删除,避免被恢复

-zvun 

shred -zvun 5 file

tree 查看目录结构

-d 只列文件夹

mkdir 创建文件夹

-p 创建父目录

rmdir 只能删空目录

文件的元数据与节点表结构

节点表 放文件的元数据meta data (属性 节点编号 :文件唯一标识) 

ll -i 可以查看节点编号 /stat firename

目录是个特殊文件 ,内容存放文件的列表及inode number节点编号,一般节点编号占用磁盘空间1%

cp 命令:

分配一个空闲的inode号,在inode表中生成新条目

在目录中创建一个目录项,将名称与inode编号关联

拷贝数据生成新的文件

rm和inode

rm 命令:

链接数递减,从而释放的inode号可以被重用

把数据块放在空闲列表中

删除目录项

数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖

mv和inode

如果mv命令的目标和源在相同的文件系统,作为mv 命令

用新的文件名创建对应新的目录项

删除旧目录条目对应的旧的文件名

不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被移动!

如果目标和源在一个不同的文件系统, mv相当于cp和rm

df -i 查看节点编号的使用情况,有限资源

不同分区 可以有相同的节点编号

硬链接(hard) 链接数 节点编号一致 同一个文件 别名  索引 指向

ln file dir1/file 创建软连接  同一个分区文件  没有主次之分 删除一个,文件依然可以访问

不支持对目录创建硬链接

删除大数据文件时候,可以创建链接,然后删除文件,然后不繁忙时候删除链接文件

软连接(soft)

ln -s f1.txt f1.txt.lnk 快捷方式  有主次之分 源文件删除,软链接无法访问

原始文件的相对路径一定是相对于软连接的路径 或者直接写绝对路径

支持文件夹 支持跨分区 大小是源文件文件名大小

软件的更新  回滚 软连接更换

删除软连接 不能跟/ 跟上容易删除程序