day03
day03
1文件
FHS(Filesystem Hierarchy Standard)文件系统层级标准
文件系统:存储设备指定存放数据文件的方法和数据结构
/ 所有数据文件
bin 所有用户都可以执行的命令文件
sbin 只有管理员才可以执行的命令文件
lib 32位数据的库文件
lib64 64位数据的库文件
sue 核心资源文件
root root(管理员)用户家目录
home 所有普通用户的家目录
boot 系统加载引导相关所有文件
dev 设备目录文件
etc 系统中所有的配置文件
opt 自定义软件的安装路径
proc 系统内核相关的进程信息
sys 硬件驱动程序
run 应用程序文件的进程
srv 服务程序文件的路径
tmp 临时目录
var 动态可变化的数据文件路径
2文件相关的操作命令
(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/其他文件在当前路径创建)
touch /root/{1..3}(都在/root目录下创建)
mkdir DIRNAME
-p 父目录 创建多级目录
-v 详细信息
mkdir d1 d2 d3
mkdir dd{1..3}
eg:
mkdir /root/{1..3}/abc
mkdir -pv /root/1/2/3/4/5
tree 显示文件树状结构
rm 删除文件
-r 递归
-f 强制
rm FILENAME 删除文本文件
rm -r FILENAME 删除目录文件
-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 复制目录文件
cat -n FILENAME
tac FILENAME 分屏显示文件内容,最后将内容输出到终端
moreFILENAME 分屏显示文件内容,打开文件阅读 退出q 换页空格 切换下一页
b切换上一页 /关键词 匹配关键词
head FILENAME 查看文件前十行
head-n 5 FILENAME ==head-5FILENAME 查看前五行信息
tail FILENAME 查看文件后五行信息
wget下载文件
-O 将连接文件下载到对应路径的并改名
-p 将连接文件下载到对应路径
-c 实现断点续传
-r 下载一个目录文件
作业
作业题:
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
1. [root@eihei mnt]# mkdir -p /mnt/boot/grub sysroot/{proc/,sys/,bin/,sbin/,lib/{modules},user/{bin,sbin,lib},var/{run,log,lock},etc/{init.d},dev/,home/,root/,tem/}
[root@eihei mnt]# tree
.
├── boot
│ └── grub
├── hgfs
└── sysroot
├── bin
├── dev
├── etc
│ └── {init.d}
├── home
├── lib
│ └── {modules}
├── proc
├── root
├── sbin
├── sys
├── tem
├── user
│ ├── bin
│ ├── lib
│ └── sbin
└── var
├── lock
├── log
└── run
2.如何一次性在/test目录创建以abc表示的100个文件,例如abc1,abc2,abc3,…abc100
touch /test/abc{1..100}
t3.复制/mnt/boot目录文件到/test并改名为/boot.bak。
[root@eihei test]# cp -r /mnt/boot /test/book.bak
4.复制/test所有有9字符命名的文件到/pub下。
cp /test/*9* /pub
5.移动/test所有有1字符命名的文件到/pub目录下。
mv /test/*1* /pub