Linux初步学习 (五)

linux 五防实时模式与开票模式 摘要: linux 国产化软件研发 2d图形绘制 微机五防系统 五防开票软件 防误操作软件 组态软件 状态监控 5.4 实时模式与开票模式 wf_sys 实时五防系统在启动后即进⼊实时模式,实时模式连续地从现场设备采集设 备状态数据,关实时处理理后显⽰在组态图上。 ⽤户打开开票窗⼜后,系统由实时模式进⼊“模拟模式”。模拟模式停⽌把采集到数据 更新到组态图上⾯。把最新的状态保持住。供⽤户操作模拟设备的状态调试。每个操作, 都会进过五防规则的检验。以达到模拟操作的⽬的。在操作过程中,把⽤户的操... 阅读详情

硬链接和符号链接

=============

总体说来,有点操作系统的底子再来看Linux的一些概念确实会舒服不少,作为初学的要求,速度也可以很快了。

以前是不知道有这么两种概念的,文件嘛,用的时候打开它,彻底不要了就删除,了不得建立一个快捷方式。这个就是在了解这个概念之前的我的观点。在了解了这两个概念之后,确实觉得这里面还是大有文章可做的。于是就初步的先记录下自己的一些想法。

首先说说符号链接(软链接),首先我们可以想到快捷方式,这个很像软链接,我们拥有一个文件,但是不是说一定要在它所在的目录下才能访问它。通过创建一个快捷方式,就可以在其它的地方访问到这个文件。只不过快捷方式归根到底还是一个lnk文件,它可以设置一些参数使得和原始的文件具有一定的不同。

软链接的性质于此类似,但是从操作的角度而言要强于快捷方式。如果我们为一个文件A创建了一个软链接B,那么我们可以直接用命令到B上从而实现对A的访问,无论A是文件还是文件夹。这一点是快捷方式做不到的。同时,对于程序而言,软链接与文件本身是同等对待的,所以一旦你删除了一个文件,那么它的软链接也失效了,但是删除一个软链接,文件依然保留着。

实验:  

#  mkdir test  创建一个实验目录

#  cd test 进入这个目录

#  vi test.t    打开vi之后随便写点什么,保存之

#  ln -s  test.t  stest   创建test.t的一个软链接,名叫stest。

#  ls 会显示一个青色的stest,与目录的蓝色和文件的白色很好区分。

#  ls -al  会显示所有文件的详细信息,其中有一行: lrwxrwxrwx. 1 root root    6  3  2 21:07 stest -> test.t     表示stest链接到test.t

#  vi stest 让程序打开软链接,果然直接进入了test.t的内容中。

#  rm test.t 删除文件test.t,此时注意提示是普通文件(这就是为什么不加参数 -f)此时# ls一下的话,看到stest会变成红色。表示已经不可用。

#  vi stest 打开软链接,结果是一个新文件。随便输入一些东西,保存

# ls -al   保存后发现test.t又回来了,表示软链接这个会按照自己的链接重建指向的文件。

#  rm test.t 删除这个自动产生的文件

#  vi test.t 手动重建一个文件,重新输入一些东西。此后软链接依然可用,说明符号链接就是一个符号而已。

# rm stest 删除符号链接,注意提示是符号链接,# ls 一下,对原来的文件没有任何影响

# rm -r -f ../test   删除整个test文件夹,回复原现场   有意思的是此时命令提示符所在的位置依然是test文件夹。不过# ls -al只会显示用量0

注意:软链接(符号链接)只是创建了一个符号,指向文件的真实路径(指向文件自身的名字而不是地址),对其删除并不涉及真正的文件操作;软链接可以跨分区和文件系统建立。


硬链接:与软链接不同,硬链接就是相当与重新建立了一个新的文件,但是这种建立最美好的是它并不是重新占用了一块等大的空间。只是又建立了一个指向文件首区块的链接,这样一来,硬链接和文件本身是等价的(或者说就是本身)。幸好本科操作系统的课程设计之一就是做一个基本功能的虚拟磁盘和管理系统,对此还有些熟悉。

