我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux文件目录管理和VIM编辑器的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux文件目录管理和VIM编辑器的方法

这篇文章主要介绍“Linux文件目录管理和VIM编辑器的方法”,在日常操作中,相信很多人在Linux文件目录管理和VIM编辑器的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux文件目录管理和VIM编辑器的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

文件和目录管理,刚开始学这块的时候感觉内容很多很杂,但是学完进行总结后,发现其实很有条理的而且没什么难度,只是熟练掌握这些常用的命令就行了。至于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 12 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 linux
haha,I love Linux
no,no ,I hate C plus plus
OK,the end
[jzhou@localhost dirtest]$ head -2 testfile  ==>查看文件前两行内容
hello linux
haha,I love Linux
[jzhou@localhost dirtest]$ tail -2 testfile  ==>查看文件最后两行内容
no,no ,I hate C plus plus
OK,the end
[jzhou@localhost dirtest]$ cat testfile | grep "Linux"  查找特定关键字
haha,I love Linux
[jzhou@localhost dirtest]$

以上只是展示部分命令的简单用法,很多选项没有加入,head和tail命令默认是显示前10行和后10行记录,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]$ ls
dirtest1  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   ==>注意下面软链接文件的显示方式
总计 20
drwxrwxr-x 2 jzhou jzhou 4096 03-05 22:43 dirtest1
lrwxrwxrwx 1 jzhou jzhou    8 03-05 22:45 linkfile -> testfile
-rw-rw-r-- 1 jzhou jzhou   67 03-05 22:40 testfile
[jzhou@localhost dirtest]$

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

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

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

代码如下:

[jzhou@localhost ~]$ cd dirtest/
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile
[jzhou@localhost dirtest]$ tar cf test.tar dirtest1 testfile  ==>归档目录和文件
[jzhou@localhost dirtest]$ ls  ==>多了一个刚新建的归档文件test.tar
dirtest1  linkfile  testfile  test.tar
[jzhou@localhost dirtest]$ rm -rf dirtest1 testfile   ==>删除原文件,方便后面确认文件是否归档
[jzhou@localhost dirtest]$ ls
linkfile  test.tar
[jzhou@localhost dirtest]$ pwd  ==>查看一下当前目录,后面要解归档在这个目录
/home/jzhou/dirtest
[jzhou@localhost dirtest]$ tar xf test.tar -C /home/jzhou/dirtest/   ==>解开归档,testfile文件释放了
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile  test.tar
[jzhou@localhost dirtest]$ rm -f test.tar  ==>删除这个归档包,助于后面测试
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile
[jzhou@localhost dirtest]$ gzip -9 testfile   ==>将这个文件以gz格式压缩
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile.gz ==>这个就是压缩后自动生成的文件名
[jzhou@localhost dirtest]$ gzip -d testfile.gz   ==>将刚压缩的包解开
[jzhou@localhost dirtest]$ ls
dirtest1  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]$ ls
dirtest1  linkfile  testfile  ==>看,它被释放出来了
[jzhou@localhost dirtest]$ tar jcf test.tar.bz2 testfile   ==>这个是bz2格式归档压缩,注意选项是j
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile  test.tar.bz2
[jzhou@localhost dirtest]$ rm -r testfile
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  test.tar.bz2
[jzhou@localhost dirtest]$ tar jxf test.tar.bz2 -C /home/jzhou/dirtest/  ==>解开归档压缩
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile  test.tar.bz2
[jzhou@localhost dirtest]$ tar zcf test.tar.gz dirtest1   ==>这个是gz格式归档压缩,注意选项是z
[jzhou@localhost dirtest]$ ls
dirtest1  linkfile  testfile  test.tar.bz2  test.tar.gz
[jzhou@localhost dirtest]$ rm -rf dirtest1
[jzhou@localhost dirtest]$ ls
linkfile  testfile  test.tar.bz2  test.tar.gz
[jzhou@localhost dirtest]$ tar zxf test.tar.gz -C /home/jzhou/dirtest/   ==>解开归档压缩
[jzhou@localhost dirtest]$ ls
dirtest1  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中工作模式,不将&lsquo;末行模式&rsquo;列在其中,这个不重要,总之前两种模式确实很重要;因为在这两种模式下可以做很多事。各种模式之间的切换如下图:

