Mac CLI是一个开源项目,从根本上简化了Mac上使用Terminal的过程。从前,当您打开计算机时,您会看到一个闪烁的光标。然后Mac普及了GUI,由于其学习曲线和易用性,GUI仍然在消费市场上占主导地位。
但是Terminal是一种强大而快速的工作方式。强大的功能伴随着您需要学习深奥的语法的警告,而这并不直观。
Mac CLI通过其简化的语法使查找和使用这些命令变得更加容易。
这时您将需要您的帐户具有管理员权限,并且高级用户可以将其帐户添加到Sudoers文件中。有一些选项可以从项目的Github页面安装应用程序,最简单的方法就是卷曲。
启动终端(点击 command + spacebar 调出Spotlight并搜索它) ),然后将此代码行粘贴到命令行中:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/guarinogabriel/mac-cli/master/mac-cli/tools/install)"
Mac CLI将安装所需的几个模块:自制软件,Git,Python和Pipe Viewer。还有一些较小的软件包:Glances,MySQL CLI,Speedtest-CLI iStats和其他在安装过程中可以选择的实用程序。我在设置过程中使用了默认设置,但可以随意跳过您不打算使用的工具。这样可以节省驱动器上的空间,并减少更新系统所需的时间。
如果您认为Mac CLI不适合您,则可以使用以下命令通过命令行将其删除好。您可能只需要重新安装即可删除一些不需要的模块。无论如何,都可以将此命令粘贴到Terminal中:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/guarinogabriel/mac-cli/master/mac-cli/tools/uninstall)"
您应该在Github上查看项目的这些部分,以使您知道它对Mac所做的更改。我会尝试记录发生的具体位置,但是在运行这些实用程序时遇到了很多奇怪的权限问题。它没有记录在项目页面上,但似乎与El Capitan的新安全模型有关(仅是我基于抛出错误的目录的假设),因此您的里程可能会因操作系统和用户而异
基本知识:简单命令
一旦安装了Mac CLI,就可以开始将命令泵送到Terminal或任何命令行客户端(如复古风格的Catath)中。
自Mac App Store问世以来,更新Mac变得更加容易。但是,如果您正在寻找一个命令行来调用系统更新,那么它就变得非常简单。
mac update
这就是您需要输入的所有内容,它将调用
sudo softwareupdate -i -a;
这还将检查所有已安装Mac上的更新CLI实用程序,包括Ruby Gems和Homebrew工具。如果您遇到一些奇怪的权限问题,则是由于El Capitan采取了更为严格的安全措施。
这是一组相当不错的命令,可以访问。当您在共享办公室或咖啡厅中锁定Mac时可能会很烦。到目前为止,最简单的方法是将屏幕保护程序设置为Hot Corner或完全关闭机盖。现在您可以拉起屏幕保护程序或使用单个命令锁定。
mac lock
将运行
/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend
并执行您将返回当前用户会话的登录屏幕,直到激活为止。如果您的Mac设置为从屏幕保护程序要求输入密码,则这样做可能会更容易一些。
mac screensaver
subs for the
open -a /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app
并拉起您的屏幕保护程序。
将它们与支持终端命令的键盘启动器结合使用,可以更加轻松地控制Mac。如果您将Mac CLI设置为回显实际的终端命令,则可以确切地了解命令行对Mac的基本管理所提供的功能。
在本地网络上获取IP就是这样做很困难,但将其简化为单线后可以节省很多时间。
mac ip:local
翻译成
ipconfig getifaddr en0
并返回您在本地网络上的地址。
mac ip:public
运行
wget http:/ /ipinfo.io/ip -qO-
并返回您当前的公共IP。从标准实用程序中很难做到这一点。提升本地网络速度并不难,但是通过命令行进行操作可以为您节省很多不必要的动画。
mac端口
sudo lsof -iTCP -sTCP:LISTEN -P
的快捷方式,它将为您显示所有活动IP连接以及端口的列表它们已连接。
这些都不是高级功能,您可以在GUI中完成大多数这些工作而无需花费太多精力。但是他们演示了如何使用命令行将多个步骤简化为一行文本。 Mac CLI使其更加简单,因为您只需要记住一个简单的命令名称即可。
Mac CLI软件包中包含一个速度测试实用程序,但我无法使其正常运行。每次运行都会遇到异常。该错误似乎与其安装目录有关,并且所需的文件似乎没有正确的信息。经过一番挖掘之后,我确实找到了可以使用的简单命令。
wget -O /dev/null http://speedtest.wdc01.softlayer.com/downloads/test10.zip
高级实用程序:资源和远程管理
现在您已经掌握了基础知识,让我们更深入地工作
有一些菜单栏实用程序可以尝试帮助您查看正在处理的最新文件。输入命令:
mac find:recent n
n是分钟数,表示命令
sudo find / -mmin n-键入f
,用分钟代替n。然后它将开始搜索Mac上的每个目录,并发送回当时已更改的文件。应该注意的是,它涵盖了所有已更改的文件,因此您可能会遇到实用程序和经常更新的日志。使用 control + c 搜索完成后,您还需要退出此命令。
查找重复文件是实用程序应用程序的另一个常见问题,但是Mac CLI变成了简单的方法命令:
mac find:duplicated
使用以下命令运行搜索:
fdupes -r。< / code>
您可以通过从哪个目录开始控制搜索的深度。如果您只想检查用户文件夹,请在运行命令之前导航到该目录。如果不确定如何执行此操作,请输入 cd 和文件路径:
cd / Users / Username / Documents
这缺少应用程序的内置查看和删除功能,但对于较小的目录应该足够了。
活动监视器还不错,但是从顶部可以获得一些更好的数据。 Top是一个命令行实用程序,可为您提供系统上运行的所有内容的文本细分。与每个任务的PID(进程ID)以及活动监视器相比,这里提供的信息要多得多。这样,您可以使用kill命令杀死任何程序。您可以使用以下命令来调用它:
mac memory
哪个按内存使用量排在首位。如果您可以采用其他方式进行排序,则将很有帮助,但是由于它所拉出的命令是:
top -o MEM
对于CPU,只需将MEM替换为CPU。我不确定为什么CLI项目没有此选项。如果要使用网络,可以只运行以下命令:
nettop
,然后查看活动网络连接的列表。希望在以后的版本中添加这两个功能。考虑这些是您在不使用培训轮的情况下使用命令行的第一步。
SSH是sysadmin的最好的朋友。这需要一点时间来习惯语法,尤其是当您将SCP添加到组合中时。使用Mac CLI,您可以使用单个命令集访问所有这些命令。
mac ssh:下载文件X
mac ssh:下载文件夹X
,其中X是所需的远程文件的路径。您可以使用以下命令执行相反的操作:
mac ssh:upload X
如果您正在开发需要其他项目的项目文件夹以与远程计算机同步,您也可以执行以下操作:
mac ssh:sync:local X
mac ssh:sync :remote X
一旦掌握了更高级的命令行语法,就可以使用ssh,scp和rsync尝试真正的东西。
不仅仅是初学者:开发工具
如果您是开发人员,则可能具有一些扎实的命令行技能。但是Mac CLI不仅适用于新手,还有一系列开发人员实用程序。简化这些操作可以为您节省大量的工作时间。
我们过去介绍过MAMP;这是建立网站的简单方法。 MAC CLI允许您直接从终端管理整个服务器,包括MySQL数据库。这包括启动和停止服务器以及进行PHP安装。
如果您使用Git进行版本控制和项目管理,则已经知道其命令行语法是唯一的。使用Mac CLI,您可以将每条Git命令变成简短的一行。项目页面上有一个备忘单供您使用。
替代:FISH
如果您不想更改终端的默认行为,则FISH可能是一个更好的选择。我们已经针对Linux进行了介绍,但它也可以在Mac上使用。它与Terminal一起安装,并使用更传统的语法。
它更多地关注脚本功能,例如设置变量和循环。但是,方便的是选项卡的完成和建议。键入命令时,您会得到关于您要查找的内容的建议,然后单击选项卡以完成命令。
FISH不能像Mac CLI一样简化命令行。但是,它在易用性和坚持传统语法之间做出了折衷。
控制命令行
Mac CLI应该可以帮助您更多地在Terminal中开始工作。浏览Github上的项目页面,以查找您可以使用Mac CLI执行的更多操作。使用各种实用程序将使您摆脱使用命令行执行任务的烦恼。
您会发现以这种方式工作可以节省大量时间,尤其是当您组合使用这些命令时与Quicksilver或Alfred。然后,您只需使用键盘快捷键即可将命令发送到终端,而无需将手从键盘上移开。
您最好的命令行省时方法是什么?
图片来源:通过Flickr烘焙Batter Patterson,通过Flickr烘焙Jeremy Foo,通过Flickr烘焙Aurimas