RH124-Linux下的文件管理

Linux下的文件管理

一.文件管理命令:

1.新建文件与目录:

touch 命令用于新建文件,修改文件的时间戳

命令 效果
touch file1 file2… 新建空文件
touch -t YYYYMMDDHHmm file 更改文件的时间戳至指定时间:YYYY年MM月DD日HH小时mm分钟

新建文件:
在这里插入图片描述
在这里插入图片描述
文件时间属性的修改:首先应右键file后点击properties(属性)进行查看在下方会显示文件的时间属性,经过touch -t命令的修改之后重新查看,会发现时间属性已被成功修改,若要修改时间属性的秒数,用touch --help可以进行查看,在时间属性修改上,修改至秒数则用touch -t
YYYYMMDDHHmm.ss file的格式进行修改:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
mkdir命令用于新建目录(make directory)

命令 效果
mkdir dir1 dir2… 建立空目录
mkdir -p test/redhat/linux 建立多层目录(符合递归关系)

建立目录:
在这里插入图片描述
在这里插入图片描述
建立多层目录:
在这里插入图片描述

2.删除文件或目录:

rm命令用于删除文件或目录

命令 效果
rm file1 file2… 删除文件时有提示
rm -f file 强制删除文件不提示(f用force记忆)
rm -r dir1 dir2… 递归删除目录
rm -fr dir 递归删除目录(包括目录中的所有)

删除文件以及目录:
在这里插入图片描述
在删除文件或目录时,若未加上-f就会提示,对于该提示的问答按y代表yes,按n代表no
在这里插入图片描述

3.图形文本编辑器:

gedit命令可以用于图形的文本编辑:

命令 效果
gedit file1 file2 编辑file1,file2

注:gedit在使用时必须有图形,并且file1,2可以不存在
在这里插入图片描述

4.vim文本编辑器:

vim命令可验用于文本编辑,本文中只涉及基础操作,后续将介绍vim高级编辑效果:

命令 效果
vim file 进入到vim的浏览模式

vim模式界面浏览:
在这里插入图片描述
注:
[1]进入到vim浏览模式时不能编辑文件
[2]浏览模式时需按i后进入插入模式(下方出现insert)即可进行编辑
在这里插入图片描述
[3]在vim中鼠标不能控制光标,只能用上下左右移动
[4]按Esc退出插入模式
[5]按**:wq**可以保存更改并退出
对于vim模式下在未保存时异常退出(如直接强行关闭shell)时,再次打开shell并进行vim编辑:

操作 效果
O 只读打开文件
E 继续上一次的编辑(被强制关闭时的编辑)
R 恢复未保存的内容编辑
D 删除.swp文件并进入编辑
Q 退出当前的文件编辑
A 退出vim程序

以上命令在报错出现时都会有提示:
在这里插入图片描述
vim在同时打开多个文件时的操作:

命令 效果
vim -o file1 file2 分上下两个模式打开文件
ctrl+w+上/下 控制上下模式中转换窗口
vim -p file1 file2 分左右两个模式打开文件
:tabn 左右模式中转换至后一个窗口
:tabq 左右模式中转换至前一个窗口

注:vim后接空格file1和file2,只会成功保存file1,file2的保存则会出现问题
vim上下打开文件:在这里插入图片描述
vim左右打开文件:
在这里插入图片描述

5.文件的显示与浏览:

cat命令可以显示文件中的所有内容:

命令 效果
cat file 显示文件中所有内容
cat -b file 显示文件内容并显示行号,不显示空行的行号
cat -n file 显示文件内容并显示行号

以下的实验素材:将history的执行结果放入file中:命令为:history > file
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
head命令可以查看文件前多少行

命令 效果
head file 默认显示文件前10行
head -n file n为数字,显示文件的前n行

在这里插入图片描述
tail命令可以查看文件后多少行:

命令 效果
tail file 默认显示文件后10行
tail -n file n为数字,显示文件的后n行

在这里插入图片描述
less命令可以对文件进行分页浏览:

命令 效果
less file 进入到less模式查看file
less file+上/下 在less模式中用上/下进行逐行查看
pgup/pgdn 逐页查看文件内容
less file+/关键字 搜索关键字,并按n向上逐一匹配,按N向下逐一匹配
less模式下按v less模式直接进入vim编辑,编辑完成后按:wq完成编辑保存退出后返回到之前的less模式中
less模式下q 在less模式中退出

