Questions tagged «command-line»

使用没有图形用户界面(GUI)而是通过在终端程序或外壳中键入文本命令来控制的程序和命令。

1
如何限制进程可用的内存量?
我正在开发一个程序;有时最终会分配非常大的内存(在具有8G物理内存的计算机上>> 10G),从而导致系统无响应。我想限制进程可以分配的内存量。我通常这样做的方式是: ulimit -m 4000000 ; ./myprogram ...如果试图使用超过4GB的内存,它将杀死我的程序。 在OS X El Capitan上,这似乎没有任何作用。偶数ulimit -m 1(将所有程序限制为仅1kB的内存!)无效。 如何设置特定进程可用的内存上限?



3
使用applescript将文件复制到剪贴板
我经常在命令行中发现自己想要将文件复制到剪贴板,以便可以将它们作为附件粘贴到Mail中。如果我有一个图像文件,image1.png可以通过以下方式完成此操作 osascript -e 'tell app "Finder" to set the clipboard to ( POSIX file "image1.png" )' 如果我执行上述命令,然后在Mail中打开新消息并按命令V,则图像文件将作为附件粘贴。请注意,pbcopy这里显然不是解决方案,因为这会复制文件的内容并在粘贴命令V时导致垃圾邮件。 我的问题是如何对多个文件执行相同的操作?假设我要同时粘贴image1.png和image2.png。从Finder来看这很简单(在命令C中将它们都选中,然后切换到“邮件”和命令V;瞧,两个文件都显示为附件)…但是如何从命令行执行此操作?

