Linux 文件与目录管理

一、目录与路径 相对路径与绝对路径

绝对路径:路径的写法“一定由根目录 / 写起”,例如: /usr/share/doc 这个目录。

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

目录的相关操作 . 代表此层目录 .. 代表上一层目录 - 代表前一个工作目录 ~ 代表“目前使用者身份”所在的主文件夹 ~account 代表 account 这个使用者的主文件夹(account是个帐号名称) 关于可执行文件路径的变量: $PATH

我们知道查阅文件属性的指令ls完整文件名为:/bin/ls(这是绝对路径),但是我们在任何目录下输入 ls 就一定可以显示出一些讯息,这是因为环境变量 PATH 的帮助所致。

当我们在执行一个指令的时候,举例来说“ls”好了,系统会依照PATH的设置去每个PATH定义的目录下搜寻文件名为ls的可可执行文件, 如果在PATH定义的目录中含有多个文件名为ls的可可执行文件,那么先搜寻到的同名指令先被执行!

echo $PATH:

[**@someone ~]$ echo $PATH /usr/local/jdk1.8.0_111/bin:/usr/local/jdk/bin:/usr/local/bin:/usr/bin/mysql:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin

无论是root还是其它用户都有 /bin 或 /usr/bin, 这个目录在PATH变量内,所以当然就能够在任何地方执行ls来找到/bin/ls可执行文件。

但是对于我们自己解压安装的某些程序包,如某些web容器Tomcat或者Jetty,当我们要执行bin目录的某些sh脚本,需要使用绝对路径或者./start.sh这样的相对路径。

二、文件内容查阅

常见的文件内容查阅命令:

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

cat

[root@study ~]# cat [-AbEnTv] 选项与参数: -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已; -b :列出行号,仅针对非空白行做行号显示,空白行不标行号! -E :将结尾的断行字符 $ 显示出来; -n :打印出行号,连同空白行也会有行号,与 -b 的选项不同; -T :将 [tab] 按键以 ^I 显示出来; -v :列出一些看不出来的特殊字符

tac(反向展示)

nl(添加行号打印)

[root@study ~]# nl [-bnw] 文件 选项与参数: -b :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出行号(类似 cat -n); -b t :如果有空行,空的那一行不要列出行号(默认值); -n :列出行号表示的方法,主要有三种: -n ln :行号在屏幕的最左方显示; -n rn :行号在自己字段的最右方显示,且不加 0 ; -n rz :行号在自己字段的最右方显示,且加 0 ; -w :行号字段的占用的字符数。

nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。

可翻阅检视

more

空白键: 代表向下翻一页; Enter : 代表向下翻“一行”; /字串 : 代表在这个显示的内容当中,向下搜寻“字串”这个关键字; :f : 立刻显示出文件名以及目前显示的行数; q : 代表立刻离开 more ,不再显示该文件内容。 b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

less

空白键 : 向下翻动一页; [pagedown]:向下翻动一页; [pageup] : 向上翻动一页; /字串 : 向下搜寻“字串”的功能; ?字串 : 向上搜寻“字串”的功能; n :重复前一个搜寻 (与 / 或 ? 有关!) N :反向的重复前一个搜寻 (与 / 或 ? 有关!) g :前进到这个数据的第一行去; G :前进到这个数据的最后一行去 (注意大小写); q :离开 less 这个程序;

less 的用法比起 more 又更加的有弹性,在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件。

数据撷取

head (取出前面几行)

[root@study ~]# head [-n number] 文件 选项与参数: -n :后面接数字,代表显示几行的意思 [root@study ~]# head /etc/man_db.conf # 默认的情况中,显示前面十行!若要显示前 20 行,就得要这样: [root@study ~]# head -n 20 /etc/man_db.conf

tail (取出后面几行)

[root@study ~]# tail -n 20 /etc/man_db.conf 范例一:如果不知道/etc/man_db.conf有几行,却只想列出100行以后的数据时? [root@study ~]# tail -n +100 /etc/man_db.conf 范例二:持续侦测/var/log/messages的内容 [root@study ~]# tail -f /var/log/messages <==要等到输入[crtl]-c之后才会离开tail这个指令的侦测!

通常用这个tail来刷日志。

三、命令与文件查询 脚本名的查询

which(寻找“执行文件”)

根据PATH这个环境变量所规范的路径去查询“执行文件”的文件名。所以,重点是找出执行文件而已。

文件名的查找

因为 whereis 与 locate 是利用数据库来查找数据,所以速度相当快,find 要实际查询硬盘。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjyzy.html