考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
  当前位置:操作系统 > Linux > 文章内容
  

Linux操作系统学习笔记文件/目录/VIM(1)

 [ 2016年6月6日 ] 【

文件和目录管理 及 VI编辑器的使用

    文件和目录管理,刚开始学这块的时候感觉内容很多很杂,但是学完进行总结后,发现其实很有条理的而且没什么难度,只是熟练掌握这些常用的命令就行了。至于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

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

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

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

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

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

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

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

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

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

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

  tar和gzip  bzip2的命令格式如下: 

                 tar  [选项]...  归档文件名  源文件或目录    ==》制作归档文件

              tar  [选项]...  归档文件名  [-C 目标目录]   ==》解开归档文件

              gzip/bzip2 [-9] 文件名或目录                 ==》制作压缩文件

              gzip/bzip2  -d .gz/.bz2格式的压缩文件    ==》解开压缩文件

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

本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved