Mac Tips

Table of Contents

1 Mac内置工具

1.1 sips(图片处理工具)

sips (scriptable image processing system) 是Mac下内置的图片处理工具。

如,查看图片相关属性:

$ sips -g dpiWidth file.png

如,图片格式的相互转换:

$ sips -s format png test.jpg --out test.png    # test.jpg  ->  test.png
$ sips -s format jpeg test.png --out test.jpg   # test.png  ->  test.jpg
$ sips -s format pdf test.gif --out test.pdf    # test.gif  ->  test.pdf
$ sips -s format jpeg test.gif --out test.jpg   # test.gif  ->  test.jpg

1.2 pkgutil

Mac中,使用工具 pkgutil 可以查询以pkg方式安装的包。

1.2.1 查询系统中安装的所有pkg

使用 pkgutil --pkgs 可以查询系统中安装的所有pkg,输出它们的 package-id 。如:

$ pkgutil --pkgs # list all installed packages
......
org.tukaani.xz
PDFReaderX
com.apple.pkg.GarageBand_AppStore
com.apple.pkg.iMovie_AppStore
......

1.2.2 查询某个pkg安装了哪些文件

使用 pkgutil --files package-id 可以查询 package-id 对应的包安装了哪些文件到系统中。如:

$ pkgutil --files org.tukaani.xz
bin
bin/lzcat
bin/lzcmp
bin/lzdiff
bin/lzegrep
bin/lzfgrep
bin/lzgrep
bin/lzless
bin/lzma
bin/lzmadec
bin/lzmainfo
bin/lzmore
bin/unlzma
bin/unxz
bin/xz
......

1.2.3 删除pkg安装的文件

如何删除安装的pkg包(下面以包org.tukaani.xz为例进行说明)?查询到pkg安装了哪些文件到系统后,手动删除它们即可。

$ cd /usr/local/                          # assuming the package is rooted at /usr/local/
$ pkgutil --only-files --files org.tukaani.xz | tr '\n' '\0' | xargs -n 1 -0 sudo rm -f           # 删除包org.tukaani.xz安装的文件。
$ pkgutil --only-dirs --files org.tukaani.xz | tail -r | tr '\n' '\0' | xargs -n 1 -0 sudo rmdir  # 删除包org.tukaani.xz安装的目录(rmdir只会删除空目录,不用担心会删除整个bin/等目录)

一旦你删除了pkg包,你可以用命令 pkgutil --forget 把它的相关记录信息也删除。如:

$ sudo pkgutil --forget org.tukaani.xz       # 需要sudo权限

这样,再通过 pkgutil --pkgs 命令就查询不到它的信息了。

参考:
https://superuser.com/questions/36567/how-do-i-uninstall-any-apple-pkg-package-file

1.2.4 使用pkgutil解压pkg文件

如果你想查看pkg安装文件中的某个文件,但你又不想安装它,你可以使用pkgutil命令完成。下面的命令会将filename.pkg文件解压至桌面:

$ pkgutil --expand filename.pkg ~/Desktop/

1.3 sw_vers

内置工具 sw_vers 可以打印出Mac系统的版本信息。如:

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.12
BuildVersion:	16A323

2 Mac第三实用工具

2.1 sshfs

sshfs 的原理是可以通过SFTP机制挂载远程文件系统。

Mac中安装sshfs的步骤:

$ brew cask install osxfuse   # 安装完osxfuse后,要重启电脑!
$ sudo reboot
$ brew install sshfs

挂载文件系统:

$ sshfs [user@]host:[dir] yourmountpoint

卸载文件系统:

$ fusermount -u yourmountpoint       # Linux中卸载sshfs文件系统
$ diskutil unmount yourmountpoint    # Mac中卸载sshfs文件系统

3 Mac快捷键

Mac中使用键盘快捷键,一般同时按住一个或多个修饰键(Modifier key)。

1 是修饰键及其符号表示。

Table 1: Modifier key and its symbol
Modifier key Symbol
Command
Shift
Option
Control
Caps Lock
Fn  

参考:
Mac keyboard shortcuts: https://support.apple.com/en-us/HT201236

3.1 剪切、拷贝、粘贴等常用快捷键

Mac中,剪切、拷贝、粘贴和其他常用快捷键如表 2 所示。

