文件路径表示的是文件在文件系统里的位置,无论是用命令行操作的Linux程序猿还是使用windows的广大用户。都难免会有这种需求

在windows上复制当前文件夹的路径有一个特别方便的方式,仅仅须要用鼠标点击路径栏,它就会自己主动变成像”D:\Downloads\tmp”这种路径,假设要拷贝文件路径,仅仅须要将文件夹路径和文件名称拼接起来就可以,Linux上也非常方便,readlink -f yourfile就会打印出文件的绝对路径,尽管Mac也能够在命令行下使用greadlink(Mac上自带的readlink和Linux上功能不一样,greadlink意思是GNU’s readlink,和Linux上的readlink功能一致),但这种方式显然不是最佳解决方式。毕竟Mac是图形和命令行结合的最优组合。首选在图形界面下解决问题

搜了下百度,大致给了例如以下两种3方案

  • 鼠标右键点击文件,选择显示简单介绍能够查看文件所在的文件夹,这和windows上点击路径兰结果一致。但使用起来不太方便。由于这仅仅显示了文件所在文件夹的路径,文件的绝对路径还须要加上文件名称
  • 将文件拖入浏览器,文件路径会显示在地址栏
  • 打开文本terminal程序,将文件拖进去,路径会自己主动打印出来

以上方式各有优缺点。我所期望的最佳方案应该是鼠标右键点击文件,菜单直接出现Copy path的选项,点击之后文件路径就被拷贝到了剪贴板,是不是有一气呵成的感觉,事实上Mac系统本身就为我们提供了这种方式,仅仅是须要一点小小的技巧,这里我们须要用到Automator

在应用程序文件夹里打开Automator。选择文件菜单,新建一个服务,例如以下

在左側操作栏找到拷贝至剪贴板操作,拖到右側,例如以下

有两个地方须要改动,“服务”收到选定为文件或文件夹。位于Finder,cmd+s保存。命名为Copy path,完事儿。

怎么使用呢?在Finder上随便找一个文件,鼠标点击右键。看看服务选项里是不是出现了Copy path选项。例如以下

点击之后文件路径就被拷贝到了剪贴板。找个地方粘贴一下看看结果是不是你想要的,假设想删除该服务,进入~/Library/Services/文件夹。删除相应的workflow文件就可以


最后我要吐槽一下,这个问题困扰我好久,事实上我一直想用Automator来解决问题,但Automator那么多操作我没有一个个细看,无论是用百度还是Google搜索Mac下拷贝文件路径这种关键词,搜索到的方法永远仅仅有我前面给的几个。直到有一天我把这个问题告诉了一个在国外的同学,他在Google上搜索copy file path in mac,一切迎刃而解

所以有时候不要怪搜索引擎,仅仅怪我们自己没有给出最好的答案

$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('

    ').addClass('pre-numbering').hide();
    $(this).addClass('has-numbering').parent().append($numbering);
    for (i = 1; i ').text(i));
    };
    $numbering.fadeIn(1700);
    });
    });

