《Unix 编程艺术》:这本书在模块化、文本化、配置、接口、复杂度、优化、可移植性等方面,都提供了Unix/Linux世界所积累的宝贵经验。好的程序可以经受时间、平台与用户的考验,好的编程思想可以经受实践的检验。
读书笔记摘录自 《Unix 编程艺术》
Unix 设计原则
所有的 Unix 哲学浓缩为一条铁律,『KISS』原则:Keep It Simple, Stupid!
继续阅读 »
This document is not completed and will be updated anytime.
Unix
Unix is a family of multitasking, multiuser computer OS.
继续阅读 »
已经读完的书
linux/unix设计思想
黑客与画家
数学之美
浪潮之巅
深入理解c指针
c陷阱与缺陷
c程序设计语言
大教堂与集市
只是为了好玩(linus自转)
理解unix进程
继续阅读 »
Vim 出现已经二十多年了。作为一个一直处在鄙视链顶端的编辑器,你可能很难想象它为什么这么难用,即便是历尽千辛万苦学会了 hjkl 这些快捷键。至于网上的文章大多还停留在 vim 7 时代,vim 8 的发布加入了以“异步”为首的众多好用新功能,而玩法自然也需要做相应的调整。
无论是靠着高三的记忆力强行记住了快捷键的初学者,还是玩了好几年 vim 但很少重量使用的进阶玩家,还是因为受到其他编辑器的诱惑而叛变 vim 的用户,都可以尝试着加上这些插件。试着开始全新的 vim 生活。
继续阅读 »
预操作
加速器
修改/etc/docker/daemon.json 文件并添加上 registry-mirrors键值,将镜像源切换为国内。
shell
$ vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
设置权限
docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,创建docker用户组,并将当前用户加入到docker用户组中,当前用户就有权限访问Unix socket了,就可以执行docker相关命令
继续阅读 »
其实,我喜欢Mac的,想要有个MacBook,喜欢其婀娜多姿的身材,妩媚的脸庞,最终要的是有一个UNIX的心。可惜,屌丝买不起啊,只好用Ubuntu来装装Mac了,有什么办法变装呢,那就是安装主题,哈哈。
之前的时候,还是Ubuntu13.04的时候,用过一个主题,让我的桌面变得真的很像Mac,但是升级到14.04之后,发现那个主题安装不了了。今天偶然发现,原来是作者对其升级了,针对不同版本安装不同的主题包,然后我又恢复原来的那个界面了。遂分享之。
先来晒晒我的界面,(^__^) 嘻嘻……
more
佛说,万物皆有源!首先,我们要先将该软件的源加到我们的源列表中。
sudo add-apt-reposit
继续阅读 »
最近准备从头学习下*nix下的网络编程,参考资料为 unix网络编程 和 The Linux Programming Interface.
IPv4套接字地址结构以sockaddr_in命名,定义在头文件中.
我的系统环境为Arch x86_64 GNU/LINUX,该结构体的定义如下
继续阅读 »
Nginx是一个俄罗斯开发的高性能HTTP服务器和反向代理服务器,功能丰富、性能强悍、运行稳定、应用广泛,完全使用C语言编写,可运行于各种Unix Like OS,并有Windows移植版本(不推荐用于生产环境)。
安装
在Ubuntu中,可以直接使用sudo apt-get install nginx 命令安装nginx,安装之后,默认的配置文件保存在 /etc/nginx 文件夹内,默认提供http服务的目录位置在 /usr/local/nginx/html。
配置
nginx的主配置文件是:nginx.conf
```
user www-data; #用户与用户组
worker_processes 4; #对外提
继续阅读 »
你是不是经常在有关时间的函数代码片段里看到过116444736000000000这个magic number?
下面由我的代码说明这个神奇的magic number:
/* Converting from FILETIME to UNIX Timestamp */
unix_time = FILE_TTIME;
unix_time -= 10000000 * 60 * 60 * 24 * 365 * (1970-1601) + 89; unix_time /= 10000000;
继续阅读 »
linux(继承自Unix)的文件系统架构,系统会默认选择安装目录,通常情况下:
程序的文档->/usr/share/doc; /usr/local/share/doc
程序->/usr/share; /usr/local/share
程序的启动项->/usr/share/apps; /usr/local/share
程序的语言包->/usr/share/locale; /usr/local/share/locale
可执行文件->/usr/bin; /usr/local/bin
配置文件-> /etc
lib文件->/usr/lib
例如:系统安装软件一般在/usr/share,可执行的文件在/usr/bin,配置文件可能安装到
继续阅读 »