每个答案一个技巧或窍门。
我最喜欢的是
open .
在Finder中打开您当前正在浏览的文件夹。您还可以将URL,图像,文档或其他方式传递给open
。
如果使用-a指定程序名称,则可以将URL,图像,文档或文件夹传递给该程序,例如open -a Preview image.png
,覆盖文件类型的默认程序集。
请不要发布重复项。搜索这样的问题:inquestion:this ls -l
仅Mac OS X特定的答案。
每个答案一个技巧或窍门。
我最喜欢的是
open .
在Finder中打开您当前正在浏览的文件夹。您还可以将URL,图像,文档或其他方式传递给open
。
如果使用-a指定程序名称,则可以将URL,图像,文档或文件夹传递给该程序,例如open -a Preview image.png
,覆盖文件类型的默认程序集。
请不要发布重复项。搜索这样的问题:inquestion:this ls -l
仅Mac OS X特定的答案。
Answers:
您可以按住Option键并单击当前行中的一个位置,以将光标移动到该位置。
pbcopy
和pbpaste
:
# 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
/usr/bin
自从10.4起,pbcopy和pbpaste位于操作系统中,并且已包含在操作系统中。
pbpaste|pbcopy
。当我复制格式化的文本时,这将摆脱文本属性。我救它作为一个服务,并在键盘快捷键(F5)
opensnoop
是我新喜欢的工具。它使用DTrace来向您显示系统上正在访问的所有文件,您需要以超级用户权限执行它
sudo opensnoop
您还可以通过传入PID来查看特定进程打开的内容:
sudo opensnoop -p PID
或观看特定文件以查看谁在打开它:
sudo opensnoop -f /etc/passwd
grep dtrace /usr/bin/*
尽管格式不是特别好,但它们还会揭示更多信息...而且,Instruments(开发人员工具的一部分)是许多此功能的GUI前端(有一个“打开的文件” ”)
lsof
怎么了?
grep dtrace /usr/bin/*
dbr 关于不美观的评论外,我还有一个更好的主意:grep -l dtrace /usr/bin/*
,在执行此操作时,仅列出匹配的文件名,不列出文件内容(读取:二进制垃圾)。
fs_usage
怎么了?
它不是内置的,但这是让我的妻子在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摄氏度左右,因此可以相信。
brew install growlnotify
假设您安装了Homebrew)
从任何目录启动快速Web服务器:
python -m SimpleHTTPServer 8000
当您编辑特别长且粗糙的命令行时:
ctrl+ X,ctrl+ E将使您跳入编辑器,并在其中进行操作。
# Bash-like command editing autoload -U edit-command-line; zle -N edit-command-line; bindkey '^X^e' edit-command-line;
该say
命令调用系统的文本语音转换功能。
say "Hello there."
osascript -e "set volume 10"
调高音量。
停止使用箭头键,并使用以下命令更快地浏览命令行
ctrl+ A:移至行首
ctrl+ E:移至行尾
ctrl+ B:后退一个字符
ctrl+ F:向前移动一个字符
esc+ B:后退一个字
esc+ F:向前移动一个字
ctrl+ U:从光标删除到行首
ctrl+ K:从光标删除到行尾
ctrl+ W:从光标删除到当前单词的开头
set -o vi
,然后像平常一样按Escape键以切换到命令模式。 bash
使用readline
,具有vi模式。
Esc, b
和Esc, f
(后退/前进一个字)被绑定到Opt-b/f
(当你设定的终端识别Opt
为Meta
)
在预览中打开手册页:
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
}
pman
可以通过使用man -t $@
代替来增强man -t "${1}"
,因此它也支持指定手册部分。
man:grep
通过bruji.com/bwana
您可以将文件夹从查找程序拖到终端,它将完整路径粘贴到该文件。
cd <drag folder to terminal>
这与终端中的open基本上相反
这是好事和毫无意义的事情:
/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background &
将屏幕保护程序作为桌面墙纸运行。没有用,但很酷。
这不会影响屏幕保护程序的正常运行,但会在激活正常屏幕保护程序后(通过超时或将鼠标移至预定义的热角)结束。
或者,您可以使用:
killall ScreenSaverEngine
Ctrl
+ C
或仅关闭“终端”窗口。
ctrl+ A和ctrl+ E:转到行的开头和行的结尾。
这也适用于所有可可文字输入!
$ 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.
>
>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.
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.
...可能应该已经看到了。
M-x tetris
快速检查什么正在消耗您的所有记忆:
top -o vsize
而对于您的CPU
top -o cpu
Q 退出
alias ltop='top -F -R -o cpu'
具有最多的标志。如果您指定-o vsize
etc,它将覆盖-o cpu
。
-u
代替-o cpu
。top -u
按CPU使用率排序。
为了使ctrl+ ←和ctrl+ →再次有用,即像在Linux上一样向前或向后移动一个单词,必须使Terminal.app将正确的字符串发送到shell。在首选项中,转到Settings
选项卡,然后选择默认配置文件。分别转到Keyboard
和设置control cursor left
并control cursor right
发送字符串\033b
和\033f
。
在执行此操作时,还可以修复Home(\033[H
),End(\033[F
),Page Up(\033[5~
)和Page Down(\033[6~
),以便它们将这些键发送到外壳,而不用滚动缓冲区。
{}[]
需要包含[⌥]的键组合。或者,如果您使用美国版式,并且需要定期使用一些非英语字符(例如我对Umlauts所做的操作),则也需要[⌥]。
有了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
diskutil
在学习(和讨厌)disktool之后,我最近已经使用了很多。diskutil eject /Volumes/backups
最近一直很常用。
/sbin/umount /Volumes/Foo
似乎比hdiutil更快-TJ
一些有用的别名:
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特定的首选项和设置。
使文件不可见:
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
chflags hidden
?
sudo chflag nohidden <file/folder>
,不是show
。
dot_clean .
这不是每天使用-一次可以节省很多时间-我有一台SMB文件服务器(Avid Unity),它同时为Mac用户和PC用户显示许多.filename文件。
此清洁命令完全解决了该问题(运行两次之后)
history
显示您已运行的最近命令的列表,例如500或600个命令。我经常history | grep something
用来查找我最近使用过的命令。
ssh exa
,它将找到以开头的最后一个命令ssh exa
。您可以再次按ctrl + r来进一步向后循环,返回以执行当前命令,或者按ESC键以进一步编辑命令
mdls
将显示Spotlight知道的文件的所有元数据。您也可以在“ mdfind”中使用结果属性。
mdutil
允许您在某些卷上打开或关闭索引编制,并允许您重置索引等。
systemsetup
是特定于BSD的(不仅限于Mac),但确实很棒,请查看其联机帮助页。
GetFileInfo
(我相信您必须拥有开发人员工具才能具有此功能)允许您查看所有关联时间(修改,创建,最后访问)和文件的所有属性。
automator
允许您从命令行运行自动化程序工作流,而
osascript
使您可以运行Apple脚本代码。
automator
该怎么做...我想是;)-(通常,我使用它来运行Finder中的脚本,因此我不确定是否会反过来使用它。)