less模式:
在这里插入图片描述
less模式匹配关键字:
在这里插入图片描述

6.文件的移动与复制:

cp命令可以复制文件:

命令 效果
cp file 目的地 将file复制至目的地
cp file1 file2 目的地 将file1,file2复制至目的地
cp -r dir1 dir2 将dir1复制至dir2

在这里插入图片描述
mv命令可以移动文件:

命令 效果
mv file1 file2 dir 将file1,file2移动至目录dir1中
mv dir1 dr2 dir3 将dir1,dir2移动至目录dir3中
mv file newname 不存在file时对file进行重命名

在这里插入图片描述
最后需要搞清移动与复制对应的概念: 复制文件,即按照源文件在目的地处新建一个文件,可以通俗地理解为“抄作业”;移动文件需要分为两种情况,一是相同设备分区中的文件移动实质是重命名过程,二是不同设备分区中的文件移动是建立新文件与删除原文件的过程。
注:命令ls -i file可以查看文件的节点号(相当于文件的身份证号),通过比对节点号就可以明白其原理
在这里插入图片描述

7.文件的类型查看:

file命令可以对文件类型进行查看:

命令 效果
file file1 查看file1的文件类型

实验素材:分别对于file1中文件进行不同的文本编辑,并对几种情况做出对比:
在这里插入图片描述

8.文件的容量统计:

wc命令可以用于文件容量的统计:

命令 效果
wc -l 统计文件行数
wc -m 统计文件字符数
wc -w 统计文件单词数
wc -c 统计文件字节数

在这里插入图片描述
注:
[1]本实验vim编辑文本统计字节数时除了helloworld这10个字母外还有两个换行符,一个在hello后,一个在world后
[2]本实验中由于编辑vim的内容是英文,所以-m和-c的效果一致,即对于英文的输入来说,字符数等于字节数,但是输入中文时不同,字节数就将远大于字符数,并且一个汉字对应三个字节,字节数就是衡量容量文件大小的单位。

二.Linux中文件的寻址:

1.Linux系统结构:

FSH (Filesystem Hierarchy Standard)Linux层级结构标准3,Linux的哲学思想是一切皆文件,把几乎所有资源统统抽象为文件形式。


系统二级目录 内容
/bin 系统常规命令
/sbin 系统管理命令
/dev 设备文件
/home 普通用户家目录集合,此目录中的子目录为普通用户家目录
/root 超级用户家目录
/lib64 64位函数库
/lib 系统函数库
/proc 进程信息,系统识别的硬件信息
/run 当前运行的硬件和系统模块
/srv 系统数据(常量)
/var 系统数据(变化)
/tmp 系统临时文件存放目录
/mnt 临时设备挂载点
/media cdrom临时挂载点
/etc 系统大多数程序的配置目录
/opt 第三方软件安装位置
/boot 系统启动分区,系统启动时读取文件都在此目录中
/sys 关于内核设定目录
/usr unix system resource仅次于/的重要,多数系统资源都在此目录

2.相对路径与绝对路径:

相对路径: 绝对路径名称的简写,省略了用户当前所在的系统位置,此名称只有在管理当前所在系统目录中子文件时才能使用,系统中不以 / 开头的文件名称都为相对路径,在程序操作时会自动识别当前路径的信息并关联操作目标。
绝对路径: 文件在系统中的真实位置,在任何场景下都可以使用,通常以 / 开头,不会考虑当前的系统位置。

3.关于文件寻址的命令:

pwd命令可以显示当前目录,cd命令可以切换当前的工作目录:

命令 效果
pwd 显示当前的工作目录
cd~- 切换当前的工作目录,且cd~-=cd-
cd . . 切换到当前目录的上一级

结合路径与pwd和cd的相关练习:
在这里插入图片描述
ls命令可以显示文件的信息:

命令 效果
ls 显示当前目录中文件的名称
ls file 显示指定文件名称
ls dir 显示指定目录中内容的名称
ls -d dir 显示目录本身的名称
ls -l file 显示文件的属性
ls -l dir 显示目录中内容的属性
ls -ld dir 显示目录本身属性
ls -a dir 显示目录中所有文件名称包括隐藏文件名称
ls -s 显示文件大小
ls -R dir 递归显示目录中的内容

