Linux中常用的命令都是哪些单词的缩写

作者:蓬岸 Dr.Quest
链接:https://www.zhihu.com/question/49073893/answer/114986798
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

操作类Unix系统的时候,如果你见过真正的小型机,很多概念就容易理解的多。


微型电脑就是一部缩小了的小型机
微型电脑就是一部缩小了的小型机
微型电脑就是一部缩小了的小型机

重要的事情说三遍
知道为什么控制台是tty吗?因为在类Unix里,键盘显示器,都是虚拟的teletypewriter,真正的teletypewriter长这样
为什么解压缩往往会用到tar -zxvf?这个tar命令究竟是什么?实物版的tar长这样,叫Tape Archive
为什么硬盘要mount/umount,硬盘都是固定在电脑里的,mount管什么用?这货叫DEC Pack,就是数据库图标里的那个圆柱,要让这圆柱(硬盘)工作起来,先得把它放进硬盘驱动器,这个驱动器就叫/dev/hda(也可能是hdb,看一共有几个Hard Drive)。
然后按下Load钮,磁盘才会转起来,然后才能mount到系统上。BTW,驱动器上面这个满是按钮的盒子,在Unix里就叫/dev/cpu,对,不是微型电脑里那个芯片才叫CPU
<img src="https://pic4.zhimg.com/50/ce2fa661023b87567a62e378d08534cc_hd.jpg" data-rawwidth="640" data-rawheight="480" class="origin_image zh-lightbox-thumb" width="640" data-original="https://pic4.zhimg.com/ce2fa661023b87567a62e378d08534cc_r.jpg">
那个screen命令,其实本来设计给这货用的,这“傻”终端机没法支持多窗口,所以就需要依靠服务器端的多个进程来模拟多窗口。
<img src="https://pic1.zhimg.com/50/5f791fdd05027dbdc50d427425cd5f8d_hd.jpg" data-rawwidth="1024" data-rawheight="768" class="origin_image zh-lightbox-thumb" width="1024" data-original="https://pic1.zhimg.com/5f791fdd05027dbdc50d427425cd5f8d_r.jpg"> 想看更多小型机的故事,请移步 带你逛西雅图活电脑博物馆(一) - 古董电脑室 - 知乎专栏

8月6日更新:
先给各位热情的知乎ers道个歉,我正处在高二升高三的阶段,这个暑假比(chao)较(ji)忙,所以看得到大家的动态,但是实在抽不出时间来回,实在是不好意思。还有谢谢评论区中指出的错误,已经作了及时的更正,避免误导大家。btw,这是我在知乎上的第一个回答呢,获得那么多的赞和关注真的还是蛮开心的。
还有还有,重要:所有的缩写和全称都是我从网上搜集的,基本上是采取了大多数人支持的说法或者是官方的说法。不过毕竟是简称吗,怎么理解就是仁者见仁、智者见智了。毕竟能根据自已的想法理解命令的意思,使用起来也会得心应手很多。
哎对了,如果有空的话出门左转看一看这个,再来理解这些抽象的命令把
Linux中常用的命令都是哪些单词的缩写? - 蓬岸 Dr.Quest 的回答

下面是正文(我强迫症犯了)

说明:大写的字母就是缩写中对应的字母
那就开始吧————————————————割———————————————————
首先最重要的:Linux -- LINUs' uniX (开个玩笑不是这样的,别当真)
然后是推动Linux发展和辉煌的GNU -- Gnu is Not Unix is Not Unix is Not Unix is Not Unix......(很魔性的起名方式,但我很喜欢)
然后是目录名:
/boot:顾名思义
/root :同上
/lost+found:同上
/run:同上
/home:同上
/etc:ETCetera
/bin:BINaries
/dev:DEVices
/lib:LIBraries
/mnt:MouNT
/proc:PROCesses
/tmp:TeMPorary
/var:VARiable
/srv:SeRVices
/opt:OPTion
/sbin:Super BINaries(又作Superuser BINaries)
/sys:SYStem
/usr:一鼓而作Unix System Resources,再而作Unix Software Resources,三而作Unix Shared Resources(这个很重要,很多人会认为这个是user)

好像偏题了。。。回答题主的问题吧

以下是系统管理时用到的:

首先是文件管理(包括文件输出管理):
ls -- LiSt
cd -- Change Directory
pwd -- Print Working Directory
cp -- CoPy
mv -- MoVe
rm -- ReMove
pushd -- PUSH to Directory
popd -- POP from Directory(这俩个是很有用的命令,在编译LFS的时候学到的)
mkdir -- MaKe DIRectory
rmdir -- ReMove DIRectory
cat -- CATenate(有说是conCATenate,这两个词是一个意思吧)
sed -- Stream EDitor
diff -- DIFFerence
wc -- Word Count(不是那个wc啊)
chmod -- CHange MODe
chown -- CHange OWNer
chgrp -- CHange GRouP
awk -- Aho Weinberger and Kernighan(自恋,服气)(

谢谢指错)
gawk -- Gnu Aho Weinberger and Kernighan
grep -- General Regular Expression Print( 谢谢)
ln -- LiNk
tar -- TARball

