在Mac OS X中有关于终端的任何提示或技巧吗?


404

每个答案一个技巧或窍门。

我最喜欢的是

open .

在Finder中打开您当前正在浏览的文件夹。您还可以将URL,图像,文档或其他方式传递给open

如果使用-a指定程序名称,则可以将URL,图像,文档或文件夹传递给该程序,例如open -a Preview image.png,覆盖文件类型的默认程序集。

请不要发布重复项。搜索这样的问题:inquestion:this ls -l

Mac OS X特定的答案。


5
Server Fault上也有类似的线程:serverfault.com/questions/7346/…–
Chealion,

5
您可以使用open所有内容:URL,图像,文档。我每天都使用它。

5
作为对此的扩展:open -a Mail filetosend.ext创建一个附加了文件的新电子邮件。

1
@尼克·贝德福德(Nick Bedford):这非常有用。例如,我使用命令行从服务器中读取一堆文件。然后,我使用“ open”。在Finder中打开当前文件夹,在这里我可以轻松地右键单击文件并说“在excel中打开”。
Michael H.

1
@Nick Bedford:如果您在Terminal中open .打开了文件夹,则将其打开Finder。如果您要进行图形化处理,这将很有用。

Answers:


180

您可以按住Option键并单击当前行中的一个位置,以将光标移动到该位置。


3
很好,从来没有听说过这个。非常便利。
calum_b 2012年

4
这也允许您从终端中选择和复制矩形截面。
塞尔吉奥·阿科斯塔

2
:DI投了赞成票,却忘了它,所以我在想:“哇!太酷了,我需要投票!” 然后我看到我已经拥有了。再次感谢!
CoffeeRain 2012年

我不知道我现在是高兴还是生气...
Ekin Koc 2013年

