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