【linux学习】软链接与硬链接
发表于|更新于|编程与算法
|浏览量:
下面内容是个人理解,仅供参考!
类比于windows
linux是一个操作系统,其学习可类比于我们熟悉的windows:
软链接是符号链接,类似于windows中的快捷方式,像这样:
–>
硬链接类似于建立一个文件副本,像这样:
–>
实现:
硬链接使用ln 源文件名 链接名创建,比如已有文件hello.c,链接为haha,即:ln hello.c haha
软链接使用ln -s 源文件名 链接名创建,比如已有文件world.c,链接为wawa,即:ln -s world.c wawa
下面看实验中我们输的命令:
–>
执行结果:
–>
PS:上面这个图里ls -il展示的第一个属性是inode节点号,不小心多加了个3
-->
文章作者: TDppy
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 潘业成的博客!
相关推荐
2021-01-14
【Linux下C】Linux下多进程轮流写文件
由于时间紧张和学识有限,代码定有不足之处(后面会抽时间优化)大佬勿笑~😀如果需要帮助或有任何建议,加我qq:2287015934 需求程序中包括两个进程,P1和P2。它们分别向一个文件,轮流写入字符串。例如:P1写入字符串“XXXXXX”,P2写入字符串“YYYYYY”。关键词功能是轮流写入,P1写完后必须P2写,P2写完后必须P1写。 实现思路我们利用fork函数可以创建一个子进程,假设我们先让子进程写文件,此时父进程不得写文件,怎么实现呢?linux中的wait(函数)可以实现父进程等待子进程的死亡再执行。根据这个思路可以写出伪代码: 12345678910while(true){ 创建子进程; if(子进程){ 写"I am child."到文件 } if(父进程){ wait() 写文件 }} 循环开始时父进程陷入等待,子进程写完以后父进程才能写文件,然后下一次循环子进程再次写文件。 演示动图 源码1234567891011121314151617181...
2021-05-10
arpspoof实现断网、中间人攻击
一、安装kali安装完成kali后出现了一个问题,虚拟机界面只有光标闪烁,没有其他GUI界面。如下图所示 解决方案:在下图中不要选择Enter device manually,而是选第二个/dev/sda就可以了。(我安装时是英文的,下图是网上找的。) 配置桥接模式主要分为以下几步:1.获取宿主机网络配置信息2.修改VMware虚拟网络编辑器信息3.修改虚拟机网络配置信息这里先查看宿主机(就是虚拟机所在的主机)的网络相关信息,因为配置虚拟机桥接模式时需要与本机一致。 然后修改VMware虚拟网络编辑器信息 再修改虚拟机网络配置信息 二、使用arpspoof其实贼简单,核心的就一行命令,只不过要先做一些准备工作。我要攻击我的主机,就先用ipconfig查询到本机ip 然后再用ifconfig查询一下本地Kali虚拟机的ip和默认网关 -后面的第一个是要攻击的ip,是我的主机ip,第二个是默认网关iparpspoof -i eth0 -t 192.168.168.141 192.168.168.1执行一下就行了 /proc&...
2020-04-20
【linux下C】动态库与静态库快速入门
为什么要用库:我们在写代码时常用的一些功能,为了避免重复造轮子(每次都从头写),我们会把它编译好放到库中,以供写程序时直接调用,提高开发效率。 静态库快速入门:1.新建一个sort.c文件,在其中可以编写一个函数,例如int outmax(int a,int b),比较a和b哪个大,并返回较大者的值。2.编译函数,并将编译后的文件加入静态库中 1gcc -c outmax.c #编译max.c,生成了outmax.o 1ar -r libmath.a outmax.o #将上一条命令生成的max.o 文件加入到库中,一般库以lib开头,扩展名为.a3.编写主程序main.c,在主程序中可以直接使用之前写的max函数,如: 123456#include <stdio.h>int outmax(int a,int b); //注意这里声明必须加上int main(){ printf("outmax=%d\n",outmax(3,8)); return 0;} 4.编译主程序时带上静态库 1gcc main.c...
2021-01-14
【Linux下C】基于socket的网络记事本软件源码(C_S架构)
代码于大三上学期2020/12/102020/12/18 期间完成。由于时间紧张和学识有限,代码定有不足之处,大佬勿笑😀如果需要帮助或有任何建议,加我qq:2287015934 如果有相同课题的同学搜到这篇博客,可以先看下面的演示动图及课题要求,来确认是不是你需要的。如果有 课题核心要求:①用户注册②用户登录③编辑记事本④上传记事本到服务端⑤从服务端下载记事本⑥查看服务端记事本列表 演示动图(建议[右键->新标签页]食用) 涉及的技术:1.socket通信2.Linux对文件和目录处理的系统调用3.C语言和部分C++函数(如getline函数)4.make 软件架构:C/S架构,一个客户端,一个服务端,总计约400行代码。将常用的文件包含命令和函数声明放入了_public.h中,并简单的使用了make进行工程管理(其实就写了几行QAQ)。 代码实现:客户端:123456789101112131415161718192021222324252627282930313233343536373839404142434445...
2024-05-20
【安装配置】WSL虚拟机导出、导入镜像(涉及到docker无法在wsl下使用的问题)
背景WSL(Windows Subsystem Linux),是微软提供的在Windows下便携地使用Linux系统的方式,它支持使用虚拟化技术(也就是要在bios和控制面板中开启虚拟化支持),完美支持Ubuntu和Windows文件系统之间的使用。相比于VMware,速度更快。 本文主要介绍将已有的wsl环境导出为.tar格式的镜像文件,然后通过U盘或者网盘将tar文件发给另一台电脑,在另一台电脑上只需要导入tar包,无需重新安装和配置环境,就可以无缝衔接工作。(主要是我们组没服务器 ) DOS脚本在已有wsl的主机上打开windows cmd命令行, 12wsl --export Ubuntu-22.04 file_path# 导出wsl tar镜像 例如我这里filepath写的是D:\chisel_env\wsl_pkg\Ubuntu2204.tar 导出完成如图所示: 在要安装wsl的主机上打开windows cmd命令行, 设置wsl默认是版本2,否则导入后是版本1。由于wsl1没有彻底的虚拟化,无法使用docker命令 1wsl --set-d...
2020-10-18
【安装配置】WSL安装及linux下helloworld教程(有手就行)
先上微软商店下一个wsl windwos subsystem linux(windows下的linux子系统),选择ubuntu,安装。有的电脑下载好后启动ubuntu可能出现这个报错 12345Installing, this may take a few minutes...WslRegisterDistribution failed with error: 0x8007019eThe Windows Subsystem for Linux optional component is not enabled. Please enable it and try again.See https://aka.ms/wslinstall for details.Press any key to continue.. 解决方案:使用Win键+x 打开Powershell(管理员) 粘贴这一段命令解决上面的报错,然后输入y回车,注意这里回车会自动重启 1Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Window...