2010-04-03

Unix Geek的10个顶级Mac OS X技巧

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可以看到更详细的列表):

  1. .DS_Store :Finder的配置
  2. .Spotlight-V100 :包含Spotlight配置
  3. .Trashes :这个目录包含的文件在回收站(Trash)中
  4. .fseventsd :由文件系统事件框剪所使用的
  5. .hotfiles.btree :由Mac OS X的Hot-File-Adaptive-Clustering功能跟踪高频率使用的文件
  6. .vol/ :这个目录映射HFS+文件ID到文件
  7. Applicatioins/ :包含所有Mac OS X应用程序,查看 Utilies/ 子目录可以看到很多有趣的工具
  8. DesktopDB, Desktop DF :经典的Mac OS X桌面数据库
  9. Desktop Folder/ :Mac OS 9桌面目录
  10. Developer/ :开发者工具与文档,仅在你安装了开发者工具后才会有
  11. Library/ :本地应用所需的支持文件
  12. Network/ :网络挂载应用、库和用户目录,如同服务器目录
  13. Shared Items/ :由Mac OS 9用于用户间共享的目录
  14. System Folder/ :Mac OS 9系统目录
  15. System/ :包含系统和应用支持文件
  16. Temporary Items/ :Mac OS 9的临时文件
  17. TheVolumeSettingsFolder/ :用于跟踪打开窗口和桌面打印机细节的目录
  18. Trash/ :Mac OS 9的Trash目录
  19. Users/ :用户主目录
  20. VM Storage :Mac OS 9虚拟内存文件
  21. Volumes/ :包含所有挂载的文件系统
  22. automount/ :处理静态NFS挂载的目录
  23. bin/ :基本系统二进制文件
  24. cores/ :如果起用了core dumps(通过tcsh的limit或bash/sh的ulimit),就会在这个目录创建 core.pid
  25. dev/ :包含描述多种设备的文件
  26. etc/ :包含系统级配置
  27. mach :符号链接到 /mach.sym 文件
  28. mach.sym :内核符号
  29. mach_kernel :Darwin内核
  30. private/ :包含tmp、var、etc、cores目录
  31. sbin/ :系统管理和配置的可执行文件
  32. tmp/ :临时文件
  33. usr/ :包含BSD Unix应用和支持文件
  34. var/ :包含频繁修改的文件

5 隐藏文件的不同方式

有如其他Unix,你可以在文件名前加上"."来使其隐藏,例如 /.vol 。这在Finder中是有效的,不过在"ls -a"时却会显示出来。

Mac OS X使用根目录的 .hidden 文件管理需要在Finder中隐藏的文件列表。

同样,HFS+(Mac OS的文件系统)文件和目录可以有一个隐藏属性,通过SetFile命令来设置, SetFile -a V 。这个命令在 /Developer/Tools 目录,需要在安装开发工具后才可用。设置在你重新启动Finder前不会自动生效。你可以注销后重新登录,或者使用苹果菜单的强制退出。你也可以关闭隐藏 属性,通过 SetFile -a v 。查看SetFile的man手册了解更多。注意拥有隐藏属性的文件只是在Finder中隐藏,而ls命令仍然可以看到。

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

没有评论:

发表评论