接下来是硬件管理:
df -- Disk Free
du -- Disk Usage
dd -- Data Description(一说是Convert and Copy, 但是cc被用掉了,就用dd了)
parted -- PARTition EDitor
lspci -- LiSt Peripheral Component Interconnect
lscpu -- LiSt Central Process Unit
lsusb -- LiSt Universal Serial Bus
mdadm -- 求助啊,这个不知道啊,只知道md是multiple device!!
注:等我有时间会补上lvm的内容

然后是软件及软件包管理:
man -- MANual
apt -- Advanced Packaging Tool
dpkg -- Debian PacKaGe
yum -- Yellow dog Updater, Modified
rpm -- RPM Package Manager(又作Redhat Package Manager,不过我比较喜欢前者,因为魔性)

之后是系统管理(主要是内核模组):
depmod -- DEPend MODule
lsmod -- LiSt MODule
modprobe -- MODule PROBE
modinfo -- MODule INFOrmation
insmod -- INSert MODule
rmmod -- ReMove MODule
ps -- Processes Status
su -- Substitute User
bash -- Bourne Again SHell
init -- INITialization(差点把这个忘了)
ssh -- Secure SHell
wine -- Wine Is Not an Emulator(哈哈,又来了)
exec -- EXECute
fstab -- FileSystem TABle
passwd -- PASSWorD
tty -- TeleTYpe
sudo -- SuperUser DO
grub -- GRand Unified Bootloader(Linux全家桶启动就靠它了)
tzselect -- Time Zone SELECT
sync -- SYNChronize(确认关机前多执行几次。有次我在tty1用vim改nginx配置文件,朋友在tty2给我直接关机了(用halt关的,这个猪脑子,我说过好多次用shutdown了),导致开机的时候nginx启动不起来,关机前配置文件我改了很多,但是vim没有备份那么多,还要重改www)
装了systemd -- SYSTEM Daemon 的话,会有systemctl bootctl journalctl loginctl localectl timedatectl 等等,都是blablabla ConTroL

最后是编辑器:
ed -- EDitor
nano -- Nano's ANOther editor(还有)
emacs -- Editor MACroS(还有很多全称,就不罗列了,这个接受度比较广)
vi -- VIsual
vim -- Vi Improved

注2:还有用户及用户组管理,等有时间吧......

接下来是写程序时会用到的:
cc -- C Compiler
gcc -- Gnu Compiler Collection(作为一个 软件集被你下载下来编译安装的时候)
gcc -- Gnu C Compiler (作为一个 软件被你调用来编译C程序的时候)
g++ -- Gnu c++ compiler(其实g++只是调用gcc,然后连接c++的库,并且作相应的一些编译设置而已)
gcj -- Gnu Compiler for Java
yacc -- Yet Another Compiler Compiler
guile -- Gnu Ubiquitous Intelligent Language for Extensions
gas -- Gnu Assembler(好像已经看不到了)
php -- PHP:Hypertext Preprocessor (啊啊啊又来了)
ld -- Link eDitor(为啥不是le我不太明白,但是GNU官方名叫Linker,但是没有d啊??难道是Link Daemon??不懂)( 谢提醒,我又去查了一遍)
下面引用他的评论:
  • 关于 ld... 如果我是设计者的话,我会担心跟表示“小于等于”的 le 重名。也有材料说是来源于 load (see GNU linker).

gdb -- Gnu DeBug(又忘神器了)
tcl -- Tool Command Line

接下来是图形界面:
gnome -- GNu Object Model Environment
gdm -- Gnome Display Manager
gtk -- Graphic user interface ToolKit
qt -- ………………Toolkit(不说Q了,用Q只是因为在开发者的Emacs中Q特别漂亮…………)
kde -- K Desktop Environment
lxde -- Lightweight X11 Desktop Environment
xfce -- XForms Common Environment

然后是各种参数(声明:只是通常会使用的参数,并不一定是通用参数,使用时请注意):
-h | --help:help
-v | --version:version(吐槽一下java)

还是漏了(不是亲戚漏了),各种许可证:
gnu gpl : Gnu General Public License
gnu lgpl : Gnu General Lesser Public License
gfdl : Gnu Free Documentation License
agpl : Affero General Public License(或简写为Affero gpl)
apsl : Apple Public Source License
bsd : Berkeley Software Distribution license

。。。。。。最后还是偏题了
反正大多是g开头的命令都是GNU的,反正GNU是一个很神奇的组织

就到这里吧,有什么遗漏的请评论补充吧