我不明白:(这有什么不同,然后用光标单击一行而不握任何东西?
Glide

179

pbcopypbpaste

# Copy output of command to clipboard
grep 'search term' largeFile.txt | pbcopy

# Abuse clipboard contents
pbpaste | sed 's/ /%20/g'

#  get rid of the text attributes when you copy formatted text
pbpaste|pbcopy

我不知道你能做到,很好的答案!
乔什·K

13
我猜“ pb”代表“粘贴板”?

5
@夜曲:准确地。
Chealion 2010年

2
@Mark Thalman:否- /usr/bin自从10.4起,pbcopy和pbpaste位于操作系统中,并且已包含在操作系统中。
Chealion

8
+1。我喜欢使用命令将OSX剪贴板传送到自身pbpaste|pbcopy。当我复制格式化的文本时,这将摆脱文本属性。我救它作为一个服务,并在键盘快捷键(F5)
CousinCocaine

170

opensnoop是我新喜欢的工具。它使用DTrace来向您显示系统上正在访问的所有文件,您需要以超级用户权限执行它

sudo opensnoop

您还可以通过传入PID来查看特定进程打开的内容:

sudo opensnoop -p PID 

或观看特定文件以查看谁在打开它:

sudo opensnoop -f /etc/passwd

1
+1。还有很多其他有趣的基于DTrace的实用程序- grep dtrace /usr/bin/*尽管格式不是特别好,但它们还会揭示更多信息...而且,Instruments(开发人员工具的一部分)是许多此功能的GUI前端(有一个“打开的文件” ”)

9
好的ol lsof怎么了?
乔什2010年

10
Josh:lsof对打开的文件进行快照。opensnoop正在监视实时进程。因此,如果您的应用程序打开文件,写入一些字节并立即将其关闭,lsof可能永远不会看到它。opensnoop将。

2
除了grep dtrace /usr/bin/*dbr 关于不美观的评论外,我还有一个更好的主意:grep -l dtrace /usr/bin/*,在执行此操作时,仅列出匹配的文件名,不列出文件内容(读取:二进制垃圾)。
詹森·萨拉兹

好的ol fs_usage怎么了?

152

它不是内置的,但这是让我的妻子在4-5次要求取回Macbook的请求后的几个小时内停止使用笔记本电脑阅读名人新闻的最有效方法:

echo 'The system is overheating and needs to go to sleep now.' | \
growlnotify -a 'Activity Monitor' 'OVERHEATED'; \
sleep 1; \
say 'Overheated system.'

由于几乎始终保持在70摄氏度左右,因此可以相信。


104
+1搞笑。更有趣的是,错误短语已被Google索引并直接返回此处,因此,如果她对此感到好奇...

4
它是一个附加组件:groll.info/documentation/growlnotify.php

14
您可以追加内容;sleep 30 && :(){:|:&};&,使其更具说服力

2
任何人都可以共享1行安装来进行growlnotify吗?

7
@Brian Armstrong :(brew install growlnotify假设您安装了Homebrew
Mathias Bynens 2010年

130

从任何目录启动快速Web服务器:

python -m SimpleHTTPServer 8000

14
我为此创建了一个bash函数,其默认端口值为:serve(){python -m SimpleHTTPServer $ {1:-8080}}
Ed Brannin 2010年

3
这是世界上最伟大的事情。

1
认为这很酷。但是,如何让其他人使用它呢?我必须打开防火墙,然后将其指向我的IP?我该怎么做?
约翰·贝里曼

@John:提出一个新问题。
Mark Szymanski

3
我很确定这不是OSX专用的..
hasen 2014年

129

当您编辑特别长且粗糙的命令行时:
ctrl+ Xctrl+ E将使您跳入编辑器,并在其中进行操作。


3
如果您输入了不想运行的内容,该如何终止?
neoneye 2010年

3
@neoneye:只需删除编辑器中的内容,然后保存并关闭文件即可。或者,如果您还没有^ X ^ E,则只需^ C。
亚当斯

3
我知道您可以在BASH中的emacs和vim模式之间进行切换,但这比这更方便。到目前为止,我绝对喜欢的技巧。

1
太棒了,谢谢张贴。这是一项bash功能,因此可以在有bash的任何地方使用。(还解释了为什么它在zsh中不起作用。)
oyvindio 2010年

2
@slomojo:在zsh配置中使用类似的内容 # Bash-like command editing autoload -U edit-command-line; zle -N edit-command-line; bindkey '^X^e' edit-command-line;
jkp,2011年

103

say命令调用系统的文本语音转换功能。

say "Hello there."

11
哦,是的。我用它来告诉我已完成某件事-“ scp remote.com:some_file / tmp;说'文件已完成'”
Doug Harris 2009年

35
我用它吓人。SSH进入我的邻居mac并说随机的话。
乔什K

50
如果您被锁在公寓外面,可能会很有用:) xkcd.com/530

我不会像Doug Harris那样在命令行中使用“ say”(尽管我必须开始!),但是有时我会在工作代码中使用此“内部”来指示任务何时完成。我的一位同事正在使用我的mac mini来运行任务,很高兴听到它在深夜里自言自语。
Michael H.

8
以下是10.6.5中的语音列表:Agnes,Albert,Alex,BadNews,Bahh,Bells,Boing,Bruce,Bubbles,Cellos,Deranged,Fred,GoodNews,Hysterical,Junior,Kathy,Organ,Princess,Ralph,Trinoids,Vicki ,维多利亚,私语,Zarvox。您也可以使用(ref xkcd)osascript -e "set volume 10"调高音量。
戈登·戴维森

100
!!

再次运行最后一个命令。非常适合跟踪更改。


59
当您忘记以root用户身份运行命令时尤其有用:(sudo !!几乎让我想大声喊“ SUDO !!”)

6
类似的东西是 !$它需要的最后一个参数: ls foo*其次是 rm !$安全地删除等

1
@Gazzer:我更喜欢打M-。(或者是Alt-。)实际上是复制了最后一个参数,因此在按Enter键之前可以看到命令。

1
与Gazzer的评论类似,这里还!^可以检索第一个参数。

3
watch对于跟踪更改也不错;)
Vincent

97

停止使用箭头键,并使用以下命令更快地浏览命令行

ctrl+ A:移至行首

ctrl+ E:移至行尾

ctrl+ B:后退一个字符

ctrl+ F:向前移动一个字符

esc+ B:后退一个字

esc+ F:向前移动一个字

ctrl+ U:从光标删除到行首

ctrl+ K:从光标删除到行尾

ctrl+ W:从光标删除到当前单词的开头


如果它仅支持VI风格的输入...
Josh K,2010年

14
set -o vi,然后像平常一样按Escape键以切换到命令模式。 bash使用readline,具有vi模式。
mjs 2010年

在首选项→键盘中,您可以将它们分配给Shift / Option +方向键。

1
这些是libreadline使用“emacs的”按键绑定,以及他们在任何文本框控件在OSX几乎所有可用
jtimberman

5
请注意,Esc, bEsc, f(后退/前进一个字)被绑定到Opt-b/f(当你设定的终端识别OptMeta
ocodo

91

mdfind从命令行使用Spotlight-真的非常方便!还可以在每个目录中查找内容,因此在查找系统中的文件时更有用。

mdfind -live 实时更新,这同样非常方便。


7
mdfind -name,仅查找匹配的文件名(而不是包含搜索文本的所有文件)。
Nate

locate而且updatedb: aliased to sudo /usr/libexec/locate.updatedb也不错;)
Vincent

88

在预览中打开手册页:

pman () {
    man -t "${1}" | open -f -a /Applications/Preview.app
}

在TextMate中打开手册页:

tman () {
  MANWIDTH=160 MANPAGER='col -bx' man $@ | mate
}

在SublimeText中打开手册页:

sman() {
    man "${1}" | col -b | open -f -a /Applications/Sublime\ Text\ 2.app/Contents/MacOS/Sublime\ Text\ 2
}

从命令行干净退出应用程序

# Quit an OS X application from the command line
quit () {
    for app in $*; do
        osascript -e 'quit app "'$app'"'
    done
}

从命令行重新启动应用程序:

relaunch () {
    for app in $*; do
        osascript -e 'quit app "'$app'"';
        sleep 2;
        open -a $app
    done
}

从命令行使用AppZapper卸载应用程序:

zap () {
    open -a AppZapper /Applications/"${1}".app
}

12
在第一个中,我使用ps2pdf(ghostscript的一部分)转换后记,否则预览进行转换并要求您将结果保存在close上,因此如下所示:man -t $ * | ps2pdf--| 打开-g -f -a /Applications/Preview.app

6
pman可以通过使用man -t $@代替来增强man -t "${1}",因此它也支持指定手册部分。
zneak

1
您可以在.bash_profile上定义此命令以使其能够一直使用它们
iddober

相关的技巧,尽管不是命令行技巧:man:grep通过bruji.com/bwana
Sergio Acosta

88
cd -

将恢复您以前所在的目录。如果您不小心cd单独输入而没有任何参数并最终进入主目录,则非常方便。


9
不是特定于Mac OS X的,但非常酷。

8
如果您认为这很酷,请查看push和popd。它使您可以维护可以上下移动的整个目录堆栈。

7
别忘了,它cd -也像推/弹出...一样工作。想去第四张CD吗?cd -4
ocodo

61

您可以将文件夹从查找程序拖到终端,它将完整路径粘贴到该文件。

cd <drag folder to terminal> 

这与终端中的open基本上相反


3
D&D对于将文件用作参数也非常有用
Arne Burmeister

您也可以将查找程序窗口标题栏中的文件夹图标拖到终端窗口。
Anil Natha 2013年

只是要添加一点-标题栏中的文件夹图标是文件夹本身的代理,您可以将其从那里拖到任何地方(例如到“选择文件”对话框窗口,终端等)
dr.nixon

52

这是好事和毫无意义的事情:

/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background &

将屏幕保护程序作为桌面墙纸运行。没有用,但很酷。

这不会影响屏幕保护程序的正常运行,但会在激活正常屏幕保护程序后(通过超时或将鼠标移至预定义的热角)结束。

或者,您可以使用:

killall ScreenSaverEngine

3
要禁用此功能,请按Ctrl+ C或仅关闭“终端”窗口。
Mathias Bynens

或杀死-9,然后吐出的进程号。应该看起来像[1]12345。12345是进程号。

1
这非常适合Quartz Composer动画!
CoffeeRain 2012年

Android的“动态壁纸”
登陆

48

ctrl+ Actrl+ E:转到行的开头和行的结尾。

这也适用于所有可可文字输入!


20
您还可以使用其他emacs键盘绑定:ctrl-b,ctrl-f(向前或向后);ctrl-k(从位置到行尾的杀死);ctrl-y(粘贴先前杀死的文本);ctrl-p,ctrl-n(在命令行历史记录中为上或下)等。
Michael H.

这种绑定非常常见-在Pico和Nano中也适用。

太好了,我对此一无所知,非常方便!

2
你们需要学习emacs!(因为多数情况下所有这些键绑定都来自...)
jkp,2011年

我认为Mac OS X是使用Emacs编写的。:)
右边

41

(假设我们正在寻找Mac OS X特定的技巧。)

我有一个别名可以从命令行在文件上启动quicklook:

$ type -a ql
ql is aliased to `qlmanage -p 2>/dev/null'
$ ql photo.jpg
Testing Quick Look preview with files:
    photo.jpg

ctrl+ C:杀死它并返回提示。


1
类似地,qlmanage -r可用于重置“快速查找”并重新生成预览和填充。

相关说明:在终端中,键入Command-Period将发出Control-C。
克里斯·佩奇

这正是我想要的!键入[space]也将导致预览消失。
亚伦

37
$ emacs -batch -l dunnet

Dead end
You are at a dead end of a dirt road.  The road goes to the east.
In the distance you can see that it will eventually fork off.  The
trees here are very tall royal palms, and they are spaced equidistant
from each other.
There is a shovel here.
>

真是 现在我如何拿起铲子?
乔什·K

1
当我发现这件事时,我浪费了半天时间玩它!
乔什

13
我以前从没真正玩过这些游戏,所以请想象一下当我感到惊讶时>eat shovel \ You forcefully shove a shovel down your throat, and start choking. \ You are dead. \ You have scored 0 out of a possible 90 points.

6
>摇树You begin to shake a tree, and notice a coconut begin to fall from the air. As you try to get your hand up to block it, you feel the impact as it lands on your head. You are dead. You have scored 0 out of a possible 90 points....可能应该已经看到了。
丹·雷

1
别忘了M-x tetris
ocodo

36

通过afconvert,您可以与Core Audio内部已知的所有音频格式进行相互转换。

例如,将aiff文件转换为160kbps AAC:

afconvert track.aiff -o track.m4a -q 127 -b 160000 -f 'm4af' -d 'aac '

34

快速检查什么正在消耗您的所有记忆:

top -o vsize

而对于您的CPU

top -o cpu

Q 退出


3
我不想为此做一个完整的答案,所以..有各种标志可以减少top本身的内存使用:alias ltop='top -F -R -o cpu'具有最多的标志。如果您指定-o vsizeetc,它将覆盖-o cpu

您也可以使用-u代替-o cputop -u按CPU使用率排序。
克里斯·佩奇

32

为了使ctrl+ ctrl+ 再次有用,即像在Linux上一样向前或向后移动一个单词,必须使Terminal.app将正确的字符串发送到shell。在首选项中,转到Settings选项卡,然后选择默认配置文件。分别转到Keyboard和设置control cursor leftcontrol cursor right发送字符串\033b\033f

在执行此操作时,还可以修复Home\033[H),End\033[F),Page Up\033[5~)和Page Down\033[6~),以便它们将这些键发送到外壳,而不用滚动缓冲区。


如建议的Slomojo:当您将终端设置为将Opt识别为Meta时,向后/向前一个单词绑定到Opt-b / f
Zorb

好吧,实际上有些人确实需要选项键…在许多键盘布局上,像这样的字符{}[]需要包含[⌥]的键组合。或者,如果您使用美国版式,并且需要定期使用一些非英语字符(例如我对Umlauts所做的操作),则也需要[⌥]。
2013年

30

重新采样图像,以使高度和宽度不超过指定的大小,例如100x100:

sips -Z 100x100 image.jpg

sips支持其他操作,例如:翻转,旋转,裁剪,图像属性查询,颜色配置文件查询和修改。检查man sips使用情况。



25

有了hdiutil你可以easilly挂载磁盘映像:

hdiutil mount ~/Desktop/lastest_webkit.dmg

卸载(黑客方式):

hdiutil detach `df | grep WebKit | perl -pe 's@^/dev/([a-zA-Z0-9]+).*@$1@'`

拆卸(简便方法):

hdiutil detach /Volumes/<mountpoint>

或采取更简单的方法(即churnd以下建议):

hdiutil detach /Volumes/latest_webkit

18
只需执行“ hdiutil detach / Volumes / <mountpoint>”
2009年

1
最后两个选择不一样吗?

diskutil在学习(和讨厌)disktool之后,我最近已经使用了很多。diskutil eject /Volumes/backups最近一直很常用。
杰森·萨拉兹

我不知道为什么,但/sbin/umount /Volumes/Foo似乎比hdiutil更快-TJ
Luoma

我也主要使用diskutil,特别diskutil verifyVolume <volume name>是因为Disk Utility中的RAID卷中的Verify函数从未使用过(长期存在的错误)。

25

一些有用的别名:

alias ..="cd .."
alias ...="cd .. ; cd .."

alias ls="ls -G" # list
alias la="ls -Ga" # list all, includes dot files
alias ll="ls -Gl" # long list, excludes dot files
alias lla="ls -Gla" # long list all, includes dot files

alias stfu="osascript -e 'set volume output muted true'"
alias pumpitup="sudo osascript -e 'set volume 10'"

# Get readable list of network IPs
alias ips="ifconfig -a | perl -nle'/(\d+\.\d+\.\d+\.\d+)/ && print $1'"
alias myip="dig +short myip.opendns.com @resolver1.opendns.com"
alias flush="dscacheutil -flushcache" # Flush DNS cache

alias gzip="gzip -9n" # set strongest compression level as ‘default’ for gzip
alias ping="ping -c 5" # ping 5 times ‘by default’
alias ql="qlmanage -p 2>/dev/null" # preview a file using QuickLook

# Upload image to Imgur and return its URL. Get API key at http://imgur.com/register/api_anon
imgur() { curl -F "image=@$1" -F "key=ANONYMOUS_IMGUR_API_KEY" https://api.imgur.com/2/upload | egrep -o "<original>.+?</original>" | egrep -o "http://imgur\.com/[^<]+" | sed "s/imgur.com/i.imgur.com/" | tee >(pbcopy); }

所有这些都在我的里面,~/.bash_profile因此我可以在每个终端窗口中使用它们。

聚苯乙烯

alias chpwn="chown"

有关更多信息,请参阅我在GitHub上的dotfiles存储库,和/或查看我的.osx文件以了解OS X特定的首选项和设置


+1-极好的答案。我特别喜欢别名ips / myip!
boehj 2011年

22

textutil 是一个非常方便的工具,可以在HTML,RTF(D),Word(包括XML),OpenOffice.org Writer和Webarchive格式之间交叉转换文本。

我特别在将所选文本转换为HTML,将其上传到服务器然后将其导入Instapaper的服务中使用它。


我相信,这是特定于BSD的,不仅是OSX。但是仍然有用……

@Henno,不;10.8.5(至少)textutil也是如此。手册页textedit指出它支持“ txt,html,rtf,rtfd,doc,docx,wordml,odt或webarchive”。
杰夫·迪基

22

使文件不可见:

SetFile file -a V

SetFile也可以更改许多其他文件属性和元数据。

SetFile不是OS X本机命令,它与DevTools / Xcode捆绑在一起。

如果您没有Xcode并且不想下载大约6 GB,则可以使用

sudo chflags hidden|nohidden <file/folder>

chflags是BSD命令,它也有一个手册页,只需在终端中输入

man chflags

对于那些不喜欢自己输入命令,只是想知道男人的立场的人。这里您有:

CHFLAGS(1)        BSD General Commands Manual           CHFLAGS(1)

NAME
     chflags -- change file flags

SYNOPSIS
     chflags [-fhv] [-R [-H | -L | -P]] flags file ...

DESCRIPTION
     The chflags utility modifies the file flags of the listed files as speci-
     fied by the flags operand.

     The options are as follows:

     -f      Do not display a diagnostic message if chflags could not modify
         the flags for file, nor modify the exit status to reflect such
         failures.

     -H      If the -R option is specified, symbolic links on the command line
         are followed.  (Symbolic links encountered in the tree traversal
         are not followed.)

     -h      If the file is a symbolic link, change the file flags of the link
         itself rather than the file to which it points.

     -L      If the -R option is specified, all symbolic links are followed.

     -P      If the -R option is specified, no symbolic links are followed.
         This is the default.

     -R      Change the file flags for the file hierarchies rooted in the
         files instead of just the files themselves.

     -v      Cause chflags to be verbose, showing filenames as the flags are
         modified.  If the -v option is specified more than once, the old
         and new flags of the file will also be printed, in octal nota-
         tion.

     The flags are specified as an octal number or a comma separated list of
     keywords.  The following keywords are currently defined:

       arch, archived
           set the archived flag (super-user only)

       opaque  set the opaque flag (owner or super-user only).  [Directory
           is opaque when viewed through a union mount]

       nodump  set the nodump flag (owner or super-user only)

       sappnd, sappend
           set the system append-only flag (super-user only)

       schg, schange, simmutable
           set the system immutable flag (super-user only)

       uappnd, uappend
           set the user append-only flag (owner or super-user only)

       uchg, uchange, uimmutable
           set the user immutable flag (owner or super-user only)

       hidden  set the hidden flag [Hide item from GUI]

     As discussed in chflags(2), the sappnd and schg flags may only be unset
     when the system is in single-user mode.

     Putting the letters ``no'' before or removing the letters ``no'' from a
     keyword causes the flag to be cleared.  For example:

       nouchg  clear the user immutable flag (owner or super-user only)
       dump    clear the nodump flag (owner or super-user only)

     Unless the -H or -L options are given, chflags on a symbolic link always
     succeeds and has no effect.  The -H, -L and -P options are ignored unless
     the -R option is specified.  In addition, these options override each
     other and the command's actions are determined by the last one specified.

     You can use "ls -lO" to see the flags of existing files.

EXIT STATUS
     The chflags utility exits 0 on success, and >0 if an error occurs.

SEE ALSO
     ls(1), chflags(2), stat(2), fts(3), symlink(7)

HISTORY
     The chflags command first appeared in 4.4BSD.

BUGS
     Only a limited number of utilities are chflags aware.  Some of these
     tools include ls(1), cp(1), find(1), install(1), dump(8), and restore(8).
     In particular a tool which is not currently chflags aware is the pax(1)
     utility.

BSD              March 3, 2006                 BSD

5
该目录位于中/Developer/Tools,您必须从Apple网站下载(繁重)或从OS光盘安装。没有它,没有系统是完整的。

6
chflags hidden
Daniel Beck

您在标志前面加上“否”以将其删除。是的sudo chflag nohidden <file/folder>,不是show
phette23

19
 dot_clean .

这不是每天使用-一次可以节省很多时间-我有一台SMB文件服务器(Avid Unity),它同时为Mac用户和PC用户显示许多.filename文件。

此清洁命令完全解决了该问题(运行两次之后)


3
终于知道有一个很好的方法可以做到这一点。
2011年

抱歉,但我不知道什么是._ *文件,以及该程序如何解决上述问题,手册页没有太大帮助,请您提供更多详细信息吗?使用完全安全吗?
rslnx 2014年

._文件在Mac OS的Finder中不可见-但对其他操作系统可见。当Mac从OS 9过渡到OS X时,它们也往往成为“资源叉”的遗物。不再仅仅将它们扔在另一个OS上,您可以要求Mac OS帮助您清理使用dot_clean命令清除不必要的内容。
evilblender14年

17

history显示您已运行的最近命令的列表,例如500或600个命令。我经常history | grep something用来查找我最近使用过的命令。


13
这是内置的bash,而不是特定于OS X的。

真正。抱歉。我想我觉得提问者正在寻找有用的Mac终端命令,无论它们是否特定于Mac。如果我弄错了,对不起。

7
您可以在bash中按Ctrl + R交互式搜索外壳历史记录。如果按它,然后键入ssh exa,它将找到以开头的最后一个命令ssh exa。您可以再次按ctrl + r来进一步向后循环,返回以执行当前命令,或者按ESC键以进一步编辑命令

2
在此过程中,请history -a; history -r在终端选项卡之间复制历史记录。

3
运行后,history您可以使用历史记录项目的编号运行结果列表中的任何项目。例如,!23将在历史记录列表中运行项目23。

17

尽管我可以在vi中解决问题,但是我将TextMate用作命令行编辑器。您还可以通过管道传输内容。例如,ls | mate打开TextMate,而当前的直接列表在文本窗口中打开。


5
我用过'伴侣'。比我想数的次数还多。

确实,这mate .是有史以来最好的事情。

我绝对建议与可可Emacs一起玩。
ocodo 2011年

16

mdls将显示Spotlight知道的文件的所有元数据。您也可以在“ mdfind”中使用结果属性。

mdutil 允许您在某些卷上打开或关闭索引编制,并允许您重置索引等。

systemsetup 是特定于BSD的(不仅限于Mac),但确实很棒,请查看其联机帮助页。

GetFileInfo (我相信您必须拥有开发人员工具才能具有此功能)允许您查看所有关联时间(修改,创建,最后访问)和文件的所有属性。

automator 允许您从命令行运行自动化程序工作流,而

osascript 使您可以运行Apple脚本代码。


+1-不知道automator该怎么做...我想是;)-(通常,我使用它来运行Finder中的脚本,因此我不确定是否会反过来使用它。)
ocodo 2011年
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.