在Mac OS X上,什么是有用的命令行命令?


58

对于WindowsLinux线程,您发现在Mac OS X Server(或客户端)中最有用的命令是什么?


同意,这个站点似乎对stackoverflow更为负面,人们似乎准备“撤下”他们认为不符合标准的任何帖子-足以让我离开。
斩波器

谢谢,菜刀3。也许是因为与Mac有关而被否决了。我可以理解,不想看到很多苹果的东西,但实际上只是将/ ignore“ mac”添加到了您的标签中,并进行了排序
用户名的发布时间为

2
这个网站上有很多苹果特有的东西,这里的人们似乎很喜欢被别人拒绝。
斩波器

2
可以预料,我想...我们是sysadmins :-)
用户名

1
我喜欢您的用户名...用户名:)
Chopper3

Answers:



23

pbpastepbcopy与粘贴板(又称为剪贴板)进行交互。

例子:

# copies the directory listing
ls -l | pbcopy

# get pasteboard lines containing foo and save them in a_file
pbpaste | grep foo > a_file

我认为他们默认使用宏编码,因此,如果要使用UTF-8(您需要这样做),则应查看以下链接:


19
fs_usage

使您可以监视文件系统活动。如果您想查看某些应用程序创建的文件,则非常方便。有关更多说明,请参见http://rentzsch.com/macosx/fs_usageIntro


现在,Rentzsch提出他的博客的tumblr,而无需重新出版了他的档案,一个可以在这里阅读他的这个伟大的工具的解释:web.archive.org/web/20091231090628/http://rentzsch.com/macosx/...
乔Carroll 2012年


17
open .

在当前工作目录中打开查找程序窗口。


要启动其他应用,请使用以下命令:open -a“活动监视器”
用户名2009年

FreundeschönerGötterfunke...我的意思是,谢谢,谢谢,谢谢!我一直在寻找类似“ start”的Windows。就是这样!
Daniel Schneller

“打开文件名”的作用与在Finder中双击文件相同–它会启动关联的应用程序并打开文件。
克林顿·布莱克莫尔

13

从命令行,我喜欢具有以下能力:

创建并刻录“通用” CD / DVD:

$ mkisofs -allow-multidot -allow-leading-dots -d -hide-rr-moved \
-l -joliet-long -R -T -v \
-V VOLUME_NAME -o output.iso root-cd-dir /
$ hdiutil burn -noverifyburn output.iso

从CD / DVD创建ISO映像:

$ diskutil unmountDisk / dev / disk2s0
$ dd if = / dev / disk2s0 of = cdname.iso bs = 32m

寻找ldd时可以忘记otool命令:

$ alias ldd ='printf“将命令发送到\'\''otool -L \'\''-\ n” && otool -L'

从命令行挂载磁盘映像:

$ hdid diskimage.dmg(或.iso)

使用预览来访问手册页:

$ man -t rsync | 打开-f -a /Applications/Preview.app

1
+1为联机帮助页/预览提示。太棒了
山姆·哈利克


11
ipconfig getpacket en0

显示主以太网接口(en0)的网络配置。

如果您习惯Windows,并且认为“ ipconfig”已损坏-不是);-)您只需要添加几个参数


4
当然,如果您习惯使用Linux,那么'ifconfig en0'也可以正常工作。
蒂姆(Tim)

或使用en1无线网络。
达纳(Dana the Sane)

11
drutil tray open

由于没有从外壳外部访问Apple光盘驱动器上的弹出按钮,因此没有连接键盘时非常有价值(通过ssh)。


11

不能说足够,“开放”很棒。您可以在其GUI程序中打开文档,也可以使用-a选择该GUI程序。例如,

open -a vlc movie.avi

将打开VLC并告诉它在当前目录中加载movie.avi。

open movie.avi

将使用默认程序打开它。如果您只想打开一个程序,也可以这样做:

open -a system\ preferences

将运行系统偏好设置。您也可以打开Urls:

open vnc://myserver:5900

将打开“屏幕共享”并连接到myserver。

查看

man open

查看可以使用的所有标志。



9
networksetup

在命令行的“系统偏好设置”的“网络偏好设置”窗格中配置所有内容。使编写脚本或远程操作变得容易得多


8
sudo changeip -checkhostname

检查正向和反向DNS解析是否正常,并且经常向您显示可用于解决问题的命令。如果显示“名称匹配,没有任何变化”,则表示状态良好。如果您要更改服务器的网络配置,则至关重要。在将服务器提升为Open Directory Master之前使用此功能也很重要。




7
last

显示谁登录了系统,他们使用了多长时间以及重新启动系统的时间。

这是输出示例:

clinton   ttys000                   Thu May 28 22:33   still logged in
clinton   console                   Thu May 28 08:05   still logged in
reboot    ~                         Thu May 28 08:05 
shutdown  ~                         Wed May 27 20:15 
clinton   console                   Wed May 27 17:33 - 20:15  (02:42)
...

wtmp begins Thu May 14 09:26 


7
 lsof

列出打开的文件

当您要弹出USB驱动器并被告知正在使用该驱动器时,请务必使用它,请退出所有应用程序,然后重试。

$ sudo lsof /Volumes/CLINTON
COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    55966 clinton  cwd    DIR  14,12    16384    2 /Volumes/CLINTON
lsof    56042    root  cwd    DIR  14,12    16384    2 /Volumes/CLINTON
lsof    56043    root  cwd    DIR  14,12    16384    2 /Volumes/CLINTON

在这种情况下,我使用cd了驱动器,因此bash正在访问该卷。

请注意,如果看到“ mds”条目,则表示聚光灯正在索引驱动器。




6
osascript -e 'tell application "AppName" to quit'

让您从外壳退出应用程序。

osascript -e 'tell application "Finder" to sleep'

长壳脚本的最后一行很有用,脚本完成后可使Mac进入睡眠状态。我将其别名为iSleep。

pbpaste | script.sh |pbcopy

提取粘贴板的内容(编辑->复制)并将其通过管道传输到script.sh。将结果放入粘贴板,以供您编辑->粘贴到文档中。


5
mcxquery

这将使您了解将哪种MCX(受管客户端)设置应用于客户端计算机。

[GUI等效项是转到System Profiler,然后在“软件”部分下,单击“受管客户端”。]

确定计算机是否受到管理以及查看计算机是否正在获取您期望的设置非常有用。


5
sw_vers

显示当前安装的Mac OS X版本和内部版本。


4
system_profiler

仅在命令行上,为您提供与选择About This Mac-> More Info相同的结果。

跑步

system_profiler -usage

或查看手册页将为您提供使用方法的提示。

几个例子:

system_profiler -xml > MySystem.spx
# and later,
open MySystem.spx  # or just double click on it in the Finder

这会将系统配置文件转储到一个文件中,以后可以在其他计算机上查看该文件。

system_profiler SPUSBDataType

告诉您所有USB设备(包括其供应商和产品ID,它们可以帮助跟踪驱动程序)。

system_profiler SPUSBDataType | grep "Product ID" -c

会告诉您插入了多少个USB设备(包括内部USB设备),这对于查看计算机是否看到了设备(或者说Parallel抓住了设备或设备已死)很有用。 System Profiler GUI App,可以从菜单中选择“查看”->“刷新”以更新列表;可能会更容易。]

system_profiler SPHardwareDataType

将为您提供基本的硬件信息(可用于资产跟踪),以及

system_profiler SPHardwareDataType | grep Serial

将为您提供机器的序列号。




4
dns-sd -B _ssh
dns-sd -B _rfb
dns-sd -B _services._dns-sd._udp

列出在Bonjour中投放广告的服务器。最后一条建议列出了您可以列出的服务类型。列表是实时的,看完后按Ctrl-C。

最近的Linux和Windows的Bonjour SDK中都使用了相同的命令。



4
sudo opensnoop

在Leopard和更新版本中,报告是否处理打开文件(无论是否成功)。您可以要求它查看通过特定进程在系统上打开的所有文件,或者是否有任何进程在打开给定文件(带有不同类型的时间戳),并显示是否发生错误。

以下是更多详细信息:

opensnoop是dtrace脚本;/ usr / bin中还有许多其他功能可以查看诸如进程正在执行的系统,正在创建的进程以及正在执行的I / O之类的事情。运行apropos DTrace列表,然后查看手册页以获取详细信息。


我在努力诊断为什么有网络帐户的用户在OS 10.5.8上漫画生活Magiq 1.1崩溃时发现了opensnoop。

我(通过ssh多次运行,使用不同的帐户):

sudo opensnoop -e -n Comic > output.txt

网络用户打开的最后一个文件是这样的(带有完整路径):

/Network/Servers/.../username/Library/Icons/WebpageIcons.db

这使我想起了Safari 5.0对于网络用户的崩溃,我们通过管理不缓存收藏夹图标的首选项或重定向文件来解决此问题。苹果显然在Safari 5.0.1中修复了该问题,昨天我升级到Safari 5.0.2时,它修复了Comic Life Magiq用户的崩溃。


3
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent

启动远程桌面服务(如果仅具有SSH访问权限,但想使用客户端Mac上的GUI进行操作,则很有用)。有关更多选项,请参见:http : //support.apple.com/kb/HT2370


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.