ls: list
rm: remove
mkdir: make directory
mkfs: make filesystem
mknod: make node
chown: change owner
cp: copy
insmod: install module
lsmod: list modules
rmmod: remove module
env: environment
cat: concatenate
gcc: GNU Compiler Collection
man: manual
ps: processes
pwd: print working directory
ifconfig: interface configuration
sync: synchronize

还有很多 暂时记得这些…

----------------------------------------------------------------------
评论里有人说gcc应该叫 GNU C compiler,这里我觉得应该看个人需求吧。如果你只是用gcc来编译C语言,那你这么理解也没错。因为一开始gcc确实只支持C语言,所以一开始确实是叫C 编译器,可后来新增加了很多其它语言的支持,例如C++ JAVA fortran等。所以叫编译器集合也无可厚非~ 还是那句话 根据个人需要来理解。

还有GNU is Not Unix 递归的那位仁兄,你是来卖萌的吗←_←

===================================
其实我这里写的“全称”不一定百分百正确或符合规范,但能通过这些“全称”来初步理解这些命令的作用才是本答案的正确打开方式~

要深入学习一条命令的话,建议大家直接man,这样大家也能总结出一大堆出来~

_ノ乙(、ン、)_

203个unix指令的缩写:

Unix Command Acronyms

Linux 命令缩写

--------------------------------------------------------

下面这些是常用的

  • ls - List the contents of your present working directory.
  • pwd - Shows you what your present working directory is.
  • cd - Let you change directories.
  • rm - Remove one or more files.
  • rmdir - Remove an empty directory.
  • mkdir - Make a directory.
  • ps - Provides a list of currently running processes.
  • cp - Copy a file.
  • mv - Move a file (this is also used to rename a file. "Moving" it from one file name to another.)
  • grep - The global regular expression print program lets you search through a file or output of another program.
  • find - Find a file on the filesystem (100% accurate, but not fast).
  • locate - Find a file on the filesystem from a cached list of files (Fast, but not 100% accurate).
  • man - Displays the manual for most commands (including 'man').
  • clear - clear the screen
  • less - view the contents of a file
  • nano - Nano's ANOther editor
  • sudo - super user do
  • su - switch user (default to root)
  • view - Start in read-only mode. You will be protected from writing the files. Can also be done with the "-R" argument.

--------------------------------------------------------------------

据我自己用的经验,感觉用Linux指令关键是明白了它的通常用法就可以了,其他非Linux的指令很多也是Linux指令的语法风格。

我用Linux的过程中常用的应该就是三四个,cd,ls,sudo,mkdir等,其他一些经常会忘记语法,用的时候就搜索一下,vim什么我用的极少,写代码和看东西会用IDE,或者atom、vscode等编辑器,除非是要连接到服务器,那不得不用指令了,现在的桌面Linux操作已经很方便了。

creat是create的缩写,嗯,一定是这样的
知道下面这些...

awk = "Aho Weinberger and Kernighan" 这个语言以作者 Al Aho, Peter Weinberger 和 Brian Kernighan 的姓来命名。

grep = "Global Regular Expression Print"

grep 来自 ed 的列印所有符合某 pattern 指令

g/re/p

"re" 代表 regular expression

fgrep = "Fixed GREP". fgrep: 找固定的字串。"f" 不是代表 "fast" - 事实上, "fgrep foobar *.c" 通常比 "egrep foobar *.c" 来得慢(有点意外吧, 不信的话, 自己试试喽)。

尽管如此,Fgrep 仍然有可取之处,在档案中搜寻字串的时候,Fgrep能处理的字串数目较 egrep 多。

egrep = "Extended GREP"

egrep 用比 grep 更 fancy 的 regular rexpression。许多人始终只用 egrep,因为它用的 algorithm 比 grep 或 fgrep 用的高级,而且通常是三个程式中最快的。

cat = "CATenate"

catenate 是一个艰深难懂的单字,意思是"把它连成一串", 这就是"cat" 这个指令对一个或多个档案所做的处理。

请不要跟 C/A/T 混淆了,C/A/T 是指电脑辅助排版系统(Computer Aided Typesetter)。

gecos = "General Electric Comprehensive Operating Supervisor"

不过,当通用电器 (GE) 的大型系统部门卖给 Honeywell 的时候,Honeywell 就把 GECOS 的 E 拿掉了。

目前 Unix 的密码档里面仍保有 "pw_gecos" 这个栏位。这个名字是从古早的年代沿用过来的。

Dennis Ritchie 曾经说过:

"有时候我们会把印表输出或整批工作丢到 GCOS 机器。密码档里面的 gcos 栏位是用来隐藏 $IDENT 卡片上的资讯,这样做不够优雅"。

nroff = "New ROFF"

troff = "Typesetter new ROFF"

这些字都是从"roff"衍生的, roff 是重写 Multics 上的 runoff 程式得来的 (runoff 的意思就是"印出文件")。