Table 2: 剪切、拷贝、粘贴和其他常用快捷键
快捷键 描述
Command-X 剪切:删除所选项并将其拷贝到剪贴板。
Command-C 将所选项拷贝到剪贴板。这同样适用于 Finder 中的文件。
Command-V 将剪贴板的内容粘贴到当前文稿或 app 中。这同样适用于 Finder 中的文件。
Command-Z 撤销前一个命令。随后您可以按 Command-Shift-Z 来重做,从而反向执行撤销命令。在某些 app 中,您可以撤销和重做多个命令。
Command-A 全选各项。
Command-F 查找:打开“查找”窗口,或在文稿中查找项目。
Command-G 再次查找:查找之前所找到项目出现的下一个位置。要查找出现的上一个位置,请按 Command-Shift-G。
Command-H 隐藏最前面的 app 的窗口。 要查看最前面的 app 但隐藏所有其他 app,请按 Command-Option-H。
Command-M 将最前面的窗口最小化至 Dock。 要最小化最前面的 app 的所有窗口,请按 Command-Option-M。
Command-N 新建:打开一个新文稿或窗口。
Command-O 打开所选项,或打开一个对话框以选择要打开的文件。
Command-P 打印当前文稿。
Command-S 存储当前文稿。
Command-W 关闭最前面的窗口。要关闭该 app 的所有窗口,请按 Command-Option-W。
Command-Q 退出 app。
Option-Command-Esc 强制退出:选择要强制退出的 app。或者,按住 Command-Shift-Option-Esc 3 秒钟来仅强制最前面的 app 退出。
Command-Tab 切换 app:在打开的 app 中切换到下一个最近使用的 app。
Shift-Command-波浪号 (~) 切换窗口:切换到最前端应用中下一个最近使用的窗口。
Command-逗号(,) 偏好设置:打开最前面的 app 的偏好设置。

3.2 屏幕截图快捷键

Mac中,屏幕截图快捷键如表 3 所示。

Table 3: Mac屏幕截图快捷键
功能 快捷键
全屏截图 Shift-Command-3
区域截图:选区 Shift-Command-4
区域截图:窗口 Shift-Command-4 + 空格键
全屏截图(保存到剪贴板) Shift-Command-Control-3
区域截图:选区(保存到剪贴板) Shift-Command-Control-4
区域截图:窗口(保存到剪贴板) Shift-Command-Control-4 + 空格键

说明1:使用快捷键“Shift-Command-4”对选区进行截图时,当用鼠标选择区域后不释放鼠标,可以接着按某些键实现其它功能,比如:

  • Shift键 - 重新定义截图区域的纵向高度或横向长度,不能同时实现。
  • Option键 - 重新定义截图区域的尺寸,可以同时实现纵向和横向的改变,但只能围绕中心区域展开。
  • 空格键 - 按住并拖动鼠标,可以移动截图选框位置。
  • Escape键 - 退出截图模式。

说明2:使用快捷键“Shift-Command-4 + 空格键”对窗口进行截图时,默认在窗口边缘有阴影。可以通过命令: defaults write com.apple.screencapture disable-shadow -bool true 来去除边缘的阴影(要使修改马上生效可以执行: killall SystemUIServer )。

参考:OS X是了不起的操作系统:最全的截图方法集锦

3.2.1 Tips: 把截图保存到剪贴板(而不是桌面上)

默认,截图完成后会保存所截图片到桌面上。

方法一:用快捷键:Shift-Command-Control-4(或Shift-Command-Control-3)
方法二:先按快捷键Shift-Command-4,在选好区域释放鼠标之前按住Control键。

3.2.2 Tips: 修改保存格式为jpg

默认,截图会保存为png格式(相对比jpg格式文件更大)。在终端中执行命令 defaults write com.apple.screencapture type jpg 可修改保存图片为jpg格式(要使修改马上生效可以执行: killall SystemUIServer )。

3.3 放大缩小字体快捷键

Mac中,屏幕截图快捷键如表 4 所示。

Table 4: 放大缩小字体快捷键
快捷键 描述
⌘ + 放大字体
⌘ - 缩小字体

4 Tips

4.1 Disable special charater

新建文件“~/Library/KeyBindings/DefaultKeyBinding.dict”,写入下面内容:

/* ~/Library/KeyBindings/DefaultKeyBinding.dict */

{
    /* Additional Emacs bindings */
    "~f" = "moveWordForward:";
    "~b" = "moveWordBackward:";
    "~<" = "moveToBeginningOfDocument:";
    "~>" = "moveToEndOfDocument:";
    "~v" = "pageUp:";
    "~d" = "deleteWordForward:";
    "~^h" = "deleteWordBackward:";
    "~\010" = "deleteWordBackward:";  /* Option-backspace */
    "~\177" = "deleteWordBackward:";  /* Option-delete */

    /* Escape should really be complete: */
    "\033" = "complete:";  /* Escape */
}

参考:https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings.html


Author: cig01

Created: <2017-07-30 Sun 00:00>

Last updated: <2018-08-16 Thu 13:29>

Creator: Emacs 25.3.1 (Org mode 9.1.4)