Linux_红帽8学习笔记分享_3(文件操作管理)

文章目录

  • Linux_红帽8学习笔记分享_3(文件操作管理)
  • 1.Vi编辑器
    • 1.1两种模式
    • 1.2十种技巧
  • 2.用户的家目录
    • 2.1 su命令的使用
    • 2.2 id命令的使用
  • 3. 重定向技术
    • 3.1查看文件内容的命令
      • 3.1.1 cat命令的使用
      • 3.1.2 more命令的使用
    • 3.2重定向概念
    • 3.2输出重定向符
    • 3.3标准追加重定向符
    • 3.4错误输出重定向符
    • 3.5错误追加重定向符
    • 3.5全部输出重定向符
  • 4.find查找指令
    • 4.1按名称查找
    • 4.2按类型查找
    • 4.3按用户查找
    • 4.4 find的高级技巧
  • 5.mv移动命令的四种用法
    • 5.1将当前目录文件移动到目标目录
    • 5.2将其他目录下的文件移动到目标目录
    • 5.3在移动时对目标目录下的同名文件进行覆盖内容操作
    • 5.4使用mv移动目录
  • 6.cp复制命令的四种用法
    • 6.1复制并在粘贴时对文件进行重命名
    • 6.2对文件仅进行复制粘贴
    • 6.3在粘贴时对目标目录下的同名文件进行覆盖内容操作
    • 6.4对目录进行复制粘贴
  • 7.grep在文件内容中查找

1.Vi编辑器

VI编辑器就相当于Windows的记事本,可以修改底层配置文件

1.1两种模式

远程连接servera,我们写一个vim按下回车,会看到它的全称是Vi IMPorved是Vi的改进版,还能够给看见它的作者和版本,它是开源的免费分发的软件,如下图所示

进入之后输入:q!进行退出,退出到命令行

如果文件名之前在当前目录下不存在:我们输入vim ####g001.txt,回车,会发现左下角如右图显示

它会使用该文件名创建了一个新的空白文件

我们进入之后处于命令模式,我们想要写入内容,需要进入插入模式,按下insert键或者s键,左下角出现如右图所示
代表我们进入了插入模式,我们如下图所示插入学号、班级、名字

如果文件名之前在当前目录下存在:会打开该文件进行二次编辑

1.2十种技巧

我们所有的技巧都是在命令模式下做

1、在录入完成内容后,按下Esc从插入模式退出到命令模式,后输入:wq,即可完成存盘退出,返回到命令行

如果误操了,我们使用放弃存盘直接退出,在命令模式下输入:q!,返回到命令行,再次打开文件会发现文件没有之前的操作被改变

2、在命令行模式下,输入一个:,之后按上下键可以快速打出上一个或者下一个历史命令

3、我们像把内容存到根目录下的tmp的学号+名字.txt,我们输入:w /tmp/####159####g.txt,回车,会出现如下图所示内容

我们就会看到新文件已经生成了,另存为一个副本,

