40 个很有用的 Mac OS X Shell 脚本和终端命令

红薯 发布于 2012/08/01 21:57
阅读 61K+
收藏 147

这里有一堆的 Mac OS X 下的终端命令,我将这些命令进行了简单的分类,这里很多命令在其他系统(Windows、Linux)一样有效,特别是 Linux/Unix。希望这些命令对你有帮助。

系统

重启 Mac OS X:

shutdown - r now

关闭 Mac OS X:

shutdown now

电源管理/省电

获取当前电源管理设置的信息

pmset -g

设置显示器无活动15分钟后关闭

sudo pmset displaysleep 15

让计算机在无活动30分钟后休眠

sudo pmset sleep 30

OS X 外观

禁用仪表盘(别忘了将仪表盘 Dock 图标拖动出来)

defaults write com.apple.dashboard mcx-disabled -boolean YES
killall Dock

启用仪表盘

defaults write com.apple.dashboard mcx-disabled -boolean NO
killall Dock

强制 Finder 程序显示隐藏文件

defaults write com.apple.finder AppleShowAllFiles TRUE

强制 Finder 程序不显示隐藏文件

defaults write com.apple.finder AppleShowAllFiles FALSE

网络

ping 某个主机

ping -o oschina.net

使用 traceroute 诊断到某个主机的路由节点

traceroute oschina.net

检查某个主机是否运行 HTTP 服务,或者检查某网站是否可用

curl -I www.oschina.net | head -n 1

管理 Windows 网络(相当于 Windows 下的 NET 命令),该命令有很多选项,运行下面命令来查看这些选项

man net

使用 dig 来诊断域名信息

dig www.oschina.net A
dig www.oschina.net MX

查看谁正在登录到你的 Mac 机器

w

显示系统路由表

netstat -r

显示活动网络连接

netstat -an

显示网络统计

netstat -s

故障诊断

列表所有打开的文件

lsof

重启 Bonjour – 当网络中没有 Mac 时很有用

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

弹出 CD (注意不一定是 disk1)

diskutil eject disk1

文本操作命令

经常你需要从剪切板或者文件中获取某些文本,并对这些文本进行转换和使用,这里列举的命令都是跟文本处理相关的

统计剪贴板中文本的行数

pbpaste | wc -l

统计剪贴板中文本的单词数

pbpaste | wc -w

对剪贴板中的文本行进行排序后重新写回剪贴板

pbpaste | sort | pbcopy

对剪贴板中的文本行进行倒序后放回剪贴板

pbpaste | rev | pbcopy

移除剪贴板中重复的文本行,然后写回剪贴板

pbpaste | sort | uniq | pbcopy

找出剪贴板中文本中存在的重复行,并复制后写回剪贴板(包含重复行的一行)

pbpaste | sort | uniq -d | pbcopy

找出剪贴板中文本中存在的重复行,并复制后写回剪贴板(不包含重复行)

pbpaste | sort | uniq -u | pbcopy

对剪贴板中的 HTML 文本进行清理后写回剪贴板

pbpaste | tidy | pbcopy

显示剪贴板中文本的前 5 行

pbpaste | head -n 5

显示剪贴板中文本的最后 5 行

pbpaste | tail -n 5

将剪贴板中文本里存在的 Tab 跳格符号转成空格

pbpaste | expand | pbcopy

其他有用的命令

A:

htpasswd -nb username password

B:

AuthType Basic
AuthName "restricted area"
AuthUserFile /path/to/your/site/.htpasswd
require valid-user

显示终端窗口中之前输入的命令

history

将文件转成 HTML,支持格式包括 Text, .RTF, .DOC.

textutil -convert html file.extension

Nano 是一个很简单易用的文本编辑器,可用于快速更改文本文件,比 vim 功能弱很多,但很方便

nano [file_to_edit]

在 nano 编辑器中,可使用 ctrl+o 来保持,ctrl+x 来退出。

清理终端显示的内容

clear

iTunes 相关

更改 iTunes 链接行为为本机 iTunes 库,而不是 iTunes Store

defaults write com.apple.iTunes invertStoreLinks -bool YES

更改 iTunes 链接行为为 iTunes Store,而不是本机 iTunes 库

defaults write com.apple.iTunes invertStoreLinks -bool NO

其他 Mac OS X 终端资源

Mac OS X Hacking Tools (old but detailed list for the obsessive only).

Cameron Hayne’s Bash Scripts

Mac OS X Hints

Apple Forums

注意: 前面的很多例子我们用了 pbpaste 来从剪贴板中获取数据,也可使用 cat 来从文件中获取数据

cat [/path/to/filename]

要将结果放到桌面的一个文件,可将 pbcopy 替换为:

> ~/Desktop/filename.txt

 

英文原文OSCHINA原创翻译

加载中
0
刘冲
刘冲
怎么没有 rm -rf /
cntoby
cntoby
sudo rm -rf / 才有用
Jason阿坚
Jason阿坚
太坏了.
Z
ZYud
回复 @liuwait : 没有sudo,会将能删除的都删除,基本上都是用户数据,比系统更重要.
lidashuang
lidashuang
试一下
墨冥延_
墨冥延_
坏人漏了权限。
下一页
0
魔力猫
魔力猫
不都是标准的unix命令吗?
0
Michael-W
Michael-W

引用来自“刘冲”的答案

怎么没有 rm -rf /
的确是坏人~~
0
DianXiaoer
DianXiaoer
这种帖子没新意,MAC本来就是基于UNIX的。
0
H丶World
H丶World
命令已学会 就差Mac了
黑土豆
黑土豆
一样
落舞者
落舞者
哈哈
BENNEE
BENNEE
哈哈
Jason阿坚
Jason阿坚
有意思啊...吼吼
0
施峰
施峰
标题党
0
icheer
icheer

引用来自“H丶World”的答案

命令已学会 就差Mac了
我也是呀,ubuntu用好久了,好想换成macbook
0
luwikes
luwikes

关机:halt

重启:reboot

0
Glitter
Glitter

看看哪些不会~

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部