陈鑫
FHS(Firesystem Hierarchy Standard ) 文件系统层级标准
文件系统: 存储设备指定存放数据文件的方法和数据机构。
注:第二层下bin是/usr/bin的软连接
1.目录层级
/ 所有数据文件
bin 所有用户都可以执行的命令文件
sbin 只有管理员可以执行的命令文件
lib 32数据的库文件 都是在/usr(目录下应用的)
lib64 64数据的库文件
tmp 临时目录 usr 核心资源文件
usr 核心资源文件
root root(管理员)用户家目录
home 所有普通用户的主路径
boot 系统加载引导相关所有文件 (boot下文件删除,则系统将不能运行)
dev 设备目录文件(大小变为主设备类型,次设备类型)
etc 系统中所有的配置文件 (软件程序初始化参数文件)
opt 自定义软件的安装路径
proc 系统内核相关的进程信息
sys 硬件驱动程序
run 应用程序文件的进程
srv 服务程序文件的路径
tmp 临时目录
详细说明:
第一层(顶级目录)
/ 所有数据文件 :
[root@localhost ~]# ll /
total 28
drwxr-xr-x. 3 root root 15 Nov 24 03:52 1
-rw-r--r--. 1 root root 0 Nov 23 23:08 aaa
lrwxrwxrwx. 1 root root 3 Nov 23 23:10 aaa.lnk -> aaa
lrwxrwxrwx. 1 root root 3 Nov 22 04:56 aaalnk -> aaa
lrwxrwxrwx. 1 root root 7 Jun 21 2021 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Nov 20 02:20 boot
drwxr-xr-x. 20 root root 3200 Nov 24 15:55 dev
drwxr-xr-x. 145 root root 8192 Nov 24 15:56 etc
lrwxrwxrwx. 1 root root 10 Nov 24 20:18 file.lnk -> /root/file
lrwxrwxrwx. 1 root root 10 Nov 24 02:37 fire.lnk -> /root/fire
drwxr-xr-x. 3 root root 20 Nov 20 02:12 home
lrwxrwxrwx. 1 root root 7 Jun 21 2021 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Jun 21 2021 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Jun 21 2021 media
drwxr-xr-x. 3 root root 18 Nov 20 02:00 mnt
-rw-r--r--. 2 root root 0 Nov 24 20:16 newfile
drwxr-xr-x. 2 root root 6 Jun 21 2021 opt
dr-xr-xr-x. 308 root root 0 Nov 24 15:55 proc
dr-xr-x---. 8 root root 4096 Nov 25 01:18 root
drwxr-xr-x. 42 root root 1220 Nov 24 15:57 run
lrwxrwxrwx. 1 root root 8 Jun 21 2021 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Jun 21 2021 srv
dr-xr-xr-x. 13 root root 0 Nov 24 15:55 sys
drwxrwxrwt. 23 root root 4096 Nov 25 01:07 tmp
drwxr-xr-x. 13 root root 158 Nov 20 02:00 usr
drwxr-xr-x. 21 root root 4096 Nov 20 02:19 var
第二层
bin 所有用户都可以执行的命令文件
[root@localhost ~]# ll /bin
lrwxrwxrwx. 1 root root 7 Jun 21 2021 /bin -> usr/bin
[root@localhost ~]# ll /usr/bin
total 236264
-rwxr-xr-x. 1 root root 54840 Jul 10 2021 '['
-rwxr-xr-x. 1 root root 33032 Aug 13 2018 ac
-rwxr-xr-x. 1 root root 25072 Jun 15 2021 aconnect
-rwxr-xr-x. 1 root root 34064 Jul 7 2021 addr2line
sbin 只有管理员可以执行的命令文件
[root@localhost ~]# ll /usr/sbin
total 84524
lrwxrwxrwx. 1 root root 10 May 14 2021 accept -> cupsaccept
-rwxr-xr-x. 1 root root 12912 Jun 24 2021 accessdb
-rwxr-xr-x. 1 root root 13672 Aug 13 2018 accton
eg:查看命令useradd---建立用户
[root@localhost ~]# ll /usr/sbin/useradd
-rwxr-xr-x. 1 root root 147344 Aug 12 2021 /usr/sbin/useradd
[root@localhost ~]# useradd redhat
useradd: user 'redhat' already exists
[root@localhost ~]# su - redhat
[redhat@localhost ~]$ useradd cx (普通用户不可以执行)
useradd: Permission denied.
useradd: cannot lock /etc/passwd; try again later.
lib 32数据的库文件
lib64 64数据的库文件
[root@localhost ~]# ll /lib
lrwxrwxrwx. 1 root root 7 Jun 21 2021 /lib -> usr/lib
[root@localhost ~]# ll /usr/lib
total 52
drwxr-xr-x. 3 root root 18 Nov 20 01:59 alsa
drwxr-xr-x. 2 root root 6 Sep 23 2021 binfmt.d
drwxr-xr-x. 9 root root 109 Nov 20 02:00 cups
usr 核心资源文件
root root(管理员)用户家目录
home 所有普通用户的主路径
boot 系统加载引导相关所有文件 (boot下文件删除,则系统将不能运行)
dev 设备目录文件(大小变为主设备类型,次设备类型)
补:
Linux中I/O设备分为两类:字符设备和块设备。两种设备本身没有严格限制,但是,基于不同的功能进行了分类来。
(1)字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节自/字符来读写数据。举例来说,终端、 百键盘、串口、调制解调器都是典型的字符设备。
(2)块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘、软盘、CD-ROM驱动器和闪存都是典型度的块设备,应用程序可以寻址磁盘上的任何位置,并由此读取数据。此外,数据的读写知只能以块(通常是512B)的倍数进行。与字符设备不同,块设备并不支持基于字符的寻址。
总结
这两种类型的设备的根本区别在于它们是否可以被随机访问。字符设备只能按顺序读取数据,块设备可以随机读取数据。
Linux终端类型:tty 、pty 、pts
tty:控制台的设备终端文件
crw-rw-rw-. 1 root tty 5, 0 Nov 24 15:55 tty
crw--w----. 1 root tty 4, 0 Nov 24 15:55 tty0
crw--w----. 1 root tty 4, 1 Nov 24 15:55 tty1
crw--w----. 1 root tty 4, 10 Nov 24 15:55 tty10
crw--w----. 1 root tty 4, 11 Nov 24 15:55 tty11
硬盘
crw-------. 1 root root 244, 0 Nov 24 15:55 nvme0
brw-rw----. 1 root disk 259, 0 Nov 24 15:55 nvme0n1
brw-rw----. 1 root disk 259, 1 Nov 24 15:55 nvme0n1p1
brw-rw----. 1 root disk 259, 2 Nov 24 15:55 nvme0n1p2
注:nvme0--硬盘
n1----第一块
p1、p2---分区
etc 系统中所有的配置文件 (软件程序初始化参数文件)
作用:后期可以更改软件的参数信息
opt 自定义软件的安装路径
proc 系统内核相关的进程信息
eg: 列举并且查看目录proc下的cpu信息
[root@localhost ~]# ll /proc/cpuinfo
-r--r--r--. 1 root root 0 Nov 24 23:36 /proc/cpuinfo
[root@localhost ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 154
model name : 12th Gen Intel(R) Core(TM) i7-12700H
stepping : 3
microcode : 0x41c
cpu MHz : 2688.005
cache size : 24576 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 32
wp : yes
cpu cores : 1 1核
eg:查看目录proc下的内存(Memory)信息
[root@localhost ~]# cat /proc/meminfo
MemTotal: 1833200 kB
MemFree: 341788 kB
MemAvailable: 554708 kB
Buffers: 160 kB
Cached: 326480 kB
SwapCached: 3164 kB
Active: 211204 kB
Inactive: 731816 kB
Active(anon): 29440 kB
Inactive(anon): 597508 kB
Active(file): 181764 kB
Inactive(file): 134308 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 2097148 kB
sys 硬件驱动程序
run 应用程序文件的进程
srv 服务程序文件的路径
tmp 临时目录
var 动态可变化的数据文件路径(日志--log 邮件--mail 有关进程 ---run 缓存---cache 游戏--- )
文件:主机上日志文件:在主机上做排除时,在当前时间节点上每一秒,以秒的方式看你主机做了什么 。 只要你时间在变,主机信息(进程信息 缓存信息) 就发生变化
[root@localhost ~]# cd /var
[root@localhost var]# ll
total 12
drwxr-xr-x. 2 root root 19 Nov 20 02:02 account
drwxr-xr-x. 2 root root 6 Jun 21 2021 adm
drwxr-xr-x. 17 root root 220 Nov 20 02:19 cache
drwxr-xr-x. 2 root root 6 Aug 27 2021 crash
drwxr-xr-x. 3 root root 18 Nov 20 02:00 db
drwxr-xr-x. 3 root root 18 Nov 20 02:01 empty
drwxr-xr-x. 2 root root 6 Jun 21 2021 ftp
drwxr-xr-x. 2 root root 6 Jun 21 2021 games
drwxr-xr-x. 2 root root 6 Jun 21 2021 gopher
drwxr-xr-x. 3 root root 18 Nov 20 01:55 kerberos
drwxr-xr-x. 61 root root 4096 Nov 20 02:19 lib
drwxr-xr-x. 2 root root 6 Jun 21 2021 local
lrwxrwxrwx. 1 root root 11 Nov 20 01:53 lock -> ../run/lock
drwxr-xr-x. 17 root root 4096 Nov 24 15:55 log
lrwxrwxrwx. 1 root root 10 Jun 21 2021 mail -> spool/mail
drwxr-xr-x. 2 root root 6 Jun 21 2021 nis
drwxr-xr-x. 2 root root 6 Jun 21 2021 opt
drwxr-xr-x. 2 root root 6 Jun 21 2021 preserve
lrwxrwxrwx. 1 root root 6 Nov 20 01:53 run -> ../run
drwxr-xr-x. 10 root root 106 Nov 20 02:01 spool
drwxrwxrwt. 6 root root 4096 Nov 25 01:07 tmp
drwxr-xr-x. 2 root root 6 Jun 21 2021 yp
或
[root@localhost var]# cd ~
[root@localhost ~]# ll /var
2. (-/d)(文本文件或目录文件 )文件相关的操作命令
约束注意点:
(1)同一路径下不能有两个相同的文件名
(2)严格区分大小写
(3)文件命令不能以/字符命令(文件名称不能包含/字符)
eg: a/b:表示在a这个目录下有b这个文本文件 /表示路径分割
若/a/b 第一个/表示 /目录的意思(也就是该字符已经有了特殊含义)
文件命名可以有空格字符:
如何创建:"a b" 或 ‘a b' (表示这是一个文件名, 并且 a b之间有空格)
(4)文件命名字符不能超过255字符
touch 本来是修改文件时间信息
后期用来创建文本文件
TOUCH(1) User Commands TOUCH(1)
NAME
touch - change file timestamps
SYNOPSIS
touch [OPTION]... FILE...
DESCRIPTION
Update the access and modification times of each FILE to the current time.
A FILE argument that does not exist is created empty, unless -c or -h is supplied.
A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output.
Mandatory arguments to long options are mandatory for short options too.
-a change only the access time
-c, --no-create
do not create any files
-d, --date=STRING
parse STRING and use it instead of current time
-f (ignored)
...skipping...
output version information and exit
Note that the -d and -t options accept different time-date formats.
(用man touch 查询 按q键退出)
当一个路径下不存在该文件通过touch 可以创建一个普通文本文件。
时间:创建时间、修改时间 如果这个文本文件已经存在,则修改文件时间
stat FILENAME 文件详细属性
[root@localhost ~]# ll
total 12
lrwxrwxrwx. 1 root root 2 Nov 24 02:04 d1.lnk -> d1 (软链接)
[root@localhost ~]# stat d1.lnk
File: d1.lnk -> d1
Size: 2 Blocks: 0 IO Block: 4096 symbolic link
Device: fd00h/64768d Inode: 35245052 Links: 1 (硬链接次数)
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-11-25 16:52:47.508955681 +0800 (访问时间 目录文件-ls 文本文件-cat )
Modify: 2022-11-24 02:04:36.695685883 +0800 (修改时间)
Change: 2022-11-24 02:04:36.695685883 +0800 (原数据更新时间)原数据:除了文件名以外信息
Birth: 2022-11-24 02:04:36.695685883 +0800 (文件的创建时间)
(ll下的文件信息还不够详细, 用stat详细查看)
touch FILENAME......(文本文件名字)
touch a b c (命令中如果用空格隔开就指定成多个参数)
touch {1,2,3,4}
touch {1..10} (两个点表示 省略 的意思)
eg:
touch /root/a b c (三个文件: /root/a(绝对路径) (b c)相对路径 )
touch /root/{1,2,3} == touch /root/1 /root/2 /root/3
mkdir DIRNAME...(目录文件名字)
-p 父目录 创建多级目录
[root@localhost ~]# mkdir /1/2/3/4/5
mkdir: cannot create directory ‘/1/2/3/4/5’: No such file or directory
[root@localhost ~]# mkdir -p /1/2/3/4/5
-v 详细信息
-pv
[root@localhost ~]# mkdir -pv /a/b/c/d
mkdir: created directory '/a'
mkdir: created directory '/a/b'
mkdir: created directory '/a/b/c'
mkdir: created directory '/a/b/c/d'
eg:
mkdir d1 d2 d3
mkdir dd{1,2,3}
eg:
mkdir -pv /root/{1..3}/abc (在/root下创建1 2 3 三个文件,然后在1 2 3 三个文件下再分别
都创建文件abc)
注:{}只是适用多个文件多个选项
eg:
[root@localhost ~]# mkdir {1}
[root@localhost ~]# ll
total 12
drwxr-xr-x. 2 root root 6 Nov 25 23:38 {1}
tree 树状结构显示目录文件
[root@localhost ~]# mkdir -pv /1/2/3/4/5
[root@localhost ~]# ll /1
total 0
drwxr-xr-x. 3 root root 15 Nov 25 23:22 2
[root@localhost ~]# ll /1/2
total 0
drwxr-xr-x. 3 root root 15 Nov 25 23:22 3
[root@localhost ~]# tree /1
/1
└── 2
└── 3
└── 4
└── 5
4 directories, 0 files
rm 删除文件
-r 递归
-f force 强制
rm FILENAME 删除文本文件
rm -r NAME 删除目录文件
rm -rf FILE 强制删除一个文件
[root@localhost ~]# rm -r /1/2/3/4/5
rm: remove directory '/1/2/3/4/5'? y (只是删除文件5)
[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
rm: remove directory '/1/2/3/4'? y
rm: remove directory '/1/2/3'? y
rm: remove directory '/1/2'? y 多目录
rm: remove directory '/1'? y (非强制删除,要一个一个删)
[root@localhost ~]# mkdir -pv /1/2/3/4/5
mkdir: created directory '/1'
mkdir: created directory '/1/2'
mkdir: created directory '/1/2/3'
mkdir: created directory '/1/2/3/4'
mkdir: created directory '/1/2/3/4/5'
[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
rm: descend into directory '/1/2/3/4'? y
rm: remove directory '/1/2/3/4/5'? y
rm: remove directory '/1/2/3/4'? y
rm: remove directory '/1/2/3'? y
rm: remove directory '/1/2'? y
rm: remove directory '/1'? ^C (按ctr1 c)命令停止执行
[root@localhost ~]# rm -rf /1 强制删除,一步到位
注:proc 系统内核相关的进程信息删除不了
*任意长度的任意字符
rm -rf a* 删除开始以a字符命名的所有文件
*a 删除以a字符结尾的所有文件
*a* 删除有a字符的所有文件
rm -rf / (不可以) 只能删除 / 下的所有文件:rm -rf /*
mv移动文件
mv 源文件名 目标路径(必须是目录)
mv 直接重命名
#touch /root/fire
#mv /root/file /
#mv /root/file /newfile
(1) 当/newfile 不存在,将file移动到/目录并改名为newfile
(2)当/newfile存在,如果newfile 是目录文件,表示file移动到/newfile目录下
(目录文件) 如果是文本文件,表示fire移动到/目录改名为newfile
给file写一个内容:
[root@localhost ~]# echo 123 > file
[root@localhost ~]# cat file
123
[root@localhost ~]# cd /
[root@localhost /]# echo 123 > file
[root@localhost /]# cat file
123
[root@localhost /]# mv /root/file /newfile
mv: '/root/file' and '/newfile' are the same file
[root@localhost /]# cat newfile
123
cp 复制文件
cp 源文件名 目标路径
-r 递归
cp 文本文件名 目标路径
cp -r 目录文件名 目标路径 (目录及目录之下的数据文件都要复制过去)
#touch /root/file
#cp /root/fire /
#cp /root/fire /nenfile
(1)当/newfile 不存在,将file移动到/目录并改名为newfile
(2)当/newfile存在,如果newfile是目录文件,表示file移动到/newfile目录下
如果是文本文件,表示fire移动到/目录改名为newfile
#mkdir /root/test
如果是目录文件则:
#cp -r /root/test / 复制到目录文件
查看文本文件内容的6个命令
cat -n FILENAME(查询内容从小到大)(加上 -n 显示行号,不算内容)
tac FILENAME (查询内容从大到小)
more FILENAME 分屏显示文件内容,最后将内容输出到终端
less FILENAME 分屏显示文件内容,打开文件阅读 退出q 换页:空格--切换下一页 b--切 换上一页 /关键词 匹配关键词n N ?关键词
head FILENAME 查看文件前十行
head -n 5 FILENAME == head -5 FILENAME 查看文件前五行
tall FILENAME 查看文件后十行
tall -5 FILENAME 查看文件后五行
weget 下载文件
cat -n FILENAME(查询内容从小到大)(加上 -n 显示行号,不算内容)
[root@localhost ~]# cat -n /etc/passwd (查看配置文件下的口令)
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[root@localhost ~]# cat -n /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
选项和参数可以互换位置
提:选项和参数可以互换位置
tac FILENAME (查询内容从大到小)
提:可以查看多个文件信息
在内容信息比较多的时候:
more FILENAME 分屏显示文件内容,最后将内容输出到终端
less FILENAME 分屏显示文件内容,打开文件阅读 退出q 换页:空格--切换下一页 b--切 换上一页 /关键词 匹配关键词n (下一个) N(上一个) /或?关键词
head FILENAME 查看文件前十行
head -n 5 FILENAME == head -5 FILENAME 查看文件前五行
tall FILENAME 查看文件后十行
tall -5 FILENAME 查看文件后五行
[root@localhost ~]# cd /
[root@localhost /]# head -n 5 /etc/passad
head: cannot open '/etc/passad' for reading: No such file or directory
[root@localhost /]# head -n 5 /etc/passad
head: cannot open '/etc/passad' for reading: No such file or directory
[root@localhost /]# head -n 5 /etc/passad
head: cannot open '/etc/passad' for reading: No such file or directory
wget 下载文件
第一步:查看是否能上网
[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (180.101.49.14) 56(84) bytes of data.
64 bytes from 180.101.49.14 (180.101.49.14): icmp_seq=1 ttl=128 time=13.3 ms
64 bytes from 180.101.49.14 (180.101.49.14): icmp_seq=2
第二步
[root@localhost /]# wget https://down.qq.com/qqweb/LinuxQQ/linuxqq_2.0.0-b2-1089_x86_64.rpm
-0 将链接文件下载到对应路径进行改名
[root@localhost /]# wget -O /file/qq https://down.qq.com/qqweb/LinuxQQ/linuxqq_2.0.0-b2-1089_x86_64.rpm
-p 将链接文件下载到对应路径-c 实现断点续传
-r 下载一个目录文课后作业
## 作业题:
1、#创建目录(尝试以下通过一条命令实现)
在/mnt下创建boot和sysroot目
[root@localhost ~]# mkdir -p /mnt/{boot,sysroot} (mnt已经存在,{}就一级目录可以不用-p)
[root@localhost ~]# ll /
drwxr-xr-x. 5 root root 45 Nov 26 06:55 mnt
在/mnt/boot下创建grub目录
[root@localhost ~]# mkdir /mnt/boot/grub
[root@localhost ~]# ll /mnt/boot
total 0
drwxr-xr-x. 2 root root 6 Nov 26 06:59 grub
在/mnt/sysroot下创建proc,sys,bin,sbin,lib,usr,var,etc,dev,home,root,tmp
[root@localhost ~]# mkdir -pv /mnt/sysroot/{proc,sys,bin,sbin,lib,usr,var,etc,dev,home,root,tmp}
mkdir: created directory '/mnt/sysroot/proc'
mkdir: created directory '/mnt/sysroot/sys'
mkdir: created directory '/mnt/sysroot/bin'
mkdir: created directory '/mnt/sysroot/sbin'
mkdir: created directory '/mnt/sysroot/lib'
mkdir: created directory '/mnt/sysroot/usr'
mkdir: created directory '/mnt/sysroot/var'
mkdir: created directory '/mnt/sysroot/etc'
mkdir: created directory '/mnt/sysroot/dev'
mkdir: created directory '/mnt/sysroot/home'
mkdir: created directory '/mnt/sysroot/root'
mkdir: created directory '/mnt/sysroot/tmp'
在/mnt/sysroot/usr下创建bin,sbin,lib
[root@localhost ~]# mkdir -pv /mnt/sysroot/usr/{bin,sbin,lib}
mkdir: created directory '/mnt/sysroot/usr/bin'
mkdir: created directory '/mnt/sysroot/usr/sbin'
mkdir: created directory '/mnt/sysroot/usr/lib'
在/mnt/sysroot/lib下创建modules
[root@localhost ~]# mkdir -pv /mnt/sysroot/lib/modules
mkdir: created directory '/mnt/sysroot/lib/modules'
在/mnt/sysroot/var下创建run,log,lock
[root@localhost ~]# mkdir -pv /mnt/sysroot/var/{run,log,lock}
mkdir: created directory '/mnt/sysroot/var/run'
mkdir: created directory '/mnt/sysroot/var/log'
mkdir: created directory '/mnt/sysroot/var/lock'
在/mnt/sysroot/etc下创建init.d
[root@localhost ~]# mkdir -pv /mnt/sysroot/etc/init.d
mkdir: created directory '/mnt/sysroot/etc/init.d'
一条命令执行:
[root@localhost ~]# 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}
mkdir: created directory '/mnt/sysroot/proc'
mkdir: created directory '/mnt/sysroot/sys'
mkdir: created directory '/mnt/sysroot/bin'
mkdir: created directory '/mnt/sysroot/sbin'
mkdir: created directory '/mnt/sysroot/lib'
mkdir: created directory '/mnt/sysroot/lib/modules'
mkdir: created directory '/mnt/sysroot/usrbin'
mkdir: created directory '/mnt/sysroot/usrsbin'
mkdir: created directory '/mnt/sysroot/usrlib'
mkdir: created directory '/mnt/sysroot/var'
mkdir: created directory '/mnt/sysroot/var/run'
mkdir: created directory '/mnt/sysroot/var/log'
mkdir: created directory '/mnt/sysroot/var/lock'
mkdir: created directory '/mnt/sysroot/etc'
mkdir: created directory '/mnt/sysroot/etc/init.d'
mkdir: created directory '/mnt/sysroot/dev'
mkdir: created directory '/mnt/sysroot/home'
mkdir: created directory '/mnt/sysroot/tmp'
[root@localhost ~]# tree /mnt
/mnt
├── boot
│ └── grub
├── hgfs
└── sysroot
├── bin
├── dev
├── etc
│ └── init.d
├── home
├── lib
│ └── modules
├── proc
├── root
├── sbin
├── sys
├── tmp
├── usrbin
├── usrlib
├── usrsbin
└── var
├── lock
├── log
└── run
(树状结构显示)
2.如何一次性在/test目录创建以abc表示的100个文件,例如abc1,abc2,abc3,..abc100
[root@localhost ~]# mkdir -pv /test/abc{1..100}
mkdir: created directory '/test/abc1'
mkdir: created directory '/test/abc2'
mkdir: created directory '/test/abc3'
mkdir: created directory '/test/abc4'
mkdir: created directory '/test/abc5'
mkdir: created directory '/test/abc6'
mkdir: created directory '/test/abc7'
mkdir: created directory '/test/abc8'
mkdir: created directory '/test/abc9'
mkdir: created directory '/test/abc10'
3.复制/mnt/boot目录文件到/test并改名为/boot.bak。
法一:
[root@localhost ~]# cp -r /mnt/boot /test/boot.bak
[root@localhost /]# ll /test/boot.bak
total 0
drwxr-xr-x. 2 root root 6 Nov 27 13:57 grub
法二:
[root@localhost /]# cp -r /mnt/boot /test
[root@localhost /]# mv /test/boot /test/boot.bak
4.复制/test所有有9字符命名的文件到/pub下。
[root@localhost ~]# mkdir /pub
[root@localhost /]# cp -r /test/*9* /pub
[root@localhost /]# ll /pub
total 8
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc19
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc29
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc39
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc49
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc59
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc69
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc79
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc89
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc9
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc90
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc91
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc92
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc93
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc94
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc95
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc96
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc97
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc98
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc99
drwxr-xr-x. 2 root root 6 Nov 24 02:02 d1
lrwxrwxrwx. 1 root root 2 Nov 24 02:04 d1.lnk -> d1
drwxr-xr-x. 162 root root 4096 Nov 26 07:54 test
5.移动/test所有有1字符命名的文件到/pub目录下。
[root@localhost /]# mv /test/*1* /pub
mv: overwrite '/pub/abc19'? y
mv: overwrite '/pub/abc91'? y
[root@localhost /]# ll /pub
total 8
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc1
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc10
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc100
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc11
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc12
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc13
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc14
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc15
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc16
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc17
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc18
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc19
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc21
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc29
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc31
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc39
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc41
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc49
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc51
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc59
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc61
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc69
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc71
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc79
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc81
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc89
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc9
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc90
drwxr-xr-x. 2 root root 6 Nov 27 13:56 abc91
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc92
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc93
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc94
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc95
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc96
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc97
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc98
drwxr-xr-x. 2 root root 6 Nov 27 14:16 abc99
drwxr-xr-x. 2 root root 6 Nov 24 02:02 d1
lrwxrwxrwx. 1 root root 2 Nov 24 02:04 d1.lnk -> d1
drwxr-xr-x. 162 root root 4096 Nov 26 07:54 test
初学者小白
请多多指教~~