位置: 编程技术 - 正文

Linux学习笔记(二):文件目录管理和VIM编辑器的使用(linux就要这样学)

编辑:rootadmin

推荐整理分享Linux学习笔记(二):文件目录管理和VIM编辑器的使用(linux就要这样学),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux就该这么学第25期视频,linux这样学,linux如何学,linux入门学习,linux必学,linux这样学,linux必学,linux就该这么学第25期视频,内容如对您有帮助,希望把文章链接给更多的朋友!

文件和目录管理,刚开始学这块的时候感觉内容很多很杂,但是学完进行总结后,发现其实很有条理的而且没什么难度,只是熟练掌握这些常用的命令就行了。至于Vim编辑器,不得不说,用了这个编辑器之后,感觉windows的notepad很没有技术含量了。

先简单总结一下文件和目录常用到的命令,简单的用法就略过。

文件操作命令:touch、file、which、find、cp、rm、mv、ln

文件内容操作命令:cat、more、less,head、tail,wc、grep

目录操作命令:pwd、cd、ls、mkdir、du

归档及压缩命令:gzip、bzip2、tar

复制代码代码如下:[jzhou@localhost ~]$ pwd ==>显示当前目录/home/jzhou[jzhou@localhost ~]$ mkdir dirtest ==>创建一个目录[jzhou@localhost ~]$ cd dirtest ==>进入这个目录[jzhou@localhost dirtest]$ touch testfile ==>创建一个文件[jzhou@localhost dirtest]$ mkdir dirtest1 ==>创建子目录[jzhou@localhost dirtest]$ ls ==>列出当前目录内容dirtest1 testfile[jzhou@localhost dirtest]$ echo hello linux >>testfile ==>追加内容到文件[jzhou@localhost dirtest]$ cat testfile ==>显示文件内容hello linux[jzhou@localhost dirtest]$ file testfile ==>查看文件类型testfile: ASCII text[jzhou@localhost dirtest]$ du -sh testfile ==>显示文件所占空间8.0K testfile[jzhou@localhost dirtest]$ wc testfile ==>统计文件行数、字数、字符数 2 testfile[jzhou@localhost dirtest]$ echo haha,I love Linux >> testfile ==>追加内容[jzhou@localhost dirtest]$ echo no,no ,I hate C plus plus >> testfile[jzhou@localhost dirtest]$ echo OK,the end >> testfile[jzhou@localhost dirtest]$ cat testfile ==>查看内容hello linuxhaha,I love Linuxno,no ,I hate C plus plusOK,the end[jzhou@localhost dirtest]$ head -2 testfile ==>查看文件前两行内容hello linuxhaha,I love Linux[jzhou@localhost dirtest]$ tail -2 testfile ==>查看文件最后两行内容no,no ,I hate C plus plusOK,the end[jzhou@localhost dirtest]$ cat testfile | grep "Linux" 查找特定关键字haha,I love Linux[jzhou@localhost dirtest]$

以上只是展示部分命令的简单用法,很多选项没有加入,head和tail命令默认是显示前行和后行记录,du是查看目录或文件所占的空间,通常比实际大小要大,且通常为4的整数倍。

more和less命令也是查看文件内容的方法,不过less已经渐渐取代more了,因为more的所有功能less都具有,而且less可以向上翻页查看,more则不可以,cat是直接将文件内容一屏显示出来,不管多长,所有如果文件很长时,则使用less命令,同样,也是按q键退出。

复制代码代码如下:[jzhou@localhost dirtest]$ cd dirtest1 ==>进入到刚才建的子目录[jzhou@localhost dirtest1]$ touch testfile1 ==>在子目录中创建一个新文件[jzhou@localhost dirtest1]$ echo haha >> testfile1[jzhou@localhost dirtest1]$ cd .. ==>返回到上一目录[jzhou@localhost dirtest]$ ls dirtest1 testfile[jzhou@localhost dirtest]$ cp testfile ./dirtest1/ ==>把文件testfile复制到子目录dirtest1下[jzhou@localhost dirtest]$ cd dirtest1/ ==>进入到子目录[jzhou@localhost dirtest1]$ ls ==>查看子目录下多了一个刚才复制过来的文件testfile testfile1[jzhou@localhost dirtest1]$ cd ..[jzhou@localhost dirtest]$ lsdirtest1 testfile[jzhou@localhost dirtest]$ rm -f testfile ==>强制删除dirtest目录下的testfile文件[jzhou@localhost dirtest]$ ls ==>testfile文件已经被删除dirtest1[jzhou@localhost dirtest]$ cd ./dirtest1/ ==>进入到子目录[jzhou@localhost dirtest1]$ mv testfile ./testfile ==>这里我尝试移动的目标目录错误testfile testfile1 [jzhou@localhost dirtest1]$ pwd ==>所以我要查看当前目录,以使用绝对路径/home/jzhou/dirtest/dirtest1[jzhou@localhost dirtest1]$ mv testfile /home/jzhou/dirtest/==>将testfile文件移到dirtest目录下[jzhou@localhost dirtest1]$ cd ..[jzhou@localhost dirtest]$ ls ==>很好,testfile文件已经被移动过来了dirtest1 testfile[jzhou@localhost dirtest]$ ln -s testfile linkfile ==>建立软链接[jzhou@localhost dirtest]$ ls -l ==>注意下面软链接文件的显示方式总计 drwxrwxr-x 2 jzhou jzhou - : dirtest1lrwxrwxrwx 1 jzhou jzhou 8 - : linkfile -> testfile-rw-rw-r-- 1 jzhou jzhou - : testfile[jzhou@localhost dirtest]$

