linux 目录相关操作

.                代表当前目录

..             代表上一层目录

-                  代表上一个目录

~             代表 当前用户身份 家目录

~account     代表   account 家目录

1.cd:      变换目录

cd后什么都不加默认代表~家目录

2.pwd(Print Working Directory):         显示当前目录路径

 加 -p后显示实际目录(如果是当前是link路径的话)

3.mkdir:           建立一个新的目录

         -p 自动生成上层目录,如果上层目录已存在直接使用(不加的话,只能一

            层一层建立)

     mkdir -p t1/t2/t3/t4

 -m 配置档案权限,直接设定(默认的是预设权限umask)

     mkdir -m 711 t1

4.rmdir:           删除一个空目录(只能删除空目录)

  -p 将路径中所有的空目录都删除

    rmdir -p t1/t2/t3/t4(如果4个目录全为空,就相当于删除t1整个目录)

  

 如果要删除目录下所有东西(不管是否为空)

   rm -r t1

5.$PATH:                  执行文件路径的变量

   我们输入的一些指令比如 ls ,系统会依照PATH的设定去每个PATH定义的

   目录下搜寻文件名为ls的可执行文件,如果在PATH定义的目录中含有多个

   文件名为ls,则先找到的先执行!

   echo $PATH

               echo表显示、印出,$后面接的是变量,上面会显示出目前的PATH。

   PATH(一定大写),这个变量的内容由一堆目录组成,每个目录中间用

   (:)冒号隔开,有序。

 如果你修改了PATH且PATH中不能搜索到可执行命令,那么只能用绝对路

   径,如 /bin/ls 来执行。比如将ls命令移动到root下

   mv /bin/ls root

          如果PATH中别的目录不包含ls只能用/root/ls 或 如果在root目录下./ls

   如果要在任何目录下执行,就要设置PATH

               PATH="$PATH":/root

               注:上面在命令行进行快速设置,只在本次登录shell有效。也就是说重新

   登录后就会在PATH中消失,如果想永久存在就要修改.bashrc文件

6.ls          档案与目录的检视

  常用:

 -a  : 全部的档案,包含隐藏档(.开头的档案)一起列出来

 -d  : 仅列出目录本身,而不是列出目录内的档案数据

 -l   : 长数据串行,包含档案的属性权限与权限等等数据.

7.cp            复制

  常用:

 -a  : 相当于-pdr 复制所有特性

         -i   : 若目标文件(destination)已经存在,在覆盖时会先询问动作的进行

 -p  : 连同的档案的属性一起复制过去,而非使用默认属性(备份常用)

 -r  : 递归持续复制,用于目录的复制行为

8.rm         移除档案或目录

  常用:

  -f  : force的意思,忽略不存在的档案,不会出现警告讯息

  -i  : 互动模式,在删除前会询问使用者是否动作

  -r : 递归删除,常用目录删除(非常危险)

     假定/tmp/etc下不为空

    rmdir /tmp/etc/  不为空无法删除

  rm -r /tmp/etc   如果是root用户预设了-i,所以会一直询问是否删除

  \rm -r /tmp/etc  指令前加反斜杠,可以忽略掉alias的指定选项,就不

    会询问了

    

  touch ./-aaa-               建立带-开头的空档案

  rm -aaa-                     系统会误认为是选项

  rm ./-aaa- 或 rm -- -aaa-    这样就是当前目录下的-aaa-目录

    

9.mv          移动档案与目录,或更名 

  -f : force 强制,如果目标档案已存在,不会询问而直接覆盖

        -i : 若目标档案已经存在,询问是否覆盖

  -u: 若目标档案已经存在,且source比较新,才会更新   

10.basename      取得文件名称

11.dirname    取得目录名称   

12.档案内容查阅:

 cat : (concatenate)由第一行开始显示档案内容,显示行号-n显示-b不显示

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

         nl : 显示的时候,顺道输出行号!

         more :  一页一页的显示档案内容, /abc搜索abc  n继续搜索abc,

                           :f显示文件名及目前行数,b:往回翻页,只对档案有效,管线无效

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

 head : 只看头几行

 tail : 只看尾巴几行

 od : 以二进制的方式读取档案内容

13.umask    档案预设权限

 umask

               0022           (后三位对应要删除的权限)

   目录和档案不一样(档案不需要执行权限x):

                       转换后(目录:drwxr-xr-x 档案: -rw-r--r--)

              umask -S

                u=rwx, g=rx, o=rx 

             umask 002 (修改预设将0022改为0002)