本文使用Makdown编辑


通常系统中打开一个文件有好多种方法,编辑也是。例如你要打开OmniGraffle来画个图(suppose you are working on the Mac OS X)

1.可以使用命令open来启动应用:open -a OmniGraffle [FiletoEdit];

2.各种文件管理器,默认的Finder, 还有PathFinder, DCommander, Transmit等,只要能调用Finder的open,save的也可以,Dock;

3.当然AppleScript/JavaScript, Shell(bash,zsh)也可以;

4.Alfred, Spotlight这类搜索类的;

Access Hidden Files or Folders

但是,有些文件和文件夹是隐藏的,Finder考虑到这个提供了『⌘+⇧+G』,这样只要你输入正确的路径就可以在finder中显示,这样可以通过点击继续任务,常用的~/Library, $HOME/下的其他隐藏的文件夹都可以访问了

还有,通过 defaults write ... 来配置来显示:

defaults write com.apple.finder AppleShowAllFiles -bool true来显示所以隐藏的

defaults write com.apple.finder AppleShowAllFiles -bool false了关闭

还可以直接修改文件和文件夹的flag来弄:

chflags nohidden ***FileorFoldertoOperate***

But, 每次都有敲入这么多字符太麻烦,所以立马会想到用Shell的alias

alias showAll='defaults write com.apple.finder AppleShowAllFiles -bool true'

alias hideAll='defaults write com.apple.finder AppleShowAllFiles -bool false'

添加到.bash_profile, source .bash_profile,刷新Finder之后

But, 每次都有打开Terminal,尤其配置多了之后启动起来超级慢

更换iTerm 2

But, 这个配置是全局的,很多时候我只需要显示某一个或几个文件和文件夹,所以想到chflags

chflags nohidden Afile
chflags nohidden BFolder
chflags nohidden CFolder
...
...
# after
chflags hidden Afile
chflags hidden BFolder
chflags hidden CFolder
...

OK啦,但是很多时候打开Terminal,ls -la, ls -l, open, vim,发现并不需要显示或者隐藏什么

而打开Finder吧,有时候又需要显示隐藏

Object

所以想到Mac自带的任务流程工具 AppleScript/Automator,

写个Service添加到Folder

  1. 选中文件夹
  2. 可以选择『隐藏该文件夹』「Hide This」『显示该文件夹下所有隐藏的文件(夹)』「Show All Under」
  3. 允许选择多个文件夹
  4. 可以隐藏文件

Add a Finder Service


下面实现一下常用的几个


  1. 右键任何一个文件夹,选择Services->Create Service
  2. 搜selected,拖Get Selected Finder Items到右边panel

  3. 搜shell,拖Run Shell Script到右边panel
  4. Shell选/bin/bash,Pass Input选 as arguments

    4.1 隐藏 「hide」
for item in $@;do
# doesn't matter it is a file or a directory
echo $item
chflags hidden "$item"
done

4.2 显示文件夹下的所以隐藏项「unhide under」