硬链接最大的特点就是当你删除一个硬链接或者文件的时候,文件并不会被删除,只有当所有的链接都被删除的时候,文件所占用的空间才会释放,也就是说文件才真的删除了。最简单的实现方案就是在文件的首区块有一个链接计数器,创建的时候为1,每一次被硬链接就+1,当出现删除的时候-1,并查看结果,当结果为0 的时候才删除文件。(或者先查看数值,那就是为1的时候真正的释放空间)

硬链接的指令和软链接都是 # ln 所不同的是硬链接的参数是 -d

实验:

# mkdir test2

# cd test2 创建另外一个名字吧

# vi test.t 建立文件,随便输入一些字符,最好多一些。

# ln -d test.t dtest 创建硬链接

# ls -al 发现结果是多了一个文件类型的文件(真别扭),就是文件名是白色的 注意一下当前占用空间数量

# vi dtest 测试链接,发现进入了原来的文件

# ln -d test.t dtest2  再创建一个硬链接

# ls -al 发现又多了一个文件,但是增加的空间占用小于单个文件的。(我的机器上是增加了4字节,CentOS6.2 x86_64)

# rm test.t 删除原文件

# vi dtest 硬链接依然有效

# rm dtest 删除硬链接 (此时依然会告诉你是否删除普通文件,说明了二者的等价性)

# 收拾现场就不再说了。

硬链接相对与软链接来说,是对文件地址的指向,但是正因为如此,受限于不同文件系统的规范,硬链接不能跨越分区,更不用说文件系统。


个人感觉对硬链接的应用会比较广泛,尤其在应对重名文件的情况,现在就有一个不错的想法:要知道,WIN7已经支持硬链接了(vista开始支持的,仅支持NTFS),我们就可以通过系统调用,编程实现磁盘的压缩----就是对文件进行查重,然后MD5和CRC双重校验(相同性和有效性),保留一个文件,并将其它文件改成硬链接,这样就在完全不影响使用的情况下大大压缩了磁盘空间,(更进一步的,可以在选择保留哪个文件的时候保留碎片化程度最低的,优化磁盘的利用)。大约各种网盘就是利用这样的技术来保存文件的吧。   这个win7的新特性倒是很有一些利用空间。

win7的命令是fsutil 可以硬链接,需要管理员特权,以管理员身份运行cmd即可。



以管理员身份运行程序 delphi 以管理员身份运行指定程序 仅供参考 立即下载

相关推荐

Altera USB-Blaster在Win10/Win11的驱动兼容性处理

解决Altera USB-Blaster在Windows 10和Windows 11系统下的驱动兼容性问题,详细演示如何手动安装与更新altera usb-blaster驱动安装,确保下载电缆正常识别,提升开发调试效率。

weixin_42284380的博客 1290

[转]FSUTIL--Windows 下的又一个超级强大的命令

https://www.cnblogs.com/libao/articles/2794552.html windows下有这个命令! C:\WINDOWS>fsutil ---- 支持的命令 ---- behavior 控制文件系统行为 dirty 管理卷的被损坏的位数 file 文件特定命令 fsinfo 文件...

msdnchina的专栏@JiNan,ShanDong 2455

qcom bypass node介绍

介绍qcom bypass node,以及如何让其生效

haodada1226的博客 2043

windows bat系列2:创建文件_创建指定大小文件

方式1:echo重定向如,在当前脚本目录下重定向创建文件:set redirect=%~dp0\redirect.txt echo "This a redirect line">>%redirect%方式2:fsutil工具备注:fsutil工具在C:\Windows\System32下,需要管理员权限才能执行。所以,若写成.bat,请以管理员身份运行脚本。如,分别创建1k,1M大小的...

本博客纯属个人学习记载,不对外负责,若有错误,请批评指正 7877

Cursor 使用教程(2025年更新版)

官方Cursor详细使用教程在“扩展学习”

我是赛博AI Lewis 7082

VSCode终端打不开?3分钟搞定Windows下Terminal配置(附最新JSON设置方法)

本文针对Windows系统下VSCode终端无法启动的常见问题,提供了详细的诊断与解决方案。核心在于更新已弃用的旧配置,采用最新的JSON设置方法,通过定义`terminal.integrated.profiles.windows`和指定`terminal.integrated.defaultProfile.windows`,快速修复并优化终端配置,实现三分钟内恢复正常使用。

flower的专栏 741

在程序中加入UAC权限请求

