云计算03

Day 03

1.FHS (Filesystem Hierarchy Standard)——文件系统层次化标准)——重点

面试可能被提问

文件系统:对于一个存储设备(或这分区)明确了存放文件的方法和数据结构类型。xfs
 
/根目录  系统所有数据文件

usr     核心的资源目录

bin     所有用户可以执行的二进制文件

sbin    系统中只有管理员可以执行的命令文件即二进制文件

lib     32位相关的库文件

lib64   64位相关的库文件

root   管理员家目录

home   所有普通用户的主路径(家目录)

boot   系统引导文件

dev    主机中的设备文件                                                    tty表示所对应的文件是控制台文件

etc    系统中所有配置文件(软件程序初始化的参数文件)

media  挂载点目录(永久链接)

mnt    挂载点目录  (临时链接)

opt   (option)可选目录

proc  内核进程文件路径————进程即正在进行的程序

sys   设备驱动程序路径

run   应用层进程文件路径

srv   (service)服务程序的数据文件

var   (vary)动态可变化的数据文件(邮件  日志)  log    mail

tmp   临时文件目录———默认一个文件在一个月内未进行操作则会被删除。

其余部分自行上网查找

2文件相关的操作命令(-/d)

文件命名限制 :

1.同一路经下不能有两个相同的文件名

2.严格区分大小写——A与a命名的文件表示不同的文件

3.文件命令不能以/字符命令 ——如a空格b不能作为文件名 但加上单/双引号‘a空格b’可以作为文件名

4.文件命名字符不能超过255字符

stat FILNEAME文件详细信息

stat 加一个文件名 如 #stat aaa 查看aaa文件的详细属性

touch FILNEAME… 创建文本信息

更改文件时间 #touch 加上-a/c/d…有不同的表达意义

#touch 文件名 若这个文件存在则是修改文件,不存在则是创建文件

注:

​ 当一个路径下不存在对应文件时,可以通过touch创建文本文件;如果存在则会更改文件时间

[root@localhost ~]# stat d1
  File: d1
  Size: 6         	Blocks: 0          IO Block: 4096   directory
Device: fd00h/64768d	Inode: 17511398    Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-11-26 13:58:39.155112536 +0800——文件上次被查看的时间
Modify: 2022-11-26 13:58:39.155112536 +0800——文件被修改的时间  (修改的是文件内容)
Change: 2022-11-26 13:58:39.155112536 +0800——改变时间    改变的是文件的元数据
 Birth: 2022-11-24 00:31:10.634268781 +0800——创建时间   若文件被修改,则变成对应的修改时间
[root@localhost ~]# 

回忆:什么是元数据——除了文件名之外的属性

通过touch一次性船舰多个文件的方法:

#touch    a   b    c              在当前路径下一次性创建三个文件a  b  c 用空格隔开

#touch   {1,2,3,4}              同上,用逗号隔开                    

#touch   {a..d}                   创建多个有序的文件,可用点.隔开..(两个)

#touch   text{1..100}             创建的文件是从test1...test100

eg: #touch /root/a b c a是在/下面的root文件中,而b c 文件则是在当前路径下进行创建的

​ #touch /root/{a…c} a b c 三个文件都被创建在root文件下

​ #touch {abc} 只创建了一个文件 文件名是{abc}

mkdir DIRNAME… 创建目录文件——具有层级结构

创建方法:

#mkdir   文件名                          加一个或多个文件名

#mkdir   d1  d2   d3

#mkdir   {d1,d2,d3}

#mkdir   d{1..3}                        以上三个都是基于一条命令下创建三个文件名

#mkdir  -p   /1/2/3/4 **/**             最后一个/可写可不写               一次性创建多个目录

如何查看多级目录

方法一:#ll /1

​ #ll /1/2

​ #ll /1/2/3 此方法较为麻烦

方法二:#tree DIRNAME

​ #tree /1 以树状的形式显示目录的结构

[root@localhost ~]# tree /1
/1
└── 2
    └── 3
        └── 4

3 directories, 0 files
[root@localhost ~]# 

-p 副目录——多级目录时需要指定目录

-v 详细信息

#mkdir -pv /a/b/c/d 加上了V创建出的目录文件将会显示出详细信息

[root@localhost ~]# mkdir -pv /6/7/8/9
mkdir: created directory '/6'
mkdir: created directory '/6/7'
mkdir: created directory '/6/7/8'
mkdir: created directory '/6/7/8/9'
[root@localhost ~]# 

eg:清屏——清除命令信息

快捷键ctrl+L