tee = T

这是管线工人的术语,代表 T 型的管线分叉器。

bss = "Block Started by Symbol" (由符号启始的区块)

Dennis Ritchie 曾说过:

这个缩写也许有其他说法,但事实上我们采用这个缩写的本意是"Block Started by Symbol"。它是 FAP 上的虚拟指令,FAP(Fortran Assembly [-er?] Program) 是指 IBM 704-709-7090-7094这种机型的组译器。这个指令可定义自己的标号,并且预留一定数目的字组空间。

还有另一个虚拟指令 BES,是 "Block Ended by Symbol",跟 BSS 指令几乎一样,不同点在于标号是定义在预留字组空间尾端的位址 + 1 的 地方。在这些机器上,Fortran 的阵列是以反方向储存,而且阵列的索引是从 1 算起。

这种用法是合理的,因为这跟 UNIX 上标准的程式载入器一样,程式码当中并非真的放入这一整块预留空间,而是先用一个数目表示,在载入时 才真的把所需的预留空间定出来。

biff = "BIFF"

这个指令是用来设定当您有新邮件进来时,是否要通知您。这是柏克莱大学校园内一只狗的名字。

我可以确定这个名称的起源,如果您有兴趣的话,Biff 是 Heidi Stettner 养的宠物,想当年 Heidi (还有我,跟 Bill Joy) 都还是UCB的 研究生时,早期的 BSD 版本还在发展中。Biff 受到流连于Evans Halls 这些人的喜爱,也因为它会对前来的邮差吠叫而闻名;因此就以 biff 当作指令的名称。(这是卡内基美浓大学的 Eric Cooper 证实的)

rc (像是 ".cshrc" 或 "/etc/rc" 中的 rc 这两个字母) = "RunCom"

"rc" 是取自 "runcom", 来自麻省理工学院在 1965 年发展的 CTSS系统。相关文献曾记载这一段话: '具有从档案中取出一系列命令来执行的功能;这称为 "run commands" 又称为 "runcom",而这种档案又称为一个 runcom (a runcom)。'

Brian Kernighan 与 Dennis Ritchie 告诉 Vicki Brown 说: "rc" 也是Plan 9 作业系统 shell 的名字。

Perl = "Practical Extraction and Report Language"

Perl = "Pathologically Eclectic Rubbish Lister"

Perl是 Larry Wall 所发展的一种相当受欢迎的语言, Perl 在处文字, process,与档案时非常便利,可以说是兼得 shell 与 C 之长。想知道更多关于Perl 的讯息,请看 Usenet newsgroup comp.lang.perl。

Don Libes 的 "Life with Unix" 一书里有更多这类的珍闻轶事。

注: 上述内容来自于网络...

总结了一下相关的回答,主要参考了

的回答,同时补充了很多内容。更好的体验可以参考个人博客: Linux常用缩写

## 1. 目录缩写

缩写 | 全称 | 说明
--- | --- | --- |
/bin | BINaries | 二进制可执行命令
/dev | DEVices | 特殊设备文件
/etc | ETCetera | 系统管理和配置文件
/etc/fstab | FileSystem TABle | 文件/etc/fstab包含了静态文件系统信息,定义了存储设备和分区整合到整个系统的方式。mount 命令会读取这个文件,确定设备和分区的挂载选项。
/lib | LIBraries | 库文件
/mnt | MouNT | 系统提供这个目录是让用户临时挂载其他的文件系统。
/opt | OPTion | 第三方软件放置的目录。如果你想自行安装额外的软件(非原本的 distribution 提供的),那么也能够将你的软件安装到这里来。
/proc | PROCesses | 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/sbin | Super BINaries, Superuser BINaries | 系统管理命令,这里存放的是系统管理员使用的管理程序
/srv | SeRVices | 是一些网络服务启动后,这些服务所需要取用的数据目录。常见的服务例如 WWW,FTP 等。
/sys | SYStem | 虚拟文件系统,主要记录与内核相关的信息,包括目前已加载的内核模块与内核检测到的硬件设备信息,同样不占硬盘容量。
/tmp | TeMPorary | 公用的临时文件存储点
tty | teletypewriter | “电传打字机”,在类Unix里,键盘显示器,都是虚拟的teletypewriter
/usr | Unix System/Software/Shared Resources | “Unix 操作系统软件资源” 所放置的目录,不是用户数据。 FHS 建议所有的软件开发者应该将他们的数据合理的放置到这个目录下的子目录,而不是自行新建该软件自己独立的目录。
/var | VARiable | 某些大文件的溢出区,比方说各种服务的日志文件

注:具体到各个目录的功能以及作用,可以参考下面两篇文章:

- [Linux中常用的命令都是哪些单词的缩写?](Linux中常用的命令都是哪些单词的缩写? - Linux 系统管理)
- [(转)linux 目录结构及其含义]((转)linux 目录结构及其含义)(这篇比较详细)