如图所示。将UAC

LYP951018的专栏 2292

【Labview】对连续采集数据的一种采样方法

图1如图1,想要对这样一个连续信号进行数据点的采集,我根据网上收集到的方法,在此分享一下最终的结果。可以拓展结合文件的写入,完成对连续信号的采集和输出。 已知: 一个连续信号,如图1. 目标: 设定一定采集点个数、采集点时间间隔、和采集周期次数,得到这条连续信号的数据点,如图2. 图2 方法如下: 主要利用的是队列的方法。 在连续信号生成的时候,不断的写入队列,并且清除队列。 ...

李时珍食疗志的博客 1万+

[Linux](五) --shell bash学习----初步了解

听说这是Linux学习的重点内容,必须掌握好基础才行…那我就来学习了。 我准备分几部分来学习bash: * 对bash shell的初步了解 * bash一些常见的命令 * shell中的系统变量,自定义变量,及功能。 * bash shell的操作环境学习 * 管道,通配符的学习。 * 最后学习如何编写shell script. 下面是我的一些初步了解。 1.一开始听到shell,wtf...

hzeyuan.cn 623

OLLAMA_HOST环境变量设置全攻略:从127.0.0.1到局域网共享的完整配置

本文详细解析了OLLAMA_HOST环境变量的核心作用与配置方法,指导用户如何将Ollama服务从仅限本机访问(127.0.0.1)扩展到局域网共享。文章涵盖了macOS、Linux、Windows三大平台的实战配置步骤,并提供了安全加固、性能优化及常见故障排查方案,是解决多设备协作访问本地AI模型的完整指南。

weixin_28455801的博客 1897

Unity中使用TCP和UDP传输摄像头视频的实践

本文探讨了在Unity中通过TCP和UDP协议传输摄像头视频的实现方法。TCP通过自定义消息帧保证数据完整性但效率较低,UDP传输速度快但可能丢帧。文章提供了Python和Unity的代码示例,分析了两种协议的适用场景:TCP适合要求数据完整性的应用,UDP则适合追求实时性的场景。最终选择取决于具体需求,并需要注意线程安全与同步机制。

m0_74337424的博客 145

初步学习Linux

Linux 是什么 vmware 虚拟机软件 Centos7 操作系统 (Linux 指的是操作系统内核) 操作系统 => 内核 + 一组配套的应用程序 (Linux实现 : Android,ubuntu,centos,redhat 发行版) Xshell 远程终端工具 Unix : 开源运动 (理查德 => gcc、emacs) 《unix环境高级编程》 《unix...

xiaoming1999的博客 212

【日志】Prometheus/Loki+Alertmanager+Grafana监控告警

参考文章:匹配写法:https://blog.ossq.cn/2674.html。

CN_Eden 1320

