Day03 Cippus
1.FHS(Filesystem Hierarchy Standard) 文件系统的层级结构
文件系统:存储设备存放数据文件的方法和数据结构。
/ 所有的数据文件
bin(binary )二进制 所有用户可执行的命令文件
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字符。
touch 创建文本文件
当一个路径下不存在该文件通过touch可以创建一个普通文件,如果存在该文件将改变该文件的创建时间。
stat FILENAME 查看文件的详细属性
touch FILENAME 创建文件
touch a b c
touch {1,2,3,4}
touch {1..10}
eg:
touch /root/a b c a文件在root文件 b和c在相对路径
touch /root/{1..3} == touch /root/1 /root/2 root/3 1,2,3文件都在root文件中
mkdir DIRNAME
-p 父目录 创建多级目录
-v 详细信息
mkdir d1 d2 d3
mkdir dd{1..3} == mkdir /root/dd1 /root/dd2 /root/dd3
eg;
mkdir {1} 直接创建{1}文件
mkdir -pv /root/{1..3}/abc 分别在1,2,3文件中创建abc文件
tree 树状结构显示目录文件
rm 删除文件
-r 递归
-f force 强制
rm FILENAME 删除文本文件、
rm -r NAME 删除目录文件
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目录下
(3)当/newfile存在,如果是文本文件,表示把file移动到/根目录改名为newfile
cp 复制文件
cp 源文件名 目标路径(目录)
-r 递归
#touch /root/file
#cp /root/file /
#cp /root/file /newfile
(1)当/newfile不存在,将file文件移动到/目录并改名为newfile
(2)当/newfile存在,如果是目录文件,表示file移动到/newfile目录下
(3)当/newfile存在,如果是文本文件,表示把file移动到/根目录改名为newfile
#mkdir /root/test
#cp -r /root/test / 复制目录文件
查看文本文件内容的6个指令
cat (concatenate)
cat -n FILENAME 查看文件内容信息
tac FILENAEM
more FILENAME 分屏显示文件内容,最后将内容输出到终端
less FILENAME 分屏显示文件内容,打开文件阅读 退出按Q 换页按空格切换下一页 按B切换上一页 /关键词 匹配到对应的关键词 n跳转到下一个关键词 N跳转到上一个关键词 ?关键词
head FILENAME 查看文件前十行
head -n 5 FILENAME == head -5 FILENAME 查看文件前五行
tail FILENAME 查看文件后十行
tail -n 5 FILENAME == tail -5 FILENAME 查看文件后五行
wget 下载文件
weget -O 将链接文件下载到对应路径并改名
-P 直接下载到对应路径
-c 实现断点续传(可以在断点处继续下载)
-r 下载一个目录文件
作业
1.#创建目录
在/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,hopme,root,tmp
#mkdir -p /mnt/sysroot/{proc,sys,bin,sbin,lib,usr,var,etc,dev,hopme,root,tmp}
在/mnt/sysroot/usr下创建bin,sbin,lib
#mkdir -p /mnt/sysroot/{bin,sbin,lib}
在/mnt/sysroot/lib下创建moduels
#mkdir -p /mnt/sysroot/moduels
在/mnt/sysroot/var下创建run,log,lock
#mkdir -p /mnt/sysroot/{run,log,lock}
在/mnt/sysroot/etc下创建init.d
#mkdir -p /mnt/sysroot/etc/init.d
2.如何一次性在/test目录创建以abc表示的100个文件,例如abc1,abc2,abc3…abc100
#touch /test/abc{1..100}
3.复制/mnt/boot目录文件到/test并改名为/boot.bak
#cp -r /mnt/boot /test
#mv boot boot.bak
4.复制/test所有9字符命名文件到/pub目录下
#cp /test/abc9* /pub
5.移动/test所有1字符命名文件到/pub目录下
#mv /tset/abc1* /pub