## 2. 命令缩写

缩写 | 全称 | 说明
--- | --- | ---
apt | Advanced Packaging Tool | 是Debian Linux发行版中的APT软件包管理工具。一般配合apt-get或者apt-update
awk | Aho Weiberger and Kernighan | Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的Family Name的首字符。一种编程语言,用于在linux/unix下对文本和数据进行处理。
bash | Bourne Again SHell | 一种shell
bg | BackGround | 用于将作业放到后台运行,使前台可以执行其他任务。该命令的运行效果与在指令后面添加符号&的效果是相同的,都是将其放到系统后台执行。
cal | CALendar | 用于显示当前日历,或者指定日期的日历。
cat | CATenate | "连接",连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令。
chgrp | CHange GRouP | 用来改变文件或目录所属的用户组。
chmod | CHange MODe | 用来变更文件或目录的权限。
chown | CHange OWNer | 改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。
cd | Change Directory | 切换工作目录
cp | CoPy | 将一个或多个源文件或者目录复制到指定的目的文件或目录
dd | Data Description | 用于复制文件并对原文件的内容进行转换和格式化处理。
df | Disk Free | 用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。
du | Disk Usage | 查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。
diff | DIFFerence | 在最简单的情况下,比较给定的两个文件的不同。
dpkg | Debian PacKaGe | Debian Linux系统用来安装、创建和管理软件包的实用工具。
ed | EDitor | 单行纯文本编辑器,它有命令模式(command mode)和输入模式(input mode)两种工作模式。
emacs | Editor MACroS | 是由GNU组织的创始人Richard Stallman开发的一个功能强大的全屏文本编辑器,它支持多种编程语言,具有很多优良的特性。(备注:vim大法好!!!)
env | ENVironment | 用于显示系统中已存在的环境变量,以及在定义的环境中执行指令。
exec | EXECute | 用于调用并执行指令的命令。
fsck | File System Consistency checK, or fuck | 用于检查并且试图修复文件系统中的错误。
gawk | Gnu Aho Weiberger and Kernighan |
grep | Gnu Regular Expression Print | (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grub | GRand Unified Bootloader | 多重引导程序grub的命令行shell工具。
ifconfig | InterFace CONFIGuration | 被用于配置和显示Linux内核中网络接口的网络参数。
init | INITialization | Linux下的进程初始化工具
insmod | INStall Module | 用于将给定的模块加载到内核中。
ln | LiNk | 用来为文件创件连接,连接类型分为硬连接和符号连接两种,默认的连接类型是硬连接。如果要创建符号连接必须使用"-s"选项。
ls | LiSt | 显示目标列表
lsmod | LiSt Module | 用于显示已经加载到内核中的模块的状态信息。
man | MANual | Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。一般戏称有问题找男人。。。
mkdir | MaKe DIRectory | 创建目录
mkfs | MaKe FileSystem | 用于在设备上(通常为硬盘)创建Linux文件系统。
mv | MoVe | 对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。
nano | Nano's ANOther editor | 是一个字符终端的文本编辑器,有点像DOS下的editor程序。
parted | PARTition EDitor | 是由GNU组织开发的一款功能强大的磁盘分区和分区大小调整工具,与fdisk不同,它支持调整分区的大小。
passwd | PASSWorD | 用于设置用户的认证信息,包括用户密码、密码过期时间等。
ping | Packet InterNet Grouper | 用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
popd | POP from Directory | 删除目录栈中的记录;
pushd | PUSH to Directory | 是将目录加入命令堆叠中。
ps | Processes Status | 报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。
pwd | Print Working Directory | 以绝对路径的方式显示用户当前工作目录
rcconf | Run Command CONFiguration | Debian Linux下的运行等级服务配置工具,用以设置在特定的运行等级下系统服务的启动配置。
rm | ReMove | 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
rmdir | ReMove DIRectory | 用来删除空目录。
rmmod | ReMove MODule | 用于从当前运行的内核中移除指定的内核模块。
rpm | RPM/Redhat Package Manager | RPM软件包的管理工具。
sed | Stream EDitor | 一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。
ssh | Secure SHell | openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器。
su | Substitute User | "替代用户",切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
sudo | SuperUser DO | 用来以其他身份来执行命令,预设的身份为root。
sync | SYNChronize | 用于强制被改变的内容立刻写入磁盘,更新超块信息。
vim | vi Improved | 是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。(备注:神一样的编辑器!!!)
yum | Yellow dog Updater, Modified | 在Fedora和RedHat以及SUSE中基于rpm的软件包管理器


注:命令的具体解释可以参考这个网站:[Linux命令大全](Linux命令大全(手册)_Linux常用命令行实例详解_Linux命令学习手册)


## 3. 编程相关缩写

缩写 | 全称 | 说明
--- | --- | ---
cc | C Compiler |
gcc | Gnu Compiler Collection | 作为一个软件集被你下载下来编译安装的时候
gcc | Gnu C Compiler | 作为一个软件被你调用来编译C程序的时候
g++ | Gnu c++ compiler | 其实g++只是调用gcc,然后连接c++的库,并且作相应的一些编译设置而已
gcj | Gnu Compiler for Java |
gdb | Gnu DeBug |



## 4. 递归缩写

缩写 | 全称 | 说明
--- | --- | ---
GNU | Gnu is Not Unix |
PHP | PHP: Hypertext Preprocessor |
RPM | RPM Package Manager |
WINE | WINE Is Not an Emulator | Wine 是类UNIX系统下运行微软Windows程序的"兼容层"。在Wine中运行的Windows程序,就如同运行原生Linux程序一样,不会有模拟器那样的性能问题。
PNG | PNG's Not GIF |
nano | Nano's ANOther editor |


## 5. 其他缩写

缩写 | 全称 | 说明
--- | --- | ---
tar | Tape Archive | “磁带档案卷”
tcl | Tool Command Language | Tcl(发音 tickle)是一种脚本语言。
tty | teletypewriter | “电传打字机”,在类Unix里,键盘显示器,都是虚拟的teletypewriter
tzselect | Time Zone SELECT |


## 6. 参考资料

- [Linux中常用的命令都是哪些单词的缩写?]( Linux中常用的命令都是哪些单词的缩写? - Linux 系统管理)
- [(转)linux 目录结构及其含义]( (转)linux 目录结构及其含义)
- [Linux命令大全]( Linux命令大全(手册)_Linux常用命令行实例详解_Linux命令学习手册)
- [Wine (简体中文)]( Wine (简体中文))
- [fstab (简体中文)]( fstab (简体中文))
- [AWK 简明教程]( AWK 简明教程)
- [缩写习惯]( 缩写习惯)
- [Tcl]( zh.wikipedia.org/wiki/T)
- [Unix Command Acronyms]( Unix Command Acronyms)
能百度得到吧,何必来问知乎大神!
fsck: file system consistency check, orfuck
Dennis Ritchie: “So fsck was originally called something else”
Question: “What was it called?”
Dennis Ritchie: "Well, the second letter was different"[1]

第一次看到这个命令就觉得很像某个单词,一查果然有梗……

1. fsck
竟然没人提到 lsof 命令,这不科学。

lsof : list open files。Linux 上的一款神级工具,被誉为Linux上的“瑞士军刀”。在 Linux 中一切皆文件,你启动的一个进程、监听的一个端口,都以文件的形式存在于系统中,端口被哪个进程占用的,文件被哪个进程打开的,通过 lsof 命令都可以查的到。甚至,对于一些被误删除的文件,通过lsof 也可以进行恢复;


再补充几个常用的:

nc: netcat ,另一个神器,端口扫描、抓包、传送文件,很多网络相关的它都能做……安全人员用的比较多;

tr: translate 字符转换;

fdisk: (partition a) fixed disk 磁盘分区;

su: substitute user 这个上面有同学说是switch user的缩写,其实是不那么official的;

wc: word count 统计字符数、文件行数

linux

常用命令的英文单词缩写

命令缩写:

ls

list(

列出目录内容

)

cd

Change Directory

(改变目录)

su:switch user

切换用户

rpm:redhat package manager

红帽子打包管理器

pwd:print work directory

打印当前目录

显示出当前工作目录的绝对路径

ps: process status(

进程状态,类似于

windows

的任务管理器

)

常用参数:-

auxf

ps -auxf

显示进程状态

df:

disk

free

其功能是显示磁盘可用空间数目信息及空间结点信息。

换句话说,

就是报告在任何安装的设备或目录中,还剩多少自由的空间。

rpm

RedHat Package Management

,是

RedHat

的发明之一

rmdir

Remove Directory

(删除目录)

rm

Remove

(删除目录或文件)

这是一个在线的man手册Linux Man Pages Online,查一下该命令在man手册中的 DESCRIPTION j就可以大概推测该命令的是哪些单词的缩写了。

缩写习惯

无聊和乏味的工作是罪恶

-- Eric S. Raymond

构建于图形界面之上的操作系统,使用鼠标作为主输入设备, 是否使用缩写并不重要。比如 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)


