bsd

Example Post - PCT的博客

六月ゝ 毕业季﹏ 提交于 2020-02-09 23:09:54
This document is not completed and will be updated anytime. Catagory Unix Bell Labs Xenix BSD FreeBSD & Apple NeXTStep Darwin POSIX Unix-like Single Unix Specification Apple iOS XNU Kernel Linux Linux Kernel GNU Project Android Android Kernel Android ROM Chrome OS Chromium OS Unix Unix is a family of multitasking, multiuser computer OS. Derive from the original AT&T Unix , Developed in the 1970s at Bell Labs (贝尔实验室), initially intended for use inside the Bell System . Bell Labs Bell 和 AT&A 在那时已经是一家了,可以看到那时的通信公司真是一线 IT 公司呢。 C 语言也是 Bell Labs 的产物 ,从一开始就是为了用于 Unix 而设计出来的。所以 Unix (在 73 年用 C 重写

sed use: expected context address

放肆的年华 提交于 2020-01-22 05:32:40
问题 I use the sed command on macOS with the following text: $ cat pets.txt This is my cat my cat's name is betty This is your dog your dog's name is frank This is your fish your fish's name is george This is my goat my goat's name is adam When I run BSD sed it shows an error: $ sed '/dog/,+3s/^/# /g' pets.txt sed: 1: "/dog/,+3s/^/# /g": expected context address What's wrong with it? When I use gsed (GNU sed), it works well: This is my cat my cat's name is betty # This is your dog # your dog's

实战做项目如何选择开源许可协议(一)-了解协议

烂漫一生 提交于 2020-01-19 15:26:41
转自http://www.lanceyan.com/tech/arch/opensource_permission.html 目前国内开源项目正在逐渐升温,中国也开始有不少优秀的开源项目突显出来。在大家摩拳擦掌准备加入开源大军时,也要知道这个圈子里的规则。技术人员 不能只是研究技术,任何圈子都有规则,要知道了才能玩得好。前段时间有件关于开源软件的事情挺热闹的,关于国内一个开发者把自己作品开源出来被别的公司的 人拿去包装成自己的产品高价卖出去。大部分做开源软件的开发者都不太怎么关注版权这些,具体微博如下: hoowa_sun : 做开源后,发现大部分都被别人拿去学习,然后copy,然后自己闭源卖出去。这里不缺乏大公司,有一家公司拿我的开源系统修改后卖给了一个国内的运营商,卖的还非常贵至少几十万一套。所以我郑重的建议大家,做软件还是要英文版开源,中文版封闭不要开源。 在国内大家习惯了使用盗版、破解,看到这种免费的软件也觉得是理所当然的拿来主义,甚至直接封装到自己的商业组件卖出去。如果你正在这样做,马上停 下来研究一下使用的这些开源组件的许可协议,不然某一天你会意外收到一封法院的传票。如果你在开发或者准备开发开源软件,但尚对开源许可协议不了解,也看 下这篇文章,选择一种开源许可协议保护你的开源软件。 常见的开源许可协议有:GPL、LGPL、BSD、Apache Licence

Binutils stat illegal option -c

会有一股神秘感。 提交于 2020-01-13 09:44:12
问题 I use stat two times in my script once to find the file files permissions and once to find the size of the file. `stat -c %A "$directory/$file"` `stat -c %s "$directory/$file"` I am using OSX 10.7 and directory and file are variable of the current directory I am in and the file. 回答1: Darwin stat uses an -f argument, rather than -c , as it is a GNU extension. You should download the gnu binutils, either from homebrew, from macports or from fink, and then use gstat instead of stat . If you don

Combine lines with matching first field

会有一股神秘感。 提交于 2020-01-11 09:09:50
问题 For a few years, I often have a need to combine lines of (sorted) text with a matching first field, and I never found an elegant (i.e. one-liner unix command line) way to do it. What I want is similar to what's possible with the unix join command, but join expects 2 files, with each key appearing maximum once. I want to start with a single file, in which a key might appear multiple tiles. I have both a ruby and perl script that do this, but there's no way to shorten my algorithm into a one

四种常见软件开源协议介绍-GPL、LGPL、BSD、Apache

风格不统一 提交于 2020-01-10 11:24:06
转自:https://baijiahao.baidu.com/s?id=1603028095502634219&wfr=spider&for=pc 软件开源是许多软件企业需要关注的问题,不同的开源软件协议,对应不同的源代码使用限制。只有了解这些开源软件协议,才能更好地使用和回馈开源软件,否则就有可能触犯法律。今天介绍四种常见的开源软件协议: GPL(GNU General Public License)LGPL(GNU Lesser General Public License)BSD(Berkerley Software Distribution)Apache License 1、GPL GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。 GPL的“传染性”在于:只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。我们所熟悉的Linux就是采用了GPL。 2、LGPL LGPL是GPL的一个为主要为类库使用设计的开源协议。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础

几种开源协议的学习(BSD, GPL, LGPL, MIT)

梦想的初衷 提交于 2020-01-10 02:41:30
几种开源协议的学习 目前开源协议有很多,经过Open Source Initiative组织通过批准的开源协议目前就有58种。可以在此页 查看 ,我们在常见的开源有BSD, GPL, LGPL, MIT等。下面依次介绍: BSD开源协议(original BSD license、FreeBSD license、Original BSD license) BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件: 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。 BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。 Apache Licence 2.0

Can I call chdir or setenv after fork on Mac OS X?

余生长醉 提交于 2020-01-06 01:59:34
问题 On OS X, the man page for fork says this: There are limits to what you can do in the child process. To be totally safe you should restrict yourself to only executing async-signal safe operations until such time as one of the exec functions is called. All APIs, including global data symbols, in any framework or library should be assumed to be unsafe after a fork() unless explicitly documented to be safe or async-signal safe. If you need to use these frameworks in the child process, you must

Completely restricting all types of access to a folder

流过昼夜 提交于 2020-01-05 04:37:05
问题 I am making a cocoa application, which creates some folders at my specified location in the user's environment. Now i want to protect these folders from any type of read, write, copy, drag access from all type of users(i.e Not accessible for admin and non-admin users).Is there a way to protect these folders from any type of access. Can we use, NSFileManager method -setAttributes:OfItemAtPath:error: But i am not sure on attributes dictionary of this method. Basically i want to provide trail of

How to get the pid of the other side of pipe?

喜欢而已 提交于 2020-01-04 04:28:34
问题 I want to know pid of the other side of the pipe. If Linux, I can match up the id of ls -l /proc/SELF_PID/fd/0 like these commands. [root@host ~]# command1 | command2 & I've known command2's PID = 5912. [root@host ~]# ls -l /proc/5912/fd/0 lr-x------ 1 root root 64 Mar 25 18:00 /proc/5912/fd/0 -> pipe:[540748072] [root@host ~]# ls -l /proc/[0-9]*/fd/1 | grep 'pipe:\[540748072\]' l-wx------ 1 root root 64 Mar 25 18:01 /proc/5911/fd/1 -> pipe:[540748072] [root@host ~]# cat /proc/5911/cmdline