1.mkdir rmdir 命令:

   (1)创建目录:

   [root@localhost ~]# mkdir /tmp/learn/folder

   如果此时 /tmp/learn 不存在,将会报错,导致 folder 目录无法成功创建。要想级联创建,使用 -p 参数:

   [root@localhost ~]# mkdir -p /tmp/learn/folder

   (2)删除目录:

   先说一种我们经常采用的方法:rm 加 -r 参数

   [root@localhost ~]# rm -r /tmp/learn/folder //强制删除使用 -f 参数

   另外还有一种方法,使用起来不像 rm -r 一样方便,在这里仅作了解:

   [root@localhost ~]# rmdir /tmp/learn/folder

   注意,如果此时 folder 目录非空,则删除会报错,导致删除失败。 rmdir 也有 -p 参数,如果使用 -p,会逐层删除 folder 的父目录,前提是 folder 的父目录只包含 folder 自身,也就是说删除folder 后其父目录为空才能删除成功。建议掌握 rm -r 命令即可。


2.rm mv cp 命令:

   在 root 用户下, rm mv cp 都被 alias 关联上了自身的 -i 参数:

   alias rm='rm -i'

   alias mv='mv -i'

   alias cp='cp -i'   //普通用户无此关联

   所以在使用 root 用户登录时,如果想要强制 rm mv cp,需要使用 -f 参数。这里注意一点,cp 比较特殊,使用 -f 的情况下还是会有 -i 的提示,这会给我们在 cp 需要覆盖大量文件时造成很大的不便,两种解决方法——解除关联,或使用命令的绝对路径,建议使用绝对路径的方法:

   [root@localhost ~]# unalias cp  //解除关联

   [root@localhost ~]# /bin/cp    //绝对路径

   另外,在针对目录进行操作时,rm 和 cp 需要使用 -r 参数(recursive),mv 则不需要使用(mv 也无此参数)。

   mv 命令还有重命名的功能:

   [root@localhost learn]# mv ./alreadyexists ./chongmingming

   [root@localhost learn]# mv ./chongmingming ../xinmingzi

   重命名不限于同一目录下,即移动和重命名可以一步完成。上述实现重命名的前提:第一步时 learn/ 目录下无 chongmingming/ 目录,第二步时 learn/ 的父目录中无 xinmingzi/ 目录。如果有这些目录,则会移动到这些目录中,名字不变。

   当然,重命名有一条“正牌”命令,不常用,通常用 mv 解决即可:

   [root@localhost ~]# rename oldname newname ./oldname

   重命名 oldname 文件,重命名为 newname ,仅作了解。

   mv 有一个常用参数 -b ,用于移动文件产生重名覆盖问题时自动备份原文件:

   [root@localhost ~]# ls /tmp/learn

   file1

   file2

   [root@localhost ~]# mv -fb ./file1 !$

   [root@localhost ~]# ls !$

   file1

   file2

   file1~

   其中,名称为 file1~ 的文件为 /tmp/learn 目录下的原 file1 文件,名称为 file1 的文件是 ~/ 目录下移动进来的 file1 文件。

   注:cp 命令也有 -b 参数,作用与 mv 命令的 -b 参数相同。

   

3.查看文本命令:

   有如下几种: cat head tail more less

   (1)cat: 查看全部, 偶尔用到 -A 参数,作用是显示时在每行行尾添加 $ 符,方便查看较长的行。

   (2)head: 查看文本前十行,可以指定查看行数

   [root@localhost ~]# head -5 file.log    //指定查看文本前几行,不指定则为前 10 行

   (3)tail: 查看文本后十行,可以指定查看行数,也可以指定从文本的第几行看是查看,还有一个常用参数 -f ,通常用来查看不断增加的文件,如日志文件,

   [root@localhost ~}# tail -5 file.log    //指定查看文本后几行

   [root@localhost ~}# tail -n +5 file.log  //查看文本的五行到最后一行

   (4)more: 分屏查看文本,可以整屏查看文本

   [root@localhost ~]# more file.log

   进入查看模式后, q 退出查看,b 向上翻页, f 向下翻页。这些命令同样适用于 less ,和 man 命令。(more 中的 f 在翻页时会跳过很多行,不知道原因,建议使用 less 命令查看)

   (5)less: 分屏查看文本,可以整屏查看文本,相对于 more 来说更好用一点

   [root@localhost ~]# less file.log

   翻页方式同上述的 more 命令。另外可以使用k 向下一行, j 向上一行,进行查看(也可用上下方向键实现)。less 相对与 more 来说好用的地方时,除非手动 q 退出查看,否则不会退出,而 more 命令在查看到文本末尾后会自动退出查看。而且 less 命令可以逐行上翻下翻查看,建议使用。


4.文件属性:

   查看文件属性:

   [root@localhost ~]# ls -l file.log

   -rw-r--r--. 1 root  root          42 Mar 18 12:11 file.log

   这个在之前的笔记中也提到过一部分,但没有提到权限,这里说一下。权限分为三组,从左到右分别为 属主权限, 属组权限, 其他人权限。 r 代表 可读, w 代表 可写, x 对于文件来说代表 可执行, 对于目录来说代表 可进入(cd)。权限后的 . 和 SELinux 有关。 inode 数和几个文件使用该 inode 号有关。