————《开源世界旅行手册》

联想一下:如ls命令是list的缩写,

cd命令是change dir的缩写,

chown命令是 Change owner 的缩写,

su命令是Swith user的缩写;

cat是 Concatenate的缩写;

df是disk free的缩写;

du是disk useage的缩写;

chown是change owner的缩写;

ps是process status的缩写;

chmod是change mod的缩写;

ldd是List dynamic dependencies的缩写。

tac是cat的rev
喔。。好长见识。。但是吧,好像linux的命令这说法有点不太对,这明明是问bash和GNU Tools的原始写法啊~可以参考powerShell,那里面的命令没有缩写,愿意的话可以在linux上架起来powerShell为基础的环境
vim - vi improved
virtualenv =virtual environment
ln和单词link

目标

熟练使用 Linux常用的命令

ls

clear

cd

pwd

mkdir

touch

rm

cp

mv

tree

chmod

find

grep

重定向

软连接、硬链接

压缩

shutdown

reboot

who

exit

passwd

sudo

1> 查看文件信息:ls

ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。

Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。

ls常用参数:

参数含义

-a显示指定目录下所有子目录与文件,包括隐藏文件

-l以列表方式显示文件的详细信息

-h配合 -l 以人性化的方式显示文件大小



<img src="https://pic3.zhimg.com/50/v2-6c02beb305e794ff45323cf2ff3b6d9e_hd.jpg" data-caption="" data-rawwidth="1240" data-rawheight="562" class="origin_image zh-lightbox-thumb" width="1240" data-original="https://pic3.zhimg.com/v2-6c02beb305e794ff45323cf2ff3b6d9e_r.jpg">





