Linux 目录结构及文件基本操作

来源:互联网 发布:淘宝图片库在哪里 编辑:程序博客网 时间:2024/05/29 04:45

Linux 目录结构及文件基本操作

主要知识点:
1、Linux 的文件组织目录结构。 2、相对路径和绝对路径。 3、对文件的移动、复制、重命名、编辑等操作。

Linux目录结构

  1. FHS标准:
    FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等。
    第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等等
    这里写图片描述 

  2. 目录路径
    路径
    :使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录(**注意,还记得我们上一节介绍过的,以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用 ls -a 命令查看隐藏文件), - 表示上一次所在目录,~ 通常表示当前用户的”home”目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。
    绝对路径
    关于绝对路径,简单地说就是以根”/”目录为起点的完整路径,以你所要到的目录为终点,表现形式如: /usr/local/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录。
    相对路径
    相对路径,也就是相对于你当前的目录的路径,相对路径是以当前目录 . 为起点,以你所要到的目录为终点,表现形式如: usr/local/bin (这里假设你当前目录为根目录)。你可能注意到,我们表示相对路径实际并没有加上表示当前目录的那个 . ,而是直接以目录名开头,因为这个 usr 目录为 / 目录下的子目录,是可以省略这个 . 的(以后会讲到一个类似不能省略的情况);如果是当前目录的上一级目录,则需要使用 .. ,比如你当前目录为“home”目录,根目录就应该表示为 ../../ ,表示上一级目录(”home”目录)的上一级目录(”/”目录)。

Linux 文件的基本操作

  1. 新建
    新建空白文件
    使用 touch 命令创建空白文件,关于 touch 命令,其主要是来更改已有文件的时间戳的(比如,最近访问时间,最近修改时间),但其在不加任何参数的情况下,只指定一个文件名,则可以创建一个为指定文件名的空白文件(不会覆盖已有同名文件),当然你也可以同时指定该文件的时间戳。
    touch test
    新建目录
    使用 mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性
    mkdir mdir
    mkdir -p father/son/grandson
  2. 复制
    复制文件
    使用cp(copy)命令复制一个文件或目录到指定目录。
    复制目录
    如果直接使用cp命令,复制一个目录的话,会出现错误:
    要成功复制目录需要加上-r或者-R参数,表示递归复制,就是说有点“株连九族”的意思。
    cp test father/son/grandson
    cp -r father family
  3. 删除
    删除文件
    使用rm(remove files or directories)命令,删除一个文件或目录
    删除目录
    跟复制目录一样,要删除一个目录,也需要加上-r或-R参数
    rm test
    rm -r father
  4. 移动文件与文件重命名
    移动重命名文件
    使用mv(move or rename files)命令,移动文件(剪切)。
    批量重命名
    要实现批量重命名,mv 命令就有点力不从心了,我们可以使用一个看起来更专业的命令rename来实现。不过它是要用 perl 正则表达式来作为参数
    touch file{1..5}.txt
    rename 's/\.txt/\.c/' *.txt
    rename 'y/a-z/A-Z/' *.c
  5. 查看文件
    使用cat,tac和nl命令查看文件
    使用more和less命令分页查看文件
    使用head和tail命令查看文件
  6. 查看文件类型
    前面我提到过,在 Linux 下面文件的类型不是根据文件后缀来判断的,我们通常使用file命令可以查看文件的类型
  7. 编辑文件
    在 Linux 下面编辑文件通常我们会直接使用专门的命令行编辑器比如(emacs,vim,nano),

0 0