假设此命令从 MacOS 终端命令行调用一个应用程序:
/Applications/Matlab_R2020a.app/bin/matlab
然后终端不再能够接受命令,MATLAB 是依赖的(即如果终端控制台关闭,MATLAB 将终止)。这种依赖关系叫什么?如何启动应用程序才能使其“独立”?也就是说,关闭终端不会关闭应用程序?
假设此命令从 MacOS 终端命令行调用一个应用程序:
/Applications/Matlab_R2020a.app/bin/matlab
然后终端不再能够接受命令,MATLAB 是依赖的(即如果终端控制台关闭,MATLAB 将终止)。这种依赖关系叫什么?如何启动应用程序才能使其“独立”?也就是说,关闭终端不会关闭应用程序?
来自man cp
,删节:
-a
:存档模式。与选项相同-RpP
。保留文件的结构和属性,但不保留目录结构。-R
:如果source_file
指定一个目录,cp
则复制该目录和该点连接的整个子树。如果source_file
以 a 结尾/
,则复制目录的内容而不是目录本身。-p
:导致cp
在副本中保留每个源文件的以下属性:修改时间、访问时间、文件标志、文件模式、用户 ID 和组 ID(如权限所允许)。-P
:不遵循任何符号链接。-R
如果指定了该选项,则这是默认值。
-P
被描述为包含在-R
,但是为什么-a
被描述为-RpP
而不是仅仅-Rp
?-a
不保留目录结构是什么意思?-R
复制文件时,和标志是否-P
有意义,而不是文件夹,例如,在执行 时cp *.(txt|md) docs/
?zsh 5.9(x86_64-apple-darwin23.0),macOS 14.4.1
我尝试更新locate
数据库,但由于某种原因它已损坏:
locate foo
locate: locate database header corrupt, bigram char outside 0, 32-127: -1
如何修复呢?或者也许我需要更新它才能使其正常工作?最后,回到最初的问题,如何更新呢?(是的,关于这个问题有很多答案,但是,嘿,我只尝试了最受好评的答案,而且数据库已损坏。看来答案已经过时了,或者 macOS 这里有一些问题:大多数答案都是针对 Linux 的。)
索诺玛 14.4.1、zsh 5.9 (x86_64-apple-darwin23.0)
我用来socat
将传入的串行流量转发到本地 UDP 端口(在 macOS 上):
socat OPEN:/dev/cu.usbmodem13203 UDP:localhost:12345
我认为串行设备是流接口,而 UDP 是基于数据包的,因此不存在明确的正确答案在哪里或如何引入数据包边界。在我的测试中,每个字节都作为其自己的 UDP 数据包转发。例如,当发送字符串“XYZ”时,我的测试服务器输出:
Datagram: X
Datagram: Y
Datagram: Z
为什么字节序列会被分成几个数据包?其背后的机制是什么?有什么办法可以控制这种行为吗?
例如,我有一个具有三个扩展属性的文件:
com.apple.FinderInfo
com.apple.metadata:_kMDItemUserTags
com.apple.metadata:kMDItemFinderComment
我可以使用删除前两个
xattr -d com.apple.FinderInfo file.txt
xattr -d com.apple.metadata:_kMDItemUserTags file.txt
但我宁愿不要xattr
多次调用,而是使用类似这样的东西:
xattr -d \( com.apple.FinderInfo, com.apple.metadata:_kMDItemUserTags \) file.txt
xattr -d com.apple.FinderInfo -d com.apple.metadata:_kMDItemUserTags file.txt
有可能吗?
nssl.c:24:10: fatal error: 'openssl/sha.h' file not found
#include <openssl/sha.h>
^~~~~~~~~~~~~~~
1 error generated.
make: *** [src/libmongoc/src/libmongoc/src/mongoc/mongoc-crypto-openssl.lo] Error 1
ERROR: `make' failed
我的操作系统详细信息是:
ProductName: macOS
ProductVersion: 14.3
BuildVersion: 23D56
unix variant
local 23.3.0 Darwin Kernel Version 23.3.0: Wed Dec 20 21:30:27 PST 2023; root:xnu-10002.81.5~7/RELEASE_ARM64_T8103 x86_64
php version : PHP 8.2.4
我发出终端命令:sudo pecl install mongodb
这是来自这个网站: MongoDB PHP Driver
我的安装因以下错误而停止:
nssl.c:24:10: fatal error: 'openssl/sha.h' file not found
#include <openssl/sha.h>
^~~~~~~~~~~~~~~
1 error generated.
make: *** [src/libmongoc/src/libmongoc/src/mongoc/mongoc-crypto-openssl.lo] Error 1
ERROR: `make' failed
我从以下位置找到了解决方法:Mac OSX fatal error: 'openssl/sha.h' file not found
cd /usr/local/include
ln -s ../opt/openssl/include/openssl .
引用一条评论:
Apple 不久前(在 OS X 10.7 中)弃用了其 OpenSSL 共享库。这是因为 OpenSSL 不提供版本间的二进制兼容性,因此我们无法在不破坏所有现有客户端的情况下将共享库更新到最新的 OpenSSL。
但我什至在我的 mac 中没有包含文件夹...请帮助
我通过在终端中执行操作获得了 openssl 的路径which openssl
-
/opt/homebrew/bin/openssl
正在做
% ls -l /opt/homebrew/bin/openssl
lrwxr-xr-x 1 janammaharjan admin 37 Feb 7 22:12
/opt/homebrew/bin/openssl -> ../Cellar/openssl@3/3.2.1/bin/openssl
在linux中,我们可以运行ss -x
or lsof -U +E
,我们可以看到unix套接字的类型。但在 macOS 中没有ss
或我们可以运行lsof -U
它只显示 TYPE - unix,但我想通过一些实用程序知道 unix 套接字的 so_type 到底是什么。
我是 Linux 用户已有 20 多年,但最近我需要在 Mac 上工作的次数远远多于 Linux。我越不需要在 Linux 上工作,我就越希望我的 Linux 桌面像 Mac 一样工作。
我做了一些研究,
然而,这是我最不关心的部分。我最关心的是行为部分
到处都有一些文章,但没有一篇集中讨论我所关心的部分,也没有一处描述所有内容,而且它们也可能已经过时了。因此就有了这个问题。
当我tput sgr0
这样做时,它将我的终端字体和颜色更改为白色(应该是黑色)并且看起来是块状的。
请看截图:
我该如何阻止这个?
为了更简洁,任何echo
之后tput sgr 0
似乎都输出为粗体白色,我的终端文本颜色是黑色。
我的~.bashrc
:
export LC_ALL="en_GB.UTF-8"
export BASH_SILENCE_DEPRECATION_WARNING=1
branch() {
git branch 2> /dev/null | \
grep \* | \
awk '{print$2}' | \
sed '
s#^#(#g;
s#$#)#g
'
}
colo() { tput setaf $1; }
PS1='`tput bold``colo 5`\W: `tput sgr0``colo 0``branch``colo 0` \n λ '
我已经在双启动中安装了 Parrot OS,一切正常。当我检查互联网连接时,它没有显示任何适配器。我有一台带 Wi-Fi 适配器的 MacBook Air:BCM4355 802.11ac 无线。另一个问题是我没有以太网端口,所以如果我必须安装任何软件包,我必须从 USB 上安装。有人知道如何使适配器工作吗?谢谢!
我查看了一些论坛,但它们不适用于 Parrot OS 或 Debian。我试图检查是否有适用于我的 4355 的驱动程序,但没有找到。