<img src="https://pic1.zhimg.com/50/v2-3e22c683de2db20601f341ba2aaa6f39_hd.jpg" data-caption="" data-rawwidth="1240" data-rawheight="831" class="origin_image zh-lightbox-thumb" width="1240" data-original="https://pic1.zhimg.com/v2-3e22c683de2db20601f341ba2aaa6f39_r.jpg">





<img src="https://pic1.zhimg.com/50/v2-705d6e7e9b88a1cf05b66d87e1c2f9ae_hd.jpg" data-caption="" data-rawwidth="1240" data-rawheight="853" class="origin_image zh-lightbox-thumb" width="1240" data-original="https://pic1.zhimg.com/v2-705d6e7e9b88a1cf05b66d87e1c2f9ae_r.jpg">





<img src="https://pic3.zhimg.com/50/v2-ed7216bde7607e5064fb0170f3a27e1a_hd.jpg" data-caption="" data-rawwidth="1240" data-rawheight="682" class="origin_image zh-lightbox-thumb" width="1240" data-original="https://pic3.zhimg.com/v2-ed7216bde7607e5064fb0170f3a27e1a_r.jpg">




图中列出的信息含义如下图所示:



<img src="https://pic1.zhimg.com/50/v2-131273f6ce64a74742541df62cf82cdf_hd.jpg" data-caption="" data-rawwidth="591" data-rawheight="98" class="origin_image zh-lightbox-thumb" width="591" data-original="https://pic1.zhimg.com/v2-131273f6ce64a74742541df62cf82cdf_r.jpg">



与DOS下的文件操作类似,在Unix/Linux系统中,也同样允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符。

通配符含义

*文件代表文件名中所有字符

ls te*查找以te开头的文件

ls *html查找结尾为html的文件

?代表文件名中任意一个字符

ls ?.c只找第一个字符任意,后缀为.c的文件

ls a.?只找只有3个字符,前2字符为a.,最后一个字符任意的文件

