`
wbj0110
  • 浏览: 1603253 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

linux下建立符号链接

阅读更多

用法介绍
ln [参数] [-T] 原始文件 链接名称 第一种形式
ln [参数] 原始文件 第二种形式
ln [参数] 原始文件 链接存在的文件夹  第三种形式
ln [参数] -t 链接存在的文件夹 原始文件 第四种形式
描述
第一种形式在建立建立连接文件,建立连接的目录可以在连接名称种之处;第二种形式在当前文件夹建立连接;第三种形式在指定的文件夹(第二个参数)建立链接,目录必须存在;在指定的文件夹(第一个参数)建立连接,目录必须存在;默认建立硬链接且原始文件必须存在。
参数
-s  符号链接,默认是硬链接
-f  如果链接文件存在则删除链接文件并建立新的链接文件

符号链接:相当于win下的快捷方式,
硬链接   :在某个目录下新增加一个该文件的关联数据,建立一个,比符号链接安全,但限制较多不能跨文件系统和分区,不能建立目录的硬链接
常见的用法
1. ln -s /root/tools/lln /root/tt/lln
在 /root/tt/建立lln的符号链接,删除原文件符号文件lln将不能使用
2.ln /root/tools/lln /root/lln
在/root/tt/建立lln的硬链接,删除任意一个其他那个还可以用
3. ln -s /root/tools /root/tt
建立目录的符号链接,tt里边会有tools为名的文件夹链接指向源文件夹
4.ln -s /root/tools/*  /root/tt
建立指向源文件所有文件的链接,为了兼容源文件夹下有子文件夹所以建立符号链接,当然*可以用正则代替,但是如果想建立链接向源文件夹下多个执行文件的链接呢?

果文件比较多而且还要有规则肿么办?可以通过这个脚本来实现:

#!/bin/sh
#############################################################################################################################################################################
# author banzhang@chunshiban.com                                                                                                                                            #
# version 1.0                                                                                                                                                               #
# last modify time 2012-06-29 16:25                                                                                                                                         #
# update http://soft.chunshiban.com/linux/script/shell/lln.tar.z                                                                                                            #
# 主要用来为一个文件夹下的多个可执行文件建立符号链接,比如将/usr/local/bin 下的可执行性文件连接到 /usr/local/lamp下可执行 lln /usr/local/bin/ /usr/local/lamp/ ;            #
# 支持grep正则表达式比如以cc开头的可执行文件连接到/usr/local/lamp/下课桌椅执行lln /usr/local/bin /usr/local/lamp/ cc*即可                                                   #
#############################################################################################################################################################################

cd $1
oldDir=`pwd`
#newDir=`echo $2|sed -r 's/\/$//'`
cd $2
newDir=`pwd`
cd $oldDir
if [ $# == 2 ];then
    declare list=`ls ./`
elif [ $# == 3 ];then
    declare list=`ls ./|grep $3`
else
    echo "use:lln TARGET LINK_NAME [PATTERN]"
    exit
fi
for bin in $list
do
    if [ -f "$bin" -a -x "$bin" ]; then
        echo "$oldDir/$bin will be link to $newDir/$bin"
        read -p "Please input Y/N: " -t 10 yn
        if [ "$yn" == "Y" -o "$yn" == "y" ]; then
            `ln -s $oldDir/$bin $newDir/$bin` && echo "$oldDir/$bin link to $newDir/$bin ok!"
        else
            echo "pass the file $oldDir/$bin"
            echo ""
        fi
    fi
done

这在我们整合多个项目的时候很有用,比如需要把跟lamp服务相关的文件整合到一起:php,mysql,apache,memcached,redis等监控工具,放到一起然后引入到环境变量中.

分享到:
评论

相关推荐

    创建一个符号链接。创建符号链接是一个非常实用的功能。

    创建一个符号链接。创建符号链接是一个非常实用的功能。假设你有一些目录或者文件需要频繁使用,但由于Linux的文件和目录结构的原因

    深入理解 Linux 链接:符号链接与硬链接的创建与管理

    通过本文的详细介绍和示例,你应该已经了解了如何创建和管理符号链接和硬链接,以及它们在不同情况下的应用。 本文通过深入分析链接的概念、特点和使用场景,并结合实际的 Linux 命令示例,为读者提供了一个全面的...

    Linux下使用动态链接库和静态链接库的项目建立及单步调试

    ### Linux下使用动态链接库和静态链接库的项目建立及单步调试 #### 一、动态链接库的建立和单步调试 ##### 1.1 编写用户接口文件 `datetime.h` 首先,创建了一个头文件`datetime.h`,该文件定义了两个结构体:`...

    linux下动态链接库的使用方法

    2. 将动态链接库拷贝到/lib、/usr/lib目录下或者在这些系统共享库目录下创建指向自己动态链接库的符号链接。 3. 使用ldconfig命令管理动态链接库。ldconfig命令用来在默认目录和ld.so.conf配置的目录下搜索共享库,...

    windows下创建软链接.大家都知道win有快捷方式,linux有软链接,但是你知道win也能创建软链接吗?

    在Windows操作系统中,软链接(也称为符号链接)是一种类似于Linux系统中软链接的功能,它允许用户创建一个指向另一个文件或目录的特殊类型链接。这种链接实际上是一个指针,指向原始文件或目录的位置,而不是复制...

    Linux操作系统的硬链接与软链接讲解

    软链接(符号链接或软链),又称为符号链接,它更像是一个指向另一个文件的指针,类似于Windows系统中的快捷方式。软链接有自己的独立Inode,并且保存了目标文件的路径信息。创建软链接需使用`ln`命令的`-s`选项: ...

    Linux下的函数符号冲突问题示例Demo.zip

    总结,Linux下的函数符号冲突是动态链接时需要注意的问题,解决方法包括使用命名空间、重命名函数、版本管理、调整链接顺序等。理解这些概念并熟练应用,对于编写稳定、可靠的Linux程序至关重要。

    Linux软连接和硬链接

    软链接,又称符号链接,与硬链接不同,它会创建一个指向原始文件的新文件,这个新文件包含原始文件的路径信息。软链接有自己的inode,并且可以跨文件系统。 软链接的特点: 1. 软链接可以指向任何类型的文件,包括...

    linux链接脚本详解

    ### Linux链接脚本详解 #### 1. 什么是链接脚本? 链接脚本在Linux环境中扮演着关键角色,尤其在构建内核时更是不可或缺的一部分。简单来说,链接脚本文档是一种特殊的文本文件,用于指导链接器如何组合多个目标...

    Linux动态链接库.so文件的创建与使用

    总的来说,Linux动态链接库`.so`文件的创建和使用是系统编程中的关键技能,掌握这一技术有助于优化程序性能,实现模块化设计,并有效地管理系统资源。在实际开发中,了解如何创建、管理及使用动态链接库对于提升软件...

    linux下C++动态链接C++库示例

    文中是linux下 C++动态库 实现接口提供类导出的一个例子 注意其中使用函数返回基类指针的用法,因为Linux的动态链接库不能像MFC中那样直接导出类 一、介绍 如何使用dlopen API动态地加载C++函数和类,是Unix C++...

    Linux中移除(删除)符号链接的命令

    在Linux操作系统中,符号链接(symbolic link)是一种特殊类型的文件,它指向系统中的其他文件或目录,类似于Windows系统中的快捷方式。这种链接允许用户在不同路径之间建立关联,尤其在处理库文件、日志文件以及...

    linux动态链接库的开发实例

    本教程将通过一个实例深入探讨Linux下C/C++语言如何开发和使用动态链接库。 一、动态链接库基础 动态链接库与静态链接库(.a文件)的主要区别在于,静态链接库在编译时会将库中的代码合并到可执行文件中,而动态...

    Linux下eclipse的安装

    Linux下Eclipse的安装 ...总结:在 Linux 下安装 Eclipse 需要下载和解压安装包,创建符号链接,创建应用程序启动项,并检查安装结果。通过这些步骤,您可以成功安装 Eclipse 并开始使用它来开发自己的项目。

    linux动态链接的基本知识

    在Linux环境下,动态链接是一种重要的程序连接方式,它允许程序在运行时加载所需的库文件。动态链接器(ld-linux.so.2)是实现这一功能的核心组件之一。动态链接器不仅能够帮助程序找到所需的共享库,还能确保这些库被...

    LINUX下动态链接库的使用

    通过上述介绍,我们可以看出在 Linux 下使用动态链接库涉及的操作主要包括打开、查找符号地址、关闭以及错误处理。掌握这些基本操作对于在 Linux 平台上开发动态链接的应用程序至关重要。同时需要注意的是,在使用...

    Linux下Matlab的下载与安装.pdf

    从提供的文件内容中,我们可以提炼出关于Linux下Matlab的下载与安装的详细知识点。以下是根据文件内容整理的知识点: ### Linux操作系统与Matlab的兼容性 Linux作为一个开源的操作系统,具有高效的内存管理和出色的...

    linux软链接 硬链接区别

    Linux 链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。 硬链接(Hard Link) 硬链接是通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么...

    Linux静态动态链接库的创建和使用

    本文将详细介绍如何在Linux下创建和使用这两种类型的链接库。 #### 静态链接库 静态链接库是在编译时被链接到可执行文件中的库。一旦链接完成,库的内容就成为最终可执行文件的一部分,不会随着程序的运行而改变。...

    生成NTFS符号链接的源代码

    标题中的“生成NTFS符号链接的源代码”指的是在Windows操作系统中使用NTFS(New Technology File System)文件系统创建符号链接的技术。NTFS符号链接是一种特殊类型的文件或目录,它指向磁盘上的其他位置,类似于...

Global site tag (gtag.js) - Google Analytics