劉小澤寫于18.6.24-7.1 一個(gè)星期入門linux
我相信這是比之前寫的 “測序的世界” 更浩大的工程,但值得寫出來!
Linux登陸login:
切換用戶:半切換:使得切換完還保留root --> su (switch user)完全切換:su -l user退出切換: exit
-
換密碼:passwd密碼存放在影子口令中:用戶:/etc/shadow
account: 登錄名 encrypted password: 加密的密碼
組:/etc/gshadow
【只需了解】加密方法:
- 對稱加密:加密和解密使用同一個(gè)密碼
- 公鑰加密:每個(gè)密碼都成對兒出現(xiàn),一個(gè)為私鑰(secret key),一個(gè)為公鑰(public key)。公鑰加密,私鑰解密
- 單向加密,散列加密:提取數(shù)據(jù)特征碼,常用于數(shù)據(jù)完整性校驗(yàn)1.不可逆2.雪崩效應(yīng),一個(gè)字符的不一樣,特征碼就有很大不同,防破解3.定長輸出:MD5:Message Digest(信息摘要), 128位定長輸出【了解:加密:md5sum file ; 解密校驗(yàn):md5sum -c file】SHA1:Secure Hash Algorithm(安全哈希算法), 160位定長輸出
-
用戶管理的幾個(gè)層級:
用戶名:用戶ID,可以被查找 【root用戶創(chuàng)建新用戶名:使用useradd 】
-
認(rèn)證機(jī)制:Authentication,識別某個(gè)人就是它聲稱的那個(gè)人,比如密碼
【前兩個(gè)用于登陸】
授權(quán):Authorization, 例如經(jīng)理比普通員工享有某些特殊權(quán)限
審計(jì):Audition (生成日志log)防止特權(quán)用戶濫用權(quán)限
權(quán)限:有九位,對應(yīng)屬主(u)、屬組(g)、其他組(o)的權(quán)限對于文件:r: 可讀,使用類似cat等命令查看文件內(nèi)容w:可寫,可以編輯或刪除x:可執(zhí)行,eXecutable,可在命令提示符下當(dāng)作命令提交給內(nèi)核運(yùn)行對于目錄:r:可對此目錄進(jìn)行 ls 操作列出內(nèi)部所有文件w:可以創(chuàng)建文件,但能否刪除還要看具體文件x:可使用cd切換進(jìn)此目錄,也可以 ls -l 查看內(nèi)部文件詳細(xì)信息【默認(rèn)一般文件不建議對外開執(zhí)行權(quán)限,但目錄可以】
Linux命令(Command):
命令提示符:prompt 登陸成功后顯示的東西【#:root用戶;$:普通用戶 】
-
命令格式: 命令 選項(xiàng) 參數(shù)****命令: shell傳遞給內(nèi)核,并由內(nèi)核判斷該程序是否有執(zhí)行權(quán)限,以及是否能執(zhí)行,從什么時(shí)候開始執(zhí)行。(任何一個(gè)程序想要執(zhí)行,必須要有執(zhí)行入口)例如: ls 是命令, -a、-l是短選項(xiàng)
選項(xiàng):( options,用來修改命令的執(zhí)行方式) 短選項(xiàng): -character,多個(gè)選項(xiàng)可以組合 ,可以寫ls -l -a 或者 ls -la 長選項(xiàng): --word,不能組合,要分開參數(shù):(arguments) 命令作用對象【!多個(gè)參數(shù)要用空格隔開】
-
命令類型
內(nèi)置命令(shell builtin 內(nèi)置)
外部命令:某個(gè)路徑下有一個(gè)與命令名稱相應(yīng)的可執(zhí)行文件
-
命令執(zhí)行
魔數(shù):magic number 用于標(biāo)示二進(jìn)制程序的執(zhí)行格式Windows和linux執(zhí)行的魔數(shù)是不同的,所以說即使二者的C語言庫一致,linux上編譯的程序也未必能在windows上運(yùn)行。比如,寫腳本時(shí)第一行總要加上
#! /bin/bash之類的-
外部命令的快速執(zhí)行需要環(huán)境變量:它是內(nèi)存上劃分出的一塊空間,用于命名 用于定義當(dāng)前用戶的工作環(huán)境
printenv就能看到當(dāng)前的環(huán)境環(huán)境變量包括什么?PATH、HISTORY、SHELL等【注意都要大些】查看時(shí)統(tǒng)一使用echo $
其中有個(gè)PATH分管程序:它是使用冒號分割的路徑。當(dāng)執(zhí)行程序時(shí),會(huì)按次序從PATH下一個(gè)個(gè)去找,直到第一次找到為止。以后如果再次使用,就不再從頭找,會(huì)把第一次找到的路徑放進(jìn)緩存直接調(diào)用?!?code>hash 就相當(dāng)于bash自帶的緩存,記錄了登陸之后使用的所有命令路徑,告訴你哪個(gè) 命令hits命中多少次CACHE IS KING!緩存為王!hash因?yàn)橛兴饕?,比一般的路徑搜索快了不止萬倍】
常用命令:
-
ls【list】列出所有指定路徑下的子目錄或文件
-
目錄 & 路徑文件夾/目錄也是文件,只不過比較特殊,是一種路徑映射文件路徑:絕對路徑 :從根向下找 相對路徑: 相對于當(dāng)前位置
4.png
登陸系統(tǒng)后每時(shí)每刻都在目錄中,working directorypwd打印當(dāng)前路徑 各個(gè)選項(xiàng)
-l
顯示結(jié)果:一共7列
第一列有十位:
第一位為文件類型:
-:普通文件(f,file)
d:目錄文件
b:塊設(shè)備文件(block)
c:字符設(shè)備文件(character)
p:命令管道(pipe)
s:套接字文件(socket)
l:符號鏈接文件(symbolic link file)
后九位為文件權(quán)限(mode):
每3位一組,每一組:rwx(讀,寫,執(zhí)行)沒有則“-”
之后6列分別為:
文件硬鏈接次數(shù)
文件的屬主(owner)
文件的屬組(group)
文件大?。╯ize):默認(rèn)單位是字節(jié)
時(shí)間戳(timestamp):最近一次被修改的時(shí)間。
可分為:
訪問時(shí)間(access);
修改時(shí)間(modify):改變內(nèi)容;
改變時(shí)間(change):改變文件的屬性數(shù)據(jù)(即元數(shù)據(jù))
文件名
-h:human-readable 顯示方式更易讀
-a:顯示以 . 開頭的隱藏文件,包括. (當(dāng)前目錄) ,..(父目錄)
-A:顯示以 . 開頭的隱藏文件,不包括. (當(dāng)前目錄) ,..(父目錄)
-d:顯示目錄自身屬性
-i:顯示索引節(jié)點(diǎn)號 index node(iNode)
-r:逆序顯示文件(本來按照的是字母順序)
-R:遞歸(recursive)顯示,即子目錄內(nèi)容也顯示</pre>
-
cdchange directory
~ 表示為home directory. 是當(dāng)前所在的目錄,.. 表示上一層目錄。cd - 前一個(gè)目錄和當(dāng)前目錄之間來回切換,就像電視機(jī)快速換臺
-
type顯示指定命令屬于內(nèi)部還是外部命令
alias:別名
keyword:關(guān)鍵字,Shell保留字
function:函數(shù),Shell函數(shù)
builtin:內(nèi)建命令,Shell內(nèi)建命令
file:文件,磁盤文件,外部命令
unfound:沒有找到
-
echoshell編程中極為常用, 輸出字符串或者打印變量的值
# 使用-e選項(xiàng)時(shí),若字符串中出現(xiàn)以下字符,則特別加以處理,而不會(huì)將它當(dāng)成一般文字輸出:
\b 刪除前一個(gè)字符;
\c 最后不加上換行符號;【效果等于echo -n】
\n 換行;
\r 光標(biāo)移至行首,但不換行;
\t 插入橫向tab;
\v 插入縱向tab;
\\ 插入\字符;</pre>
printf默認(rèn)不打印換行符,需要換行加 \nwhich查找并顯示給定命令的絕對路徑file查看命令/文件格式
命令幫助:
內(nèi)部命令:help COMMAND
-
外部命令: COMMAND --help 或者man 或 info
-
man 手冊信息
分章節(jié) 共8個(gè) man number COMMAND 顯示哪個(gè)章節(jié)
1.用戶命令(/bin, /usr/bin, /usr/local/bin);2.系統(tǒng)調(diào)用; 3. 庫調(diào)用;4. 特殊文件(設(shè)備文件[塊設(shè)備、字符設(shè)備]) ; 5. 文件格式(解釋配置文件語法); 6.游戲;7.雜項(xiàng)(Miscellaneous); 8.管理命令(/sbin, /usr/sbin/, /usr/local/sbin)
如何查看命令在哪個(gè)章節(jié)? -->whatis COMMAND
章節(jié)內(nèi)容包括
[ ]:表示可選
|:表示多選
<>:表示必選
…:表示可以使用多次
{ }:表示分組
NAME:命令名稱及功能簡要說明
SYNOPSIS:用法說明,包括可用的選項(xiàng)
DESCRIPTION:命令功能的詳盡說明,可能包括每一個(gè)選項(xiàng)的意義
OPTIONS:說明每一個(gè)選項(xiàng)的意義
FILES:此命令相關(guān)的配置文件
BUGS
EXAMPLES:使用示例
SEE ALSO:另外參照
翻屏
向后翻一屏:SPACE
向前翻一屏:b
向后翻一行:ENTER
向前翻一行:k
查找
/KEYWORD:自前向后找
?KEYWORD:自后向前找
n: 下一個(gè)
N: 上一個(gè)
-
歡迎關(guān)注我們的公眾號~_~
我們是兩個(gè)農(nóng)轉(zhuǎn)生信的小碩,打造生信星球,想讓它成為一個(gè)不拽術(shù)語、通俗易懂的生信知識平臺。需要幫助或提出意見請后臺留言或發(fā)送郵件到Bioplanet520@outlook.com

