Linux Philosophy
These days I read the book Linux and the Unix Philosophy.
Here are some principles:
- Little is graceful
- Make each program do one thing
- Construct prototype as soon as possible
(So I think it is a wonderful idea to use Python or Bash scripts...)- Portability is more important than efficiency
- Use plain text to store data
- Benefit from Leverage effect
- Use Shell-script to enhance the leverage effect and portability
- Avoid Compulsive-User-Interface
- Create each program as a filter
- Use stdout/stdin/stderr as output/input
Think.
Try.
And grow up.
Linux Philosophy的更多相关文章
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- Programming Learning - Based on Project
Today when taking a bath I got a good idea that it is an efficient and interesting way to learn a ne ...
- [c] base64
/ * Program: * base64 encode & decode * Author: * brant-ruan * Date: * 2016-02-29 * Usage: * Enc ...
- Linux and the Unix Philosophy (Linux/Unix设计思想)
http://www.iwangzheng.com/ 大约30年前,当美国人边开着大型轿车边享受着其他国家民众的羡慕目光时,大众汽车却在美国开展了一项主题为“小即是美”的广告营销活动.那时,美国人对大 ...
- I'm an artist who loves linux (转)
My father got me a computer for graduation with 512MB RAM and a Pentium processor. It came with Wind ...
- Welcome Docker to SUSE Linux Enterprise Server【水平有限,中英对比,求纠错】
原文:Welcome Docker to SUSE Linux Enterprise Server Lightweight virtualization is a hot topic these ...
- How To Use the AWK language to Manipulate Text in Linux
https://www.digitalocean.com/community/tutorials/how-to-use-the-awk-language-to-manipulate-text-in-l ...
- (译文)The Linux Programming Interface:第1章(历史和标准)
1 HISTORY AND STANDARDS (译者:鱼时代 校对:fgn) Linux 是UNIX操作系统家族中的一员,在计算机出现以来,UNXI已经有很长的历史了.在这一章中的第一部分将对Un ...
- Mike Gancarz:Linux/Unix设计思想
Mike Gancarz是一位技术布道者. 他是Linux/Unix最基本的倡导者之中的一个,也是最早开发X Window System的先驱.他把一些在Unix/Linux社区里口口相 ...
随机推荐
- go语言循环语句 for
Go语言中的循环语句只支持for关键字,而不支持while和do-while结构. sum := 0 for i := 0; i < 10; i++ { sum += i } 无限循环的写法: ...
- 在不知下面有几个元素的时候,要去除最后一个元素的下边框jquery代码
<script> $(document).ready(function() { $(".search_list dl").each(function() {//遍历所有 ...
- 使用Reaver对WPS加密网络进行暴力破解
WPS状态探测 探测开启了WPS功能的AP,WPS Locked状态为NO的表示开启了WPS功能. wash -i wlan0mon PIN码获取 reaver -i wlan0mon -b MAC地 ...
- Android NDK环境搭建及调用JNI的简单步骤
转载请注明:http://www.cnblogs.com/tiantianbyconan/p/3396595.html Java Native Interface (JNI)标准是java平台的一部分 ...
- 小谈KVC中KeyPath的集合运算符
由于知识点比较简单,这里不再陈述一大堆的原理,直入主题. KVC中的集合运算符有以下三类: 1.简单集合运算符:@avg.@sum.@max.@min.@count (只能用在集合对象中,对象属性必须 ...
- Android studio修改Logcat颜色
Android studio默认的Logcat配色不利于阅读,我们可以修改自定义自己的颜色配置
- iOS关于CoreAnimation动画知识总结
一:UIKit动画 在介绍CoreAnimation动画前先简单介绍一下UIKit动画,大部分简单的动画都可以使用UIKit动画实现,如果想实现更复杂的效果,则需要使用Core Animation了: ...
- GCD同步异步 串行并行大解析
/** 核心概念 任务:block里需要执行的操作 队列:把任务添加进入队列中,按照先进先出的原则来执行任务 串行队列:一个一个的执行 并行队列:可以让多个任务并发(同时)执行(自动开启多个线程同时 ...
- Asp.net中实现同一用户名不能同时登录(单点登录)
Web 项目中经常遇到的问题就是同一用户名多次登录的问题,相应的解决办法也很多,总结起来不外乎这几种解决办法: 将登录后的用户名放到数据库表中: 登录后的用户名放到Session中: 登录后的用户名放 ...
- git技巧记录--blame
git blame [-L<m,n>] FilePath 可以查看代码每一行是谁写的(根据该行最后一次改动情况), -L表示要查看的行数范围, m: 起始行数, n:结束行数. 方便快速定 ...