1.2Linux文件系统
1.1文件系统
Rootfs: 根文件系统
/boot 系统启动相关文件
设备文件
块设备:随机访问,数据块
字符设备:线性访问,安字符单位
设备号:主设备号(major),和次设备号(minor)
/etc: 配置文件
/home 用户的家目录
/root 管理员家目录
/lib 库文件
静态库: .a
动态库: so/.dll
/lib/modules 内核模块文件
/media 挂载点目录,移动设备
/mnt 挂载点设备,额外临时文件系统
/opt 可选目录,第三方程序安装目录
/proc 伪文件系统,内核映射文件
/sys 伪文件系统,跟硬件设备相关的属性映射文件
/tmp 临时文件 /var/tmp
/var 存放可变化的临时文件
/bin 可执行文件,用户命令
/sbin 管理文件
/usr 全局的,共享的,只读文件
/usr/bin
/usr/sbin
/usr/lib
1.2文件或文件夹的命名规则
长度不超过255个字符
不能使用/做文件名
严格区分大小写
1.3相关命令
mkdir 创建目录
-p 一次性创建多级目录
-v 显示创建过程
例如:
创建目录:/mnt/test/x /mnt/test/m/y
mkdir -pv /mnt/test/x /mnt/test/m/y
高级bash用法:
mkdir -pv /mnt/test/{x,m/y} 命令行展开
创建目录 /mnt/test2/
有 a_b a_c d_b d_c
因为:
(a+d)(b+c)=ab+ac+db+dc
mkdir -pv /mnt/test2/{a,d}_{b,c}
touch 创建文件,修改文件属性,创建时间,修改时间,改变时间.....
-a
-m
-t
-c
Touch -m -t 20120202020202 文件名
file 命令: 查看文件信息
Stat命令:查看文件信息
查看命令类型 type 命令名称
执行原可执行文件,而不是链接文件加\ 如\ls
删除文件命令rm
-r循环删除
-f不需要提示
文件复制: cp或install
可以把多个文件复制到一个目标文件夹
-cp /etc/{password,inittab,rc.d} /tmp/
文件剪切: mv
可以移动文件,也可移动文件夹,在过程中可重命名
文件查看:
#nano
#more
#less
#head 文件名 -n 显示前几行
#tail 默认显示后十行 -f 不退出,等待显示后续追加的新内容
#cut 不更改原文件,每一行都以分隔方式保留其中一部分,默认为空格分隔
Cut -d : -f1 /etc/passwd 以:为分隔符,显示第一个字段
-d 指定分隔符,默认为空格
-f 指定显示哪个字段 -f3:第三个,-f1-3一到三,-f1,3第一个和第三个
#grep
#sed
#awk
#sort 不改变原文件,文本或显示排序
-n 按照数值排序
-r 降序排序
-t 字段分隔符
-k 以哪个字段为关键字排序
-u 排序后相同的行只显示一次
#uniq
-d 只显示重复的行
-D 显示所有重复的行
-c 重复行显示了几次
#wc
行数,单词数,字节数
#tr ‘ab’ ‘AB’ 把输入的小写a换乘大写A
文件重定向:#tr ‘ab’ ‘AB’ < /etc/passwd
#tr -d ‘ab’ 删除ab