rm 文件作用在文件与目录的唯一区别就是是否带有-r选项,因为删除目录时,目录里面可能嵌套有文件和目录,所以必须要有-r选项,cp和rm的格式都是: cp/rm 原文件 目标文件(注意这里的路径问题)

ln链接文件:分为软链接和硬链接,软链接又称符号链接,即带有-s选项。软链接即相当于windows下的快捷方式,若原文件损坏,则快捷方式无效,而硬链接则相当于对原文件的一个拷贝,通常情况,硬链接用的很少。所以建立链接文件时,通常加-s选项即建立软链接。链接文件的文件类型位为:l,后续笔记文件权限中会介绍这个位。

另外要注意的是:不能为目录建立硬链接文件,而且硬链接与原始文件必须位于同一分区(文件系统)中。

复制代码代码如下:[jzhou@localhost ~]$ cd dirtest/[jzhou@localhost dirtest]$ lsdirtest1 linkfile testfile[jzhou@localhost dirtest]$ tar cf test.tar dirtest1 testfile ==>归档目录和文件[jzhou@localhost dirtest]$ ls ==>多了一个刚新建的归档文件test.tardirtest1 linkfile testfile test.tar[jzhou@localhost dirtest]$ rm -rf dirtest1 testfile ==>删除原文件,方便后面确认文件是否归档[jzhou@localhost dirtest]$ lslinkfile test.tar[jzhou@localhost dirtest]$ pwd ==>查看一下当前目录,后面要解归档在这个目录/home/jzhou/dirtest[jzhou@localhost dirtest]$ tar xf test.tar -C /home/jzhou/dirtest/ ==>解开归档,testfile文件释放了[jzhou@localhost dirtest]$ lsdirtest1 linkfile testfile test.tar[jzhou@localhost dirtest]$ rm -f test.tar ==>删除这个归档包,助于后面测试[jzhou@localhost dirtest]$ lsdirtest1 linkfile testfile[jzhou@localhost dirtest]$ gzip -9 testfile ==>将这个文件以gz格式压缩[jzhou@localhost dirtest]$ lsdirtest1 linkfile testfile.gz ==>这个就是压缩后自动生成的文件名[jzhou@localhost dirtest]$ gzip -d testfile.gz ==>将刚压缩的包解开[jzhou@localhost dirtest]$ lsdirtest1 linkfile testfile ==>看,testfile被解压出来了[jzhou@localhost dirtest]$ bzip2 -9 testfile ==>将这个文件以bz2格式压缩[jzhou@localhost dirtest]$ ls dirtest1 linkfile testfile.bz2 ==>看,这个bz2就是刚生成的[jzhou@localhost dirtest]$ bzip2 -d testfile.bz2 ==>解开这个压缩包[jzhou@localhost dirtest]$ lsdirtest1 linkfile testfile ==>看,它被释放出来了[jzhou@localhost dirtest]$ tar jcf test.tar.bz2 testfile ==>这个是bz2格式归档压缩,注意选项是j[jzhou@localhost dirtest]$ lsdirtest1 linkfile testfile test.tar.bz2[jzhou@localhost dirtest]$ rm -r testfile[jzhou@localhost dirtest]$ lsdirtest1 linkfile test.tar.bz2[jzhou@localhost dirtest]$ tar jxf test.tar.bz2 -C /home/jzhou/dirtest/ ==>解开归档压缩[jzhou@localhost dirtest]$ lsdirtest1 linkfile testfile test.tar.bz2[jzhou@localhost dirtest]$ tar zcf test.tar.gz dirtest1 ==>这个是gz格式归档压缩,注意选项是z[jzhou@localhost dirtest]$ lsdirtest1 linkfile testfile test.tar.bz2 test.tar.gz[jzhou@localhost dirtest]$ rm -rf dirtest1[jzhou@localhost dirtest]$ lslinkfile testfile test.tar.bz2 test.tar.gz[jzhou@localhost dirtest]$ tar zxf test.tar.gz -C /home/jzhou/dirtest/ ==>解开归档压缩[jzhou@localhost dirtest]$ lsdirtest1 linkfile testfile test.tar.bz2 test.tar.gz[jzhou@localhost dirtest]$

