本文使用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. table tricks

  2. php实现斐波那契数列以及由此引起的联想

    斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一 ...

  3. How to Detect and Track Object With OpenCV

    http://www.intorobotics.com/how-to-detect-and-track-object-with-opencv/

  4. Unity3D 插件大全

    2D_Toolkit 2d动画开发插件包 FingerGestures 触摸插件 ORK_Okashi_RPG_Kit Unity3D角色扮演游戏开发工具包 uScript-Visual-Script ...

  5. [GDAL]GEOS和Proj4编译

    1.下载源码 geos-3.4.2.tar.bz2  http://trac.osgeo.org/geos/ proj-4.8.0.zip     http://trac.osgeo.org/proj ...

  6. postgress Sql数据库的复制

    1.保证本地可正常执行pg_dump,即就是本地有安装postgress数据库,最好把bin目录添加到环境变量path中2.在命令行中执行如下语句: pg_dump -U zhangsan -h 19 ...

  7. javascript实例学习之六—自定义日历控件

    基于之前上篇博客轻量级jquery,tool.js和base.js.自定义开发的base_datePicker插件,效果类似于jquery_ui的datePicker插件 //基于Base.js以及t ...

  8. ftp主动模式 被动模式 和iptables 设置

    FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式. Port模式:ftp server:tcp 21 <------client:dynamic    ftp se ...

  9. OPW-00001: Unable to open password-file

    >set oracle_sid=orcl >orapwd file= OPW-: Unable to open password-file 修改方法: 去掉引号 >orapwd fi ...

  10. Java基础之读文件——使用通道读二进制数据(ReadPrimes)

    控制台程序,本例读取Java基础之写文件部分(PrimesToFile)写入的primes.bin. import java.nio.file.*; import java.nio.*; import ...