首页 > 系统相关 >Linux 软链接 和 硬链接

Linux 软链接 和 硬链接

时间:2022-12-27 13:07:57浏览次数:45  
标签:rw 4096 lj 28 43 Linux xr 链接


软链接 ​​ln -s a.c b.c​​​ 可以看到执行完这条命令后,新生成一个文件​​b.c​​且查看文件类型为​​lrwxrwxrwx 1 lj lj 3 6月 24 22:01 b.c -> a.c​​ 开头的​​l​​表示其为链接文件
查看b.c中内容​​cat b.c​​ ,和​​a.c​​中内容一模一样

lj@ubuntu ~ % ls                                                        [0]
a.c Desktop Downloads install_zsh.sh Pictures Templates
a.out Documents install_vim.sh Music Public Videos
lj@ubuntu ~ % ln -s a.c b.c [0]
lj@ubuntu ~ % ls [0]
a.c b.c Documents install_vim.sh Music Public Videos
a.out Desktop Downloads install_zsh.sh Pictures Templates
lj@ubuntu ~ % ls -l [0]
总用量 72
-rw-rw-r-- 1 lj lj 328 6月 23 23:02 a.c
-rwxrwxr-x 1 lj lj 16696 6月 23 22:54 a.out
lrwxrwxrwx 1 lj lj 3 6月 24 22:01 b.c -> a.c
drwxr-xr-x 2 lj lj 4096 6月 21 20:52 Desktop
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Documents
drwxr-xr-x 2 lj lj 4096 4月 28 02:59 Downloads
-rw-rw-r-- 1 lj lj 1837 4月 20 02:34 install_vim.sh
-rw-rw-r-- 1 lj lj 8457 4月 22 14:43 install_zsh.sh
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Music
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Pictures
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Public
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Templates
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Videos
lj@ubuntu ~ % cat b.c [0]
/*************************************************************************
> File Name: a.c
> Author:
> Mail:
> Created Time: 2022年06月21日 星期二 20时56分54秒
************************************************************************/

#include<stdio.h>

int main(){
printf("helloworld!\n");
return 0;
}

硬链接 ​​ln a.c c.c​​​ 执行完该语句后新生成一个文件​​c.c​​,查看文件类型时发现和a.c一模一样。可以看作是对​​a.c​​的复制。其内容也和​​a.c​​中相同。

lj@ubuntu ~ % ln a.c c.c                                                [0]
lj@ubuntu ~ % ls [0]
a.c b.c Desktop Downloads install_zsh.sh Pictures Templates
a.out c.c Documents install_vim.sh Music Public Videos
lj@ubuntu ~ % ls -l [0]
总用量 76
-rw-rw-r-- 2 lj lj 328 6月 23 23:02 a.c
-rwxrwxr-x 1 lj lj 16696 6月 23 22:54 a.out
lrwxrwxrwx 1 lj lj 3 6月 24 22:01 b.c -> a.c
-rw-rw-r-- 2 lj lj 328 6月 23 23:02 c.c
drwxr-xr-x 2 lj lj 4096 6月 21 20:52 Desktop
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Documents
drwxr-xr-x 2 lj lj 4096 4月 28 02:59 Downloads
-rw-rw-r-- 1 lj lj 1837 4月 20 02:34 install_vim.sh
-rw-rw-r-- 1 lj lj 8457 4月 22 14:43 install_zsh.sh
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Music
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Pictures
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Public
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Templates
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Videos
lj@ubuntu ~ % cat c.c [0]
/*************************************************************************
> File Name: a.c
> Author:
> Mail:
> Created Time: 2022年06月21日 星期二 20时56分54秒
************************************************************************/

#include<stdio.h>

int main(){
printf("helloworld!\n");
return 0;
}

Linux 软链接 和 硬链接_vim


更改​​a.c​​文件

Linux 软链接 和 硬链接_linux_02


查看​​b.c​

Linux 软链接 和 硬链接_vim_03

查看​​c.c​

Linux 软链接 和 硬链接_服务器_04

lj@ubuntu ~ % vim a.c                                                   [0]
lj@ubuntu ~ % cat b.c [0]
/*************************************************************************
> File Name: a.c
> Author:
> Mail:
> Created Time: 2022年06月21日 星期二 20时56分54秒
************************************************************************/

#include<stdio.h>

int main(){
printf("helloworld!\n");
printf("现在对源文件进行更改!\n");
return 0;
}
lj@ubuntu ~ % cat c.c [0]
/*************************************************************************
> File Name: a.c
> Author:
> Mail:
> Created Time: 2022年06月21日 星期二 20时56分54秒
************************************************************************/

#include<stdio.h>

int main(){
printf("helloworld!\n");
printf("现在对源文件进行更改!\n");
return 0;
}
lj@ubuntu ~ %

现在,先将​​a.c​​​更改回来后再删除​​a.c​​文件

lj@ubuntu ~ % rm a.c                                                    [0]
lj@ubuntu ~ % ls [0]
a.out c.c Documents install_vim.sh Music Public Videos
b.c Desktop Downloads install_zsh.sh Pictures Templates
lj@ubuntu ~ % ls -l [0]
总用量 72
-rwxrwxr-x 1 lj lj 16696 6月 23 22:54 a.out
lrwxrwxrwx 1 lj lj 3 6月 24 22:01 b.c -> a.c
-rw-rw-r-- 1 lj lj 328 6月 23 23:02 c.c
drwxr-xr-x 2 lj lj 4096 6月 21 20:52 Desktop
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Documents
drwxr-xr-x 2 lj lj 4096 4月 28 02:59 Downloads
-rw-rw-r-- 1 lj lj 1837 4月 20 02:34 install_vim.sh
-rw-rw-r-- 1 lj lj 8457 4月 22 14:43 install_zsh.sh
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Music
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Pictures
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Public
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Templates
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Videos

