Day 3
1.FHS(Filesystem Hierarchy Standard)文件系统层级结构
文件系统:存储设备指定存放数据文件的方法和数据结构。
/ 所有的数据文件
bin 所有用户都可以执行的命令文件
sbin 只有管理员可以执行的命令文件
lib 32数据的库文件
lib64 64数据的库文件
usr 核心资源文件
root root(管理员)用户家目录
home 所有普通用户的主路径
boot 系统加载引导相关所有文件
dev 设备目录文件
etc 系统中所有配置文件(软件程序初始化参数文件)
opt 自定义软件的安装路径
proc 系统内核相关的进程信息
sys 硬件驱动程序
run 应用层程序文件的进程
srv 服务程序文件的路径
tmp 临时目录
var 动态可变化的数据文件路径
2.(-/d)文件相关的操作命令
(1)同一路径下不能有两个相同的文件名
(2)严格区分大小写
(3)文件命名不能以/字符命名
(4)文件命名字符不能超过255个字符
stat FILENAME
文件详细属性信息
touch创建文本文件
当一个路径下不存在该文件,通过touch可以创建一个普通文件;若存在,则改变此文件的时间信息。
touch FILENAME…
touch a b c
touch {1,2,3,4}==touch {1..4}
mkdir创建目录文件
mkdir DIRNAME
-p parents 创建多级目录
-v verbose 详细信息
mkdir -pv /1/2/3/4/5
mkdir -pv /root/{1..3}/abc
mkdir d1 d2 d3
mkdir dd{1..3}
tree 树状结构显示目录文件
rm 删除文件
-r 递归
-f force 强制
rm FILENAME 删除文本文件
rm -r FILENAME 删除目录文件
rm -rf FILE 强制删除一个文件
* 任意长度的任意字符
rm -rf a* 删除开始以a字符命名的所有文件
mv 移动文件
mv 源文件名 目标路径(目录)
#touch /root/file
#mv /root/file /
#mv /root/file /newfile
(1)当/newfile不存在,将file文件移动到/目录并改名为newfile
(2)当/newfile存在,如果是目录文件,表示将file移动到/newfile目录下
如果是文本文件,表示把file移动到/目录改名为newfile
cp 复制文件
-r 递归
cp 源文件名 目标路径
#touch /root/file
#cp /root/file /
#cp /root/file /newfile
(1)当/newfile不存在,将file文件复制到/目录并改名为newfile
(2)当/newfile存在,如果是目录文件,表示将file复制到/newfile目录下
如果是文本文件,表示把file复制到/目录改名为newfile
#mkdir /root/test
#cp -r /root/test / 复制目录文件
3.查看文本文件内容的6个命令
cat -n FILENAME
tac FILENAME
more FILENAME 分屏显示文件内容,最后将内容输出到终端
less FILENAME 分屏显示文件内容,打开文件阅读 (退出:q;换页:空格切换下一页,b切换上一页)
/关键词 匹配关键词 n N ?关键词
head FILENAME 查看文件前十行
head -n 5 FILENAME == head -5 FILENAME 查看文件前五行
tail FILENAME 查看文件后十行
tail -5 FILENAME 查看文件后五行
wget下载文件
#wget 加网址
-O 将链接文件下载到对应路径并改名
-P 将链接文件下载到对应路径
-c 实现断点续传
-r 下载一个目录文件
附:
在/mnt下创建boot和sysroot目录
#mkdir -p /mnt/{boot,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,sys,bin,sbin,lib,usr,var,etc,dev,home,root,tmp}
在/mnt/sysroot/usr下创建bin,sbin,lib
#mkdir -p /mnt/sysroot/usr/{bin,sbin,lib}
在/mnt/sysroot/lib下创建modules
#mkdir -p /mnt/sysroot/lib/modules
在/mnt/sysroot/var下创建run,log,lock
#mkdir -p /mnt/sysroot/var/{run,log,lock}
在/mnt/sysroot/etc下创建init.d
#mkdir -p /mnt/sysroot/etc/init.d
2.如何一次性在/test目录创建以abc表示的100个文件,例如abc1,abc2,abc3,…abc100
#mkdir /test
#touch /test/abc{1..100}
3.复制/mnt/boot目录文件到/test并改名为/boot.bak。
#cp -r /mnt/boot /test/boot.bak
4.复制/test所有有9字符命名的文件到/pub下。
#mkdir /pub
#cp -r /test/*9* /pub
5.移动/test所有有1字符命名的文件到/pub目录下。
#mv /test/*1* /pub