linux命令行大全 笔记,《Linux命令行大全》读书笔记
8種機(jī)械鍵盤軸體對比
本人程序員,要買一個(gè)寫代碼的鍵盤,請問紅軸和茶軸怎么選?
shell就是一個(gè)程序,它接受從鍵盤輸入的命令,然后把命令傳遞給操作系統(tǒng)執(zhí)行。當(dāng)使用圖像用戶界面時(shí),我們需要一個(gè)叫做終端仿真器的程序和shell作交互。超級用戶的提示符是$,普通用戶的提示符為#.
一些簡單的命令date:顯示系統(tǒng)當(dāng)前的日期和時(shí)間
cal:顯示當(dāng)前月份的日歷
df: 查看磁盤剩余空間的數(shù)量
free:顯示內(nèi)存空閑的數(shù)量
exit: 結(jié)束終端會話
第二章 文件系統(tǒng)中跳轉(zhuǎn)
顯示當(dāng)前工作目錄
pwd
列出目錄內(nèi)容
ls
更改當(dāng)前工作目錄
cd
相對路徑.: 工作目錄
..: 工作目錄的父目錄
~: 家目錄
第三章 研究操作系統(tǒng)
ls命令選項(xiàng)和參數(shù)選項(xiàng)長選項(xiàng)描述-a–all列出所有文件包括隱藏文件
-h–human-readable以人們可讀的格式列出
-l以長格式顯示結(jié)果
-r–reverse以相反的順序顯示結(jié)果
-S按文件大小來排序
-t按修改時(shí)間來排序
深入研究長格式-rw-r–r– 1 ma staff 4579 2 3 10:09 debug.log字段含義-rw-r–r–文件的訪問權(quán)限。第一個(gè)字符指明文件類型,‘-’是一個(gè)普通文件,‘d’是一個(gè)目錄。后面三個(gè)是所有者的權(quán)限,再三個(gè)是群組成員的權(quán)限,后三個(gè)是其它人的權(quán)限。
1文件的硬鏈接數(shù)目
Ma文件所屬的用戶名
staff文件所屬的群組名
4579以字節(jié)數(shù)表示的文件大小
—-上次修改的文件日期
***文件名
確定文件類型file filename
用less瀏覽文件內(nèi)容Less filename
less常用的鍵盤命令:命令行為page up or b向上翻頁
page down or space向下翻頁
G移動到最后一個(gè)行
1G or g移動到開頭一行
/characters向前查找指定的字符串
n向下查找下一個(gè)出現(xiàn)的字符
h顯示幫助
q退出less
第四章 操作文件和目錄
通配符通配符意義*匹配任意多個(gè)字符,包括0個(gè)和1個(gè)
?匹配任意一個(gè)字符
[characters]匹配任意一個(gè)屬于字符集中的字符
[!characters]匹配任意一個(gè)非字符集中的字符
[[:class:]]匹配任意一個(gè)指定類中的字符
常用的字符類:
| 字符符 | 意義 |
| ———————- | —————————— |
| [:alnum:] | 匹配任意一個(gè)字母或數(shù)字 |
| [:alpha:] | 匹配任意一個(gè)字母 |
| [:digit:] | 匹配任意一個(gè)數(shù)字 |
| [:upper:]或者[:lower:] | 匹配任意一個(gè)大寫或者小寫字母 |
mkdir創(chuàng)建目錄mkdir dir1 dir2
創(chuàng)建目錄dir1和dir2
cp 復(fù)制文件和目錄cp item1 item2
cp item1… directory
一些有用的選項(xiàng)選項(xiàng)意義-a, –archive復(fù)制文件和目錄,以及他們的屬性
-i, –interactive-i, –interactive
-r, –recursive遞歸地復(fù)制目錄和文件,復(fù)制目錄時(shí),需要這個(gè)選項(xiàng)
-u, –update僅復(fù)制目標(biāo)目錄中不存在的文件
mv 移動和重命名文件mv item1 item2
一些選項(xiàng)選項(xiàng)意義-i, –interactive-i, –interactive
-u, –update僅復(fù)制目標(biāo)目錄中不存在的文件
rm 刪除文件和目錄
rm選項(xiàng)和意義:選項(xiàng)意義-i,–interactive刪除前提示用戶
-r,–recursive遞歸地刪除文件,若刪除目錄則需指定這個(gè)選項(xiàng)
-f,–force忽視不存在的文件,不顯示提示信息
-v,–verbose執(zhí)行命令時(shí),顯示詳實(shí)的信息
Linux系統(tǒng)沒有復(fù)原命令,一旦用rm刪除一些東西,就永遠(yuǎn)消失了,所以無論啥時(shí)候,rm命令用到通配符的時(shí)候,先用ls測試通配符。
第五章 使用命令
命令是什么
命令可以是下列4種形式之一:是一個(gè)可執(zhí)行程序
是一個(gè)內(nèi)建于shell自身的命令
是一個(gè)shell函數(shù)
是一個(gè)命令別名
顯示命令的類型
type是shell的內(nèi)部命令,它會顯示命令的類別,給出一個(gè)特定的命令名。
顯示一個(gè)可執(zhí)行程序的位置
使用which命令可以確定所給定的執(zhí)行程序的準(zhǔn)確位置。
得到shell內(nèi)部命令的幫助文檔
使用help command命令得到命令的幫助文檔;許多可執(zhí)行程序支持--help選項(xiàng),顯示此命令支持的語法和選項(xiàng)說明。
man 顯示程序手冊頁
whatis 顯示非常簡潔的命令說明
info 顯示程序的Info條目
創(chuàng)建別名
使用alias命令創(chuàng)建命令的別名,使用方法alias name=’string’
注意:name與string之間沒有空格。string是一系列的命令,name是這一系列命令的別名,下次輸入name時(shí)等價(jià)于輸入string。
使用unalias命令刪除別名。
第六章 重定向
標(biāo)準(zhǔn)輸入輸出
一般地,輸出送到屏幕,輸入來自鍵盤,但是通過I/O重定向我們可以改變輸入輸出的方向。
重定向標(biāo)準(zhǔn)輸出
使用>重定向符,后面跟著文件名,則會把原本輸出到標(biāo)準(zhǔn)輸出的內(nèi)容輸出到重定向符后面的文件中。需要注意的是使用>重定向符重定向輸出結(jié)果時(shí),目標(biāo)文件總是從頭開始被重寫。所以當(dāng)我們需要?jiǎng)h除一個(gè)文件內(nèi)容或者新建一個(gè)空文件的時(shí)候,可以使用這樣一個(gè)技巧:> filename
使用>>重定向符可以把重定向結(jié)果追加到文件內(nèi)容后面,而不是重頭開始寫文件,如果文件不存在,文件會被新建。>> filename
重定向標(biāo)準(zhǔn)錯(cuò)誤
文件描述符0,1,2分別表示標(biāo)準(zhǔn)輸入、輸出和錯(cuò)誤。ls -l /bin/usr 2> ls-error.txt
文件描述符’2‘緊挨著放在重定向符之前,執(zhí)行重定向標(biāo)準(zhǔn)錯(cuò)誤到文件ls-error.txt任務(wù)。
重定向標(biāo)準(zhǔn)輸出和錯(cuò)誤到同一個(gè)文件
第一種方法:ls -l /bin/usr > ls-output.txt 2>&1
這里使用了兩次重定向,首先重定向標(biāo)準(zhǔn)輸出到文件ls-output.txt,然后重定向文件描述符2到文件描述符1,使用表示法2>&1.
第二種方法:ls -l /bin/usr &> ls-output.txt
處理不需要的輸出ls -l /bin/usr 2> /dev/null
重定向標(biāo)準(zhǔn)輸入
cat 連接文件
cat命令讀取一個(gè)或多個(gè)文件,然后復(fù)制他們到標(biāo)準(zhǔn)輸出,cat經(jīng)常用來顯示簡短的文本文件。cat [file]
cat可以將多個(gè)文件連接成或者合并為一個(gè)文件:cat file1 … filem > cat_file
管道線
管道線操作符|可以使一個(gè)命令的標(biāo)準(zhǔn)輸出作為另一個(gè)命令的標(biāo)準(zhǔn)輸入:command1 | command2
過濾器sort,排序
uniq,忽略重復(fù)行
wc,打印行,字和字節(jié)數(shù)
grep,打印匹配行
head/tail,打印文件開頭、結(jié)尾部分
第七章 從shell眼中看世界
字符展開
算術(shù)表達(dá)式展開
花括號展開
通過它可以從一個(gè)包含花括號的模式中創(chuàng)建多個(gè)字符串。ma$ echo F-{a,b,c}-B
F-a-B F-b-B F-c-Bma$ echo {1..10}
1 2 3 4 5 6 7 8 9 10echo {A..Z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
參數(shù)展開
其實(shí)就是shell中的變量。
命令替換ma$ ls -l ?$(which cd)
-rwxr-xr-x 15 root wheel 190 8 18 08:20 /usr/bin/cd
which cd會返回一個(gè)路徑。
雙引號
雙引號中的文本被當(dāng)做普通字符看待,但是參數(shù)展開和算術(shù)表達(dá)式展開仍然有效。
單引號
所有的展開將被禁止。
轉(zhuǎn)義字符轉(zhuǎn)移序列含義a響鈴
b退格鍵
n換行
r回車符
t制表符
第八章 鍵盤高級技巧
移動光標(biāo)按鍵行動Ctrl-a移動光標(biāo)到行首
Ctrl-e行尾
Ctrl-f右鍵頭
Ctrl-b左箭頭
Alt-f光標(biāo)前移一個(gè)字
Alt-b光標(biāo)后移一個(gè)字
Ctrl-l清空屏幕,同clear命令相同
修改文本按鍵行動Ctrl-d刪除光標(biāo)位置的字符
Ctrl-t光標(biāo)位置的字符和光標(biāo)前面的字符互換位置
Alt-t光標(biāo)位置的字和前面的字互換位置
Alt-l把光標(biāo)位置到字尾的字符換成小寫字母
Alt-u把光標(biāo)位置到字尾的字符換成大寫字母
剪切和粘貼按鍵行動Ctrl-k剪切光標(biāo)位置到行尾的文本
Ctrl-u剪切光標(biāo)位置到行首的文本
Alt-d剪切光標(biāo)位置到詞尾的文本
Alt-backspace剪切光標(biāo)位置到詞頭的文本
Ctrl-y把剪切板的內(nèi)容粘貼到光標(biāo)位置
歷史命令
history顯示歷史命令。
可以通過history | less
來瀏覽歷史命令。通過執(zhí)行history | grep 目錄
來找到此目錄中的命令。通過!行號
來執(zhí)行歷史命令中此行號對應(yīng)的命令。
第九章 權(quán)限
創(chuàng)建一個(gè)文件并顯示它的詳細(xì)信息$ > foo.txt
$ ls -l foo.txt
-rw-r–r– 1 ma staff 0 2 16 19:46 foo.txt
顯示的前十個(gè)字符是文件的屬性,第一個(gè)字符表示文件的類型。下表是文件常見的類型:屬性文件類型-普通文件
d目錄
l符號鏈接
c字符設(shè)備文件
b快設(shè)備文件
剩下的九個(gè)字符代表文件所有者、文件組所有者、其他人的讀寫和執(zhí)行權(quán)限。
chmod 更改文件模式
可以使用兩種方法改變文件模式:八進(jìn)制數(shù)字表示法和符號表示法。
數(shù)字表示法
因?yàn)閷λ姓摺⑷航M和其他人分別有r、w、x三種權(quán)限,所以假如對于所有者的權(quán)限來講,所有者對文件有r權(quán)限和w權(quán)限,但是x權(quán)限沒有,那么他有的權(quán)限的位置就置為1,反之為0,那么對應(yīng)地二進(jìn)制表示為110,與此對應(yīng)的八進(jìn)制為6,即所有者的權(quán)限用一個(gè)4表示,其它群組和其他人時(shí)同理,所以一個(gè)文件可以用3個(gè)八進(jìn)制數(shù)字表示它的權(quán)限模式。例如改變foo.txt的文件權(quán)限:$ chmod 600 foo.txt
$ ls -l foo.txt
-rw——- 1 ma staff 0 2 16 19:46 foo.txt
符號表示法
符號表示法分為3個(gè)部分:更改會影響誰,要執(zhí)行那個(gè)操作,要設(shè)置哪種權(quán)限。符號含義u文件所有者
g用戶組
o其他人
au、g、o三者的組合
若沒有指定字符,則假定使用a。
執(zhí)行的操作有兩種:+增加一個(gè)權(quán)限,-刪掉一個(gè)權(quán)限。
權(quán)限用r、w、x指定。例如$ chmod g+r foo.txt
$ ls -l foo.txt
-rw-r—– 1 ma staff 0 2 16 19:46 foo.txt
更改身份
su 以其他用戶和組ID運(yùn)行一個(gè)shell
su命令以另一個(gè)用戶的身份來啟動shell:su [-[l]] [user]
如果包含-l選項(xiàng),那么會為指定用戶啟動一個(gè)需要登錄的shell,意味著會加載這個(gè)用戶的shell環(huán)境,并且工作目錄會更改到這個(gè)用戶的家目錄。如果不指定用戶,則默認(rèn)啟動超級用戶。-l可以縮寫為-,例如啟動超級用戶:su -
當(dāng)工作完成后,輸入exit返回原來的shell。也可以只執(zhí)行單個(gè)命令,而不是啟動一個(gè)新的可交互的shell,su -c ‘command’
命令用單引號括起來。
sudo 以另一個(gè)用戶身份執(zhí)行命令
sudo很多方面類似于su,但sudo還有其他一些總要的功能。管理員可以配置sudo命令,從而使用戶以不同身份通過一種可控的方式來執(zhí)行命令。sudo命令不要求超級用戶的密碼,而是需要自己的密碼來認(rèn)證。sudo命令不會重新啟動一個(gè)shell,命令不必用單引號括起來。
chown 更改文件所有者和用戶組
使用這個(gè)命令需要超級用戶權(quán)限。命令語法:chown [owner][:[grou]] file…
更改用戶密碼
只要輸入passwd命令,就能更改你的密碼。
ReferencesWilliam E.Shotts,Linux命令行大全
總結(jié)
以上是生活随笔為你收集整理的linux命令行大全 笔记,《Linux命令行大全》读书笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Golang——Json的序列化和反序列
- 下一篇: linux命令基础知识 管道流,linu