Mac OS X下高速拷贝文件路径的更多相关文章

  1. [MAC] Mac OS X下快速复制文件路径的方法

    在windows上复制当前目录的路径有一个特别方便的方式,只需要用鼠标点击路径栏,它就会自动变成像”D:\Downloads\tmp”这样的路径,如果要复制文件路径,只需要将目录路径和文件名拼接起来即 ...

  2. 如何解压 Mac OS X 下的 PKG 文件(网摘)

    如何解压 Mac OS X 下的 PKG 文件 原文出处:[Macplay] 有时候我们可能需要解包 PKG 格式的安装文件包,在 OS X 系统下完成该操作并不需要你额外再安装软件,系统内置的命令就 ...

  3. MAC与windows下打开当前文件路径的命令行(终端)

    MAC 下文件夹与终端: 1.打开当前路径的终端窗口方法: ①直接拖动要打开的文件夹到终端 ②打开finder的服务偏好设置, 勾选"新建位于文件夹位置的终端"选项, 以后可以在文 ...

  4. 三种方法更改MAC OS X下的HOSTS文件

    1.终端更改 用程序里面打开终端(terminal),输入 sudo vi /etc/hosts 然后提示输入系统密码 hosts文件就自动打开了 接着输入 i 进入编辑模式 将添加的网站,ip拷贝进 ...

  5. Mac下无法拷贝文件到移动硬盘

    Mac下无法拷贝文件到移动硬盘? 是移动硬盘的文件格式的问题. Mac系统无法识别 NTFS 格式的文件. 将移动硬盘格式化为 exFAT 格式的. 别担心,exFAT 格式的硬盘在Windows下也 ...

  6. 在Mac OS X 下快速安装Nginx

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Helvetica; color: #8e68ff } p.p2 { margin: 0.0p ...

  7. Mac OS X下环境搭建 Sublime Text 2 环境变量配置 开发工具配置Golang (Go语言)

    Golang (Go语言) Mac OS X下环境搭建 环境变量配置 开发工具配置 Sublime Text 2 一.安装Golang的SDK 在官网http://golang.org/ 直接下载安装 ...

  8. Mac OS平台下应用程序安装包制作工具Packages的使用介绍(补充)

    上一篇:Mac OS平台下应用程序安装包制作工具Packages的使用介绍 补充说明 上一篇文章中介绍了如何使用Packages如何创建mac下的安装包.但是这样制作出来的安装包只能安装到系统的文件路 ...

  9. Mac OS X 下安装使用 Docker (2017年7月)

    两年前的一篇 Mac OS X 下安装使用 Docker 安装时还是用的 boot2docker, 如今进化到了在 Mac OS X 下用 Docker Toolbox, 而且命令也由 boot2do ...

随机推荐

  1. C++二叉树的实现

    C++实现二叉查找树 啥是二叉查找树 在数据结构中,有一个奇葩的东西,说它奇葩,那是因为它重要,这就是树.而在树中,二叉树又是当中的贵族.二叉树的一个重要应用是它们在查找中的应用,于是就有了二叉查找树 ...

  2. Flex之HTTPService组件调用

    1.采用<s:HTTPService>标签来实现: <?xml version="1.0" encoding="utf-8"?>< ...

  3. 消息队列与RabbitMQ

    1 什么是消息队列 消息指进程或应用间通信的数据:队列是保存数据的结构:消息队列是指进程或应用间通信时,保存消息的容器.消息队列独特的机制和结构保证了消息发送者和接收者之间良好的异步通信. 2 为什么 ...

  4. Java基础 —— 概述

    Java语言: JDK(Java Development Kit)开发工具包,提供Java的开发环境和运行环境 --> 适合于开发 JRE(Java Runtime Environment)Ja ...

  5. Xcode升级后插件失效的原理与修复办法

    转载:http://joeshang.github.io/2015/04/10/fix-xcode-upgrade-plugin-invalid/ Xcode 的插件大大丰富了 Xcode 的功能,而 ...

  6. Linux下动态库生成和使用

    Linux下动态库生成和使用 一.动态库的基本概念 1.动态链接库是程序运行时加载的库,当动态链接库正确安装后,所有的程序都可以使用动态库来运行程序.动态链接库是目标文件的集合,目标文件在动态链接库中 ...

  7. java、android 对比两个目录或文件是否是同一个目录或文件的方法

    由于软链接及android的外部卡mount方式存在,导致一个文件夹可能同时有两个路径,如: /mnt/sdcard1      /storage/ext_sdcard ,如果通过某种方式(如moun ...

  8. 【转】玩转log4j

    原文链接:http://www.cnblogs.com/shenliang123/archive/2012/05/02/2479286.html 由于最近正在扩展卫生局考务系统,由于上一次使用过一次该 ...

  9. SpriteParticle II

    [SpriteParticle II] 1.Randomizing the Starting Position 2.Setting the Initial Angle 3.Setting a Part ...

  10. linux 5 配置xmanager

    0 关闭防火墙或者打开177端口 iptables -A INPUT -p udp --dport 177 -j ACCEPT 1.vi /etc/inittab id:5:initdefault:  ...