Linux初步

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、linux初步学习二、环境搭建1.修改静态ip2.修改主机名3.配置IP和hostname的映射关系5.设置window的host文件三、关闭防火墙四、两台机器SSH免密登录在这里插入图片描述 前言 提示:这里可以添加本文要记录的大概内容: 提示:以下是本篇文章正文内容,下面案例可供参考 一、linux初步学习 为接下来hadoop的学习及环境搭建奠定基础。 二、环境搭建 1.修改静态ip [root@haney ha.

qq_47302320的博客 2088

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Linux防火墙之通俗易懂的iptables五表五链解释

Linux防火墙 Netfilter 是Linux 2.4.x之后新一代的Linux防火墙机制,是linux内核的一个子系统。 Linux内核自带防火墙功能,防火墙的实现就是基于对数据包的过滤。 背景基础知识 Linux操作系统对数据的处理都是通过内核来实现的,就像计算机的主要运算都是由CPU来完成的一样。 一个完整的Linux操作系统由最核心的内核,负责内核与外部交互的shell,以及其他外部应用程序组成 Linux内核空间负责接收外部数据并通过系统调用与计算机硬件例如cpu内存打交道 内核中数据

SunMy的博客 1457

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

学习Linux内核必读的五本书

如果希望在Linux操作系统上支持计算机外部设备,或者在Linux上运行新的硬件,或者只是希望一般性地了解Linux内核的编程,就一定要阅读本书。网络功能的实现或破坏在不同的时候是由不同的代码块完成的,这正是理解网络和实现它的难点中的一部分。这门课可以带您用理论结合实践的方法一步一步抓住Linux内核最核心的部分代码,理解Linux操作系统运行的基本过程及涉及的核心机制。一本讲解网络子系统实现的书,通过这本书,我们可以了解到Linux内核是如何实现复杂的网络功能的。简称LKD,内核新人首选必读的书籍。

m0_74282605的博客 1707

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Linux——初步认识Shell、深刻理解Linux权限

本文介绍了Linux系统中的Shell概念及权限管理。Shell作为用户与内核间的中介,负责指令传递与结果反馈,既简化操作又保护内核安全。文章详细讲解了用户切换指令(su/su -)的差异,以及普通用户通过sudo实现短暂提权的方法。在权限方面,重点阐述了root用户与普通用户的权限区别,并通过实例展示了权限不足时的解决方案。最后指出sudo提权机制基于系统白名单设计,无需root密码即可实现安全提权。

2301_79705195的博客 1173

Linux初步学习 一

2020/2/18 Linux初步学习 一 1、Linux存储是以挂载的方式 挂载:类似于 Windows 下面的盘符概念。 盘符:是DOS、WINDOWS系统对于磁盘存储设备的标识符。一般使用26个英文字符加上一个冒号:来标识。由于历史的原因,早期的PC机一般装有两个软盘驱动器,所以,"A:"和"B:"这两个盘符就用来表示软驱,早期的软盘尺寸有8寸、5寸、3.5寸等。而硬盘设备就是从字母C:...

m0_46356860的博客 288

初步学习Linux基础C语言一

1.2 十进制。

m0_63084911的博客 964

Linux初步学习

Linux 相关面试总结 1.Linux体系结构 体系结构主要分为用户态和内核态 内核:本质上是一个管理计算机硬件设备的程序 系统调用:用内核的访问接口,是一种能简化的操作 命令:man 2 syscalls 调出所有系统调用的指令 公用函数库:系统调用的组合拳 库函数调用通常用于应用程序中对一般文件的访问。 库函数调用是系统无关的,因此可移植性好。 shell:命令解释器,可编程(在没有用户界面时,可充当用户界面) cat /etc/shells chsh

oasisdd的博客 289

Redis初步学习

Redis初步学习前言Redis简介Redis下载RedisRedis支持的数据类型Redis的使用Redis用途总结 前言 今天为大家分享的是Redis的初步学习相关知识! Redis学习网址 Redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。 内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区 Redis下载 1、百度上搜索Red

月亮投递员的博客 383

Linux初步学习 (一)

说起来是一件十分惭愧的事情,本科学的CS,研究生在读SE,当被问到对Linux有什么了解,了解到什么程度的时候,我只能说:知道点,偶尔看过有关的一些文章,用过Linux的系统,比如ubuntu,用的GUI,但是没怎么去了解……甚至不知道怎么切换到Linux的命令行界面。 于是mentor说,Linux还是得掌握的。更何况还准备搞后台和服务器这一块呢。 现在,老老实实的,当一个初学者,开始学习L

D.N.A. ——Footprint 744

linux初步学习

1、创建一个目录/dzqc提示: windows下的路径样式为c: \dzqc\ test,而linux下的路径样式为 /dzqc/test  因此/dzqc就可以看做是c:\dzqc,不同的是 windows系统下还有D,E等盘, linux下就只有/为所有目录的顶点。英文 make directorys缩写后就是 mkdir,这就是创建目录的命令本题命令答案:mkdir dzqc或c...

whx827058798的博客 302

C语言基础——初步认识学习Linux系统

接下来一起来编写我们的第一个程序第一步:vim xx.c第二步:写下main Tab键补全gcc xx.c -o 自定义文件名。

WYF_111501的博客 1188

Linux应用实战之网络服务器(五) 登录服务器初步调试

​本文是Linux网络服务器应用实战的服务器和客户端初步调试篇,实现了客户端和服务器的初步通信,通过Web客户端可以和服务器进行简单通信,实现数据的简单收发。

cesheng3410的博客 1187
上一篇: Linux初步学习 (四)
下一篇: Linux初步学习 (六)
Nechtan
博客等级 码龄19年 10粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值