1 FHS(重点)
全称:文件系统层级标准(Filesystem Hierarchy Standard)
文件系统:对于一个存储设备或分区明确了存放文件的方法和数据结构类型 xfs
第一层 / 系统所有的数据文件都在这里
usr 核心资源目录
bin 所有用户可以执行的二进制文件
sbin 系统中只有管理员可执行的命令文件
lib 32位系统相关的库文件
lib64 64位系统相关的库文件
root 管理员家目录
home 所有普通用户的主路径
boot 所有的系统引导文件
dev 当前主机所有的设备文件(光盘)
etc 所有配置文件(软件程序初始化的参数文件)
media 挂载点目录(永久链接)
mnt 挂载点目录(临时链接,如U盘)
opt 可选目录
proc 内核进程文件路径
sys 设备驱动程序路径
run 应用层进程文件路径
var 动态可变化的数据文件(如邮件,日志)
tmp 临时文件目录(默认在一个月内未对文件进行管理操作则自动清理)
2 文件相关的操作命令
文件命名限制
(1)同意路径下不能有两个一样的文件名
(2)严格区分大小写
(3)文件命名不能以字符命名
(4)不能超过255字符
stat FILENAME 文件详细属性信息
[root@localhost ~]# stat bbb
File: bbb
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 35299579 Links: 2
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-11-26 10:10:08.627056536 +0800
Modify: 2022-11-26 10:10:08.627056536 +0800
Change: 2022-11-26 10:10:27.727056806 +0800
Birth: 2022-11-26 10:10:08.627056536 +0800
touch FILENAME 创建文本文件
#touch a b c
#touch {1,2,3,4}
#touch {a..d}
eg:#touch /root/a b c a在root下,b c 在当前目录下
#touch /root/{a..d}都在root下
mkdir DIRNAME 创建目录文件
#mkdir d1 d2 d3
#mkdir {d1,d2,d3}
#mkdir d{1..3}
-P 父目录 多级目录
-v 详细信息
mkdir -pv /1/2/3/4/
mkdir -p 一次性创建一个多层选项
mkdir -pv 可以显示所创建目录的详细信息
[root@localhost ~]# mkdir -pv a/b/c/d
mkdir: created directory 'a'
mkdir: created directory 'a/b'
mkdir: created directory 'a/b/c'
mkdir: created directory 'a/b/c/d'
tree DIRNAME
[root@localhost ~]# tree /1
/1
└── 2
└── 3
└── 4
3 directories, 0 files
rm 删除文件
rm FILENAME
rm -r FILE...
-r 递归
-f 强制
*任意长度的任意字符
rm -rf /root/1*
rm -rf /root/*1 删除以1开头的所有文件
Ctrl+c 结束当前命令
mv移动文件
#mv 源文件 目标路径(目录)
#touch /root/file
#mv /root/file /
#touch /root/{a..c}
#mv /root/{a..c} /==== mv/root/a /
移动并改名
#mv /root/file /newfile
(1)/目录下不存在newfile,将/root/file文件移动到/目录下并改名为newfile
(2)/目录下存在newfile,newfile是文本文件,将/root/file文件移动到/目录下并改名为newfile,提示是否覆盖;newfile是目录文件,将/root/file文件移动到/newfile目录下
重命名
#mv /root/file /root/newfile
cp复制文件
#cp 源文件... 目标路径 复制文本文件
#cp -r 源文件... 目标路径 复制目录文件
查看文本文件内容的六个命令
/etc/passwd 默认配置文件
cat -n 显示行号
tac
more 文件内容较长,分页显示,最后把所有内容打印到终端 (可同时显示多个文件内容)
less 分页显示,打开阅读方式
/关键词 快速匹配关键词 n N
空格键 下一页 b 上一页
q quit
head 默认查看一个文件的前十行
head -n 5 /etc/passwd==head -5 /etc/passwd
tall 默认查看一个文件的后十行
tall -n 5/etc/passwd== tall -5/etc/passwd
wget下载文件
#wget 网址
#wget www.
-r 通过链接下载目录文件
-o 把链接文件下载到指定路径并改名
[root@localhost text]# wget -o /root/qq https://down.qq.com/qqweb/LinuxQQ/linuxqq_2.0.0-b2-1089_x86_64.rpm
wget: /root: Is a directory
-P 把链接文件下载到指定路径下
[root@localhost text]# wget -o /root https://down.qq.com/qqweb/LinuxQQ/linuxqq_2.0.0-b2-1089_x86_64.rpm
-C 断点续传
3 作业
1、#创建目录(尝试以下通过一条命令实现)
在/mnt下创建boot和sysroot目
# mkdir -p {/mnt/boot,/mnt/sysroot}
在/mnt/boot下创建grub目录
# mkdir -p /mnt/boot/grub
在/mnt/sysroot下创建proc,sys,bin,sbin,lib,usr,var,etc,dev,home,root,tmp
# mkdir -p {/mnt/sysroot/proc,/mnt/sysroot/sys,/mnt/sysroot/bin,/mnt/sysroot/sbin,/mnt/sysroot/lib,/mnt/sysroot/usr,/mnt/sysroot/var,/mnt/sysroot/etc,/mnt/sysroot/dev,/mnt/sysroot/home,/mnt/sysroot/root,/mnt/sysroot/tmp}
在/mnt/sysroot/usr下创建bin,sbin,lib
# mkdir -p {/mnt/sysroot/user/bin,/mnt/sysroot/user/sbin,/mnt/sysroot/user/lib}
在/mnt/sysroot/lib下创建modules
# mkdir -p /mnt/sysroot/lib/modules
在/mnt/sysroot/var下创建run,log,lock
# mkdir -p {/mnt/sysroot/var/run,/mnt/sysroot/var/log,/mnt/sysroot/var/lock}
在/mnt/sysroot/etc下创建init.d
# mkdir -p /mnt/sysroot/etc/init.d
2.如何一次性在/test目录创建以abc表示的100个文件,例如abc1,abc2,abc3,..abc100
# mkdir -p /test/abc{1..100}
3.复制/mnt/boot目录文件到/test并改名为/boot.bak。
# cp -r /mnt/boot /test/boot.bak
4.复制/test所有有9字符命名的文件到/pub下。
# mkdir -p /pub
# cp -r /test/*9 /pub
5.移动/test所有有1字符命名的文件到/pub目录下。
# mv /test/*1 /pub