Mac下使用Automator实现隐藏和显示
本文使用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
- 选中文件夹
- 可以选择『隐藏该文件夹』「Hide This」『显示该文件夹下所有隐藏的文件(夹)』「Show All Under」
- 允许选择多个文件夹
- 可以隐藏文件

Add a Finder Service
下面实现一下常用的几个
- 右键任何一个文件夹,选择Services->Create Service
- 搜selected,拖Get Selected Finder Items到右边panel

- 搜shell,拖Run Shell Script到右边panel
- 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
- Step和Run测试没有错误
5.『⌘+S』保存,会自动保存到~/Library/Services/下 - 现在可以用了
Mac下使用Automator实现隐藏和显示的更多相关文章
- Mac下使用Automator实现截屏编辑保存
以前在Windows下使用百度或者搜狗输入法的截图工具很方便.❶快捷键(Alt+X,我设置的是这个),❷选择区域,❸编辑所选区域,包括添加文字,线条框框,调色,❹点击『✔️』选择保存位置,修改文件名保 ...
- Mac下使Iterm2开机启动不显示界面
一.在登录项上添加Iterm2的启动项 二.打开Iterm2 1.启动后会显示Iterm2,此时点击关闭按钮,保证桌面上没有任何的控制台窗口. 2.按[Command]+[Shift]+[S],保存名 ...
- iOS问题处理:如何在Mac下显示Finder中的所有文件
摘自:http://www.cnblogs.com/elfsundae/archive/2010/11/30/1892544.html 在Unix下工作,你可能需要处理一些“特殊“文件或文件夹,例如/ ...
- Mac下显示隐藏文件 以及修改 hosts文件内容
修改hosts 文件内容: 进入etc 文件夹,找到hosts 文件,把该文件复制出来,修改完里面的内容后,先把etc中的hosts 文件删除,然后在把修改后的文件脱机去 可能需要管理员的密码,你输入 ...
- Mac下不显示设备
使用命令行adb devices 试了下,没设备列表. 第一步: 查看usb设备信息 在 终端输入:system_profiler SPUSBDataType 可以查看连接的usb设备的信息 ...
- [Mac入门]如何在Mac下显示Finder中的所有文件
在Unix下工作,你可能需要处理一些“特殊“文件或文件夹,例如/usr,/bin, etcf,或一些"dot files"(如.bash_profile).但是Linux/Unix ...
- 如何在Mac下显示Finder中的所有文件
在Unix下工作,你可能需要处理一些“特殊“文件或文件夹,例如/usr,/bin, etcf,或一些"dot files"(如.bash_profile).但是Linux/Unix ...
- Mac下显示网页全屏快捷键
control+command+F mac下谷歌浏览器全屏时隐藏头部:(隐藏标签页和地址栏) command+shift+B
- Mac 下显示隐藏文件或文件夹
Mac 操作系统 隐藏显示文件 显示:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏:defaults write co ...
随机推荐
- Linux主机安全
Linux主机安全 1. 禁用远程登录root. 2.修改ssh默认端口 暂定为3600. 3. 输错三次密码,禁用5分钟. 3.1 非图形界面登录 vim /etc/pam.d/login 在# ...
- Inside Flask - app.py - 1
Inside Flask - app.py - 1 除 werkzeug 和 jinja2 等依赖库外,app.py 是在 Flask 的 __init__.py 中导入的第一个 Flask 自身的模 ...
- linux下利用elk+redis 搭建日志分析平台教程
linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm elk 日志分析+redis数据库可以创建一个不错的日志分析平台了 ...
- android AlarmManager 详解
在开发互联网应用时候,我们常常要使用心跳来保证客户端与服务器的连接.怎么完成心跳很关键,在说道客户端心跳功能时,如果使用Timer或者专门开起一个线程来做心跳的工作,会浪费CPU工作时间,而且也会更多 ...
- Map小记
Corelocation地理定位Map Kit地图展示 在移动互联网的时代,移动app能解决用户的很多生活琐事,比如 导航:去任意陌生的地方 周边找餐馆找酒店,找银行,找电影院在上述应用中都用到了地图 ...
- Java遇见HTML——JSP篇之商品浏览记录的实现
一.项目总体介绍 使用Cookie实现商品浏览记录. 要实现这个程序采取的是Model1(Jsp+JavaBean)架构实现,具体步骤: 首先要有个数据库,商品表,操作数据库的一个类DBHelper类 ...
- 从 Vue 1.x 迁移
FAQ 哇,非常长的一页!是否意味着 Vue2.0 已经完全不同了呢,是否需要从头学起呢,Vue1.0 的项目是不是没法迁移了? 非常开心地告诉你,并不是! 几乎90%的 API 和核心概念都没有变. ...
- 理解MapReduce
理解MapReduce Hadoop的MapReduce过程具有如下形式: 1) map: (K1, V1) => list(K2, V2) 2) redu ...
- spring AutowireCapableBeanFactory 自动注入
文档:http://docs.spring.io/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/config/Auto ...
- Oracle-数据库
Oracle 1.特点 关系型数据库 采用二维表的行使管理数据库 具有行和列 表间存在关联关系 2.安装 数据库(11g) 版本类型 32位 64位 安装类型 桌面类 本机开发 服务器类 生 ...