3
拖放vs电视-有什么区别吗?
使用拖放与批量移动文件之间是否有区别mv? 用例: 卷Ex​​ternal_Drive_A具有大约8000个文件,总计9GB。External_Drive_B具有74GB的可用空间。理想的最终结果是将所有文件从A移到B,以便可以擦除A并将其用于其他位置。 拖放方法是为A打开一个Finder窗口,为B打开另一个Finder窗口,突出显示A上的所有文件,然后将它们单击并单击并拖动到B。 mv 方法是打开终端会话并调用 mkdir /Volumes/External_Drive_B/A_legacy mv /Volumes/External_Drive_A/* /Volumes/External_Drive/B/A_legacy/ 除复制和删除操作外,Drag&Drop还会在幕后做任何事情吗,还是严格来说是Beauty? 以下是jmlumpkin的回答: 他们不同!拖放会带来元数据,mv而不会。我通过在文本文件的“获取信息”对话框的“聚光灯评论”部分添加一个短语来进行测试。当我跨卷拖放文件时,在目标上调用Get Info时会出现该短语。但是当使用mv时,在目标上调用Get Info时缺少该短语。

6
创建虚拟串口
我正在尝试在Mac上创建一对虚拟串行端口。使用PC上的许多共享软件程序,这相当容易做到。我认为会有一些超级强大的shell命令可以在一行中完成此操作,但是我找不到它。 我想将NMEA数据发送到一个端口,并让Google Earth从另一个端口读取数据。 有小费吗? 编辑 丹尼尔先生的/dev/ptypx评论似乎很有趣-我可以/dev/ttypx在终端中将其排除在外。 但谷歌地球似乎正在读铜。deviceName而不是/ ttypx设备。 具体来说(旧版专业版): 当尝试使用GPS(或通过虚拟串行端口通过管道传输的NMEA流)导入当前位置时,我们进入:工具> GPS>实时进入导入屏幕。 选择NMEA选项并启用实时跟踪之后,它将查找连接的设备,并且看起来在: USB: /dev/cu.Bluetooth-PDA-Sync / dev / cu。蓝牙调制解调器 /dev/cu.iPhone-WirelessAP 即使我们的ttypx串行端口运行正常,它也不会寻找它。 我想将数据从该设备导入Google Earth。



2
命令行-启用远程登录和远程管理
对于我的工作,在部署新的Mac笔记本电脑之前,需要启用以下两个设置: 系统偏好设置-共享-远程登录。启用后,我还需要添加以前创建的管理员帐户,方法是在“仅这些用户”下选择“ +”号: 系统偏好设置-共享-远程管理-(会弹出小的弹出窗口),然后选择所有功能 如何通过命令行实现以上两个过程?

1
在macOS搜索字段中使用正则表达式
有谁知道我在哪里可以找到描述macOS搜索字段的Regex解析功能的文档? 我的意思是,我想阅读一下搜索字段所允许和解析的regex语法规则。例如,直到今天我才知道,在macOS预览版(或具有标准搜索字段的任何其他应用程序中,猜测)中,我们可以使用以下输入: "\s" AND "an" AND "\s" 这行得通,并暗示了搜索字段会解释更多的正则表达式,而这正是我想阅读/查找的内容。上面的示例在打开的文档中搜索带有一个尾随和前导空格字符的“ an”\s。 我想了解更多有关这些分组规则和正则表达式字符换行/转义的信息,以便可以正确地对其进行解析。这种输入格式还适用于任何应用程序的系统范围搜索字段吗? 我找不到描述这些功能的任何文档,而只能在developer.apple.com库中找到此文档。 在下面,您可以查看一个PDF文档中“一个”单词的默认搜索行为示例,该示例显示了结果中所有“一个”出现的情况,无论您是否在“一个”单词之前放置空格,因此输入的内容均为“一个“ 当我们"\s" AND "an" AND "\s"进入搜索字段时,我们会得到更理想的搜索结果 对于包含常用词的搜索而言,这是巨大的不同! 简而言之:我想进一步了解您在上面看到的功能。在哪里可以找到有关它的任何(官方)文档? 提供的答案(到目前为止)仍未回答我的问题,尽管谢谢您-汇总更多相关信息是一件好事。



3
无法在macOS 10.13 High Sierra中完全使用Apple Shake应用程序
2009年7月,Apple终止了Shake。Apple尚未宣布直接应用的替代产品,但2018年的Final Cut Pro X 10.4和Motion 5.4现在提供了一些功能(稳定和光流估计,仅举几例)。 Apple Shake建立在32位上Carbon API。我肯定知道不是64位的Cocoa API,这些API是不同的。但Carbon.framework仍包含在/System/Library/Frameworks/High Sierra,Sierra或El Capitan中,并且很棒的旧应用程序(例如Shake,Color,Soundtrack Pro)都可以使用它。 我仍在使用High Sierra中的Shake 通过终端应用启动摇动: 但是我(由于明显的原因)无法通过单击Applications文件夹中的图标启动Shake : 所以我有两个问题: 单击“应用程序”文件夹中或Dock上的Shake图标后,该如何绕过此操作系统限制并使Shake运行? 如果第一个操作不可行,如何摆脱white crossed-out circleShake图标上的覆盖(在这种情况下,常规图标替换无效)? 聚苯乙烯 我找到了可能的解决方案(感谢ThomasVoßen): 在Mac OS X 10.11.6上摇晃 复制Shake。 选择“显示包装内容” 转到“目录”文件夹并打开Info.plist。Xcode有一个plist编辑器。 编辑条目com.apple.shake并将其更改为com.apple.shake4。 保存plist文件。 现在,可以通过High Sierra 10.13.5中的Finder双击启动Shake。 但是Info.plist文件Contents夹中没有文件。

1
从命令行发送通知[重复]
这个问题已经在这里有了答案: 如何从AppleScript或Shell脚本触发通知中心通知? (12个答案) 3年前关闭。 在Mac OS X上,某些应用程序将显示一条通知,该通知会在右上角短暂显示(例如,当我收到电子邮件时)。 有没有一种方法可以从命令行生成通知?换句话说,是否有我可以运行的命令行程序来显示自定义通知以及我选择的文本?理想情况下,我希望能够运行类似 show-notification "Hello world!" 从Shell脚本中删除,并出现一条通知,显示文本“ Hello world!”。 我发现我可以使用此答案在屏幕中央显示一个对话框,用户必须单击“确定”,但是我正在寻找通知而不是模式对话框。

6
如何创建OSX应用程序以包装对Shell脚本的调用?
我的目标是在zip文件中包含相当于快捷方式的内容,而不是告诉客户打开Terminal并运行Shell脚本。 我的可部署程序基本上是这样的: $ unzip Deliverable.zip $ cd Deliverable; ls app.jar run.sh 脚本run.sh: #!/bin/sh java -jar app.jar 目录中还有更多内容。只需说我需要从Deliverable目录运行脚本,因为我需要访问相对于它的路径。但是,我不能保证客户会在哪里打开Deliverable.zip(可能是主目录,可能就在Downloads目录中,等等)。 我发现这描述了如何在Automator中创建新的工作流程,然后将其另存为应用程序以启动Shell脚本。我试图包裹run.sh它,但是它说找不到run.sh。 有人建议我使用applescript,还向我发送了有关如何使用applescript切换到当前目录的链接。自动化器中有一个applescript“操作”;因此我以此创建了一个新的工作流程,并将其保存为应用程序。看起来像这样: 编码: on run {input, parameters} tell application "Finder" set current_path to container of (path to me) as alias end tell do shell script "java -jar app.jar" return input end run 这是我运行它时遇到的错误: …

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.