现在的位置: 首页 > 综合 > 正文

Linux文件与目录管理常用命令详解(鸟哥的Linux私房菜基础学习篇第三版-第七章)

2017年10月26日 ⁄ 综合 ⁄ 共 2082字 ⁄ 字号 评论关闭

  • 几个重要的符号:

    • .                   代表当前目录
    • ..                  代表当前目录的上层目录
    • ~                  代表当前用户的主目录(就是/home/account/这个目录)
    • ~account     代表account用户的主目录
    • -                   代表最近的上次的工作目录
      • 难道Linux还记录了你最近的上次的工作目录,是的丫,确实记录了呢,你输入个 env 看到什么了,一大堆,有点乱,我们使用 grep 把我们想要的特定信息筛选出来,输入:

        • env | grep PWD
        • 可以看到类似下面的东东,这下都明白了吧,Linux想得还是相当周到滴
          • PWD=/home/boatman
            OLDPWD=/home

  • 请问在 Linux 底下,根目录有没有上层目录呢?

    • 若使用『 ls -al / 』去查询,可以看到根目录下确实存在 . 与 .. 两个目录,再仔细查阅,可发现这两个目录的属性与权限完全一致,这代表根目录癿上一层(..)与根目录自己是同一个目录

  • 常用命令列表

    • cd

      • 变换目录
      • cd 后面没有加上任何路径,也还是代表回到当前用户主目录的意思喔

    • pwd

      • 显示当前目录
      • 可加参数【-P】: 显示出确实的路径,而非使用链接 (link)的 路径

    • mkdir

      • 建立一个新的目录
      • 可加参数【-m】:配置权限喔!直接设定,不需要看预设权限 (umask) 的脸色,例如:建立权限为 rwx--x--x 的目录:
        • mkdir -m 711 test
        • 如果没有加上 -m 来强制讴定属性,系统会使用默认的权限属性,那么你系统的预设权限是什么呢,看这里的解释呢
      • 可加参数【-p】:帮助你直接将所需要的目录(包括上层目录)递归建立起来

    • rmdir

      • 删除一个空的目录
      • 可加参数【-p】:连同上层『空的』目录也一起删除,如:现在有这样的目录结构:/tmp/test1/test2/test3,则在/tmp目录下执行命令:
        • rmdir -p test1/test2/test3
          
        • 会将目录 /test1 /test1/test2 /test1/test2/test3 都删除掉呢
      • 那么如果现在有这样的目录结构 /tmp/test1/test2/test3 /tmp/test1/test4,则在/tmp目录下执行命令:
        • rmdir -p test1/test2/test3
        • 结果会是个什么样子呢?^_^自己试试啦^_^
        • ^_^,我还是写下来算了,因为这儿还有知识点呢:结果/tmp/test1/test2/test3 /tmp/test1/test2会被删除掉,但是/tmp/test1/test4还在那儿!那么如果我确定/tmp/test1下的内容我就是要都删除的,还用不用以层层删除啊,当然不用啊,可以直接执行命令:
          • rm -r test1/
          • 这样 test1/ 下面的东东就全完啦,所以要十分谨慎使用啊
      • 一定要理解这个 rmdir 仅能『删除空的目录』喔!

    • ls

      • 目录、文件列表的查看
      • 不过我们经常使用:
        • ll
        • 为什么可以这样用呢,去查看一下这个路径下的文件你就明白了哈^_^
          • ~/.bashrc
      • ls 命令参数超级多,如下图:
        • ls命令详细参数解释

    • cp

      • 复制
      • cp 这个指令的用途可多了~,除了单纯的复制之外,还可以:
        • 建立链接文件
        • 对比两个文件的新旧而予以更新
        • 复制整个目录等等功能
      • cp [-adfilprsu] 来源文件(source) 目标文件(destination)
      • 参数的解释如下图:
        • cp命令参数解释
      • 最后需要注意的,如果来源文件有两个以上,则最后一个目的文件一定要是『目录』才行!
      • 复制(cp)这个指令是非常重要的,不同身份者执行这个指令会有不同的结果产生,尤其是那个-a, -p 的选项, 对于不同身份来说,差异则非常的大!
      •  一般来说,我们如果去复制别人的数据 (当然,该文件你必须要有 read 的权限才行啊! ^_^) 时, 总是希望复制到的数据最后是我们自己的,所以,在预设的条件中, cp 的来源文件与目的文件的权限是不同癿,目的文件的拥有者通常会是挃令操作者本身。举例来说, 上面的范例二中,由于我是 root 的身份,因此复
        制过来的文件的拥有者与群组就改变成为 root 所有了!
      • 由于具有这个特性,因此当我们在进行备份的时候,某些需要特别注意的特殊权限文件, 例如密码文件 (/etc/shadow) 以及一些配置文件,就不能直接以 cp来复制,而必须要加上 -a 或者是 -p 等等可以完整复制文件权限的选项才行!另外,如果你想要复制文件给其他的使用者, 也必须要注意到档案的权限(包括读、写、执行以及文件拥有者等等), 否则,其他人还是无法针对你给予的文件进行修订的动作喔!注意注意!
      • cp命令使用注意事项

    • rm

      • 删除
      • 使用方法如图:
        • rm命令使用方法详解
      • 使用范例:
        • rm命令使用范例
        • 范例四详谈
        • 范例四详谈续

    • mv

      • 移动
      • 这个指令也可以直接拿来作更名 (rename) 的动作喔
      • 使用方法详解:
        • mv指令使用方法详解
      • 使用范例:
        • mv命令使用范例

    • 查看文件内容相关的指令:

      • cat 由第一行开始显示文件内容,具体使用方法如下:

        • cat命令使用详解
        • 特殊字符解释

      • tac 从最后一行开始显示,可以看出 tac 是 cat 癿倒着写!

      • nl 显示癿时候,顺道输出行号!

        • 使用方式如下:

          • nl命令使用方式
          • nl使用方式详解续

      • more 一页一页的显示文件内容

        • 使用方式:

          • more命令使用方式
          • 其它一些子命令:
            • more命令的子命令详解

      • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

        • less子命令解释:

          • less子命令解释

      • head 只看头几行

        • head命令使用详解
        • 特殊范例解释

      • tail 只看尾巴几行

        • tail命令使用详解
        • 特殊范例使用详解

      • od 以二进制的方式读取文件内容!

        • od命令使用详解
        • od命令使用详解续

抱歉!评论已关闭.