CentOSln命令概述
ln是linux中一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。
1. ln命令概述
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln–s /bin/less /usr/local/bin/less
这一点类似于Windows下的快捷方式,但又有所不同。
-s 是代号(symbolic)的意思。
这里有两点要注意:
第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
第二,ln的链接分软链接和硬链接两种,软链接就是ln–s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
如果用ls察看一个目录时,发现有的文件后面有一个@的符号且文件或文件夹的颜色和别的不一样,我机子上是蓝色的,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。
也可以直接使用ll命令查看,可看到软连接及其link的路径。
2. ln命令详细说明
指令名称 : ln
使用权限 : 所有使用者
使用方式 : ln [options] source dist
其中 option 的格式为 :
[-bdfinsvF] [-S backup-suffix] [-V{numbered,existing,simple}]
[--help] [--version] [--]
说明 : Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种: 硬连结(hardlink)与软连结(symboliclink),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档 案系统中,而软连结却可以跨越不同的档案系统。
ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。
不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
-f: 链结时先将与dist同档名的档案删除
-d:允许系统管理者硬链结自己的目录
-i: 在删除与dist同档名的档案时先进行询问
-n:在进行软连结时,将dist视为一般的档案
-s:进行软链结(symboliclink)
-v:在连结之前显示其档名
-b:将在链结时会被覆写或删除的档案进行备份
-SSUFFIX :将备份的档案都加上 SUFFIX的字尾
-VMETHOD :指定备份的方式
--help:显示辅助说明
--version:显示版本
示例:
PS:如果想要删除链接,则像普通文件一样直接rm链接名称即可。
3. 软链接与硬链接的区别
硬链接可认为是一个文件拥有两个文件名;而软链接则是系统新建一个链接文件,此文件指向其所要指的文件。此外,软链接可对文件和文件夹,而硬链接仅针对文件。
对于一个文件来说,有唯一的索引接点与之对应,而对于一个索引接点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问该文件。注意在Linux下是一切皆文件,文件夹、新加的硬盘 ...都可以看着文件来处理的。
连接有软连接和硬连接(hard link)之分的,软连接(symbolic link)又叫符号连接。符号连接相当于Windows下的快捷方式。
不可以对文件夹建立硬连接的,我们通常用的还是软连接比较多。
示例:
ln -s source dist #建立软连接
ln source dist #建立硬连接
软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系统看到软链接后自动跳到对应的文件位置处进行处理;相反,硬联接为文件开设一个新的目录项,硬链接与文件原有的名字是平权的,在Linux看来它们是等价的。由于这个原因,硬链接不能连接两个不同文件系统上的文件。
(1)软连接可以跨文件系统,硬连接不可以。实践的方法就是用共享文件把windows下的aa.txt文本文档连接到linux下/root目录下bb,cc . ln -saa.txt /root/bb 连接成功。ln aa.txt/root/bb失败。
(2)关于 I节点的问题。硬连接不管有多少个,都指向的是同一个I节点,会把结点连接数增加,只要结点的连接数不是 0,文件就一直存在,不管你删除的是源文件还是连接的文件。只要有一个存在,文件就存在(其实也不分什么源文件连接文件的,因为他们指向都是同一个I节点)。当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的inode,并在磁盘上有一小片空间存放路径名.
(3)软连接可以对一个不存在的文件名进行连接。
(4)软连接可以对目录进行连接。
(5) 删除符号链接,有创建就有删除
注意不是rm -rf symbolic_name/

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CentOS7/RHEL7.0配置网络IP的三种方法
RHEL7里面的网卡命名方式从eth0,1,2的方式变成了enoXXXXX的格式。 en代表的是enthernet (以太网),o 代表的是onboard (内置),那一串数字是主板的某种索引编号自动生成,以便保证其唯一性。和原先的命名方式对比,这种新的方式比较长,难以记忆,不过优点在于编号唯一,做系统迁移的时候不容易出错。 1.修改/etc/sysconfig/network-scripts/eno16777736 查看你的网卡名称(本机是eno16777736): [root@linuxprobe Desktop]# ifconfig eno16777736: flags=4163 mtu 1500 inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::20c:29ff:feb8:2b07 prefixlen 64 scopeid 0x20 inet6 fde0:b912:e3a9:0:20c:29ff:feb8:2b07 prefixlen 64 scopeid 0x0...
- 下一篇
CentOS搭建自己的SS
服务器:Vultr官网链接 基本步骤: 注册账号 添加信用卡或paypel充值(注意:如果网页自动翻译,可能看不到paypel充值页面,选择重新载入然后拒绝翻译就好) 选择服务器主机,购买。我买的时候最低配置的2.5美元的已经没有了,据说这个就够了,我用的5美元版本 -选择服务器机房地址 -选择套餐(实际上是按照时间计费的) -然后点击右下角的”Deploy Now”就好 服务器系统:Cent 6 x64(尽量不要选择7以上版本哦) 然后开始部署啦! SSH连接服务器 ssh root@ip地址 密码是系统给的密码哦,如果需要,可以重置。会方便许多。 passwd - 开始部署SS,代码如下 yum -y install wget wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev.sh chmod +x shadowsocks-libev.sh ./shadowsocks-l...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS关闭SELinux安全模块
- Docker安装Oracle12C,快速搭建Oracle学习环境