目录与路径

相对路径、绝对路径

  • 绝对路径:路径的写法“一定由根目录 / 写起”,例如: /usr/share/doc 这个目录。
  • 相对路径:路径的写法“不是由 / 写起”,例如由 /usr/share/doc 要到 /usr/share/man 下面时,可以写成: cd ../man这就是相对路径的写法啦!相对路径意指“相对于目前工作目录的路径!”

目录相关操作

  • cd:变换目录

  • pwd:显示目前的目录

  • mkdir:创建一个新的目录
  • rmdir:删除一个空的目录

cd 变换目录

  • cd ..:回到上一层目录
  • cd ~:回到主目录
    cd

pwd 显示当前所在目录

  • pwd是Print Working Directory的缩写,也就是显示目前所在目录的指令
    pwd

mkdir 创建新目录

注意使用该命令后带不带-p的区别

mkdir

rmdir 删除空目录

注意使用该命令后带不带-p的区别

rmdir

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

path

  • PATH(一定是大写)这个变量的内容是由一堆目录所组成的,每个目录中间用冒号(:)来隔
    开, 每个目录是有“顺序”之分的。仔细看一下上面的输出,你可以发现到无论是root还是dmtsai都有 /bin 或 /usr/bin 这个目录在PATH变量内,所以当然就能够在任何地方执行ls来找到/bin/ls可执行文件啰!因为 /bin 在 CentOS 7 当中,就是链接到 /usr/bin 去的! 所以这两个目录内容会一模一样

文件与目录管理

ls 审查目录与文件

ls

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

  • cp

cp
cpa

  • rm
    rm

  • mv

mv

取得路径的文件名称与目录名称

  • basenamedirname

basename

文件内容查阅

直接查视

cat

  • cat 由第一行开始显示文件内容

cat

tac

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

tac

nl

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

nl

可翻页查视

more

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

morea
moreb

less

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

数据截取

  • head 只看头几行

head

tail

  • tail 只看尾巴几行

tail

非纯文本文件: od

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

od

修改文件时间或创建新文件:touch

[root@study ~]# touch [-acdmt] 文件
选项与参数:
-a :仅修订 access time;
-c :仅修改文件的时间,若该文件不存在则不创建新文件;
-d :后面可以接欲修订的日期而不用目前的日期,也可以使用 —date=”日期或时间”
-m :仅修改 mtime ;
-t :后面可以接欲修订的时间而不用目前的时间,格式为[YYYYMMDDhhmm]

指令与文件的搜寻

指令文件名的搜寻

  • which(寻找“可执行文件”)

[root@study ~]# which [-a] command
选项或参数:
-a :将所有由 PATH 目录中可以找到的指令均列出,而不止第一个被找到的指令名称

文件文件名的搜寻

  • whereis (由一些特定的目录中寻找文件文件名)

[root@study ~]# whereis [-bmsu] 文件或目录名
选项与参数:
-l :可以列出 whereis 会去查询的几个主要目录而已
-b :只找 binary 格式的文件
-m :只找在说明文档 manual 路径下的文件
-s :只找 source 来源文件
-u :搜寻不在上述三个项目当中的其他特殊文件

  • locate / updatedb

[root@study ~]# locate [-ir] keyword
选项与参数:
-i :忽略大小写的差异;
-c :不输出文件名,仅计算找到的文件数量
-l :仅输出几行的意思,例如输出五行则是 -l 5
-S :输出 locate 所使用的数据库文件的相关信息,包括该数据库纪录的文件/目录数量等
-r :后面可接正则表达式的显示方式

  • find

[root@study ~]# find [PATH] [option] [action]
选项与参数:
1. 与时间有关的选项:共有 -atime, -ctime 与 -mtime ,以 -mtime 说明
-mtime n :n 为数字,意义为在 n 天之前的“一天之内”被更动过内容的文件;
-mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件文件名;
-mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件文件名。
-newer file :file 为一个存在的文件,列出比 file 还要新的文件文件名
2. 与使用者或群组名称有关的参数:
-uid n :n 为数字,这个数字是使用者的帐号 ID,亦即 UID ,这个 UID 是记录在
/etc/passwd 里面与帐号名称对应的数字。这方面我们会在第四篇介绍。
-gid n :n 为数字,这个数字是群组名称的 ID,亦即 GID,这个 GID 记录在
/etc/group,相关的介绍我们会第四篇说明~
-user name :name 为使用者帐号名称喔!例如 dmtsai
-group name:name 为群组名称喔,例如 users ;
-nouser :寻找文件的拥有者不存在 /etc/passwd 的人!
-nogroup :寻找文件的拥有群组不存在于 /etc/group 的文件!
当你自行安装软件时,很可能该软件的属性当中并没有文件拥有者,
这是可能的!在这个时候,就可以使用 -nouser 与 -nogroup 搜寻
3. 与文件权限及名称有关的参数:
-name filename:搜寻文件名称为 filename 的文件;
-size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的文件。这个 SIZE 的规格有:
c: 代表 Byte, k: 代表 1024Bytes。所以,要找比 50KB
还要大的文件,就是“ -size +50k ”
-type TYPE :搜寻文件的类型为 TYPE 的,类型主要有:一般正规文件 (f), 设备文件 (b, c),
目录 (d), 链接文件 (l), socket (s), 及 FIFO (p) 等属性。
-perm mode :搜寻文件权限“刚好等于” mode 的文件,这个 mode 为类似 chmod
的属性值,举例来说, -rwsr-xr-x 的属性为 4755 !
-perm -mode :搜寻文件权限“必须要全部囊括 mode 的权限”的文件,举例来说,
我们要搜寻 -rwxr—r— ,亦即 0744 的文件,使用 -perm -0744,
当一个文件的权限为 -rwsr-xr-x ,亦即 4755 时,也会被列出来,
因为 -rwsr-xr-x 的属性已经囊括了 -rwxr—r— 的属性了。
-perm /mode :搜寻文件权限“包含任一 mode 的权限”的文件,举例来说,我们搜寻
-rwxr-xr-x ,亦即 -perm /755 时,但一个文件属性为 -rw———-
也会被列出来,因为他有 -rw…. 的属性存在!
4. 额外可进行的动作:
-exec command :command 为其他指令,-exec 后面可再接额外的指令来处理搜寻到的结果。
-print :将结果打印到屏幕上,这个动作是默认动作!