UNIX 缩写风格
构建于图形界面之上的操作系统,使用鼠标作为主输入设备, 是否使用缩写并不重要。比如 Windows 系统中的目录,几乎都是全称…… 点击两次鼠标进入文件夹 pf, 并不意味着点击13次才能进入文件夹 Program Files
而构建于命令行之上的操作系统,如 Linux,只要3个字母以上的单词,几乎都要缩写。 例如: cd 命令是 Change Directory 的缩写。 作为常用命令,如果使用它的全称 Change Directory,绝对是无聊和乏味的工作。
最常见的缩写,取每个单词的首字母,如
| cd | Change Directory |
| dd | Disk Dump |
| df | Disk Free |
| du | Disk Usage |
| pwd | Print Working Directory |
| ps | Processes Status |
| PS | Prompt Strings |
| su | Substitute User |
| rc | Run Command |
| Tcl | Tool Command Language |
| cups | Common Unix Printing System |
| apt | Advanced Packaging Tool |
| bg | BackGround |
| ping | Packet InterNet Grouper |
如果首字母后为“h”,通常保留
| chsh | CHange SHell |
| chmod | CHange MODe |
| chown | CHange OWNer |
| chgrp | CHange GRouP |
| bash | Bourne Again SHell |
| zsh | Z SHell |
| ksh | Korn SHell |
| ssh | Secure SHell |
递归缩写[3]也属于这一类,如:
| GNU | GNU's Not Unix |
| PHP | PHP: Hypertext Preprocessor |
| RPM | RPM Package Manager |
| WINE | WINE Is Not an Emulator |
| PNG | PNG's Not GIF |
| nano | Nano's ANOther editor |
有些缩写可能有多种定义,如:
rpm
RPM Package Manager
RedHat Package Manager bc
Basic Calculator
Better Calculator
这方面 Emacs 可谓独领风骚:
Emacs
Editor MACroS
Emacs Makes A Computer Slow
Escape Meta Alt Control Shift
Emacs Makers Are Crazy Sickos
Emacs Makes All Computing Simple
Emacs Makefiles Annihilate C-Shells
Emacs Manuals Always Cause Senility
Emacs May Allow Customized Screwups
Emacs Manuals Are Cryptic and Surreal
Eventually Munches All Computer Storage
Eight Megabytes And Constantly Swapping
Elsewhere Maybe All Commands are Simple
Excellent Manuals Are Clearly Suppressed
Emacs May Alienate Clients and Supporters
Except by Middle Aged Computer Scientists
Extended Macros Are Considered Superfluous
Every Mode Accelerates Creation of Software
Each Manual's Audience is Completely Stupefied
Exceptionally Mediocre Algorithm for Computer Scientists
Easily Maintained with the Assistance of Chemical Solutions
Eradication of Memory Accomplished with Complete Simplicity
如果只有一个单词,通常取每个音节的首字母:
| cp | CoPy |
| ln | LiNk |
| ls | LiSt |
| mv | MoVe |
| rm | ReMove |
对于目录,通常使用前几个字母作为缩写:
| bin | BINaries |
| dev | DEVices |
| etc | ETCetera |
| lib | LIBrary |
| var | VARiable |
| proc | PROCesses |
| sbin | Superuser BINaries |
| tmp | TeMPorary |
| usr | Unix Shared Resources |
这种缩写的其它情况
| diff | DIFFerences |
| cal | CALendar |
| cat | CATenate |
| ed | EDitor |
| exec | EXECute |
| tab | TABle |
| regexp | REGular EXPression |
如果某种缩写比较深入人心,例如“mesg”代表“message”,在新的复合缩写中,将沿用这种缩写方式
| dmesg | Diagnostic MESsaGe |
| sed | Stream EDitor |
| stty | Set TTY |
| fstab | FileSystem TABle |
| passwd | PASSWorD |
有些缩写中,第一个字母“g”,代表“GNU”
| awk | Aho Weiberger and Kernighan | |
| gawk | GNU AWK | |
| gpg | GNU Privacy Guard | |
| grep | GNU Regular Expression Print | |
| egrep | Extended GREP |
[3] 定义中包含自身缩写,如 GNU:
GNU's Not Unix
使用这个定义来解释定义中的缩写:
(GNU's Not Unix)'s Not Unix
这意味着它是可以无限递归的:
(((((GNU's Not Unix)'s Not Unix)'s Not Unix)'s Not Unix)'s Not Unix)'s Not Unix ……
命令选项,从a到z
Linux 命令的选项繁复庞杂,让人眼花缭乱。不过这些选项往往具有相对固定的涵义,熟悉了它们,记忆便不再困难
- -a
-
all : 全部,所有 (ls , lsattr , uname)
archive : 存档 (cp , rsync)
append : 附加 (tar -A , 7z)
- -b
-
blocksize : 块大小,带参数 (du , df)
batch : 批处理模式 (交互模式的程序通常拥有此选项,如 top -b)
- -c
-
commands : 执行命令,带参数 (bash , ksh , python)
create : 创建 (tar)
- -d
-
debug : 调试
delete : 删除
directory : 目录 (ls)
- -e
-
execute : 执行,带参数 (xterm , perl)
edit : 编辑
exclude : 排除
- -f
-
force : 强制,不经确认(cp , rm ,mv)
file : 文件,带参数 (tar)
configuration file : 指定配置文件(有些守护进程拥有此选项,如 ssh , lighttpd)
- -g
- -h
-
--help : 帮助
human readable : 人性化显示(ls , du , df)
headers : 头部
- -i
-
interactive : 交互模式,提示(rm , mv)
include : 包含
- -k
-
keep : 保留
kill
- -l
-
long listing format : 长格式(ls)
list : 列表
load : 读取 (gcc , emacs)
- -m
-
message : 消息 (cvs)
manual : 手册 (whereis)
create home : 创建 home 目录 (usermod , useradd)
- -n
-
number : 行号、编号 (cat , head , tail , pstree , lspci)
no : (useradd , make)
- -o
-
output : 输出 (cc , sort)
options : 选项 (mount)
- -p
-
port : 端口,带参数 (很多网络工具拥有此选项,如 ssh , lftp )
protocol : 协议,带参数
passwd : 密码,带参数
- -q
-
quiet : 静默
- -r
-
reverse : 反转
recursive : 递归 (cp , rm , chmod -R)
- -s
-
silent : 安静
size : 大小,带参数
subject
- -t
-
tag
type : 类型 (mount)
- -u
-
user : 用户名、UID,带参数
- -v
-
verbose : 冗长
version : 版本
- -w
-
width : 宽度
warning : 警告
- -x
-
exclude : 排除 (tar , zip)
- -y
-
yes
- -z
-
zip : 启用压缩 (bzip , tar , zcat , zip , cvs)
转自:
开源世界旅行手册
UNIX 缩写风格的更多相关文章
- 【转】fnmatch模块的使用——主要作用是文件名称的匹配,并且匹配的模式使用的unix shell风格
[转]fnmatch模块的使用 fnmatch模块的使用 此模块的主要作用是文件名称的匹配,并且匹配的模式使用的unix shell风格.fnmatch比较简单就4个方法分别是:fnmatch,fnm ...
- 飘逸的python - 几行代码实现unix管道风格的函数调用
用过linux的基本知道它的管道,是将一个程序或命令的输出作为还有一个程序或命令的输入. 废话少说,以下我们看用python怎么实现unix管道风格的函数调用. #coding=utf-8 class ...
- linux开发核心理解
目录 授权 致谢 序言 更新纪录 导读 如何写作科技文档 I. 气候 1. GUI? CLI? 2. UNIX 缩写风格 3. 版本号的迷雾 4. Vim 还是 Emacs 5. DocBoo ...
- Google C++编程风格指南 - 中文版
Google C++编程风格指南 - 中文版 from http://code.google.com/p/google-styleguide/ 版本: 3.133原作者: Benjy Weinberg ...
- Google开源项目风格指南
Google开源项目风格指南 来源 https://github.com/zh-google-styleguide/zh-google-styleguide Google 开源项目风格指南 (中文版) ...
- [BI基础] 一些不得不了解的概念
0.Hadoop hadoop主要是用来对海量数据进行存储和计算的. 它本身是一个分布式系统,核心由分布式文件系统hdfs,和分布式计算框架mapreduce组成,在存储和计算时能够发挥出集群中每台机 ...
- 华为C语言编程规范
DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd ...
- 在Windows下编译FFmpeg详细说明
MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...
- 《zookeeper原理与实践》笔记
第1章 分布式架构 1.1 分布式 分布式特点:分布性.对等性.并发性.缺乏全局时钟.故障总是会发生. 分布式问题:通讯异常.网络分区(脑裂).三态.节点故障. 1.2 ACID到CAP/BASE ...
随机推荐
- hdoj Scaena Felix
Scaena Felix Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tota ...
- Data Guard相关参数学习介绍
LOG_ARCHIVE_DEST_n 参数属性介绍 该参数的n在11g中为1到31,下列为参数的属性值: u AFFIRM and NOAFFIRM u ALTERNATE (not suppor ...
- linux杂谈(十七):iscsi存储分离技术
1.iscsi简单介绍 iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道.透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机能够透过快速的局域网集线来 ...
- Webserver管理系列:9、创password重设盘
网络时代需要记录password太多.一不留神可能会忘记.是否server的password忘记将是一件非常麻烦的事情. Windows Server 2008 它为我们创造password重设盘功能 ...
- Mysql++详解
MySQL++数据库操作(1).mysqlpp::Connection con(false); //定义了mysql连接对象: (2).con.set_option(new mysqlpp::SetC ...
- 关于MVC EntityType has no key defined的问题
关于MVC EntityType has no key defined的问题 在测试MVC时发现一个奇怪的问题,在Model中定义数据类时,如 public class UserInfo { publ ...
- iOS 切割图片
- (UIImage *)CutImageWithImage:(UIImage *)image withRect:(CGRect)rect { //使用CGImageCreateWithImageIn ...
- Hadoop学习笔记(1)概述
写在学习笔记之前的话: 寒假已经开始好几天了,似乎按现在的时间算,明天就要过年了.在家的这几天,该忙的也都差不多了,其实也都是瞎忙.接下来的几点,哪里也不去了,静静的呆在家里学点东西.所以学习一下Ha ...
- js正则语法
整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$只能输入数字:"^[0-9]*$".只能输入n位的数字:"^\d{n}$".只能输入至少n位的数 ...
- php分页实例附代码
一个典型的PHP分页实例代码分享,学习php的朋友肯定用得到,主要是了解思路: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit ...