Unix Geek的10个顶级Mac OS X技巧
作者: | Brian Jepson |
---|---|
译者: | gashero |
原作题目: | Top Ten Mac OS X Tips for Unix Geeks |
原作日期: | 2007-05-15 |
翻译日期: | 2009-08-25 |
地址: | http://macdevcenter.com/pub/a/mac/2002/10/22/macforunix.html |
- 1 我的shell在哪
- 2 sudo而不是su
- 3 启动项
- 4 文件系统布局
- 5 隐藏文件的不同方式
- 6 别名与链接
- 7 X11
- 8 Fink
- 9 /etc并不总是托管一切
- 10 shutdown并不是真的
Note
编者注:
我们注意到这篇有5年历史的文章仍然被大量的关注,于是我们最近联系了Brian Jepson更新了部分章节。本文就是他对"oldie but goodie"的更新。
距离上次我与Ernie Rothman编写《Mac OS X for Unix Geeks》已经多年了,我发现top10技巧已经有所改变。这些技巧会告诉你Mac OS X与你喜欢的Unix之间有什么不同;帮助你找回使用Unix的技艺;和使用ports开源软件的功能。
1 我的shell在哪
一个Unix极客没有shell是走不远的,不对么?你可以在Finder的 /Applications/Utilities 中找到终端程序。可以把终端拖放到你的dock中来快速启动。
启动终端以后,你可以使用缺省shell,bash。你也可以在菜单中定制终端的显示与设置。你也可以设置终端菜单的属性使其启动。
2 sudo而不是su
默认情况下Mac OS X上是禁用root用户的。如果你需要用root做一些事情,使用 sudo 命令。只要把需要执行的命令放在 sudo 之后即可,例如 sudo vi /etc/hostconfig 。主用户默认拥有这个权限。
如果你需要root的shell,可以使用 sudo tcsh 或者 sudo bash 。如果你想启用root,最简单的方式是给root一个密码 sudo passwd root 。你也可以进入系统设置(System Preferences),选择账户(Account),登录选项(Login Options),选择和显示登录窗口为 "to name and password" 。然后你可以注销并使用root登录了。
3 启动项
Mac OS X的启动方式不像其他Unix系统。MacOSX没有 /etc/init.d 目录。他寻找启动项通过 launchd 程序。你可以在 in this ADC article 了解更多的内容。
4 文件系统布局
当你打开Finder中硬盘顶层目录,你会看到熟悉的 /var 和 /usr 不见了。她们实际上是隐藏了。如果你打开一个终端,使用"ls /"还是可以看到的,还有一些其他目录,如 /Library 和 /Developer 。
如下表格列出了一些你可能看到的目录(附录A可以看到更详细的列表):
- .DS_Store :Finder的配置
- .Spotlight-V100 :包含Spotlight配置
- .Trashes :这个目录包含的文件在回收站(Trash)中
- .fseventsd :由文件系统事件框剪所使用的
- .hotfiles.btree :由Mac OS X的Hot-File-Adaptive-Clustering功能跟踪高频率使用的文件
- .vol/ :这个目录映射HFS+文件ID到文件
- Applicatioins/ :包含所有Mac OS X应用程序,查看 Utilies/ 子目录可以看到很多有趣的工具
- DesktopDB, Desktop DF :经典的Mac OS X桌面数据库
- Desktop Folder/ :Mac OS 9桌面目录
- Developer/ :开发者工具与文档,仅在你安装了开发者工具后才会有
- Library/ :本地应用所需的支持文件
- Network/ :网络挂载应用、库和用户目录,如同服务器目录
- Shared Items/ :由Mac OS 9用于用户间共享的目录
- System Folder/ :Mac OS 9系统目录
- System/ :包含系统和应用支持文件
- Temporary Items/ :Mac OS 9的临时文件
- TheVolumeSettingsFolder/ :用于跟踪打开窗口和桌面打印机细节的目录
- Trash/ :Mac OS 9的Trash目录
- Users/ :用户主目录
- VM Storage :Mac OS 9虚拟内存文件
- Volumes/ :包含所有挂载的文件系统
- automount/ :处理静态NFS挂载的目录
- bin/ :基本系统二进制文件
- cores/ :如果起用了core dumps(通过tcsh的limit或bash/sh的ulimit),就会在这个目录创建 core.pid
- dev/ :包含描述多种设备的文件
- etc/ :包含系统级配置
- mach :符号链接到 /mach.sym 文件
- mach.sym :内核符号
- mach_kernel :Darwin内核
- private/ :包含tmp、var、etc、cores目录
- sbin/ :系统管理和配置的可执行文件
- tmp/ :临时文件
- usr/ :包含BSD Unix应用和支持文件
- var/ :包含频繁修改的文件
5 隐藏文件的不同方式
有如其他Unix,你可以在文件名前加上"."来使其隐藏,例如 /.vol 。这在Finder中是有效的,不过在"ls -a"时却会显示出来。
Mac OS X使用根目录的 .hidden 文件管理需要在Finder中隐藏的文件列表。
同样,HFS+(Mac OS的文件系统)文件和目录可以有一个隐藏属性,通过SetFile命令来设置, SetFile -a V
6 别名与链接
有两种方式创建连接。第一种是在Finder中拖动文件到新位置时按住Option和Command键,或在文件菜单选择"Make Alias"。这会创建Mac OS别名,Cocoa、Carbon、Classis应用都可以跟踪的。不过Unix应用会忽略这些连接,把他们看作0字节的文件。
你也可以用 "ln" 或 "ln -s" 。如果用这种方式,Unix、Cocoa、Carbon、Classic应用都可以接受。
7 X11
Mac OS X并没有使用X Window系统。而是使用本地高级图形显示系统叫做Aqua。但是,如果你想要运行X11应用,你也很幸运:Apple有它自己的X11实现,并可以与 Aqua很好的集成,你可以在Mac OS X的安装CD中找到安装包。如果没有缺省安装,运行安装后,你就可以与Mac OS X一样的使用了。
8 Fink
是不是找不到一些Unix或Linux应用程序了?看看 Fink Project 吧,它通过修改开源软件,以便可以运行在Mac OS X。Fink已经包含了很多应用,更多的正在移植中。
9 /etc并不总是托管一切
如果你从其他Unix转到Mac OS X,你可能希望通过 /etc/passwd 和 /etc/group 文件添加用户和组。缺省时,Mac OS X只在单用户模式使用这些文件。如果你想添加用户和组,你需要进入目录服务数据库,一个本地信息库。对于更多信息,查看ADC文章 http://developer.apple.com/documentation/Porting/Conceptual/PortingUnix/additionalfeatures/chapter_10_section_9.html 。
10 shutdown并不是真的
在相当长的一段时间里,Mac OS X无法在shutdown时执行自定义动作。SystemStarter框架可以执行自定义shutdown动作。更多信息参考 http://www.macdevcenter.com/pub/a/mac/2003/10/21/startup.html 。