上面命令显示格式不太友好,因为在真实环境下,若删除原文件,软链接文件会处于不可用状态背景会变成红底。不过这个不影响理解呵呵。

注意归档只是将文件或者目录打在一个包里,并不进行压缩,而gzip和bzip2是进行压缩,上述最后几行命令是将二者结合起来使用的,即先归档后压缩。

tar和gzip bzip2的命令格式如下: 复制代码代码如下:tar [选项]... 归档文件名 源文件或目录 ==》制作归档文件</p><p>tar [选项]... 归档文件名 [-C 目标目录] ==》解开归档文件</p><p>gzip/bzip2 [-9] 文件名或目录 ==》制作压缩文件</p><p>gzip/bzip2 -d .gz/.bz2格式的压缩文件 ==》解开压缩文件

对于上述命令,只是举出最简单的用法,至于要实现更强大的功能,使用时那就要去查每个命令带有哪些选项,或者直接找man命令帮助,那些选项太多,所以我认为只要知道有某个命令,至于具体用法用到时再去查而没必要记住所有的选项含义。

VIM编辑器的常用快捷编辑方式

文本编辑器可用来创建或修改文本文件,以及维护Linux系统中的各种配置文件。首次接触这个编辑器时会由于不熟练而是影响编辑效率,但是掌握常用快捷键后,非常神速。下面只是简单介绍下Vim编辑器,至于更深入的用法大家可以网上找找。

Unix和早期的Linux中默认使用的文本编辑器是Vi,现在用的都是vi的增强版vim,由于vi用的比较习惯了,所以现在仍然叫vi,其实是别名 alias vi='/usr/bin/vim',这个可以通过命令which vi看到。

Vim编辑器有3种工作模式:命令模式、输入模式、末行模式,在有的资料中可能说有2中工作模式,不将‘末行模式’列在其中,这个不重要,总之前两种模式确实很重要;因为在这两种模式下可以做很多事。各种模式之间的切换如下图:

这几个模式的转换也要非常熟练。

命令模式中的基本操作:

(1)显示行号::set nu 取消行号: :set nonu

(2)行间快速跳转:#G:跳转到文件中的第#行;G:跳转到文件的末尾行;1G或gg:跳转到文件的行首。

(3)行内快速跳转:Home End

关于删除复制和粘贴:(命令模式下)

删除

x或Del

删除光标处的单个字符

dd

删除当前光标所在行

#dd

删除从光标处开始的#行内容

d^

删除当前光标之前到行首的所有字符

d$

删除当前光标处到行尾的所有字符

复制

yy

复制当前行整行的内容到剪贴板

#yy

复制从光标处开始的#行内容

粘贴

Linux学习笔记(二):文件目录管理和VIM编辑器的使用(linux就要这样学)

p

将缓冲区中的内容粘贴到光标位置处之后

P

粘贴到光标位置处之前

在文件内容中查找:

操作键

功能

/word

从上而下在文件中查找字符串“word”

?word

从下而上在文件中查找字符串“word”

n

定位下一个匹配的被查找字符串

N

定位上一个匹配的被查找字符串

撤销编辑及保存退出:

u

按一次取消最近的一次操作

多次重复按u键,恢复已进行的多步操作

U

用于取消对当前行所做的所有编辑

ZZ

保存当前的文件内容并退出vi编辑器

保存文件及退出vi编辑器:(末行模式下)

保存文件

:w /root/newfile

另存为其它文件

退出vi

:q

未修改退出

:q!

放弃对文件内容的修改,并退出vi

保存文件退出vi

:wq

文件内容替换:(末行模式下)

:s /old/new

将当前行中查找到的第一个字符“old” 串替换为“new”

:s /old/new/g

将当前行中查找到的所有字符串“old” 替换为“new”

:#,# s/old/new/g

在行号“#,#”范围内替换所有的字符串“old”为“new”