for folder in $@;do
echo $folder
if test -d $folder;then
for dir in $folder/*;do
if test -d $dir;then
chflags nohidden "$dir"
cat "$dir\n" >> .aHiddenItems
fi
done
fi
done

4.3 隐藏文件夹下之前隐藏的「hide under」

for folder in $@;do
if test -d $folder;then
echo $folder
if [ -d $folder/.aHiddenItems ];then
for item in `cat $folder/.aHiddenItems`;do
chflags hidden "$item"
done
fi
fi
done
  1. Step和Run测试没有错误

    5.『⌘+S』保存,会自动保存到~/Library/Services/下
  2. 现在可以用了

Mac下使用Automator实现隐藏和显示的更多相关文章

  1. Mac下使用Automator实现截屏编辑保存

    以前在Windows下使用百度或者搜狗输入法的截图工具很方便.❶快捷键(Alt+X,我设置的是这个),❷选择区域,❸编辑所选区域,包括添加文字,线条框框,调色,❹点击『✔️』选择保存位置,修改文件名保 ...

  2. Mac下使Iterm2开机启动不显示界面

    一.在登录项上添加Iterm2的启动项 二.打开Iterm2 1.启动后会显示Iterm2,此时点击关闭按钮,保证桌面上没有任何的控制台窗口. 2.按[Command]+[Shift]+[S],保存名 ...

  3. iOS问题处理:如何在Mac下显示Finder中的所有文件

    摘自:http://www.cnblogs.com/elfsundae/archive/2010/11/30/1892544.html 在Unix下工作,你可能需要处理一些“特殊“文件或文件夹,例如/ ...

  4. Mac下显示隐藏文件 以及修改 hosts文件内容

    修改hosts 文件内容: 进入etc 文件夹,找到hosts 文件,把该文件复制出来,修改完里面的内容后,先把etc中的hosts 文件删除,然后在把修改后的文件脱机去 可能需要管理员的密码,你输入 ...

  5. Mac下不显示设备

    使用命令行adb devices 试了下,没设备列表. 第一步: 查看usb设备信息 在 终端输入:system_profiler SPUSBDataType     可以查看连接的usb设备的信息 ...

  6. [Mac入门]如何在Mac下显示Finder中的所有文件

    在Unix下工作,你可能需要处理一些“特殊“文件或文件夹,例如/usr,/bin, etcf,或一些"dot files"(如.bash_profile).但是Linux/Unix ...

  7. 如何在Mac下显示Finder中的所有文件

    在Unix下工作,你可能需要处理一些“特殊“文件或文件夹,例如/usr,/bin, etcf,或一些"dot files"(如.bash_profile).但是Linux/Unix ...

  8. Mac下显示网页全屏快捷键

    control+command+F mac下谷歌浏览器全屏时隐藏头部:(隐藏标签页和地址栏) command+shift+B

  9. Mac 下显示隐藏文件或文件夹

    Mac 操作系统 隐藏显示文件 显示:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏:defaults write co ...

随机推荐

  1. iOS:访问地址薄

    地址簿的访问 介绍: 地址簿(Address Book)是一个共享的联系人信息数据库.任何iOS应用程序都可以使用.通过提供常用联系人信息,而不是让每一个应用程序管理独立的联系人列表,可改善用户体验. ...

  2. android mContainer.setPersistentDrawingCache (int drawingCacheToKeep)

    mContainer.setPersistentDrawingCache(ViewGroup.PERSISTENT_ANIMATION_CACHE); persistentDrawingCache设置 ...

  3. linux修改hostname

    1.如果只是修改hostname可以通过如下命令 hostname newHostname 注意:这种修改方式只有当前有效,等服务器重启后hostname就会失效,回到原来的hostname. 2.如 ...

  4. Vue.2.0.5-过渡状态

    过渡状态 Vue 的过渡系统提供了非常多简单的方法设置进入.离开和列表的动效.那么对于数据元素本身的动效呢,比如: 数字和运算 颜色的显示 SVG 节点的位置 元素的大小和其他的属性 所有的原始数字都 ...

  5. Hadoop学习笔记: 安装配置Hadoop

    安装前的一些环境配置: 1. 给用户添加sudo权限,输入su - 进入root账号,然后输入visudo,进入编辑模式,找到这一行:"root ALL=(ALL) ALL"在下面 ...

  6. 单位px 转换成 rem

    <script type="text/javascript"> var oHtml = document.documentElement; getSize(); win ...

  7. css 滑动按钮样式

    <div class="pub_switch_box"> <input type="checkbox" id="pub_switch ...

  8. Angular.js 学习笔记

    AngularJS 通过新的属性和表达式扩展了 HTML. AngularJS 可以构建一个单一页面应用程序. <!-- ng-app 指令定义一个 AngularJS 应用程序. ng-mod ...

  9. Postgres数据库基本介绍

    最近一直在做一个和PostgreSQL数据库相关的项目,把自己在这个过程中学习的知识记录下来.关于PostgreSQL数据库网上已经有太多的相关介绍了,为了博文的系统性还是先看一下维基百科对Postg ...

  10. js兼容

    //document.getElementsByClassName(); if (!document.getElementsByClassName) { document.getElementsByC ...