#clear

rm FILNAME 删除文件

删除方法:

#rm 加文件名 但不能删除目录文件

#rm -r 加文件名 可以删除任意文件包括目录文件

[root@localhost ~]# rm -r /1
rm: descend into directory '/1'? y
rm: descend into directory '/1/2'? y
rm: descend into directory '/1/2/3'? y             (需要一级一级确认)

-r 表示递归——即同时把删除文件下的所有文件全部删除

-f 表示force强制——即不需要输入y来表示确认删除

#rm -rf /1 直接删除目录文件/1/2/3/4

注:

​ ctrl +c 表示终止当前命令的进行

​ *任意长度的任意字符(通用匹配符)

#rm  -rf      /root/1*            表示删除以1开头标记的所有文件

#rm  -rf      /root/*1            表示删除以1结尾标记的所有文件

#rm  -rf      /root/*             表示删除一个目录下的所有文件件

mv FILNAME 移动/改名文件 (文本与目录文件)

使用方法:

#mv 源文件(可以是多个) 目标的路径即目录(只有一个)

eg;

#touch    /root/file

#mv       /root/file    /        把file文件移动到/根目录下

#touch    /root/{a..c}           一次性移动多个文件

#mv       /root/{a..c}      /   ====mv  /root/a  /root/b   /root/c  

移动并改名

#mv /root/file /newfile

(1)/目录下不存在newfile,将/root/file文件移动到/目录下并改名为newfile
(2)/目录下存在newfile,newfile是文本文件,将/root/file文件移动到/目录下并改名为newfile,提示是否覆盖 newfile是目录文件,将/root/file文件移动到/newfile目录下

删除字符:ctrl +删除键

重命名 (改名)

#mv /root/file /root/newfile

cp FILEMAN复制文件

#cp      源文件.....      目标路径(目录)    复制文本文件

#cp  -r  源文件.....      目标路径(路径)    复制目录文件

eg:

​ #cp a / 把a文件复制到/根目录下

​ #cp a /a.text 把a文件复制到/根目录下并改名为a.text

查看文本文件内容的6个命令

/etc/passwd 默人的系统配置文件

#cat 连接一个文件,把该文件的内容打印到标准输出上——即终端

#cat /etc/passwed 查看etc/passwed文件内容 一次性把该文件内容输出出来

#cat -n 显示文件行号

#more 分页显示,最后把所有内容打印到终端

​ 空格切换到下一页,到结尾结束

#less 分页显示,打开阅读模式——可以通过/或? 进行关键字匹配 /bash 回车 则bash会被标记,按n会跳转到下一个bash并标记

​ 空格切换下一页 B切换上一页

​ 退出需要按 q quit

#head 默认查看一个文件的前十行

​ #head -n 5/etc/passwed ====== #head -5 /etc/passwed n表示指定的行数

#tac 默认查看一个文件的后十行

​ #tac -n 5/etc/passwed

wegt FILNAME下载文件

#wegt 加链接地址

#wegt   https://down.qq.com/qqweb/LinuxQQ/linuxqq_2.0.0-b2-1089_x86_64.rpm

-r 通过链接下载目录文件

#wegt   -r  

-O 把链接文件下载到指定路径并改名

#wegt   -o/root/qq  https://down.qq.com/qqweb/LinuxQQ/linuxqq_2.0.0-b2-1089_x86_64.rpm  将文件下载到root目录中并改名为qq

-P 把链接文件到指定路径下

#wegt  -p/root   https://down.qq.com/qqweb/LinuxQQ/linuxqq_2.0.0-b2-1089_x86_64.rpm   把qq下载到root中

-c 断电续传

#wegt   -c

作业

1、#创建目录(尝试以下通过一条命令实现)

在/mnt下创建boot和sysroot目录

#mkdir /mnt {boot,sysroot}

在/mnt/boot下创建grub目录

#mkdi /mnt/boot /grub

在/mnt/sysroot下创建proc,sys,bin,sbin,lib,usr,var,etc,dev,home,root,tmp

#mkdir -p /mnt/sysroot bin/sbin/libproc/sys/bin/sbin/lib/usr/var/etc/dev/home/root/tmp

在/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/xysroot/etc /init.d
mkdir -pv /mnt {sysroot/{proc,sys,bin,sbin,lib/modules,usr/{bin,sbin,lib},var/{run,log,lock},etc/init.d,dev,home,root,tmp},boot/grub}

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 /test/*9* /pub

5.移动/test所有有1字符命名的文件到/pub目录下。

#mv /test/*1* /pub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值