在这里插入图片描述
在这里插入图片描述

三.文件批量处理:

1.匹配符:

以下介绍在linux中的几种匹配符:

匹配符 效果
* 匹配0~任意字符
? 匹配单个字符
[[:alpha:]] 匹配单个字母
[[:lower:]] 匹配单个小写字母
[[:upper:]] 匹配单个大写字母
[[:digit:]] 匹配单个数字
[[:alnum:]] 匹配单个数字或字母
[[:punct:]] 匹配单个符号
[[:space:]] 匹配单个空格

将/etc/目录下所有后五个字符为.conf的文件复制到当前目录:
在这里插入图片描述
匹配当前目录中所有名称为五个字符的文件:
在这里插入图片描述
建立多个文件后对比匹配,依次匹配得到实验现象,值得关注的是后三个,[[:alpha:][:space:]]可以匹配所有字母以及空格的,[![:alpha:][:space:]]可以匹配所有除了字母以及空格以外的,与[^ [:alpha:][:space:]]效果相同:
在这里插入图片描述

2.字符集合匹配规则及~的使用方法:

字符集合表示方法:

表示方法 效果
[ ] 条件是或者关系是模糊匹配,对象和几个对比匹配就操作 [1-10] 为1到10,[!d-f]/[^d-f]指除了d-f以外
{ } 点名机制,精确到指定集合中的每一个元素 {1…10}指从1到10的所有元素,{a…c}指从a到c的所有元素

在这里插入图片描述
在建立和删除时也可以用[ ]和{ }批量处理,并且在匹配文件时fi[3-4]le?表示匹配所有格式为fi3le+任意单个字母以及fi4le+任意单个字母的文件,若中间不添加-只是几个数字的罗列,则只会删除该括号内数字显示的文件:
在这里插入图片描述

匹配方式 效果
~ 默认代表当前用户的家目录
~username 指定的用户家目录
~+ 等于. 指当前目录
~- 当前目录之前所在的目录
. . 当前目录的上级目录

~的匹配演示:
在这里插入图片描述
~+的匹配演示:
在这里插入图片描述
~-和. .的匹配演示:
在这里插入图片描述

四.TEST:

Q1:用命令和正则表达式按要求建立文件:

(1)用一条命令建立12个文件WESTOS_classX_linuxY(X的范围是1-2,Y的范围是1-6)
(2)这些文件都包含在root用户桌面的study目录中
(3)用一条命令建立8个文件redhat_versionX(X的范围是1-8)
(4)redhat_versionX这些文件都包含在/mnt目录中的version中

Q2:管理刚才所建立的文件,要求如下:

(1)用一条命令吧redhat_versionX中带有奇数的文件复制到桌面的/SINGLE中
(2)用一条命令把redhat_versionX中带有偶数的文件复制到/DOUBLE中
(3)用一条命令把WESTOS_classX_linuxY中class1的文件移动到当前用户桌面的CLASS1中
(4) 用一条命令把WESTOS_classX_linuxY中class2的文件移动到当前用户桌面的CLASS2中

Answer:

第一题:(结合路径直接建立)

mkdir study
touch study/WESTOS_class{
    
    1..2}_linux{
    
    1..6}
mkdir /mnt/version
touch /mnt/version/redhat_version{
    
    1..8}

第一题还可以先新建文件与目录,再将文件新移动相关目录:

touch WESTOS_class{
    
    1..2}_linux{
    
    1..6}
mkdir study
mv WESTOS_class{
    
    1..2}_linux{
    
    1..6} study
touch redhat_version{
    
    1..8}
mkdir /mnt/VERSION
mv redhat_version{
    
    1..8} /mnt/VERSION

第二题:

mkdir /SINGLE /DOUBLE
cp redhat_version[1357] /SINGLE
cp redhat_version[2468] /DOUBLE
mkdir CLASS1 CLASS2
mv WESTOS_class[1]_linux? CLASS1
mv WESTOS_class[2]_linux? CLASS2

猜你喜欢

转载自blog.csdn.net/weixin_46702804/article/details/112303450