首页 文章 精选 留言 我的

精选列表

搜索[shell],共6050篇文章
优秀的个人博客,低调大师

shell编程之软硬链接ln

在 Windows 里面我们经常通过快捷方式来创建链接以方便我们使用电脑。而 Linux 中有两种方式创建链接,分别为软链接和硬链接。下面我们就来详细说下二者的区别。 定义 ln (link file 的简称)是 GNU 核心工具包中的基本工具。该命令是为某个文件在另外一个位置建立一个同步链接。当我们需要在不同的目录用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,此时只需用 ln 创建对应文件的链接,不必重复的占用磁盘空间。 命令格式 # 硬链接(source只能是文件) ln source target # 软链接(source可以是文件也可以是目录) ln -s source target 软链接 软链接 symbolic link 跟 Windows 里面的快捷方式等价。它的内容是指向另一个文件的位置。所以可以创建某个目录的软链接,也可以对一个不存在的文件进行链接。除此之外,它可以跨文件系统。这三点硬链接都无法实现。 硬链接 硬链接 hard link 可以理解为文件的别名,而且别名可以有多个。 原理 对于 Linux 而言,文件的结构与 Windows 有点类似,由文件名,inode(类似于 Windows 下的 FCB 文件控制块,保存文件的一些信息)和数据组成。比如创建 origin 文件,会得到下面的信息。 注意 Inode 和硬链接,下面创建 origin 的硬链接 hardlink。 比对发现,创建硬链接的文件 hardlink 与原文件 origin 之间除了名称不同之外其他完全相同,就像同一个人它有个正式的名称也可能会有小名。它们的数据显然完全一样。 接下来,我们创建 origin 的软链接 softlink。 对比发现,origin 和 softlink 是完全不同的文件,有着不同的 size,不同的块,不同的 Inode,不同的 type。唯一的联系是 softlink 文件指向 origin 文件(有点文件指针的味道)。 用例 删除源文件对软硬链接的影响 由上图可以看出 hardlink 中硬链接的个数少了一个,而 softlink 还是安然无恙的存在着。接着我们通过两个链接来打开文件。 由上图发现,hardlink 依旧能打开文件,而软链接却无法查看原文件。 参考文献 GUN核心工具包 维基百科ln ln源码 如果该文章对您产生了帮助,或者您对技术文章感兴趣,可以关注微信公众号: 技术茶话会, 能够第一时间收到相关的技术文章,谢谢! 本篇文章由一文多发平台ArtiPub自动发布

优秀的个人博客,低调大师

Shell脚本-控制多主机操作

环境介绍 首先要做到各个主机之间无密ssh连接。这样会最大可能方便的控制。 脚本 命名为status #!/bin/bash params=$@ i=166 for((i=166;i<=169;i++));do echo -------s$i $params ------- ssh s$i "$params" done 测试 [root@s166 bin]# status java -version -------s166 java -version ------- bash: java: command not found -------s167 java -version ------- bash: java: command not found -------s168 java -version ------- bash: java: command not found -------s169 java -version ------- bash: java: command not found What?就给我看这个,它找不到这个命令,那我把它放到/usr/local/bin下 [root@s166 bin]# which java /home/fantj/jdk/bin/java [root@s166 bin]# ln -s /home/fantj/jdk/bin/java java javadoc javah javapackager javaws javac javafxpackager javap java-rmi.cgi [root@s166 bin]# ln -s /home/fantj/jdk/bin/java ./java [root@s166 bin]# ls java jps status xcall.sh [root@s166 bin]# status java -version -------s166 java -version ------- java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode) -------s167 java -version ------- bash: java: command not found -------s168 java -version ------- bash: java: command not found -------s169 java -version ------- bash: java: command not found 好了,jps同理,我们只需要把命令创建软连接到/usr/local/bin下即可,每个主机都需要设置的。 效果 [root@s166 bin]# status jps -------s166 jps ------- 12641 Jps 1397 NameNode 1559 SecondaryNameNode 1727 ResourceManager -------s167 jps ------- 1764 DataNode 11610 Jps 1823 NodeManager -------s168 jps ------- 11572 Jps 1815 NodeManager 1756 DataNode -------s169 jps ------- 1813 NodeManager 1754 DataNode 11548 Jps [root@s166 bin]# status ls ~/.ssh -------s166 ls /root/.ssh ------- authorized_keys id_rsa id_rsa.pub known_hosts -------s167 ls /root/.ssh ------- authorized_keys id_rsa id_rsa.pub known_hosts -------s168 ls /root/.ssh ------- authorized_keys id_rsa id_rsa.pub -------s169 ls /root/.ssh ------- authorized_keys id_rsa id_rsa.pub

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册