:% s/old/new/g

在整个文件范围内替换所有的字符串“old”为“new”

:s /old/new/c

在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认

要想熟练操作Vim编辑器,首先得掌握这些快捷键,这些都是最基本的。

如有错误,欢迎指正,3Q!

Linux学习笔记(三):权限管理(文件目录权限、用户权限) 文件及目录的权限管理上篇简单介绍了下文件和目录的一些简单的操作,接下来介绍用户和文件权限的管理。首先了解用户和组账号的配置文件,然后

Linux学习笔记(三):磁盘和文件系统管理 管理磁盘和文件系统介绍了基本的文件和目录管理之后,接下来就是磁盘和文件系统的管理。如何分区磁盘和创建文件系统呢?添加磁盘并进行分区、

Linux find命令中-exec参数的作用介绍 我们都知道,Linux命令加上不同的参数其效果也不同,下面小编将针对Linuxfing命令中的-exec参数给大家做个详细介绍,以便你有个了解。exec解释:-exec参

标签: linux就要这样学

本文链接地址:https://www.jiuchutong.com/biancheng/368321.html 转载请保留说明!

上一篇:iptables: Unknown error 4294967295问题解决方法

下一篇:Linux学习笔记(三):权限管理(文件目录权限、用户权限)(linux入门学习)

  • 开具红字专用发票的条件
  • 免费样品需要交印花税吗
  • 技术服务费怎么算成本
  • 财务费用余额方向怎么填
  • 营业费用和营业收入的关系
  • 项目部电缆属于固定资产吗
  • 小规模公司初期注销流程
  • 住宿税率是多少 5%
  • 预付账款借方怎么处理
  • 其他应收款报表数据怎么取
  • 建筑 设计 招聘
  • 收到政府土地收回的短信
  • 公司委托收款该怎么办
  • 电子承兑汇票到期前10天可以做提示付款
  • 固定资产变动时应如何处理
  • 计提资产减值准备是利好还是利空?
  • 一般纳税人17%增值税发票按12%核算如何进行账务处理?
  • 农产品增值税免税政策
  • 劳务费差额征税的账务处理
  • 职工教育经费是多少
  • 固定资产划转要交增值税吗
  • 电脑检测不到税控盘原因
  • 消费税如何避税计算
  • 库存商品转结
  • 计提小规模增值税的账务处理
  • 抵押质押的含义
  • 如何删除驱动器里面的文件
  • Win11/Win10 21H2 正式版发布前,微软再次推送可靠性补丁更新 KB4023057
  • 公司专柜样品如何做
  • 冲办公费会计分录
  • 发票已经认证,发现错误了要怎么处理
  • php查询今天日期
  • 企业合并分立
  • 应收账款余额在借方表示谁欠谁
  • 滴滴打车开具的电子发票可以抵扣吗
  • 支付职工教育经费
  • wordpress小工具开发
  • 应收账款减值损失计入
  • 支票小写金额前的羊
  • 存货的会计核算及业务处理
  • 营业外支出科目代码
  • 税控盘每年要交年费吗
  • 填写记账凭证的日期一般是会计人员填制记账凭证的
  • 建筑劳务单位
  • 研发费用如何进账
  • 工会经费与残保金属于什么
  • 多计提的折旧费怎么做账
  • 核销应收帐款分录
  • 家电销售范围包括哪些
  • 出差补助没票怎么做账
  • 即征即退的增值税退城建税吗
  • 什么是履约义务,举例
  • 调整去年管理费用怎么做分录
  • 10种Java开发者编写SQL语句时常见错误
  • MYSQL数据库应用
  • window10系统邮件设置在哪里
  • 找回未保存的cad文件
  • window msconfig
  • 雨林木风Windows10
  • qq突然显示windows登录
  • win8怎么一开机就进入桌面
  • 硬件茶谈win10系统安装
  • win81无线网络没有了
  • 怎样设置从硬盘启动给电脑做系统
  • javascript Ext JS 状态默认存储时间
  • Android游戏开发案例教程小小弹球
  • img引入图片
  • 利用jQuery及AJAX技术定时更新GridView的某一列数据
  • 置顶聊天的人怎么不见了
  • vue music
  • python如何发送http请求
  • 用python做web
  • 办税大厅周六日上班吗
  • 丰田威驰2023款1.5自动挡新车报价
  • 租车费为何不能抵扣
  • 税务安装软件
  • 获得感幸福感还有什么
  • 伤残补助金要解除合同吗
  • 2020年河南麦收时间
  • 贵州地税电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设