Mac|Mac shell使用技巧总结

1.文件操作

  • 常用目录
/Systme/Library/Extensions// 驱动所在目录 /User/XXX/Desktop// 桌面目录

  • 资源库
chflags nohidden ~/Library/// 显示资源库 chflags hidden ~/Library/// 隐藏资源库

  • 目录
命令名 功能描述 使用举例
mkdir 创建一个目录 mkdir XXX
rmdir 删除一个目录 rmdir XXX
mvdir 移动或重命名一个目录 mvdir XXX XXX
cd 进入目录 cd XXX
cd .. 回到上一目录 cd ..
cd ~ 回到用户根目录 cd ~
pwd 显示当前目录的路径名 pwd
ls 显示当前目录的内容 ls -al
open 打开当前目录 open .
  • 文件操作
命令名 功能描述 使用举例
cat 显示或连接文件 cat XXX
od 显示非文本文件的内容 od -c XXX
cp 复制文件或目录 cp XXX XXX
rm 删除文件或目录 rm XXX
rm -rf 强制删除文件或目录(慎用) rm -rf XXX
mv 移动文件到新路径 mv XXX XXX
find 使用匹配表达式查找文件 find . -name "*.c" -print
file 显示文件类型 file XXX
  • 选择操作
命令名 功能描述 使用举例
head 显示文件的最初几行 head -20 XXX
tail 显示文件的最后几行 tail -15 XXX
cut 显示文件每行中的某些域 cut -f1,7 -d: /etc/passwd
colrm 从标准输入中删除若干列 colrm 8 20 XXX
diff 比较并显示两个文件的差异 diff XXX XXX
sort 排序或归并文件 sort -d -f -u XXX
uniq 去掉文件中的重复行 uniq XXX XXX
comm 显示两有序文件的公共和非公共行 comm XXX XXX
wc 统计文件的字符数、词数和行数 wc XXX
nl 给文件加上行号 nl XXX >XXX
  • 文件编辑
touch abc.txt// 创建 abc.txt 文件 vim abc.txt// vim编辑 abc.txt :wq// vim保存并退出 :x// vim直接退出 nano abc.txt// nano编辑 abc.txt

  • 将文件转成 HTML,支持格式包括 Text, .RTF, .DOC.
textutil -convert html file.extension

2.系统操作
  • 进程操作
命令名 功能描述 使用举例
ps 显示进程当前状态 ps u
kill 终止进程 kill -9 30142
  • 时间操作
命令名 功能描述 使用举例
date 显示系统的当前日期和时间 date
cal 显示日历 cal 4 2016
time 统计程序的执行时间 time a.out
  • 启动与退出
shutdown - r now// 重启 Mac OS X shutdown now// 关闭 Mac OS X

  • 电源管理
pmset -g// 获取当前电源管理设置的信息 sudo pmset displaysleep 15// 设置显示器无活动15分钟后关闭 sudo pmset sleep 30// 让计算机在无活动30分钟后休眠

  • 外观
// 禁用仪表盘 defaults write com.apple.dashboard mcx-disabled -boolean YES // 启用仪表盘 defaults write com.apple.dashboard mcx-disabled -boolean NO

  • 隐藏文件显影
// 终端输入后重启Finder即可 defaults write com.apple.finder AppleShowAllFiles -bool true // 显示 defaults write com.apple.finder AppleShowAllFiles -bool false // 隐藏

  • .DS_Store文件处理
// 禁止.DS_Store文件生成 defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE // 恢复.DS_Store文件生成 defaults delete com.apple.desktopservices DSDontWriteNetworkStores // 删除所有.DS_Store文件 sudo find / -name ".DS_Store" -depth -exec rm {} \;

  • 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

  • 改变截屏图片的保存位置
defaults write com.apple.screencapture location XXX// XXX为存放位置

  • 去掉窗口截屏的阴影
defaults write com.apple.screencapture disable-shadow -bool true

  • 强制Safari在新标签中打开网页
defaults write com.apple.Safari TargetedClicksCreateTabs -bool true

3.网络操作
  • 网络与通信操作
命令名 功能描述 使用举例
telnet 远程登录 telnet hpc.sp.net.edu.cn
rlogin 远程登录 rlogin hostname -l username
rsh 在远程主机执行指定命令 rsh f01n03 date
ftp 在本地主机与远程主机之间传输文件 ftp.sp.net.edu.cn
rcp 在本地主机与远程主机之间复制文件 rcp file1 host1:file2
mail 阅读和发送电子邮件 mail
write 给另一用户发送报文 write username pts/1
mesg 允许或拒绝接收报文 mesg n
ping 给一个网络主机发送回应请求 ping hpc.sp.net.edu.cn
  • 检测某个主机是否运行HTTP服务或网络是否可用
curl -I www.baidu.com | head -n 1

  • 使用 dig 来诊断域名信息
dig www.oschina.net A dig www.oschina.net MX

  • 查看网络及相关信息
netstat -r// 显示系统路由表 netstat -an// 显示活动网络连接 netstat -s// 显示网络统计

4.其他常用
history// 查看终端输入历史 clear// 清空bash输入框

  • 结束进程
killall Finder// 重启Finder killall Dock// 重启Dock defaults delete com.apple.dock// 重置系统Dock killall SystemUIServer// 结束进程

  • 其他命令
命令名 功能描述 使用举例
uname 显示操作系统的有关信息 uname -a
clear 清除屏幕或窗口内容 clear
alias 给某个命令定义别名 alias del=rm -i
unalias 取消对某个别名的定义 unalias del
who 显示当前所有设置过的环境变量 who
whoami 显示当前正进行操作的用户名 whoami
tty 显示终端或伪终端的名称 tty
du 查询磁盘使用情况 du -k subdir
stty 显示或重置控制键定义 stty -a
df/tmp 显示文件系统的总空间和可用空间 -
w 显示当前系统活动的总信息 -
5.查询操作
  • find命令
unix命令,试用于OS X和Linux,格式为 find 文件路径 参数
// 在当前路径下搜索名字中包含`.md`的文件 find ~ -iname"*.md" // 在特定的路径下搜索特定的文件 find SilverBulletZyp.github.io/_posts "*.md"

  • mdfind命令
Spotlight功能的终端界面,若Spotlight功能被禁用,则mdfind也无法工作,mdfind命令非常高效迅速
【Mac|Mac shell使用技巧总结】格式为 mdfind -name 文件名字
// 搜索本地所有的.md文件 mdfind -name ".md" // 搜索本地名为fenxiang@2x文件位置 mdfind -name fenxiang@2x // 搜索本地所有包含该字段的文件 mdfind "请输入密码" // 添加-onlyin参数搜索指定目录指定文件或文件字段 mdfind -onlyin ~/company/ "请输入密码" mdfind -onlyin ~/company/ plist

    推荐阅读