1、FHS(Filesystem Hierarchy Standard(文件系统层次化标准)————重点
文件系统:对于一个存储设备(或者分区)明确存放文件的方法和数据结构类型。xfs
/ 系统所有的数据文件
usr 核心的资源目录
bin 所有用户可以执行的二进制文件
sbin 系统中只有管理员可以执行的命令文件
lib 32位相关的库文件
lib64 64位相关的库文件
root 管理员默认的家目录(只对管理员有权限)
home 所有普通用户的主路径
boot 系统引导文件
dev 主机中的设备文件
etc 所有的配置文件(软件程序初始化的参数文件)
media 挂载点目录(永久连接)
mnt 挂载点目录(临时连接)
opt 可选目录
proc 内核进程文件路径
sys 设备驱动程序路径
run 应用层进程文件路径
srv 服务程序的数据文件
tmp 临时文件目录
var 动态可变化的数据文件 log(日志)
2、文件相关的操作命令
文件命名限制:
1、同一路径下不能有两个相同文件名。
2、严格区分大小写
3、文件命名不能以/字符命名
4、文件命名字符不能超过255字符
stat FILENAME 查看文件详细属性
touch FILENAME 创建文件
tip:当一个路径不存在对应文件可以通过touch创建文本文件,如果是已存在的就是更改文件存在信息
#touch a b c(创建多个文件)
#touch {1,2,3,4}(创建多个文件)
#touch {a..d}(..省略)(a到d)
#touch test{1..100}
eg:#touch /root/a b c
#touch /root/{a..c}(同一路径下创建多个文件)
#touch {abc}-->文件名是{abc}
mkdir DIRNAME
#mkdir d1 d2 d3
#mkdir {d1,d2,d3}
#mkdir d{1..3}
-p 父目录 多级目录
-v 详细信息
#mkdir -pv /1/2/3/4(创建多层目录)【更直观】
查看目录是否创建成功:tree DIRNAME(树状显示目录结构)
rm删除文件
ctrl+c强制退出当前命令
-r 递归
-f force强制
* 任意长度任意字符
rm FILENAME(删除文本文件)
rm -r FILENAME(各种类型文件都可删)
rm -rf /root/1*(开头以1标记的所有文件)
rm -rf /root/*1(以1结尾)
mv 移动文件
#mv 源文件(可以多个) 目标路径(目录)(只能一个)
#touch /root/file
#mv /root/file /
#touch /root/{a..c}
#mv /root/{a..c} /
移动并改名
#mv /root/file /newfile
1.(有文本文件,给file改名为newfile到根目录,会提示是否覆盖原newfile文件)
2.(目录文件,移动到目录文件)
3.(无文件,改名为newfile到根目录)
重命名:#mv /root/file /root/newfile
[root@localhost ~]# mv /root/nmx /
[root@localhost ~]#
[root@localhost ~]# ll /
drwxr-xr-x. 3 root root 18 Nov 26 13:09 nmx
cp复制文件
#cp 源文件... 目标路径(目录) 复制文本文件
#cp -r 源文件... 目标路径(目录) 复制目录文件/文本文件
[root@localhost ~]# cp -r /root/test /root/nmx
[root@localhost ~]#
[root@localhost ~]# ll nmx
total 4
drwxr-xr-x. 3 root root 4096 Nov 26 13:09 test
查看文本文件内容的6个命令
/etc/passwd 默认配置文件
cat -n(显示行号信息)(文件内容少)
tac
文件内容长:
less( “(空格键) ”下一页 ,b上一页):/?可以查找当前页的关键字(n跳转到下一个关键字/N跳转到上一个关键字)分页显示,打开阅读方式
q 退出
more(可以有多个文件名)分页显示,最后把所有内容打印到终端
查看文件前10行/后10行:
head head -n 行数/文件===head -行数(查看指定行)
tail tail -n 行数/文件===tail -行数(查看指定行)
wget下载文件
#wget 网址链接
-r 通过链接下载一个目录文件
-o 把链接文件下载到对应路径并改名
-P 把链接文件下载到指定路径下
-c 断点续传
作业题
1、#创建目录(尝试以下通过一条命令实现)
在/mnt下创建boot和sysroot目
在/mnt/boot下创建grub目录
在/mnt/sysroot下创建proc,sys,bin,sbin,lib,usr,var,etc,dev,home,root,tmp
在/mnt/sysroot/usr下创建bin,sbin,lib
在/mnt/sysroot/lib下创建modules
在/mnt/sysroot/var下创建run,log,lock
在/mnt/sysroot/etc下创建init.d
[root@localhost ~]# mkdir -pv /mnt/{boot,sysboot}
mkdir: created directory '/mnt/boot'
mkdir: created directory '/mnt/sysboot'
[root@localhost ~]# mkdir -pv /mnt/boot/grub
mkdir: created directory '/mnt/boot/grub'
[root@localhost ~]# touch /mnt/sysroot/proc sys bin sbin lb usr var etc dev home root tmp
touch: cannot touch '/mnt/sysroot/proc': No such file or directory
[root@localhost ~]# touch /sysroot/ proc sys bin sbin lib usr var etc dev home root tmp
touch: setting times of '/sysroot/': No such file or directory
[root@localhost ~]# mkdir -pv /mnt/sysroot/{proc,sys,bin,sbin,lib,usr,var,etc,dev,home,root,tmp}
mkdir: created directory '/mnt/sysroot'
mkdir: created directory '/mnt/sysroot/proc'
mkdir: created directory '/mnt/sysroot/sys'
mkdir: created directory '/mnt/sysroot/bin'
mkdir: created directory '/mnt/sysroot/sbin'
mkdir: created directory '/mnt/sysroot/lib'
mkdir: created directory '/mnt/sysroot/usr'
mkdir: created directory '/mnt/sysroot/var'
mkdir: created directory '/mnt/sysroot/etc'
mkdir: created directory '/mnt/sysroot/dev'
mkdir: created directory '/mnt/sysroot/home'
mkdir: created directory '/mnt/sysroot/root'
mkdir: created directory '/mnt/sysroot/tmp'
[root@localhost ~]# mkdir -pv /mnt/sysroot/usr/{bin,sbin,lib}
mkdir: created directory '/mnt/sysroot/usr/bin'
mkdir: created directory '/mnt/sysroot/usr/sbin'
mkdir: created directory '/mnt/sysroot/usr/lib'
[root@localhost ~]# mkdir -pv /mnt/sysroot/lib/modules
mkdir: created directory '/mnt/sysroot/lib/modules'
[root@localhost ~]# mkdir -pv /mnt/sysroot/var/{run,log,lock}
mkdir: created directory '/mnt/sysroot/var/run'
mkdir: created directory '/mnt/sysroot/var/log'
mkdir: created directory '/mnt/sysroot/var/lock'
[root@localhost ~]# mkdir -pv /mnt/sysroot/etc/init.d
mkdir: created directory '/mnt/sysroot/etc/init.d'
2.如何一次性在/test目录创建以abc表示的100个文件,例如abc1,abc2,abc3,…abc100
[root@localhost ~]# mkdir test
[root@localhost ~]#
[root@localhost ~]# cd test
[root@localhost test]# touch abc{1..100}
[root@localhost test]#
[root@localhost test]# ll
[root@localhost test]# ll
total 0
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc1
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc10
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc100
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc11
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc12
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc13
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc14
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc15
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc16
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc17
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc18
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc19
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc2
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc20
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc21
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc22
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc23
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc24
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc25
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc26
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc27
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc28
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc29
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc3
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc30
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc31
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc32
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc33
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc34
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc35
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc36
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc37
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc38
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc39
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc4
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc40
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc41
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc42
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc43
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc44
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc45
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc46
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc47
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc48
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc49
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc5
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc50
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc51
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc52
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc53
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc54
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc55
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc56
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc57
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc58
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc59
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc6
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc60
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc61
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc62
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc63
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc64
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc65
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc66
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc67
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc68
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc69
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc7
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc70
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc71
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc72
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc73
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc74
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc75
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc76
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc77
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc78
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc79
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc8
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc80
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc81
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc82
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc83
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc84
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc85
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc86
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc87
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc88
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc89
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc9
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc90
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc91
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc92
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc93
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc94
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc95
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc96
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc97
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc98
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc99
3.复制/mnt/boot目录文件到/test并改名为/boot.bak。
[root@localhost ~]# cp -r /mnt/boot /root/test
[root@localhost ~]#
[root@localhost ~]# ll test
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc95
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc96
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc97
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc98
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc99
drwxr-xr-x. 3 root root 18 Nov 25 13:42 boot
[root@localhost ~]# mv /root/test/boot /root/test/boot.bak
[root@localhost ~]#
[root@localhost ~]# ll test
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc93
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc94
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc95
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc96
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc97
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc98
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc99
drwxr-xr-x. 3 root root 18 Nov 25 13:42 boot.bak
4.复制/test所有有9字符命名的文件到/pub下
[root@localhost ~]# cp -r /root/test/abc{9,19,29,39,49,59,69,79,89,90,91,92,93,94,95,96,97,98,99} /root/pub
[root@localhost ~]# ll pub
total 0
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc19
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc29
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc39
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc49
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc59
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc69
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc79
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc89
-rw-r--r--. 1 root root 0 Nov 26 11:34 abc9
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc90
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc91
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc92
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc93
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc94
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc95
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc96
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc97
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc98
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc99
5.移动/test所有有1字符命名的文件到/pub目录下。
[root@localhost ~]# mv /root/test/abc{1,11,12,13,14,15,16,17,18,19,21,31,41,51,61,71,81,91,100} /root/pub
[root@localhost ~]# ll pub
total 0
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc1
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc100
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc11
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc12
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc13
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc14
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc15
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc16
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc17
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc18
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc19
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc21
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc29
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc31
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc39
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc41
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc49
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc51
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc59
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc61
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc69
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc71
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc79
-rw-r--r--. 1 root root 0 Nov 25 13:28 abc81
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc89
-rw-r--r--. 1 root root 0 Nov 26 11:34 abc9
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc90
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc91
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc92
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc93
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc94
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc95
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc96
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc97
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc98
-rw-r--r--. 1 root root 0 Nov 26 11:36 abc99