從0開始-Linux學(xué)習(xí)筆記(二)

劉小澤寫于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è)層級:

    1. 用戶名:用戶ID,可以被查找 【root用戶創(chuàng)建新用戶名:使用useradd 】

    2. 認(rèn)證機(jī)制:Authentication,識別某個(gè)人就是它聲稱的那個(gè)人,比如密碼

      【前兩個(gè)用于登陸】

    3. 授權(quán):Authorization, 例如經(jīng)理比普通員工享有某些特殊權(quán)限

    4. 審計(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)橛兴饕?,比一般的路徑搜索快了不止萬倍】

常用命令:

  1. 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>
  1. cd change directory

~ 表示為home directory. 是當(dāng)前所在的目錄,.. 表示上一層目錄。cd - 前一個(gè)目錄和當(dāng)前目錄之間來回切換,就像電視機(jī)快速換臺

  1. type 顯示指定命令屬于內(nèi)部還是外部命令
  • alias:別名

  • keyword:關(guān)鍵字,Shell保留字

  • function:函數(shù),Shell函數(shù)

  • builtin:內(nèi)建命令,Shell內(nèi)建命令

  • file:文件,磁盤文件,外部命令

  • unfound:沒有找到

  1. echo shell編程中極為常用, 輸出字符串或者打印變量的值
# 使用-e選項(xiàng)時(shí),若字符串中出現(xiàn)以下字符,則特別加以處理,而不會(huì)將它當(dāng)成一般文字輸出:
\b 刪除前一個(gè)字符;
\c 最后不加上換行符號;【效果等于echo -n】
\n 換行;
\r 光標(biāo)移至行首,但不換行;
\t 插入橫向tab;
\v 插入縱向tab;
\\ 插入\字符;</pre>
  1. printf 默認(rèn)不打印換行符,需要換行加 \n

  2. which 查找并顯示給定命令的絕對路徑

  3. 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

bioinfoplanet

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容