`
lcf11824
  • 浏览: 86224 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

鸟哥linux学习之--文件与目录管理

阅读更多

 

目录与路径

 

相对路径:由当前目录算起

绝对路径:由根目录算起,linux的根目录为”/“

几个目录符号: . 表示当前目录

                       .. 表示上一层目录

                       ~ 表示自己家目录,即”/home/user“

几个常用指令 cd     变换目录

              pwd    显示目前的目录

              mkdir 建立一个新目录

              rmdir 删除一个里面是空的空目录

  (1)cd

                         

   说明:cd是 change directory 的缩写,这是用来变换工作路径的指令。root登录后默认到根目录下,其他用户登录后到/home/user下。

 

 

   (2)pwd

    

   说明:pwd是 print working directory的缩写,用于显示目前所在目录的绝对路径。

 

    (3) mkdir

     

 

    (4)rmdir

     

    说明如果想要建立删除旧有的目录时,就使用 rmdir 吧!例如将刚刚建立的 test 杀掉,使用 rmdir test 即可!请注意呦!目录需要一层一层的删除才行!而且被删除的目录里面必定不能还有其它的目录或档案!那如果要将所有目录下的东西都杀掉呢?!这个时候就必须使用 rm -rf test 啰!不过,还是使用 rmdir 比较不危险!不过,你也可以尝试以 -p 的参数加入,来删除上层的目录喔! 

 

 

档案与目录管理:ls,cp,rm,mv,basename,dirname

 

(1)ls:显示文件命令

        -l:显示详细信息(但是不显示隐藏文件,所以“.”开头的文件都是不显示的)

        -all:显示所有文件的详细信息

       ps:平时用的时候我喜欢把ls -l用ll代替,ls -all 用la代替,只用修改用户家目录下的.bashrc文件,加入 alias ll='ls -l' 即可了,la也同理。

 

(2)cp [-drsu] 来源 目的

       -d:如果是link类型文件,加-d则只拷贝link;否则拷贝link到的文件

       -r:拷贝文件夹

       -s:和ln功能相同,只做link文件不拷贝

       -u:(update)之意,有更新时才拷贝。

(3)rm [-fir] 文档

       -f:强制删除

       -i:提示用户提醒

       -r:删除文件夹时使用该参数

(4)mv [-u] 来源 目的

       -u:在有更新时操作

       (ps:如果有多个文件需要移动,默认最后一个文件是目的档)

(5)basename:路径的最后一个名称

       如:/home/user/aaa 的aaa

(6)dirname:路径的前面路径

      如:5中的/home/user

 

观看档案内容cat, tac, more, less, head, tail, nl

(1)cat:从头到尾显示文件,当行数多时显示不全。

(2)tat:从尾到头显示文件

(3)more:显示文件,可以用向下移动键查看。

(4)less:支持上下移动,并且用Pageup和Pagedown可以翻页

(5)head:查看文件的头几行

(6)tail:查看后几行

(7)nl:等于cat -n,可以显示行号

(8)od:显示二进制文档

 

ps:more和less跟ls配合使用非常好,当文件多的时候,ls往往看不全,这个时候用 ls -l | more 就可以翻看所有记录了~

 

连结档:ln,默认为hard link ,加-s 参数为symbolic links

Hard Links:刚刚说过,当系统要读取某一个档案的时候,就会先去读 inode table ,然后再根据 inode 的信息到 block area 去将数据取出来利用!而 hard link 就是直接再建立一个 inode 连结到档案放置的 block 区块。也就是说,进行 hard link 的时候,实际上,你的档案内容不会改变,只是你在查询的时候,利用原来的 inode 与后来的 inode 均可被指定到该档案放置的地点,因此两个档案的内容会是一样的!所以读取任何一个 inode 的结果都是存取在同一个档案的内容就是了。不过,这样一来就有个问题啦,因为 inode 是会连结到 block 区域去的,而『目录』本身仅消耗 inode 而已,那么一来的话, hard link 不就不能 link 目录啦?对的!没错! Hard link 有两个最大的限制: 

 a.不能跨 filesystem ,因为不同的 filesystem 有不同的 inode table 嘛!

 b.不能 link 目录!

Symbolic Links相对于 hard link , Symbolic link 可就好理解多了,基本上,他就是在建立一个独立的档案,而这个档案会让数据读取指向他 link 的那个档案内容!由于只是利用档案来做为指向的动作,所以,当来源档被删除之后,symbolic link 的档案会『开不了』,会一直说『无法开启某档案!』

 

档案目录权限修改:chown,chgrp,chmod,umask,chattr,lsattr

(1)chownchgrpchmod和文件管理基本一致,不过要加上参数-r。

(2)umask:预设属性,使用文件的rwx格式,但是为减掉的部分。

        例如:umask 002,则是为other减掉w的权限。

(3)chattrchattr [+-=][ASacdistu] [档案或目录名称] 

        为文件或目录添加一些特殊属性,如下:

        +-=:分别为 [+ 增加] [- 减少] [= 设定] 属性的意思 

     A:当设定了 A 这个属性时,这个档案(或目录)的存取时间 atime (access) 将不可被修改, 
    可避免例如手提式计算机容易有磁盘 I/O 错误的情况发生! 
     S:这个功能有点类似 sync 的功能!就是会将数据同步写入磁盘当中!可以有效的避免数据流失! 
     a:当设定 a 之后,这个档案将只能增加数据,而不能删除,只有 root 才能设定这个属性。 
     c:这个属性设定之后,将会自动的将此档案『压缩』,在读取的时候将会自动解压缩出来! 
    但是在储存的时候,将会先进行压缩之后再储存(看来对于大档案似乎蛮有用的!) 
     d:当 dump (备份)程序被执行的时候,设定 d 属性将可使该档案(或目录)具有 dump 功效! 
     i:这个 i 可就很厉害了!他可以让一个档案『不能被删除、改名、设定连结也无法写入或新增数据!对于系统安全性有相当大的帮助! 
     j:当使用 ext3 这个档案系统格式时,设定 j 属性将会使档案在写入时先记录在 journal 中! 
    但是当 filesystem 设定参数为 data=journalled 时,由于已经设定了日志了,所以这个属性无效! 
     s:当档案设定了 s 参数时,他将会被完全的移除出这个硬盘空间。 
     u:与 s 相反的,当使用 u 来设定档案时,则数据内容其实还存在磁盘中,可以使用来 undeletion. 

(4)lsattr:显示文件的特殊属性。lsattr [-aR]

        -a:显示隐藏文件

        -R:显示子目录的文件

 

搜索文件和目录:whitch,whereis,locate,find

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics