macOS - 使用终端启动 sublime(软链接)


一、操作步骤

翻译改编自:
https://shellzero.wordpress.com/2014/09/10/how-to-launch-sublime-text-app-from-mac-osx-terminal/


1、生成软链

打开终端,运行:

$ ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/sublime

这将在/usr/local/bin 下生成一个软链,实际地址为/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl 这个二进制文件。

注意根据你的sublime版本名等调整这个文件地址。

这里写图片描述

注意,软链的这个文件,是可执行文件;如果右侧图标只是白色,代表生成失败。
生成错误的,需要删除后,重新生成。第二部分会介绍查看、删除方法。


如果上述命令提示:**ln: /usr/local/bin/sublime: Permission denied.**

解决方法:输入 sudo 即可,不需要要输入

注意:空格不需要转化为 \,否则会加载失败,如下:

$ ln -s "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/sublime
$ sudo ln -s "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/sublime

2、开启 bash_profile

终端输入 open ~/.bash_profile;

将自动开启窗口,显示 bash_profile 内容。


3、添加执行搜索 PATH

如果 bash_profile 中没有/usr/local/bin,则添加到上去:

PATH=$PATH:/usr/local/bin

保存。


4、保存、运行 bash_profile

终端输入 source ~/.bash_profile ,使文件重载生效


5、校验

5.2 打开 app

终端输入:sublime
sublime 将自动开启;


5.2 使用 sublime 打开文件

终端输入:sublime /Users/administrator/DevelopNote/Git使用.md
则会打开 Git使用.md 文件


二、原理剖析

1、subl 文件地址

进入应用程序文件夹,选中 sublime,右击打开包内容,可以依下面顺序,找到 subl 文件。
/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl


2、subl 作用

2.1 命令行输入以下,或将 subl 文件直接拖拽到终端 ,将自动开启sublime

$ /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl 

2.2 命令行输入以下,将使用sublime 打开文件 Git使用.md

$ /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl  /Users/administrator/DevelopNote/Git使用.md 

3、直接运行软链

第一大步配置后,终端输入以下命令,将会产生和 直接运行 subl 一样的效果。
因为 sublime 是 subl 文件的软链,是按照 subl 的方法来执行的。

$ /usr/local/bin/sublime 

三、ln 软链接&硬链接

ln的链接分软链接和硬链接两种:

1、软链接

也叫 符号链接,类似与windows的快捷方式。

生成代码:ln –s 源文件 目标文件

如:ln -s /usr/local/linux/work /local/linkwork

该命令会在 选定的位置上 生成一个文件的镜像,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

不会占用磁盘空间,

macOS 和 windows 上的区别
- Win下面,假设你原来的文件改名字,那么快捷方式就用不了了。
- mac上面的替身,无论你改替身、或源文件的名字、内容、或移动源文件位置,都可以打开替身,并且两个一模一样,除非源文件被你删除了才不行。

例如写便签,搞个便签的替身,平常就操作替身得了,在替身写入文字,那么原来的便签会同步文字。


2、硬链接

生成代码: ln 源文件 目标文件,没有参数-s。

会在选定的位置上生成一个和源文件大小相同的文件

在Linux的文件系统中,保存在磁盘分区中的文件,不管是什么类型,都给它分配一个编号,称为索引节点号(Inode Index)。
在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。
硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。

其原因如上所述,因为对应该目录的索引节点,有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。

也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

创建硬链有以下两点限制。

1)、不允许给目录创建硬链接;
2)、只有在同一文件系统中的文件之间才能创建链接,而且只有超级用户才有建立硬链接权限。


3、其他

无论是软链接还是硬链接,文件都保持同步变化;都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。


四、 macOS 软链接的使用

1、查看软连接

cd 进入文件夹,输入 ls -l

会展示所有文件的信息,比如:

-rwxr-xr-x   1 root           admin    17141  5 30 22:50 autoscan
-rwxr-xr-x   1 root           admin    33890  5 30 22:50 autoupdate
lrwxr-xr-x   1 administrator  admin       28  3 23 16:33 brew -> /usr/local/Homebrew/bin/brew
lrwxr-xr-x   1 administrator  admin       38  4 19 15:44 createdb -> ../Cellar/postgresql/10.3/bin/createdb

其中带有->符号的则为软连接,brew 为软连接的文件名,而->后面跟着的 /usr/local/Homebrew/bin/brew 则为软连接文件的真实路径。


2、删除软链接

rm -rf symbolic_name

注意不是 rm -rf symbolic_name/

以我上方为例: rm -rf /usr/local/bin/sublime

猜你喜欢

转载自blog.csdn.net/lovechris00/article/details/80892349