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