Linux文件目录管理和VIM编辑器的方法

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

命令模式中的基本操作:

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

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

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

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

删除

x或Del

删除光标处的单个字符

dd

删除当前光标所在行

#dd

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

d^

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

d$

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

复制

yy

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

#yy

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

粘贴

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命令,将对每个替换动作提示用户进行确认

到此,关于“Linux文件目录管理和VIM编辑器的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux文件目录管理和VIM编辑器的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux文件目录管理和VIM编辑器的方法

这篇文章主要介绍“Linux文件目录管理和VIM编辑器的方法”,在日常操作中,相信很多人在Linux文件目录管理和VIM编辑器的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux文件目录管理和VIM
2023-06-13

linux中的vi和vim编辑器操作方法

vi:linux内部的文本编辑器;vim:vi的增强版,具有程序编辑的能力。 vi和vim的三种常见模式: (1)正常模式(一般模式):vim一打开就是这种模式,此模式下可以使用各种快捷键,比如复制粘贴、移动光标、删除整行等操作 (2)编辑
2022-06-04

Linux shell 提取文件名和目录名的方法

${}[root@node01 ~]# file=/dir1/dir2/dir3/my.file.txt [root@node01 ~]# echo ${file#*/} dir1/dir2/dir3/my.file.txt删掉第一个 /
2022-06-04

Linux下基本的文件和目录管理命令总结

这篇文章主要讲解了“Linux下基本的文件和目录管理命令总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下基本的文件和目录管理命令总结”吧!. 代表此层目录. .
2023-06-12

linux删除文件和目录的方法有哪些

在Linux操作系统中,可以使用以下命令来删除文件和目录:rm命令:用于删除文件或空目录。删除文件:`rm 文件名`删除多个文件:`rm 文件1 文件2 文件3`强制删除文件:`rm -f 文件名`交互式删除文件(会询问是否删除):`
2023-10-27

linux 查找大目录和大文件的方法(推荐)

今天,在机器上执行命令的时候,发现tab键无法补全了,原因竟然是磁盘空间满了,使用df命令看了一下,确实如此,每个分区的使用率都得到100%了,因此想找到系统中的大目录和大文件,删除一部分。 主要涉及到两个命令 du和find du命令(查
2022-06-04

在linux系统下显示中文目录和文件名的方法

本篇内容主要讲解“在linux系统下显示中文目录和文件名的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在linux系统下显示中文目录和文件名的方法”吧!选择一个一劳永逸的方法,就是修改/e
2023-06-13

Linux shell 之 提取文件名和目录名的一些方法总结

很多时候在使用Linux的shell时,我们都需要对文件名或目录名进行处理,通常的操作是由路径中提取出文件名,从路径中提取出目录名,提取文件后缀名等等。例如,从路径/dir1/dir2/file.txt中提取也文件名file.txt,提取出
2022-06-04

PHP文件处理中目录的关闭和打开方法是什么

这篇文章主要讲解了“PHP文件处理中目录的关闭和打开方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP文件处理中目录的关闭和打开方法是什么”吧!opendir() 函数,打开目录
2023-06-25

Windows系统组策略编辑器的打开方法和文件所在位置

运编程客栈行gpedit.msc命令打开出此方法最常用字,但是对于一些网友和一些对windophpws xp操作系统的命令很陌生的网友来说很麻烦,命令太长。又不是做这个记他做什么?此方法知道就行了,但是还是要说一下的。在桌面的左下角点开始,
2023-06-07

编程热搜

目录