linux命令系列-ln(软硬链接)
linux命令
ln命令可以生成软链接和硬链接,也可叫做符号链接和实体链接。 有兴趣深入理解的可以查阅相关文档,一般的读者只需记住以下几点即可:
.不管是软链接还是硬链接都不会额外增加磁盘空间(虽然实际情况可能会多占用1个block)
.软链接会占用1个inode,而硬链接不占用inode(想深究的可以自行查阅,不深究的可以直接略过)
.硬链接不能跨文件系统,不能链接目录(可以得出软链接是可以的)。 为了更好理解举例如下:
硬链接:假设在当前目录有文件名为tmp.jpg(大小为1M),现在为它创建硬链接tmp-h.jpg,那么当前目录就有了2个文件,这2个文件除了名字不一样其他的一模一样,但是占用的实际磁盘空间还是只有1M,改变任何一个文件的内容另一个文件也会跟着改变,
当你只删除tmp.jpg或只删除tmp-h.jpg时,文件内容都还在磁盘,只有同时删除了这2个文件时才会真的彻底删除该1M的占用。 软链接:假设在当前目录有文件名为tmp.jpg(大小为1M),现在为它创建软链接tmp-s.jpg,那么当前目录就有了2个文件,tmp-s.jpg是一个全新的文件大小为7bytes(等于tmp.jpg名称占用的字节数),它指向tmp.jpg(学过c语言的指针理解起来会很快),
改变任何一个文件的内容另一个文件也会跟着改变,删除tmp-s.jpg不影响tmp.jpg,但是删除了tmp.jpg那么tmp-s.jpg就会失效因为它找不到它指向的文件了 。 我相信通过上面例子的解释,你应该可以自己辨别在哪些情况选择哪种链接方式了吧。 ###bash###
#常用命令选项
#默认硬链接
-s #软链接
-f #如果目标文件存在时,直接移除后再创建(危险) 例子:
###bash###
#为/root/tmp.jpg生成软链接
ln -s /root/tmp.jpg /tmp/tmp.jpg #为/root/dir目录生成软链接
ln -s /root/dir /tmp/dir1 #为/root/tmp.jpg生成硬链接
ln /root/tmp.jpg /tmp/tmp.jpg
注意:
###bash###
#假设文件夹aaa下有10个文件
ln -s aaa bbb #生成aaa的软链接bbb #未来有一天当你想要删除软链接bbb
#只要敲如下命令
rm -f bbb #千万别大意敲如下命令,这样会把aaa里面的10个文件删除掉
rm -rf bbb/ 在使用软连接过程中,请使用绝对路径,如果使用了想对路径,可能会出现连接数过多错误,
linux命令系列-ln(软硬链接)的更多相关文章
- Linux命令系列之ls——原来最简单的ls这么复杂
Linux命令系列之ls--原来最简单的ls这么复杂 ls命令应该是我们最常用的命令之一了,但是我们可能容易忽略那些看起来最简单的东西. 简介 ls命令的使用格式如下 ls [选项] [具体的文件] ...
- (5)ps详解 (每周一个linux命令系列)
(5)ps详解 (每周一个linux命令系列) linux命令 ps详解 引言:今天的命令是用来看进程状态的ps命令 ps 我们先看man ps ps - report a snapshot of t ...
- (4)top详解 (每周一个linux命令系列)
(4)top详解 (每周一个linux命令系列) linux命令 top详解 引言:今天的命令是用来看cpu信息的top top 我们先看man top top - display Linux pro ...
- (3)lscpu详解 (每周一个linux命令系列)
(3)lscpu详解 (每周一个linux命令系列) linux命令 lscpu详解 引言:今天的命令是用来看cpu信息的lscpu lscpu 我们先看man lscpu display infor ...
- (2)free详解 (每周一个linux命令系列)
(2)free详解 (每周一个linux命令系列) linux命令 free详解 引言:今天的命令是用来看内存的free free 换一个套路,我们先看man free中对free的描述: Displ ...
- Linux命令系列之top——里面藏着很多鲜为人知的宝藏知识
Linux命令系列之top--里面藏着很多鲜为人知的宝藏知识 简介 top命令是我们经常用来查看系统信息的一个指令,它提供了一个动态的而且是实时的借口帮助我们去查看系统执行时的进程.线程和系统参数的信 ...
- ln 软硬链接
链接 在谈软链接与硬链接之前,先来说说文件系统基础知识. Linux 系统中,一切皆文件. 文件包含两部分:文件属性与权限(inode),文件内容(data-block). 一个文件可由1个inode ...
- Linux命令: ln
每天一个linux命令(35):ln 命令 实例1:给文件创建软链接 命令: ln -s log2013.log link2013 输出: [root@localhost test]# ll -rw- ...
- 每天一个linux命令(48)--ln命令
ln是Linux中又一个非常重要的命令,它的功能是为某个文件在另外一个位置建立一个同步的链接,当我们需要在不同的目录,用到相同的文件时,我们不需要在每个需要的目录下都放一个相同的文件,我们只要在某个固 ...
随机推荐
- BZOJ2438: [中山市选2011]杀人游戏(tarjan)
题意 题目链接 Sol 这题挺考验阅读理解能力的.. 如果能读懂的话,不难发现这就是在统计有多少入度为\(0\)的点 缩点后判断一下即可 当然有一种例外情况是\(1 -> 3, 2 -> ...
- C++基础--extern的用法
extern作为外部变量扩展的用法: 1. 主要作用是扩展变量或者函数的应用范围: 2. extern的用法是相对于全局变量而言: 3. 在看到extern这个关键字的时候说明这个变量已经在别的源文件 ...
- Android SharedPreferences存储数据
SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来 ...
- Qt之QSS(Q_PROPERTY-自定义属性)
版权声明:进步始于交流,收获源于分享!纯正开源之美,有趣.好玩.靠谱...作者:一去丶二三里 博客地址:http://blog.csdn.net/liang19890820 目录(?)[+] ...
- matlab矩阵
矩阵的转置用',比如: a = [1,2,3]; b = a'; %b 转置成一个列向量,可以用于矩阵 linspace是Matlab中的一个指令,用于产生指定范围内的指定数量点数,相邻数据跨度相同, ...
- C语言实现一元多项式求积
#include <stdio.h>#include <stdlib.h>#include <math.h>typedef struct Node{ int ...
- Centos7安装JDK1.8 Linux64bit
流程一览: 1.下载JDK1.8(jdk-8u11-linux-x64.tar.gz) 2. 解压缩安装 3.配置JAVA_HOME环境变量 4.切换JDK1.8为当前使用的JDK 5.重启,查看安装 ...
- 媒体查询,screen and 和only screen and有什么不同
最佳答案: 彩屏设备 和 (最小宽度768px) 和 (最大宽度959px) 仅限 彩屏设备 和 (最小宽度480px) 和 (最大宽度767px) 在你发的代码中其实没有什么不同,用起来效果都是一样 ...
- 用AutoHotkey一键完成Xmind里的几个功能
F5一键添加超链接(类型为主题),常规步骤:Ctrl_h打开窗口,点击[主题],激活光标到输入框. Ctrl-i一键添加截取的图片,常规步骤是:打开画图→粘贴→保存图片为文件→Xmind里Ctrl-i ...
- Centos6.5(Linux)安装Nginx
1.安装nginx依赖的库pcre 下载地址:http://sourceforge.net/projects/pcre/ 2.解压pcre zip解压方式:unzip ...