[][”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。

[abc]匹配a、b、c中的任意一个

[a-f]匹配从a到f范围内的的任意一个字符

ls [a-f]*找到从a到f范围内的的任意一个字符开头的文件

ls a-f查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用

\如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用。

ls \*a查找文件名为*a的文件

2> 清屏:clear

clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键:Ctrl + l ( “l” 为字母 )。

3> 切换工作目录: cd

在使用Unix/Linux的时候,经常需要更换工作目录。cd命令可以帮助用户切换工作目录。Linux所有的目录和文件名大小写敏感

cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录。

命令含义

cd切换到当前用户的主目录(/home/用户目录),用户登陆的时候,默认的目录就是用户的主目录。

cd ~切换到当前用户的主目录(/home/用户目录)

cd .切换到当前目录

cd ..切换到上级目录

cd -可进入上次所在的目录



<img src="https://pic2.zhimg.com/50/v2-1b5294f0873fe08112b3e7afd05ea87f_hd.jpg" data-caption="" data-rawwidth="1240" data-rawheight="709" class="origin_image zh-lightbox-thumb" width="1240" data-original="https://pic2.zhimg.com/v2-1b5294f0873fe08112b3e7afd05ea87f_r.jpg">





<img src="https://pic4.zhimg.com/50/v2-dbe0516ffdbbe600b390a29a004fb756_hd.jpg" data-caption="" data-rawwidth="1240" data-rawheight="325" class="origin_image zh-lightbox-thumb" width="1240" data-original="https://pic4.zhimg.com/v2-dbe0516ffdbbe600b390a29a004fb756_r.jpg">









注意:

如果路径是从根路径开始的,则路径的前面需要加上 “ / ”,如 “ /mnt ”,通常进入某个目录里的文件夹,前面不用加 “ / ”。

4> 显示当前路径:pwd

使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数。



<img src="https://pic1.zhimg.com/50/v2-5b882e6474c03fda7a64de24c38dfdac_hd.jpg" data-caption="" data-rawwidth="1240" data-rawheight="241" class="origin_image zh-lightbox-thumb" width="1240" data-original="https://pic1.zhimg.com/v2-5b882e6474c03fda7a64de24c38dfdac_r.jpg">




5> 创建目录:mkdir

通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录。

需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。





<img src="https://pic2.zhimg.com/50/v2-5a6a7047cacea757210801e986106cc8_hd.jpg" data-caption="" data-rawwidth="1240" data-rawheight="824" class="origin_image zh-lightbox-thumb" width="1240" data-original="https://pic2.zhimg.com/v2-5a6a7047cacea757210801e986106cc8_r.jpg">



6> 删除文件:rm

可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。

常用参数及含义如下表所示:

参数含义

-i以进行交互式方式执行

-f强制删除,忽略不存在的文件,无需提示

-r递归地删除目录下的内容,删除文件夹时必须加此参数





<img src="https://pic2.zhimg.com/50/v2-d3c58f4df2d796a663c324c21ceb2e1f_hd.jpg" data-caption="" data-rawwidth="1240" data-rawheight="602" class="origin_image zh-lightbox-thumb" width="1240" data-original="https://pic2.zhimg.com/v2-d3c58f4df2d796a663c324c21ceb2e1f_r.jpg">





<img src="https://pic2.zhimg.com/50/v2-b36d3151a8b802256c417a05d8adba7d_hd.jpg" data-caption="" data-rawwidth="1240" data-rawheight="386" class="origin_image zh-lightbox-thumb" width="1240" data-original="https://pic2.zhimg.com/v2-b36d3151a8b802256c417a05d8adba7d_r.jpg">






7> 拷贝:cp

cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。

常用选项说明:

选项含义

-a该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。

-f已经存在的目标文件而不提示

-i交互式复制,在覆盖目标文件之前将给出提示要求用户确认

-r若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。

-v显示拷贝进度






<img src="https://pic2.zhimg.com/50/v2-be9387b9736f19564234d9b3e06a3ed2_hd.jpg" data-caption="" data-rawwidth="1240" data-rawheight="496" class="origin_image zh-lightbox-thumb" width="1240" data-original="https://pic2.zhimg.com/v2-be9387b9736f19564234d9b3e06a3ed2_r.jpg">




<img src="https://pic3.zhimg.com/50/v2-773fb2105f12e7a0e07d5ccff2275c31_hd.jpg" data-caption="" data-rawwidth="1240" data-rawheight="201" class="origin_image zh-lightbox-thumb" width="1240" data-original="https://pic3.zhimg.com/v2-773fb2105f12e7a0e07d5ccff2275c31_r.jpg">




<img src="https://pic1.zhimg.com/50/v2-88fbdd7c8ce232b4c7e975e622635ca6_hd.jpg" data-caption="" data-rawwidth="1240" data-rawheight="624" class="origin_image zh-lightbox-thumb" width="1240" data-original="https://pic1.zhimg.com/v2-88fbdd7c8ce232b4c7e975e622635ca6_r.jpg">






8> mv:移动、重命名

用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。

常用选项说明:

选项含义

-f禁止交互式操作,如有覆盖也不会给出提示

-i确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件

-v显示移动进度



<img src="https://pic2.zhimg.com/50/v2-79b0f60409e30730ef79d6787db3267a_hd.jpg" data-caption="" data-rawwidth="1240" data-rawheight="284" class="origin_image zh-lightbox-thumb" width="1240" data-original="https://pic2.zhimg.com/v2-79b0f60409e30730ef79d6787db3267a_r.jpg">





<img src="https://pic3.zhimg.com/50/v2-c58f46d38c41847364d0d7b81bd1e148_hd.jpg" data-caption="" data-rawwidth="1240" data-rawheight="877" class="origin_image zh-lightbox-thumb" width="1240" data-original="https://pic3.zhimg.com/v2-c58f46d38c41847364d0d7b81bd1e148_r.jpg">



9> 创建文件: touch

用户可以通过touch来创建一个空的文件,demo如下:

touch hello.txt

说明:

则会在当前路径下创建名字为hello.txt的空文件

Linux系统中没有严格的后缀(格式),所以创建文件时可以命名为任意的文件名


==================================================================

注:以上课程笔记为学习时整理的老师课堂学习笔记,如需转载,如需完整笔记,请私聊联系我。

专题Python每天更新我的学习笔记。以上内容整理与上课笔记,更多详情查看原文链接,我的公众号干货持续更新中

原文链接:Python开发者交流平台

  • 10
    点赞
  • 4
    评论
  • 31
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值