Linux基本操作之路径的详解

一、linux下的路径

Linux中的路径可以分为绝对路径相对路径,因为根据档名写法的不同,也可以将所谓的路径(path)定义为绝对路径(absolute)和相对路径(relative)。这两种文件名/路径的写法根据是这样的:

  •   绝对路径:由跟目录(/)开始起的文件或者目录名称,例如 /home/dmtais/.bashrc:   (绝对路径的写法一定是由 / 目录写起的
  •   相对路径:相对于目前路径的文件名写法。例如 ./home/dmtsai  或  ../ ../home/dmtsai  等。反正开头不是 / 属于相对路径的写法。(相对路径的写法不是由 / 目录写起的).
  •  .   :代表当前的目录,也可以使用  ./  来表示;
  •  ..   :代表上一层目录,也可以 ../ 来表示;

这个 . 与 .. 目录的概念是很重要的,你经常看到  cd .. 或  ./command 之类的指令下达方式,就是代表上一层与目前所在目录的工作状态,

例如:如何先进入到/var/spool/mail/目录,在进入到/var/spool/lpd/目录内?

$ cd /var/spool/mail/            ##进入到/var/spool/mail/下
$ cd ../lpd/                     ##返回上一层目录并进入lpd目录
$ cd ../..                       ##返回上边的两级目录回到/var目录下

 

 

 

二、目录的相关操作 

 

1、目录下的各种操作如下:

.            ##代表此层目录
..           ##代表上一层目录 
-            ##代表前一个工作目录
~            ##代表[目前用户身份]所在的加目录 
~redhat         ##代表redhat这个用户的加目录(redhat是个账号的名称)

需要注意到额是:在所有的 目录下都会存在的两个目录,分别是[  . ] 与 [ .. ] 分别代表此层和上层目录的意思。但是用  $ls  -al 去查询的时候可以看到两个目录确实是存在的,经过对目录权限的查看可以发现这两个目录的权限和属性是一样的,这代表着根目录的上一层(..)与自己的目录(.)是同一个目录

2、几个常见处理目录的指令:

  • cd :     变换目录
  • pwd :  显示当前的目录
  • mikdir :创建一个目录
  • rmdir   : 删除一个空目录 

 

3、pwd的使用方法 

$ pwd                  ##列出当前的目录(显示的是连结的方式)
$ pwd  -P              ##显示文件的真实路径

 

 

4、mkdir的使用方法 

$ mkdir westos                 ##创建westos
$ mkdir  -p test/redhat/yang   ##以递归的方式创建目录
$ mkdir  -m  752  bin          ##创建给新创建的目录添加权限   

 

5、rmdir删除空目录只有只能删除空目录

$ rmdir  test        ##删除单个目录
$ rmdir  -p   test/westos/redhat    ##如果存在多级目录只能用-p来进行删除

注:如果目录中有已经建立好的文件是不能用此命令去删除的

 

 

三、相关的执行文件的路径的变量:$PATH

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

现在,请下达 [ echo $PATH ] 来看看到底哪些目录被定义出来? echo有 [显示、印出] 的意思,而PATH 前面的 $ 表示后面接的变量,所以会显示当前的 PATH !

$ echo $PATH                    ##查看当前路径的环境

PATH(一定是大写)这个变量的内容是由一推目录所组成的,每个目录中间用冒号来隔开,每个目录是有[顺序] 之分的,仔细看一下上面的输出,就可以发现无论是root还是dmtsai都有 /bin  或 /usr/bin 这个目录,这个目录在PATH 变量内,所以当然就能够在任何地方执行ls来找到/bin/ls 执行档,因为 /bin 在CentOS7 当中,就是连结到 /usr/bin 去的 !  所以这两个目录的内容一摸一样。

需要执行的命令必须放置在/usr/bin  或者 /usr/sbin  这两个目录下,不然正常的情况下是无法执行的,只有设置了。相应的环境变量之后才命令才能够生效,如果换成其他的目录。

实验的步骤 :

 

 

 

PATH用途总结:

  • 不同身份使用者预设的PATH不同,默认能够随意执行的指令也不同(root 与 dmtsai;
  • PATH是可以修改的;
  • 使用绝对路径或相对路径指定的文件名来执行,会比搜寻PATH来的正确。
  • 指令应该要放置到正确的目录下,执行才会比较方便。
  • 本目录(.)最好不要到PATH当中。

 

 

2、一般处理目录文件时常用到的一些命令,复制、删除与移动: cp 、rm、mv

  • cp 复制命令 

相关的参数选择:

-a     :相当于  -dr --preserve=all 的意思,至于 dr 请参考下列说明: (常用)

-d     :若来源文件为链接文件的 属性(link file),则复制链接文件属性而非文件本身的;

-f      :为强制 (force)的意思,若目标文件已存在且无法开启,则移除后再尝试一下。

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

-l      :进行硬式连结(hard link)的连结档建立,而非复制文件本身 

-p     :连同文件的属性(权限、用户、时间)一起复制过去,而非使用默认属性(备份常用)

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

-s      :复制成为符号链接文件(symbolic link)

-u      :当源文件和现文件存在差异时才使用,一般做备份用。


 

  • rm 移除文件或目录 或更名
  • 选项参数:
  • -f  :就是 force的意思,忽略不存在的文件,不会出现警告讯息。
  • -i  : 互动模式,在删除前会询问使用者是否动作。
  • -r  :递归删除,最常见用在目录的删除,这里非常危险的选项。

 

3、获取路径的文件名与目录名称

每个文件的完整档名包括了前面的目录与最终的文件名,而每个档名的长度都可以达到255个字符,那么我们我hi如何知道那个式档名哪个是目录名?

 $ basename /usr/bin/sort       输出"sort"。

 $ basename ./include/stdio.h .h  输出"stdio"。

 为basename指定一个路径,basename命令会删掉所有的前缀包括最后一个slash(‘/’)字符,然后将字符串显示出来。

$ dirname /etc/sysconfig/network       输出为/etc/sysconfig
/etc/sysconfig

 

四、文件内容的查阅

如果我们要查阅一个文件的内容时,这里有相当多的指令可以使用,最常用的显示文件内容的指令是cat 与 more  以及less。相关的命令如下图所示。

  • cat   由第一开始显示文件内容。
  • tac   从最后一行开始显示,可以看出 tac 是 cat 的倒着写。
  • nl     显示的时候,顺道输出行号。
  • more  一页一页的显示文件的内容
  • less    与more类似,但是比more更好的是,他可以往前翻页。
  • head   只看几行
  • tail      只看文件后边的几行
  • od      以二进制的方式读取文件内容 
  • cat
$ cat  -A                 ##列出一些特殊的字符而不是空白而已

详细分析查看 cat  --help  

 

  • tac (反向示例)
  •  

 

  • nl (添加行号打印)
  • -b   : 指定行号的方式,主要有两种;

           -b   a :表示无论是否为空行,也同样列出行号(类似 cat -n);

           -b   t  : 如果空行,空的那一行要列出行号(默认值);

  • -n    : 列出行号表示的方法,主要有三种:

           -n   ln  : 行号在屏幕的最左方显示

           -n   rn  : 行号在自己字段的最有方显示,且不加 0;

           -n   rz  :行号在自己字段的最右方显示,且加0;

 

 

五、可翻页检视

上述提到的nl 与 cat tac 等,都是一次性的将数据一口气显示到屏幕上面,如果想要一页页的翻,可以使用more,less命令。

在进行more命令的使用时下边是命令的使用方法:

空格键盘(space): 代表向下翻一页;

Enter                       :代表向下翻 [ 一行 ]

/字符串                    :代表在这个显示的内容当中,向下搜寻 [字符串] 这个关键词;

:f                           :立刻显示出文件名以及目前显示的行数

q                              :代表立刻离开more,不再显示该文件的内容。

b  或  [ctrl]  -b           :代表往回翻页,不过这动作只对文件有作用,对管线无用 

例子:显示passwd文件中11到20行的内容,并显示行号。

$ head -n 20  /etc/passwd | tail  -n 20  | nl    ##先提取passwd的前20行的内容,再显示提取到的20行中后20行的内容,并显示行号。

 

  • od  (非纯文本文档)

上边所所述的是纯文本文档的内容,但是如果要查阅的是非文本文件,举例来说,例如/usr/bin/passwd 这个执行文档的内容时,又该如何去读出信息呢,由于执行档通常是binary file  使用上边提到的指令来读取其他的内容时,确实会产生类似乱码数据。

选项参数

-t    : 后边可以接各种 [类型 (TYPE)] 的输出,例如;

            a        : 利用默认的字符来输出;

            c        : 使用 ASCII 字符来输出 

 

 

六、which和whereis查找命令所在的位置以及文件和目录所在的位置 

1、which命令的使用方法 

which   [指令]    ##查找与该指令完整的文件名

 

2、whereis命令的使用方法 

$ whereis  [-bmsu]   文件或目录名

选项与参数:

-l     :可以列出 whereis  回去查询的几个主要的目录而已

-b    :只找binary 格式的文件

-m   :只找在说明文件 manual 路径下的文件 

-s     :只找 source 来源的文件 

-u     :搜寻不在上述三个目录当中的其他特殊文件 

$  whereis   ifconfig               ##查找ifconfig文件所在的路径 
$  whereis   passwd                 ##查找passwd文件所在的目录

whereis命令主要是针对/bin/sbin 底下的执行文档,以及 /usr/share/man 底下的 man page  文件,跟几个比较特特定的目录来处理而已,

 

3、locate / updatedb

选项与参数

-i    : 忽略大小写的差异

-c   :不输出档名,仅计算占到的文件的数量 

-l     : 仅输出几行的意思,例如输出五行 则是 -l  5

-S   : 输出 locate所使用的数据库文件的相关信息,包括该数据库记录的文件 / 目录量等

-r     :后面可接正规的显示方式 

(1)、让用户能进入成为[可工作目录]  的基本权限为何:

可使用的指令: 例如cd  等变换工作的指令。

目录所需权限:用户对于这个目录至少需要具有x权限

额外需求:如果用户想要在这个目录内利用 ls 查询文件名,则用户对此目录还需要 r 权限。

 

(2)、用户在某个目录内读取的基本权限为何?

可使用的指令:例如 cat  more  less 等等。

目录所需权限:用户对这个目录至少需要具有 x 权限等等。

文件所需权限:使用者对文件至少需要具有 r 的权限才行 。

该文件的存取模式(read/write/excute);

该文件的拥有者与群组(owner/group);

该文件的容量;

  • 该文件建立或状态改变的时间(ctime);
  • 最近一次读取的时间(atime);
  • 最近一次修改的时间(mtime);
  • 定义文特性的旗帜(flag);
  • 该文件真正内容的指向;

每日一学: 

$  uname   -r                    ## 查看系统的核心版本

$  uname   -m                  ## 查看操作系统的版本位  

 

 

 

 

 

 

 

  • 19
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux路径配置是指在Linux系统中配置多个路径来实现高可用性和负载均衡。多路径配置可以提高系统的可靠性和性能,特别是在使用存储设备时。 多路径配置的主要步骤包括: 1. 安装多路径软件包:在Linux系统中安装多路径软件包,例如multipath-tools。 2. 配置多路径:编辑multipath.conf文件,配置多个路径和优先级,以及其他选项。 3. 启用多路径:启用多路径服务,例如multipathd。 4. 测试多路径:测试多路径是否正常工作,例如使用multipath命令查看多路径状态。 多路径配置可以提高系统的可靠性和性能,但也需要注意一些问题,例如: 1. 多路径配置需要消耗一定的系统资源,例如CPU和内存。 2. 多路径配置需要正确配置,否则可能会导致系统故障或数据丢失。 3. 多路径配置需要定期维护和更新,以确保系统的稳定性和可靠性。 总之,Linux路径配置是一个重要的系统配置,可以提高系统的可靠性和性能,但需要正确配置和维护。 ### 回答2: 多路径是一种技术,它可以提高 Linux 系统对存储设备的故障容错能力和可用性。当存储设备的单个路径发生故障时,多路径技术可以在不影响系统正常工作的情况下,自动切换到备用路径。本文将详细介绍 Linux路径的配置。 1. 安装 multipath 工具 在 Linux 系统上配置多路径,需要安装 multipath 工具。该工具可以让系统识别存储设备的多个路径,并将其作为一个逻辑单元来管理。multipath 工具可以通过 yum 安装: yum install -y multipath 2. 配置 multipath 安装完 multipath 工具后,需要配置 multipath.conf 文件来指定存储设备的多个路径以及如何管理这些路径。可以通过以下命令编辑 multipath.conf 文件: vi /etc/multipath.conf 在文件中添加以下内容: defaults { find_multipaths yes user_friendly_names yes } blacklist { devnode "^sd[a-z]$" } devices { device { vendor "VENDOR" product "PRODUCT" path_grouping_policy multibus path_checker directio failback immediate } 在上述配置中,配置了默认路径查找和用户友好的命名,同时使用了路径分组策略 multibus,路径检查程序 directio 和 failback 策略 immediate。此外,还可以针对不同的存储设备制定不同的配置。 3. 运行 multipathd 服务 multipathd 是 multipath 工具的后台服务,用于管理存储设备路径。运行 multipathd 服务可以使用以下命令: systemctl start multipathd 可以通过以下命令检查 multipathd 服务是否正在运行: systemctl status multipathd 4. 扫描存储设备 完成上述配置后,需要扫描存储设备以便 multipath 工具能够识别它们的多个路径。可以通过以下命令扫描所有存储设备: echo "- - -" > /sys/class/scsi_host/host#/scan 其中,host# 是存储设备所在的主机号。对于每个存储设备,需要分别运行此命令。 5. 检查多路径配置 完成以上操作后,可以使用以下命令检查多路径是否配置成功: multipath -ll 该命令将显示所有的多路径设备以及其状态。 6. 管理多路径设备 在多路径设备配置完成后,可以使用相同的设备名称访问多个路径。如果其中一个路径出现故障,系统将自动将 I/O 重定向到备用路径。可以使用以下命令管理多路径设备: multipath -f device_name // 删除多路径设备 multipath -r // 刷新多路径信息 总之,多路径是一种可以提高 Linux 系统存储设备可用性和故障容错能力的技术。需要配置 multipath 工具、运行 multipathd 服务、扫描存储设备并检查多路径配置是否成功。最后,可以使用相同的设备名称访问多个路径,并使用 multipath 命令管理多路径设备。 ### 回答3: 多路径技术是为了解决存储系统中单点故障的问题而设计的。在Linux系统中,我们可以通过多路径技术来让单个服务器能够同时访问到多个存储设备,使得数据的访问更加高效和可靠。 在Unix/Linux操作系统中,多路径技术常常是通过设备映射(Device Mapper)来实现的。设备映射是一种独立于硬件、能够适用于不同的底层存储设备的软件层级的实现技术。具体来说,在Linux系统中,多路径技术主要包括以下几步: 1. 首先,在Linux系统中安装好RAID卡,对存储设备进行硬件配置,创建出多个存储路径。 2. 其次,安装好设备映射工具DM-Multipath,在Linux系统中运行该工具。 3. 接着,配置MLP(Multipath.conf)文件,该文件是多路径技术的核心配置文件,其中包含了多个存储设备路径的信息和优先级设置。 4. 最后,通过挂载文件系统来完成存储设备路径的设置。 在配置MLP文件时,主要需要设置以下几个参数: 1. defaults:用于设置默认值,如超时时间和优先级等。 2. blacklist:去除不需要的存储设备路径。 3. blacklist_exceptions:例外情况的黑名单。 4. devices:设备的别名和添加设备路径命名规则。 5. multipaths:设备映射表。 从上述步骤和参数配置可以看出,多路径技术的配置相对复杂,但是一旦配置成功,可以为系统带来高效和可靠的存储服务。通过多路径技术,能够利用存储设备的所有路径,增加存储设备的吞吐量,同时提高数据的可靠性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值