目录与路径

相对路径与绝对路径

  • 绝对路径:路径的写法『一定由根目录
    1. / 写起』,例如: /usr/share/doc 这个目录。
  • 相对路径:路径的写法『不是由

    1. / 写起』,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:
    2. cd
    3. ../man』这就是相对路径的写法啦!相对路径意指『相对於目前工作目录的路径!』。

    目录的相关操作

    特殊的目录操作命令

  • . :代表此层目录

  • .. :代表上一层目录
  • - :代表前一个工作目录
  • ~ :代表『目前使用者身份』所在的家目录
  • ~account :代表 account 这个使用者的家目录(account是个帐号名称)

    常见的处理目录的命令

  • cd:变换目录

  • pwd:显示目前的目录
  • mkdir:创建一个新的目录
  • rmdir:删除一个空的目录

    cd(变换目录)

    图片.png

    pwd (显示目前所在的目录)

    图片.png

    mkdir (创建新目录)

    图片.png

    rmdir (删除『空』的目录)

    图片.png

    关于运行路径的变量 $PATH

    查阅文件属性的命令ls完整档名为:/bin/ls(这是绝对路径)。能在任何目录下调用ls命令是因为环境变量PATH的作用

  • echo 该指令有【显示、印出】的功能

如下图所示,调用【echo $PATH】命令,可将当前的PATH显示出来:

  • $符号后面接的是变量;
  • PATH这个变量的内容是由一堆目录所组成的,每个目录中间用冒号(:)来隔开, 每个目录是有『顺序』之分。

image.png
将目录加入PATH中的方法如下(使用root权限,以root目录为例):
image.png
为了安全起见,不建议将『.』加入PATH的搜寻目录中。

文件与目录管理

文件与目录的检视:ls

用法:ls [选项]… [文件]…

复制、删除与移动: cp, rm, mv

cp (复制文件或目录)

用法:cp [选项]… 来源档… 目标档

  • 将某个文件复制到某个目录下,如下述:
    • cp t.txt /tmp
  • 将某个文件复制到某个目录下进行替换,并提示是否替换,如下述:
    • cp -i t.txt /tmp
  • 将某个文件复制到某个目录下,并重命名,如下述:
    • cp t.txt /tmp/f.txt(将t.txt复制到tmp目录下并重命名为f.txt)
  • 将某个文件复制到当前目录,如下述:
    • cp /home/t.txt .
  • 将某个文件完整地(包括属性和权限)复制到某个目录,如下述:
    • cp -a t.txt gg
  • 将某个目录下的所有文件复制到某个目录下,如下述:
    • cp -r ./tt /tmp/gg
  • 为某个目录创建连结档(快捷方式),如下述:
    • cp -s gg gg_slink
    • cp -l gg gg_hlink
  • 对比某个文件是否为最新后再进行复制,如下述:
    • cp -u t.txt /tmp/t.txt
  • 复制连结档(快捷方式),如下述:
    • cp -d gg_slink gg_slink2
  • 将多个文件或目录复制到一个目录下,如下述:
    • cp -r t.txt tt ff gg(将t.txt文件、tt目录和ff目录复制到gg目录)

注:cp指令复制的是原始文件,所以使用cp指令复制连结档时,实际复制的是连结档指向的原始文件。

rm (移除文件或目录)

用法:rm [选项]… [文件]…

  • 将目录下的某个文件删除,如下述:
    • rm t.txt
    • rm -i t.xtx(删除前提示)
  • 将目录下的固定开头(如t开头)的文件删除,如下述:
    • rm t*
    • rm -i t*(删除前提示)
  • 将某个空目录删除,如下述:
    • rmdir gg
  • 将某个非空目录删除,如下述:
    • rm -r gg
  • 忽略系统保护提示删除某个文件或目录,如下述:
    • \rm -r gg(在命令前加入反斜杠,可以忽略系统提示,直接删除)
  • 删除带特殊符号的文件(如“-”开头的文件),如下述:

    • rm ./-aaa(删除当前目录下的-aaa文件)

      mv (移动文件与目录,或更名)

      用法:mv [选项]… 源文件… 目录
  • 将某个文件(t.txt)移动到某个目录(tt)下,如下述:

    • mv t.txt tt
  • 将某个目录或文件名变更为新的名称,如下述:
    • mv t.txt f.txt
    • mv tt ff
  • 将两个文件或目录(tt、ff)移动到一个目录(gg)下,如下述:

    • mv tt ff gg

      文件内容查阅

      文件内容查阅

      最常使用的显示文件内容的指令:
  • cat :由第一行开始显示文件内容

  • tac :从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
  • nl :显示的时候,顺道输出行号!
  • more :一页一页的显示文件内容
  • less :与 more 类似,但是比 more 更好的是,他可以往前翻页!
  • head :只看头几行
  • tail :只看尾巴几行
  • od :以二进位的方式读取文件内容

    直接检视文件内容

    直接查阅一个文件的内容可以使用 cat、tac、nl指令。

    cat指令(Concatenate)

    主要的功能是将一个文件的内容连续的印出在萤幕上面

  • 查看某个文件的内容,如下述:

    • cat t.txt
  • 查看某个文件的内容,且显示出内容的行号,如下述:
    • cat -n t.txt(显示行号,包含空白行)
    • cat -b t.txt(显示行号,不包含空白行)
  • 将某个文件的内容完整显示出来(包含特殊字符),如下述:

    • cat -A t.txt(换行符显示为“$”,tab显示为^I,空格符正常显示

      tac (反向列示)

      和cat指令的作用类似(具体选项指令需查看help),但内容的显示顺序相反
  • 反向查看某个文件的内容,如下述:

    • tac ./t.txt(最后一行显示在第一行,反向显示)

      nl (添加行号列印)

      输出的文件内容自动的加上行号,进行显示。
  • 将某个文件的内容加上行号显示,如下述:

    • nl f.txt(不显示空白行号)
    • nl -b a f.txt(显示空白行号)
  • 将某个文件的内容加上行号,且在行号前面自动补上0,如下述:
    • nl -b a -n rz f.txt(行号默认补齐为6位数)
  • 将某个文件的内容加上行号,在行号前面自动补上0,且行号位数指定为固定位数,如下述:
    • nl -b a -n rz -w 3 f.txt(指定显示3位的行号数)

      可翻页检视