4、在命令模式下输入u可以撤销上次的操作,在命令模式下输入Ctrl+r即可重做刚刚的操作(注意:如果退出vim之后,则撤销和重做均无效

5、在命令模式下输入/搜索内容,即可进行搜索,如下图所示,我搜索的是20,它便会将所有20显示为高亮

按下n可以查看下一个匹配项,按下shift+n可以查看上一个匹配项,查询过后可以在命令模式下输入:noh来取消高亮色干扰我们

6、我们输入:n可以跳转到第n行,例如输入:3,就会将光标跳转到第3行,输入:1,就会将光标跳转到第1行

在任意一行中,按下0键将会快速跳转到该行的首部,按下$键或者End键将会快速跳转到该行的末尾

7、输入gg跳转到整个文档的首行,输入G(即shift+g)跳转到文档的最后一行

8、输入小写的o可以在当前行下面插入一行并且切换到插入模式,其效果如下图所示

9、输入:set nu显示行号,输入:set nonu取消行号,其效果如下图所示

10、剪切当前行内容dd粘贴p(只能粘贴到光标所在行的下一行),复制当前行内容yy.粘贴p(同样只能粘贴到光标所在行的下一行)

我们按下shift+v可进入可视化行模式,从光标所在处移动可以快速将很多内容选中,按下y可都复制上,将光标移动到想要粘贴的地方,输入p即可进行粘贴(同样只能粘贴到光标所在行的下一行),它可以完成多行复制粘贴的任务

2.用户的家目录

超级用户root的家目录是/root

普通用户的家目录是/home/下的与用户同名二级子目录

使用useradd添加用户####g001,使用passwd设置密码

2.1 su命令的使用

su - 命令是用来切换用户的 ,在切换之前我们的身份是超级管理员,我们要切换到###g001,因为是高权限向低权限切换身份,所以是直接切换;低级向高级切换身份或者是同级切换身份是要输入密码的,使用exit即可进行返回,如下图所示


如上图所示,su命令只进行用户身份的切换不进行家目录的跳转

2.2 id命令的使用

id可以显示当前用户的属性信息,有用户名,userID,组名,安全上下文等等,如下图所示

3. 重定向技术

3.1查看文件内容的命令

3.1.1 cat命令的使用

cat是将文件内容简述到标准输出(屏幕)上,它的使用方法如下图


具体使用案例如下图所示

3.1.2 more命令的使用

more是以分页的方式显示文件内容,它的语法格式如下图

具体使用案例如下图所示,它会显示满一个屏幕,当你按下空格键后悔显示下一页的内容

区分:cat是将所有内容全部显示出来,光标也会随之跳转到内容的最后一行;more是将内容以一个屏幕的内容为一页,一页一页的显示出来

3.2重定向概念

重定向的概念就是输出的转移,

3.2输出重定向符

我们使用重定向符号>来实验一下,如下图所示

我们在使用了>后看一下###g1.txt的内容,如下图所示

而这个>是会覆盖其目标文件的,如下两张图所示,用pwd的内容将###g1.txt文件的内容给覆盖掉了

3.3标准追加重定向符

我们使用重定向符号>>来实验一下,如下图所示

我们在使用了>>后看一下###g1.txt的内容,如下图所示

如果再次使用一次>>,则###g1.txt的内容,如下图所示

3.4错误输出重定向符

我们使用重定向符号2>来实验一下,如下图所示

我们在使用了2>后看一下###g1.txt的内容,如下图所示,效果是覆盖原来的内容,将原本要显示在屏幕的内容重定向到目标文件内

3.5错误追加重定向符

我们使用重定向符号2>>来实验一下,如下图所示

我们在使用了2>>后看一下###g1.txt的内容,如下图所示

3.5全部输出重定向符


如上两张图所示,find/ -type f –user ###g1有正确的结果也有错误的结果,无论是使用输出重定向、错误输出重定向、追加重定向还是错误追加重定向都无法将其内容全部重定向进入目标文件中

我们使用重定向符号&>来实验一下,如下图所示


###g7.txt内容如下图所示


&>>就是全部追加重定向符,相较于上面&>的效果,&>>是能够进行内容追加的

4.find查找指令

使用find如果省略path,那么只查找当前路径,在path处写/代表着所有目录都会查找一遍

4.1按名称查找

使用-name参数来查找。其中?代表要求查找内容除去?以外的内容完全符合,?处可以为任意一个字符;其中代表要求查找内容除去以外的内容完全符合,*处可以为任意多个字符,实例如下图所示

4.2按类型查找

首先我们使用man手册来查找参数值有哪些,如下图所示

这些字母代表不同类型,b代表块设备文件,c代表字符设备文件,d代表目录,p代表管道文件,f代表普通文件,l代表链接文件,s代表套接字文件,可以参考之前学过的ls –l

要注意:


在Linux系统下并不以有误扩展名作为区分文件和目录的标准,如上图所示,###g3.txt就是目录,而###g4就是文件

我们使用-type f来查找文件,如下图所示(注意:其中的参数可以调换属性,例如将-type和f调换顺序,将-name和“###g\”调换顺序

我们使用-type d来查找目录,如下图所示

4.3按用户查找

首先我们要明白所有者的确定标准,它是由执行该命令时当前的身份来确定,所属组是由所有者的第一所属组来确定(注意:一个用户可以由多个所属组,但是第一所属组只有一个,是跟用户同名的所属组

我们使用-type f -user来查找目录,首先在新用户下创建两个新文件如下图所示

之后我们再###g1和root这两个用户下查找与目标名字相匹配的文件,如下图所示

4.4 find的高级技巧

它的高级技巧其实就是对查找结果的批处理操作(复制、移动、删除)

-exec代表的就是批处理操作,我们要将find的查找内容全部移动到一个目录下,我们要使用mv,其中{}代表前半条命令的查找结果,空格\;是exec的结束符,如下图所示我们就使用批处理将三个文件全部移动到###159目录下了

我们将mv可以换成cp,来完成文件的批处理复制粘贴操作,如下图所示,粘贴到###ju3目录下后,###159目录下的文件依然在

注意:我们使用mv移动文件的时候并不是创建新文件,而是将已经用###g1用户创建好文件进行移动,文件所有者不会变;而在使用cp复制文件的时候会在目标目录下创建新的副本文件,那时文件所有者会变成执行复制操作时的用户

我们同样的可以将cp换为rm,来完成对查找文件的批处理删除操作,如下图所示,文件在删除过后,在原来的目录就找不见了。其中-f是暴力删除,如果我们查找内容是目录,那么我们还需要加入-r参数(再加上暴力删除的话,参数的形式就是-rf或者-fr)

5.mv移动命令的四种用法

首先我们查看其语法格式,如下图所示

5.1将当前目录文件移动到目标目录

我们使用mv对111.txt进行移动和重命名,操作如下图所示

5.2将其他目录下的文件移动到目标目录

我们用于可以使用绝对路径将移动到tmp目录下的22.txt移动回当前目录root(./就代表当前目录),操作如下图所示

5.3在移动时对目标目录下的同名文件进行覆盖内容操作

如果目标目录位置出现同名文件,它在移动到目标目录时会询问是否覆盖原文件,也可以加上-f参数来直接进行覆盖操作,如下图所示

5.4使用mv移动目录

同样mv也可以移动目录,如下图所示

6.cp复制命令的四种用法

6.1复制并在粘贴时对文件进行重命名

cp可以将文件进行复制,粘贴到指定目录下,如下图所示将222.txt复制,粘贴到根目录下并重命名为333.txt

6.2对文件仅进行复制粘贴

我们仅使用其复制粘贴的功能,操作如下图所示。

6.3在粘贴时对目标目录下的同名文件进行覆盖内容操作

如果目标目录位置出现同名文件,它在复制粘贴到目标目录时会询问是否覆盖原文件,如下图所示

如果不覆盖则在其中加入参数-n即可,如果要强行覆盖则在cp前加上\接口,如下图所示

6.4对目录进行复制粘贴

当我们使用cp来复制粘贴目录时,需要加上-r参数,如下图所示

7.grep在文件内容中查找

grep能够在目标文件中找到你想要的关键词,如下图所示


同样可以将查找出来的内容进行重定向,保存到一个文件里面,如下图所示


我们可以对查找的关键词进行设定,使用”^network”来设定其作为一个语句的开头,如下图所示

如要查找的关键词要作为一个语句的结尾来查找,我们使用”network$”即可,如下图所示

|是管道符,它能够在显示的时候实现二次过滤,再去结合grep可以实现显示带有关键词的指定对象,如下图所示我们使用|来查找只带有txt关键词的文件,如下图所示,我们查看当前家目录下的带txt的文件


以上就是本文全部内容,如果它对您有帮助,请您帮我点个赞,这对我真的很重要

Linux_红帽8学习笔记分享_3(文件操作管理)相关推荐

  1. 【C++学习笔记】C++文件操作

    文章目录 计算机文件到底是什么(通俗易懂)? C++文件类(文件流类)及用法详解 C++ open 打开文件(含打开模式一览表) 使用 open 函数打开文件 使用流类的构造函数打开文件 文本打开方式 ...

  2. python学习笔记:python文件操作与异常处理

    1.python文件操作:打开.关闭.读取.写入,合并excel等 1.1创建文件:open()函数打开文件,若文件存在则直接打开:若不存在则创建文件并打开 open('F:/pycodes/cunz ...

  3. c++学习笔记之多文件操作

    每天进步一点点,努力奋斗的小菜鸟. 曾经搞了好多次的C语言多文件操作,都没搞成功,昨天晚上终于搞成功了,虽然是简单到爆的操作,但我还是挺高兴的,哈哈哈.贴出来一方面怕自己忘,一方面若有初学者看到希望能 ...

  4. Python学习笔记三(文件操作、函数)

    一.文件处理 1.文件打开模式 打开文本的模式,默认添加t,需根据写入或读取编码情况添加encoding参数. r   只读模式,默认模式,文件必须存在,不能存在则报异常. w  只写模式,若文件不存 ...

  5. 【Python学习笔记】- 04 文件操作

    对文件的操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 准备一个待读取的文件 <斗破苍穹>是一本连载于起点中文网的古装玄幻小说,作者是起点白金作家天蚕土 ...

  6. 红帽认证学习笔记-破解密码

    红帽认证学习笔记-破解密码 1. 启动的时候,在启动界面,相应启动项,内核名称上按"e": 2. 进入后,找到linux16开头的地方,按"end"键到最后,输 ...

  7. 尚硅谷Vue2学习笔记分享

    前言 这里是尚硅谷Vue2的学习笔记分享. 原视频是尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通 Vue3的笔记链接 文章目录 前言 初识Vue 模板语法 数据绑定 el和data ...

  8. Keras学习笔记---保存model文件和载入model文件

    Keras学习笔记---保存model文件和载入model文件 保存keras的model文件和载入keras文件的方法有很多.现在分别列出,以便后面查询. keras中的模型主要包括model和we ...

  9. C++学习笔记之对文件的操作2

    转载自** https://www.cnblogs.com/uniqueliu/archive/2011/08/03/2126680.html ** 什么都不说了,继续<C++学习笔记之对文件的 ...

最新文章

  1. python创建mysql数据库_python 怎么创建create mysql的数据库
  2. KVM(1)- 安装
  3. PHP服务器时间差8小时解决方案
  4. 分隔单词和标点符号示例
  5. MFC中Mat实现打开本地图片
  6. 恢复被CVS被Override and Update后的代码
  7. 电脑怎么结束进程_深刻了解windows系统的任务管理器,电脑高手的成长之路
  8. 基于Matlab的LDPC码性能研究毕业设计(含源文件)
  9. Fragment Transactions和Activity状态丢失
  10. MySQL 8.0.29安装版安装教程
  11. win7升级到win10所遇到的坑
  12. 【Python成长之路】教你在1分钟内,打造属于你自己的手机应用入口
  13. oracle11g安装教程_带有Oracle Digital Assistant和Fn Project的会话式UI
  14. Jekyll基本用法
  15. 以小饭桌网站为例介绍抓取动态网页的数据【python爬虫入门进阶】(12)
  16. 牛客多校第一场——E-ABBA
  17. java稿件管理系统外文翻译,新闻稿件管理系统毕业论文
  18. 什么设备升级android9,三星设备安卓9.0升级路线图更新:共30款
  19. C语言 数据的基本处理方法总结
  20. GD32F103CBT6/GD32F303CCT6单片机开发之友Keil开发环境

热门文章

  1. 讣告:传智播客创始人张孝祥老师年前意外辞世
  2. 用了几年的postman,原来只用了皮毛~
  3. 归并排序和堆排序讲解
  4. 【视频编解码-08】详说熵编码--哈夫曼编码
  5. C语言入门校本课程,基于教育虚拟社区的校本课程教学探索
  6. Mac IDEA彻底删除项目详解
  7. Andre Gagnon的美妙音乐10首
  8. 中国汽车品牌口碑榜之:--2013年第3季度福州跑车综合口碑排名
  9. 使用go语言开发运维管理平台
  10. Bounce 动画的认识