Linux 软链接 和 硬链接_linux_05


可以发现​​b.c​​标红

链接文件​​b.c->a.c​​同样标红

再次查看​​b.c​​​和​​c.c​​中内容

发现​​b.c​​​执行错误,​​cat: b.c: 没有那个文件或目录​​​​c.c​​中内容可以正常查看

lj@ubuntu ~ % cat b.c                                                   [0]
cat: b.c: 没有那个文件或目录
lj@ubuntu ~ % cat c.c [1]
/*************************************************************************
> File Name: a.c
> Author:
> Mail:
> Created Time: 2022年06月21日 星期二 20时56分54秒
************************************************************************/

#include<stdio.h>

int main(){
printf("helloworld!\n");
return 0;
}

现在,将c.c更名为a.c(即恢复a.c文件)

lj@ubuntu ~ % mv c.c a.c                                                [0]
lj@ubuntu ~ % ls [0]
a.c b.c Documents install_vim.sh Music Public Videos
a.out Desktop Downloads install_zsh.sh Pictures Templates
lj@ubuntu ~ % ls -l [0]
总用量 72
-rw-rw-r-- 1 lj lj 328 6月 23 23:02 a.c
-rwxrwxr-x 1 lj lj 16696 6月 23 22:54 a.out
lrwxrwxrwx 1 lj lj 3 6月 24 22:01 b.c -> a.c
drwxr-xr-x 2 lj lj 4096 6月 21 20:52 Desktop
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Documents
drwxr-xr-x 2 lj lj 4096 4月 28 02:59 Downloads
-rw-rw-r-- 1 lj lj 1837 4月 20 02:34 install_vim.sh
-rw-rw-r-- 1 lj lj 8457 4月 22 14:43 install_zsh.sh
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Music
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Pictures
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Public
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Templates
drwxr-xr-x 2 lj lj 4096 4月 28 00:43 Videos

可以发现 ​​a.c​​​ ​​b.c​​不再标红

Linux 软链接 和 硬链接_源文件_06


再次查看​​b.c​​中内容,这次执行成功

lj@ubuntu ~ % cat b.c                                                   [0]
/*************************************************************************
> File Name: a.c
> Author:
> Mail:
> Created Time: 2022年06月21日 星期二 20时56分54秒
************************************************************************/

#include<stdio.h>

int main(){
printf("helloworld!\n");
return 0;
}

总结:

  1. 软链接语句为ln -s 源文件 软链接文件
    硬链接语句为 ln 源文件 硬链接文件
  2. 软链接文件相当于指针,指向源文件,文件大小一般较小
    硬链接文件相当于复制,文件大小和源文件相同
  3. 软链接指向的源文件被删除后,指针失效,软链接文件内容无法查看
    硬链接被创造的源文件被删除后,对硬链接文件无影响,可以正常使用
  4. 若软链接文件指向的源文件被恢复,软链接文件内容同样恢复
  5. 若源文件发生变动,软链接和硬链接文件同步更新


标签:rw,4096,lj,28,43,Linux,xr,链接
From: https://blog.51cto.com/u_15923796/5972653

相关文章

  • Linux基础知识
    Linux基础知识​​Windows与Linux区别​​​​Linux介绍​​​​Linux基础命令​​Windows与Linux区别Linux介绍Linux基础命令......
  • Linux基础知识(二)
    lj@ubuntu~%ps-a[0]PIDTTYTIMECMD1570tty200:00:17Xorg1606tty200:00......
  • linux PATH环境变量 中 相同变量名的调用优先级
     测试使用plinkv1.07和plinkv1.9两个软件版本进行测试 001、将plinkv1.07的变量放在plinkv1.9之前,观测系统调用的plink版本[liujiaxin01@PC1~]$echo$P......
  • Linux系统重置root密码
    1、首先,启动系统,进入开机界面,按“e”进入内核编辑界面,在“Linux16”开头这行的最后面输入init=/bin/sh或rd.break,按win+x运行修改的内核程序,进入紧急救援模式(单用户模式)。2......
  • 松子聊数据 公众号文章合集链接
    公众号的历史文章包含六个系列。个人工作经验总结系列企业数字化转型及数据中台系列数据产品系列BI数据分析数据价值思考与通过BI&数据产品的泛化用户运营系列个人工作经验......
  • Oracle Linux Public Yum Server
    1.先将光盘挂载到/mnt下面。#mount-tauto-oro/dev/cdrom/mnt2.在/etc/yum.repos.d/新建public-yum-el5.repo#mkdirpublic-yum-el5.repo3.public-yum-el5.repo文......
  • linux 查看已安装软件
    接触新的环境新的项目需要先了解当前环境下安装了哪些东西一、查看系统配置文件(检查已安装的软件)一些核心软件需要配置环境变量,less/etc/profile查看(按G查看文件末尾的ex......
  • linux学习笔记002
    文件内容查看cat由第一行开始显示文件内容tac从最后一行开始显示nl显示的时候,输出行号more一页一页的显示文件内容,空格翻页,enter代表往下看一行less可以往下......
  • (笔记)安装arm-linux-gnueabihf-gcc/g++交叉编译工具链
     一、安装C版本#在主机上执行如下命令sudoaptinstallgcc-arm-linux-gnueabihf#安装完成后使用如下命令查看版本arm-linux-gnueabihf-gcc-v 二、安......
  • Linux bash shell "${1}" All In One
    Linuxbashshell"${1}"AllInOne#!/usr/bin/envbash#什么鬼,看不懂呀APPNAME=${2:-$(basename"${1}"'.sh')};echo$APPNAME#echo${APPNAME}demos#!......