Centos之链接命令
链接命令:ln (link)
ln -s [源文件] [目标文件]
功能描述:生成链接文件
选项: -s 创建软链接
硬链接特征:
1,拥有相同的i节点和存储block块,可以看作是同一个文件;
2,可通过i节点识别;
3,不能跨分区;
4,不能针对目录使用;
我们把/root下的anaconda-ks.cfg创建一个硬链接到/tmp下
[root@localhost ~]# ls
anaconda-ks.cfg 牛逼
[root@localhost ~]# ln /root/anaconda-ks.cfg /tmp/ana.hard
[root@localhost ~]# ll
总用量 4
-rw-------. 2 root root 1237 6月 10 05:24 anaconda-ks.cfg
drwxr-xr-x. 3 root root 22 6月 18 11:03 牛逼
[root@localhost ~]# ll /tmp/
总用量 16
-rw-------. 1 root root 1237 6月 18 10:12 abc
-rw-------. 1 root root 1237 6月 18 10:16 anaconda-ks.cfg
-rw-------. 2 root root 1237 6月 10 05:24 ana.hard
-rwx------. 1 root root 836 6月 10 05:24 ks-script-p0Ci4J
drwx------. 3 root root 17 6月 12 23:50 systemd-private-12ece3aaa1eb44678dbf684dbccbc32f-vmtoolsd.service-xjTV7r
drwx------. 3 root root 17 6月 17 17:42 systemd-private-3588b18d27f94b80849d22621ef2defb-vmtoolsd.service-wmk7Jt
drwx------. 3 root root 17 6月 16 04:51 systemd-private-90f54554da784e52aeb890d207e41094-vmtoolsd.service-I8F1Yy
drwx------. 3 root root 17 6月 10 05:26 systemd-private-d5f08625d54e4ed3a0faa9b9fb944db5-vmtoolsd.service-4rHPpX
drwx------. 3 root root 17 6月 14 06:38 systemd-private-f68c251a6a6c46ac94b4c1e73090ef59-vmtoolsd.service-S6J6U0
drwx------. 3 root root 17 6月 11 04:08 systemd-private-f7cb736915b24ef2b72faee1ec860c6d-vmtoolsd.service-ldpfcl
-rw-------. 1 root root 0 6月 10 05:19 yum.log
drwxr-xr-x. 3 root root 30 6月 18 10:24 书籍2
drwxr-xr-x. 3 root root 30 6月 18 10:24 书籍2哈哈
[root@localhost ~]#
看着基本一样;
我们用vi 打开文件 vi /root/anaconda-ks.cfg
我们随便修改下这个文件 (不要担心,这个文件是安装时候产生的,就算删除了也没事)
然后 esc :wq 保存并且退出;
我们打开/tmp下的ana.hard文件
我们发现 硬链接内容也变了;
假如我们修改 硬链接里的内容,anaconda-ks.cfg里的同样修改;(大伙自己测试下)
这里说明同一个文件相当于有两个入口,我们可以查看下两个入口的inode;
[root@localhost ~]# ls -i /root/anaconda-ks.cfg /tmp/ana.hard
33574979 /root/anaconda-ks.cfg 33574979 /tmp/ana.hard
[root@localhost ~]#
我们发现 inode节点号一样;
就算我们把其中一个删除,也不会影响文件另外一个的访问;(大伙如果舍不得删除这个文件,可以自己新建文件测试)
硬链接的一些特性,比如不能跨分区,不能针对目录使用,以及容易误操作文件。所以我们一般不推荐使用,我们推荐使用软链接,类似windows里的快捷方式;
软链接特征:
1,类似Windows快捷方式;
2,软链接拥有自己的I节点和Block块,但是数据块中只保存原有文件的文件名和I节点号,并没有实际的文件数据;
3,lrwxrwxrwx l 软链接 软链接文件权限都为 rwxrwxrwx
4,修改任意文件,另一个都改变;
5,删除原文件,软链接不能使用;
软链接和硬链接的重要区别是 假如把原文件删除,软链接则不能用,但是假如是硬链接,删除原文件的话,不影响硬链的使用;
我们在root下 用touch命令新建一个a文件
然后用echo命令追加点内容进入 ,再用cat命令打印下内容
[root@localhost ~]# touch a
[root@localhost ~]# echo 1111 >> /root/a
[root@localhost ~]# cat /root/a
1111
[root@localhost ~]#
然后在/tmp/下创建一个软链接
ln -s /root/a /tmp/a.soft
我们来看下这个两个文件的inode节点
[root@localhost ~]# ll -i /tmp/a.soft /root/a
33575024 -rw-r--r--. 1 root root 5 6月 19 16:01 /root/a
17066258 lrwxrwxrwx. 1 root root 7 6月 19 16:41 /tmp/a.soft -> /root/a
我们发现是不一样的,我们可以把软链接理解成是指向原文件的引用 存的仅仅是地址,这样,假如原文件删除了,那软链接就没啥用了。但是这里 我们无论是修改两个文件的任意一个,另外一个始终能看到最终结果;
[root@localhost ~]# echo 2222 >> /root/a
[root@localhost ~]# cat /root/a
1111
2222
[root@localhost ~]# cat /tmp/a.soft
1111
2222
[root@localhost ~]#
我们修改了原文件a 然后我们打开软链接 能看到结果
[root@localhost ~]# echo 3333 >> /tmp/a.soft
[root@localhost ~]# cat /tmp/a.soft
1111
2222
3333
[root@localhost ~]# cat /root/a
1111
2222
3333
[root@localhost ~]#
我们修改软链接,用a.soft 和a打开 都能看到最终结果;
假如我们删除原文件
[root@localhost ~]# rm -rf /root/a
[root@localhost ~]# cat /tmp/a.soft
cat: /tmp/a.soft: 没有那个文件或目录
[root@localhost ~]#
我们打开软链接 报错。
Centos之链接命令的更多相关文章
- (七)Centos之链接命令
一.链接命令:ln (link) ln -s [源文件] [目标文件] 功能描述:生成链接文件 选项: -s 创建软链接 二.硬链接 硬链接特征: 1,拥有相同的i节点和存储block块,可以看作是 ...
- CentOS最常用命令及快捷键整理
CentOS最常用命令及快捷键整理 整理了Linux常用命令及快捷键. 常用命令: 文件和目录: # cd /home 进入 '/home' 目录 # ...
- CentOS 使用yum命令安装Java SDK(openjdk)
CentOS 6.X 和 5.X 自带有OpenJDK runtime environment (openjdk).它是一个在linux上实现开源的java 平台.CentOS yum 命令 安装 ...
- CentOS基本的命令与快捷建
由于我的计算机在安装linux系统时,计算机出现了问题,并没有安装ubuntu而是安装的centos.虽然两者属于linux的不同版本,但是在具体的操作上大同小异.在学习linux的各种指令和快捷键的 ...
- CentOS常用基础命令大全
这篇文章主要介绍了CentOS常用基础命令大全,学习centos的朋友需要掌握的知识,需要的朋友可以参考下 1.关机 (系统的关机.重启以及登出 ) 的命令shutdown -h now 关闭系统(1 ...
- Linux常用命令学习1---(安装、文件系统、目录操作命令cd ls mv cp rm mkdir、链接命令ln……)
1.理解Linux的文件系统:分区和挂载点 挂载点和路径名无关 /根目录下的/boot完全可以时独立于 /的独立的挂载点,只要你设置就可以 linux安装时候,必须要有这两个分区 / 和 ...
- centos的常用命令
公司服务器主要是centos,第一篇就从centos的常用命令开始吧. 转载自:http://www.cnblogs.com/zitsing/archive/2012/05/02/2479009.ht ...
- Linux系列教程(五)——Linux链接命令和权限管理命令
前一篇博客我们讲解了Linux文件和目录处理命令,还是老生常淡,对于新手而言,我们不需要完全记住命令的详细语法,记住该命令能完成什么功能,然后需要的时候去查就好了,用的多了我们就自然记住了.这篇博客我 ...
- Linux常用命令之链接命令和权限管理命令
目录 1.链接命令 一.生成链接文件命令:ln 2.权限管理命令3.总结 一.更改文件或目录权限命令:chmod 二.改变文件或目录所有者命令:chown 三.改变文件或目录所属组命令:chgrp 四 ...
随机推荐
- 2017 3 11 分治FFT
考试一道题的递推式为$$f[i]=\sum_{j=1}^{i} j^k \times (i-1)! \times \frac{f[i-j]}{(i-j)!}$$这显然是一个卷积的形式,但$f$需要由自 ...
- javascript实现div的显示和隐藏
http://www.cnblogs.com/oec2003/archive/2007/05/05/736492.html <html> <head> <meta htt ...
- Centos 7安装Python3.6
1> 安装python3.6可能使用的依赖 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel ...
- my-innodb-heavy-4G.cnf配置文件注解
[client] ####客户端 port = 3306 ####mysql客户端连接时的默认端口号 socket = /application/mysql-5.5.32/tmp/mysql.sock ...
- C语言基础语法
#include <stdio.h> int main() { int age; printf("input your age"); scanf("%d&qu ...
- Java基础-IO流对象之打印流(PrintStream与PrintWriter)
Java基础-IO流对象之打印流(PrintStream与PrintWriter) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.打印流的特性 打印对象有两个,即字节打印流(P ...
- BFS:八数码问题
#include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> ...
- SQL语句(十八)—— 存储过程
存储过程 系统存储过程 自定义存储过程 扩展存储过程 一.创建存储过程 创建存储过程 --例1 USE SU GO Create Procedure SelProc AS Select * From ...
- ZeroMQ API(二) 上下文
1.创建上下文 1.1 zmq_ctx_new(3) 1.1.1 名称 zmq_ctx_new - 创建新的ZMQ上下文 1.1.2 概要 void * zmq_ctx_new(); 1.1.3 描述 ...
- python学习笔记3-函数,判断负小数
一.函数 def hello(file_name,content): #形参file_name content f=open(file_name,'a+') f.seek(0) f.write(con ...