我使用 OSX 的磁盘工具来验证磁盘权限,发现很多系统文件的权限不正确。我会说它们都更加开放,允许其他人阅读或写作。此外,许多人分配了错误的组。这是怎么发生的?
Little Snitch 是一个传出网络流量拦截器,它会在应用程序尝试建立连接时通知我。
我安装的许多应用程序显然已将自己注册到帮助系统中,并定期导致帮助连接到他们各自的帮助/跟踪/指标收集域。我怀疑 Apple 是否打算进行这种间谍活动,并且不需要阻止程序来阻止它。所以,我可能只是不知道如何配置帮助。任何人都知道如何阻止这种不需要的流量?
获取 OS X 上每个文件(包括隐藏文件和系统文件及其属性)的列表的最佳和最快方法是什么?我不害怕终端或脚本,但如果有一个很棒的类似审计的应用程序,我有兴趣将其与我的选择进行比较。
我有一个简单的命令,几乎可以完成我想要的操作。以下将定位所有后缀为“_compressed.swf”的文件,并将每个文件复制到其同一个目录中,并附加“.bak2”:
find '../content' -name '*_compressed.swf' -print0 | xargs -0 -I {} cp {} {}.bak2
结果
输入:/content/somefile_compressed.swf
输出:/content/somefile_compressed.swf.bak2
但是,我需要将 '_compressed.swf' 替换为 '_content.swf' 我想使用 find,而不是 cp 上的递归标志以保持一致性。
目标
输入:/content/somefile_compressed.swf
输出:/content/somefile_content.swf
在solaris 中,我想将find 命令找到的所有文件复制到稍微不同的路径。以下脚本基本上为 find 找到的每个文件执行 cp。例如:
cp ./content/english/activity1_compressed.swf ./content/spanish/activity1_compressed.swf
cp ./content/english/activity2_compressed.swf ./content/spanish/activity2_compressed.swf
...
#!/bin/bash
# Read all file names into an array
FilesArray=($(find "." -name "*_compressed.swf"))
# Get length of an array
FilesIndex=${#FilesArray[@]}
# Copy each file from english to spanish folder
# Ex: cp ./english/activity_compressed.swf ./spanish/activity_compressed.swf
for (( i=0; i<${FilesIndex}; i++ ));
do
source="${FilesArray[$i]}"
# Replace "english" with "spanish" in path
destination="$(echo "${source}" | sed 's/english/spanish/')"
cp "${source}" "${destination}"
done
exit 0;
Run Code Online (Sandbox Code Playgroud)
看起来有点多,我想知道如何在 find 和 cp 命令中使用 sed 来实现相同的目的。我本来希望有以下类似的东西,但显然括号不是改变操作顺序的可接受方法: …
我发现以下 shell 脚本可用于告诉 OS X 应用程序退出:
#!/bin/sh
echo | osascript <<EOF
tell application "$*"
quit
end tell
EOF
Run Code Online (Sandbox Code Playgroud)
我的 .bash_profile 中有几个简单的别名命令,我想在那里添加一个“退出”命令而不是使用这个脚本。我创建了以下内容,但它不起作用:
alias quit='osascript -e "quit application \"$1\""'
Run Code Online (Sandbox Code Playgroud)
我确定我已经修改了命令。有什么建议吗?
我需要在日期范围内查找文件。我想有一天知道如何做到这一点可能会有所帮助。无论如何。我已经学会了如何使用 -newermt 甚至 -not -newermt;但是,当我组合它们时,我似乎无法得到正确的结果。我找到了使用 find 的 linux 示例,但认为这些开关不适用于 OSX。请参阅以下文件列表:
#$ ls -l
total 32
-rw-r--r-- 1 testuser staff 1024 Oct 26 20:12 test1.swc
-rw-r--r-- 1 testuser staff 0 Oct 26 19:00 test1_old.swc
-rw-r--r-- 1 testuser staff 1024 Oct 26 20:12 test2.swc
-rw-r--r-- 1 testuser staff 0 Oct 26 19:00 test2_old.swc
-rw-r--r-- 1 testuser staff 1024 Oct 26 20:12 test3.swc
-rw-r--r-- 1 testuser staff 0 Oct 26 19:00 test3_old.swc
-rw-r--r-- 1 testuser staff 1024 Oct 26 20:12 test4.swc
-rw-r--r-- 1 …Run Code Online (Sandbox Code Playgroud) 我了解到 OS X 中包含的 BSD 版本的 sed 没有提供一种直观的方式来添加换行符。我找到了一些关于它的注释,但我还不明白,如何扩展示例来解决我的问题。
我需要在一个文件中添加几行,发现我添加的行不包含换行符。
我的 shell 脚本目前包含以下内容:
sed '/match string/ a\
newline string' ./inputfile > ./outputfile
Run Code Online (Sandbox Code Playgroud)
而且,我正在尝试应用我在 Mac OS X 上的 sed 中找到的新行提示
我最近在 OS X 上安装了一个应用程序 Together,然后决定不想购买它。对于我安装的 99% 的应用程序,我需要做的就是将它们从 Applications 文件夹中删除以进行卸载。但是,我注意到这个特定的应用程序在主下拉菜单Print > PDF list 中添加了一个项目,“Print PDF to Together”我还注意到其他应用程序也做了同样的事情。那么,我该如何清理这个菜单呢?
当我从一个站点到另一个站点时,我在整个工作日都连接到多个网络,并注意到这些 LAN 使用和分发到我的系统的不同 DNS。如果我在“安全”的 LAN 上,我可以信任 DNS;但是,有时我必须使用不受信任的网站……比如餐厅的免费 WiFi 服务。所以,我想更好地了解我的系统如何更新设置。在每个站点上,我注意到 OSX 的网络设置窗口中列出的 DNS 发生了变化。当然,当我在我的家庭 LAN 上时,我会看到我熟悉的 DNS。当我在家时,我更喜欢总是使用这些 DNS。
到目前为止,我一直相信 OSX 可以在我在家时自动完全切换到我的网络,但最近的经验告诉我,它并没有完全做到这一点。也就是说,它似乎保留了以前获得的 DNS,即使它们没有列在 DNS 选项卡的 DNS 服务器列表下的网络设置中。
我在设置新的 WiFi 打印机时发现了这一点。我浏览了打印机手册,觉得自己足够了解和精明,以至于我可以通过跳线将它的以太网直接连接到我的 MacBook 以太网端口。我访问了它的配置页面以将其设置为连接到我的 WiFi。在更改设置之前,我打印了默认的网络配置信息。我很惊讶它已经从我的 MacBook 中提取了一些东西。我已经很惊讶了,我什至不必将 MacBook 上的以太网手动配置为打印机的默认网络。无论如何,真正突出的设置之一是它选择了一个辅助 DNS 服务器设置……一个 IP,我从我经常使用的一个 LAN 中熟悉。
我能得出的唯一结论是 OSX 正在维护 DNS 的历史,也许可以依靠;但是,我立即检查了网络设置,发现 AirPort 或 Alsonet 都没有列出提供给打印机的 DNS 服务器。
是否有命令行方法可以检查我的系统当前正在使用哪些 DNS?
OSX 说它正在使用我的 DNS 服务器,但我怎么能 100% 确定?OSX 显然保留,甚至奇怪地将 IP 分发给打印机?
或者也许我应该问,通过我的 Gmail 帐户获取每封电子邮件(发送和接收)的本地、索引、可读副本的最佳方法是什么?
我已经看到 Automator 和 AppleScripts 打开一个终端到当前在 Finder 窗口中选择的文件的路径。我认为在 Finder 工具栏上简单地有一个按钮来打开一个终端窗口到 Finder 中列出的当前目录对我来说会更有用。
如何将 Terminal-here 按钮添加到 Finder 工具栏中?
我刚刚开始使用适用于 OS X 的 Dreamweaver CS5.5,但找不到如何将其配置为与所有其他 OS X 编辑器一样运行的方法。似乎有许多细微的差异,我猜有一个“模式”设置可以将其从 Windows 风格的交互更改为 OS X 风格的交互。
现在让我感到沮丧的主要区别是 Command-[向左/向右箭头] 正在按单词而不是按行移动光标。Shift-Command-[右箭头] 在浏览器、可编辑字段和其他 OS X 编辑器中选择整行,但在 DW 中它只选择下一个单词。
有没有办法将 DW CS5.5 配置为像 OS X 应用程序而不是 Windows 应用程序?
macos ×12
find ×3
sed ×2
terminal ×2
alias ×1
applescript ×1
bash ×1
command-line ×1
cp ×1
date-time ×1
dns ×1
dreamweaver ×1
export ×1
finder ×1
gmail ×1
help-files ×1
import ×1
linux ×1
mac ×1
networking ×1
osx-lion ×1
permissions ×1
security ×1
solaris ×1
spyware ×1
xargs ×1