Linux中常用的命令都是哪些單詞的縮寫?
例如cd是change directory的縮寫等等
操作類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
想看更多小型機的故事,請移步 帶你逛西雅圖活電腦博物館(一) - 古董電腦室 - 知乎專欄
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 -- LiStcd -- Change Directorypwd -- Print Working Directory
cp -- CoPymv -- MoVerm -- ReMovepushd -- PUSH to Directorypopd -- POP from Directory(這倆個是很有用的命令,在編譯LFS的時候學到的)mkdir -- MaKe DIRectoryrmdir -- ReMove DIRectorycat -- CATenate(有說是conCATenate,這兩個詞是一個意思吧)sed -- Stream EDitordiff -- DIFFerence
wc -- Word Count(不是那個wc啊)chmod -- CHange MODechown -- CHange OWNerchgrp -- CHange GRouPawk -- Aho Weinberger and Kernighan(自戀,服氣)( @xx xxxx 謝謝指錯)gawk -- Gnu Aho Weinberger and Kernighangrep -- General Regular Expression Print( @閆子昂 謝謝)ln -- LiNktar -- TARball接下來是硬體管理:
df -- Disk Freedu -- Disk Usagedd -- Data Description(一說是Convert and Copy, 但是cc被用掉了,就用dd了)parted -- PARTition EDitorlspci -- LiSt Peripheral Component Interconnectlscpu -- LiSt Central Process Unitlsusb -- LiSt Universal Serial Busmdadm -- 求助啊,這個不知道啊,只知道md是multiple device!!註:等我有時間會補上lvm的內容然後是軟體及軟體包管理:
man -- MANualapt -- Advanced Packaging Tooldpkg -- Debian PacKaGeyum -- Yellow dog Updater, Modifiedrpm -- RPM Package Manager(又作Redhat Package Manager,不過我比較喜歡前者,因為魔性)之後是系統管理(主要是內核模組):
depmod -- DEPend MODulelsmod -- LiSt MODulemodprobe -- MODule PROBEmodinfo -- MODule INFOrmationinsmod -- INSert MODulermmod -- ReMove MODuleps -- Processes Statussu -- Substitute Userbash -- Bourne Again SHellinit -- INITialization(差點把這個忘了)ssh -- Secure SHellwine -- Wine Is Not an Emulator(哈哈,又來了)exec -- EXECutefstab -- FileSystem TABlepasswd -- PASSWorDtty -- TeleTYpesudo -- SuperUser DOgrub -- GRand Unified Bootloader(Linux全家桶啟動就靠它了)tzselect -- Time Zone SELECTsync -- SYNChronize(確認關機前多執行幾次。有次我在tty1用vim改nginx配置文件,朋友在tty2給我直接關機了(用halt關的,這個豬腦子,我說過好多次用shutdown了),導致開機的時候nginx啟動不起來,關機前配置文件我改了很多,但是vim沒有備份那麼多,還要重改www)裝了systemd -- SYSTEM Daemon 的話,會有systemctl bootctl journalctl loginctl localectl timedatectl 等等,都是blablabla ConTroL最後是編輯器:
ed -- EDitornano -- Nano"s ANOther editor(還有)emacs -- Editor MACroS(還有很多全稱,就不羅列了,這個接受度比較廣)vi -- VIsualvim -- Vi Improved注2:還有用戶及用戶組管理,等有時間吧......
接下來是寫程序時會用到的:cc -- C Compilergcc -- Gnu Compiler Collection(作為一個軟體集被你下載下來編譯安裝的時候)gcc -- Gnu C Compiler (作為一個軟體被你調用來編譯C程序的時候)g++ -- Gnu c++ compiler(其實g++只是調用gcc,然後連接c++的庫,並且作相應的一些編譯設置而已)gcj -- Gnu Compiler for Javayacc -- Yet Another Compiler Compilerguile -- Gnu Ubiquitous Intelligent Language for Extensionsgas -- 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 Environmentgdm -- Gnome Display Managergtk -- Graphic user interface ToolKitqt -- ………………Toolkit(不說Q了,用Q只是因為在開發者的Emacs中Q特別漂亮…………)kde -- K Desktop Environmentlxde -- Lightweight X11 Desktop Environmentxfce -- XForms Common Environment然後是各種參數(聲明:只是通常會使用的參數,並不一定是通用參數,使用時請注意):
-h | --help:help-v | --version:version(吐槽一下java)還是漏了(不是親戚漏了),各種許可證:
gnu gpl : Gnu General Public Licensegnu lgpl : Gnu General Lesser Public Licensegfdl : Gnu Free Documentation Licenseagpl : Affero General Public License(或簡寫為Affero gpl)apsl : Apple Public Source Licensebsd : Berkeley Software Distribution license。。。。。。最後還是偏題了
反正大多是g開頭的命令都是GNU的,反正GNU是一個很神奇的組織就到這裡吧,有什麼遺漏的請評論補充吧ls: list
rm: remove mkdir: make directorymkfs: make filesystemmknod: make nodechown: change ownercp: copyinsmod: install module lsmod: list modulesrmmod: remove moduleenv: environment cat: concatenategcc: GNU Compiler Collectionman: manualps: processespwd: print working directoryifconfig: interface configurationsync: 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" 一書里有更多這類的珍聞軼事。
注: 上述內容來自於網路...
總結了一下相關的回答,主要參考了 @Even Chou 的回答,同時補充了很多內容。更好的體驗可以參考個人博客: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-updateawk | Aho Weiberger and Kernighan | Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的Family Name的首字元。一種編程語言,用於在linux/unix下對文本和數據進行處理。bash | Bourne Again SHell | 一種shellbg | 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里,鍵盤顯示器,都是虛擬的teletypewritertzselect | Time Zone SELECT |## 6. 參考資料
- [Linux中常用的命令都是哪些單詞的縮寫?](Linux中常用的命令都是哪些單詞的縮寫? - Linux 系統管理)- [(轉)linux 目錄結構及其含義]((轉)linux 目錄結構及其含義)- [Linux命令大全](Linux命令大全(手冊)_Linux常用命令行實例詳解_Linux命令學習手冊)- [Wine (簡體中文)](Wine (簡體中文))- [fstab (簡體中文)](fstab (簡體中文))- [AWK 簡明教程](AWK 簡明教程)- [縮寫習慣](縮寫習慣)- [Tcl](https://zh.wikipedia.org/wiki/Tcl?oldformat=true)- [Unix Command Acronyms](Unix Command Acronyms)能百度得到吧,何必來問知乎大神!
fsck: file system consistency check, or fuck
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 統計字元數、文件行數
GNU Coreutils: Top
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的縮寫。
http://acbuf.com
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 以人性化的方式顯示文件大小
圖中列出的信息含義如下圖所示:
與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 -可進入上次所在的目錄
注意:
如果路徑是從根路徑開始的,則路徑的前面需要加上 「 / 」,如 「 /mnt 」,通常進入某個目錄里的文件夾,前面不用加 「 / 」。
4&> 顯示當前路徑:pwd
使用pwd命令可以顯示當前的工作目錄,該命令很簡單,直接輸入pwd即可,後面不帶參數。
5&> 創建目錄:mkdir
通過mkdir命令可以創建一個新的目錄。參數-p可遞歸創建目錄。
需要注意的是新建目錄的名稱不能與當前目錄中已有的目錄或文件同名,並且目錄創建者必須對當前目錄具有寫許可權。
6&> 刪除文件:rm
可通過rm刪除文件或目錄。使用rm命令要小心,因為文件刪除後不能恢復。為了防止文件誤刪,可以在rm後使用-i參數以逐個確認要刪除的文件。
常用參數及含義如下表所示:
參數含義
-i以進行互動式方式執行
-f強制刪除,忽略不存在的文件,無需提示
-r遞歸地刪除目錄下的內容,刪除文件夾時必須加此參數
7&> 拷貝:cp
cp命令的功能是將給出的文件或目錄複製到另一個文件或目錄中,相當於DOS下的copy命令。
常用選項說明:
選項含義
-a該選項通常在複製目錄時使用,它保留鏈接、文件屬性,並遞歸地複製目錄,簡單而言,保持文件原有屬性。
-f已經存在的目標文件而不提示
-i互動式複製,在覆蓋目標文件之前將給出提示要求用戶確認
-r若給出的源文件是目錄文件,則cp將遞歸複製該目錄下的所有子目錄和文件,目標文件必須為一個目錄名。
-v顯示拷貝進度
8&> mv:移動、重命名
用戶可以使用mv命令來移動文件或目錄,也可以給文件或目錄重命名。
常用選項說明:
選項含義
-f禁止互動式操作,如有覆蓋也不會給出提示
-i確認交互方式操作,如果mv操作將導致對已存在的目標文件的覆蓋,系統會詢問是否重寫,要求用戶回答以避免誤覆蓋文件
-v顯示移動進度
9&> 創建文件: touch
用戶可以通過touch來創建一個空的文件,demo如下:
touch hello.txt
說明:
則會在當前路徑下創建名字為hello.txt的空文件
Linux系統中沒有嚴格的後綴(格式),所以創建文件時可以命名為任意的文件名
==================================================================
註:以上課程筆記為學習時整理的老師課堂學習筆記,如需轉載,如需完整筆記,請私聊聯繫我。
專題Python每天更新我的學習筆記。以上內容整理與上課筆記,更多詳情查看原文鏈接,我的公眾號乾貨持續更新中
原文鏈接:Python開發者交流平台
推薦閱讀:
※Windows下如何遠程連接 Linux?
※怎樣安裝 Windows 7 與 Linux 共存的雙系統(在 Linux 系統下)?
※為何 Linux 在現代還堅持使用依賴這種動態庫的方式來做程序?
※什麼是 Linux?
※ubuntu linux 為什麼比Windows 安全得多?