博文十六:ln与read命令

一、简介

    链接文件分类:硬链接、软链接(符号链接)。

    硬链接

        a)不能对目录进行硬链接。

        b)不能跨分区进行硬链接。

        c)指向同一个inode的多个不同路径,创建文件的硬链接即为inode创建新的引用路径,因此会增加其引用计数。

    软链接(符号链接)

        a)可以对目录进行软链接。

        b)可以跨分区进行软链接。

        c)可以对一个不存在的文件名进行软链接

        d)指向的是另一个文件的路径,类似于windows下的快捷键,其大小为指向的路径的字符串的长度,不增加或减少目标文件inode的引用计数。

    脚本的交互型与非交互型

        交互型脚本

            脚本执行过程中会有与用户进行交互的过程,需要用户进行部分内容的输入或确定,通过用户的操作来执行满足条件的脚本的后续内容,通常结果表现为“灵活性”“可选择”。

        非交互型脚本

            脚本执行过程中不会出现于用户的交互过程,整个脚本执行完成即是其脚本的结果,通常结果表现为“唯一性”。

二、使用

    1.ln命令

            在文件之间建立连接,创建链接文件。

        格式
~]# ln [options] source [dest]
  -n source [dest]: 在进行软连结时,将 dest 视为一般的目录
  -s source [dest]:建立软链接(符号链接)
  -v source [dest]:显示详细的处理过程

# 建立硬链接
~]# ln source [dest]
        案例
[root@wybaron_host1015 ~]# ln -sv data/ln_dir_TEST/ dir
"dir" -> "data/ln_dir_TEST/"
[root@wybaron_host1015 ~]# ll
...
lrwxrwxrwx  1 root root    17 10月  5 17:06 dir -> data/ln_dir_TEST/
...
[root@wybaron_host1015 ~]# ln -nv data/ln_file_TEST.txt file
"file" => "data/ln_file_TEST.txt"
[root@wybaron_host1015 ~]# ll
...
-rw-r--r--  2 root root     8 10月  5 17:02 file
...
[root@wybaron_host1015 ~]# rm -rf data/ln_dir_TEST/
[root@wybaron_host1015 ~]# rm -rf data/ln_file_TEST.txt 
[root@wybaron_host1015 ~]# ll
...
lrwxrwxrwx  1 root root    17 10月  5 17:18 dir -> data/ln_dir_TEST/
...
# 此时硬链接文件一同消失,而软链接文件的链接一直在,只是提示链接了一个不存在的文件

    2.read命令

        主要用于bash脚本编程中的用户交互。

        格式
~]# read [option]... [name ...]
  -p 'PROMPT':给予用户输入的提示符或字串
  -t TIMEOUT:指定用户输入的等待时间,单位:秒
        案例
[root@wybaron_host1015 ~]# vim scripts/read_TEST.sh
#!/bin/bash
#
#

read -p '请输入您需要打印的内容:' -t 5 a
echo "您输入的是:$a" 
~ 
[root@wybaron_host1015 ~]# bash -n scripts/read_TEST.sh 
# 正常输入
[root@wybaron_host1015 ~]# bash scripts/read_TEST.sh 
请输入您需要打印的内容:kjngankjgn
您输入的是:kjngankjgn

# 输入超时
[root@wybaron_host1015 ~]# bash scripts/read_TEST.sh 
请输入您需要打印的内容:您输入的是:
[root@wybaron_host1015 ~]# 

三、补充

    链接文件的方式进行升级和版本替换

     通过替换目录文件的链接文件进行服务版本的升级,删除链接文件时千万不要用 rm -rf /$DIR/ 来删除,此时删除的并不是链接文件,而是真正的 /$DIR/ 文件夹内的文件。想要删除链接文件要用以下命令 rm   /$DIR 只是少了一个“/” ,此时删除的就是链接文件, 也就是在文件的最后不要加上“/”。案例如下:

[root@wybaron_host1015 ~]# ln -sv scripts/sddg/ dir
"dir" -> "scripts/sddg/"
[root@wybaron_host1015 ~]# ll scripts/sddg/
总用量 8
-rw-r--r-- 1 root root 6 10月  6 08:38 hello.txt
-rw-r--r-- 1 root root 7 10月  6 08:38 hellow.txt
[root@wybaron_host1015 dir]# cd ..
[root@wybaron_host1015 ~]# rm -rf dir
[root@wybaron_host1015 ~]# ll scripts/sddg/
总用量 8
-rw-r--r-- 1 root root 6 10月  6 08:38 hello.txt
-rw-r--r-- 1 root root 7 10月  6 08:38 hellow.txt
[root@wybaron_host1015 ~]# !ln
ln -sv scripts/sddg/ dir
"dir" -> "scripts/sddg/"
[root@wybaron_host1015 ~]# rm -rf dir/
[root@wybaron_host1015 ~]# !ll
ll scripts/sddg/
总用量 0

 

转载于:https://my.oschina.net/comics/blog/2222992

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值