所以我在网上冲浪,偶然发现了这篇文章。它基本上表明FreeBSD从版本 10 及更高版本开始将弃用GCC以支持Clang/LLVM。
从我目前在网上看到的情况来看,Clang/LLVM是一个相当雄心勃勃的项目,但在可靠性方面它无法与GCC 相提并论。
FreeBSD 选择 LLVM 作为他们的编译器基础设施是否有任何技术原因,或者整个问题归结为永恒的 GNU/GPL 与 BSD 许可证?
为什么有人会选择FreeBSD 而不是 Linux?与 Linux 相比,FreeBSD 有哪些优势?(我的共享主机提供商使用 FreeBSD。)
在 FreeBSD 和 Linux 中,如何获取chmod文件的数值?例如,644而不是-rw-r--r--? 我需要一个 Bash 脚本的自动方式。
在安全性、稳定性和性能方面,LXC(Linux 容器)和FreeBSD 的监狱之间有什么显着区别吗?
乍一看,这两种方法看起来非常相似。
我正在为我的服务器编写 shell 脚本,这是一个运行 FreeBSD 的共享主机。我还希望能够在运行 Linux 的 PC 上本地测试它们。因此,我试图以可移植的方式编写它们,但sed我认为没有办法做到这一点。
我的网站的一部分使用生成的静态 HTML 文件,并且此 sed 行在每次重新生成后插入正确的 DOCTYPE:
sed -i '1s/^/<!DOCTYPE html> \n/' ${file_name.html}
Run Code Online (Sandbox Code Playgroud)
它适用sed于 Linux上的 GNU ,但 FreeBSDsed期望-i选项后的第一个参数是备份副本的扩展名。这是它的样子:
sed -i '' '1s/^/<!DOCTYPE html> \n/' ${file_name.html}
Run Code Online (Sandbox Code Playgroud)
但是,GNUsed反过来又希望表达式紧跟在 之后-i。(它还需要修复换行符处理,但这里已经回答了)
当然,我可以在脚本的服务器副本中包含此更改,但这会造成混乱,即我使用 VCS 进行版本控制。有没有办法以完全可移植的方式使用 sed 实现这一点?
与 Mac 用户讨论后,我得到了几个版本的 Mac OS X 来源。众所周知,在 BSD 中有一些根,但是有多少,在哪里?
有人说 Mac OS X 有一个 FreeBSD 内核,上面的所有实用程序使它成为特定于 Mac 的操作系统。(这里不讨论用户应用程序,只讨论所有的init、ls、cd、 和其他人。binutils?)
其他人说 Mac OS X 是 Darwin 内核,即纯 Mac,并且 OS 实用程序来自 BSD。
真相在哪里?
根据维基百科
http://en.wikipedia.org/wiki/Unix_directory_structure
http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
不应该/mnt/根据第一个链接安装额外的磁盘,但根据第二个链接不应该接缝。
两人都说认为他们不应该在/media。
题
那么应该在哪里安装额外的永久磁盘呢?
Linuxlsblk和的 FreeBSD 变体是blkid什么?
我想要一些提供与lsblk下面示例中相同类型的信息的东西:
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
/dev/sda      8:0    0 465.8G  0 disk 
??/dev/sda1   8:1    0  1007K  0 part 
??/dev/sda2   8:2    0   256M  0 part /boot
??/dev/sda3   8:3    0   9.8G  0 part [SWAP]
??/dev/sda4   8:4    0  29.3G  0 part /
??/dev/sda5   8:5    0  29.3G  0 part /var
??/dev/sda6   8:6    0 297.6G  0 part /home
??/dev/sda9   8:9    0  16.3G  0 part 
/dev/sr0     11:0    1  1024M  0 rom  
Run Code Online (Sandbox Code Playgroud)
我试过运行像man -k blk …
所有 shell 内置函数共享相同的手册页:
BUILTIN(1)                BSD General Commands Manual               BUILTIN(1)
NAME
     builtin, !
Run Code Online (Sandbox Code Playgroud)
等等。
然后有一小段文字描述了什么是 shell 内置函数,然后是一个看起来像这样的列表:
  Command       External    csh(1)    sh(1)
       !             No          No        Yes
       %             No          Yes       No
Run Code Online (Sandbox Code Playgroud)
但是如果我们这样做,man grep我们会得到诸如
等等。
难道 shell 内置函数没有自己的历史、描述和参数,比如-A或-r?为什么手册页中没有提供,我将如何学习正确有效地使用它们?