Linux入門基礎(chǔ)

Shell:是一個(gè)殼电媳,把內(nèi)核封裝在里面钥组,把命令傳給操作系統(tǒng)撼嗓。分為CLI狭瞎、GUI

CLI:Command Line Interface细移,命令行界面 Bash
GUI:Graphical User Interface,圖形界面

命令行Bash基本操作

這幾個(gè)平時(shí)不常用熊锭,主要寫腳本時(shí)用

  • history 查看歷史命令信息
  • !! 重復(fù)前一個(gè)命令
  • !字符 重復(fù)前一個(gè)以“字符”開頭的命令
  • !num 按照歷史記錄的序號(hào)執(zhí)行命令
  • !?abc 重復(fù)之前包含“abc”的命令行
  • !-n 重復(fù)n個(gè)命令之前的命令

搜索歷史命令

  • Ctrl + r 在歷史記錄中搜索命令
  • esc 然后再按 . 調(diào)用上一個(gè)命令

命令行通配符 其實(shí)就是正則表達(dá)式中的規(guī)則

    • 匹配零個(gè)或多個(gè)
  • 弧轧? 匹配任意一個(gè)字符
  • [0-9] 匹配一個(gè)數(shù)字范圍
  • [abc] 匹配列表里任何字符
  • [^abc] 匹配列表以為字符

切換用戶

  • su - "用戶名" 切換用戶,不寫參數(shù)碗殷,切到root用戶精绎,不加-,就在原來窗口
  • sudo 使用管理員用戶身份來運(yùn)行命令
  • id 顯示當(dāng)前用戶信息
  • passwd 修改當(dāng)前用戶密碼
  • exit 退出當(dāng)前用戶

Bash作業(yè)管理

  • 在后臺(tái)運(yùn)行進(jìn)程锌妻,在命令后添加一個(gè) &
  • 暫停某個(gè)程序代乃,通過Ctrl + z 或者發(fā)送信號(hào)7
  • 終止某個(gè)程序 : Ctrl + c
  • jobs 查看當(dāng)前在后臺(tái)運(yùn)行的所有程序
  • bg + 命令編號(hào) 控制一個(gè)程序繼續(xù)在后臺(tái)運(yùn)行
  • fg + 命令編號(hào) 把一個(gè)程序拉到前臺(tái)
  • sleep 30 暫停30秒

Linux 文件系統(tǒng)結(jié)構(gòu)

  • 根目錄為"/"

  • 文件系統(tǒng)嚴(yán)格區(qū)分大小寫(window中不區(qū)分)

  • 路徑使用“/”分割(window中使用“\”)

  • pwd print work directory當(dāng)前工作目錄

  • ls list 當(dāng)前目錄下的內(nèi)容 -a:顯示隱藏文件 -l:顯示詳細(xì)信息 -R:遞歸的顯示子目錄 -ld:顯示目錄和鏈接的信息cd

  • touch/mkdir 創(chuàng)建文件/文件夾,touch可以更新已有文件時(shí)間

  • rm/rm -r (remove)刪除文件/文件夾 -i 交互式(需要yes/no) -f 強(qiáng)制刪除仿粹,沒有警告

  • rmdir 刪除空目錄

查看文件類型

  • file 查看文件類型

絕對(duì)路徑和相對(duì)路徑

  • cd ~ 家目錄
  • cd .. 上一級(jí)目錄
  • cd . 當(dāng)前目錄
  • cd - 上一個(gè)工作目錄

復(fù)制搁吓、移動(dòng)、重命名文件吭历、目錄

  • cp 源文件 目標(biāo)文件 -r:遞歸復(fù)制整個(gè)目錄樹 -v:顯示詳細(xì)信息
  • mv 文件 目標(biāo)目錄 如果指定文件名堕仔,則可以重命名文件

Linux 系統(tǒng)目錄架構(gòu)

  • bin (binary)保存可執(zhí)行的二進(jìn)制命令,也就是保存的命令
  • boot 各系統(tǒng)的引導(dǎo)文件
  • dev (device)抽象成文件的系統(tǒng)的硬件設(shè)備
  • etc 操作系統(tǒng)的配置文件
  • home 家目錄
  • root 管理員用戶目錄毒涧,有?贮预,說明沒有權(quán)限看
  • lib 庫文件
  • proc 當(dāng)前操作系統(tǒng)實(shí)時(shí)信息贝室,只存在內(nèi)存匯總
  • sbin 可執(zhí)行的二進(jìn)制文件,只有超級(jí)用戶才能執(zhí)行仿吞,bin中都可以操作
  • system 底層硬件信息
  • tmp 臨時(shí)目錄滑频,會(huì)定期自動(dòng)清除
  • usr 默認(rèn)保存安裝的應(yīng)用軟件的位置
  • opt 默認(rèn)大型軟件保存的位置
  • var 保存經(jīng)常變化的信息。如系統(tǒng)的日志信息唤冈、郵件

常用命令

日期命令

  • date 查看當(dāng)前系統(tǒng)時(shí)間
  • date -u 格林尼治時(shí)間
  • date + %Y - %m - %d 自定義輸入格式
  • cal 查看日歷
  • uptime 查看系統(tǒng)運(yùn)行時(shí)

輸出命令

  • echo 顯示輸入的內(nèi)容
  • cat 顯示文件內(nèi)容
  • more 翻頁形式顯示文件內(nèi)容(只能向下翻頁)
  • less 翻頁顯示文件(帶上下翻頁)
  • head 顯示文件頭幾行(默認(rèn)10行)-n 指定顯示的行數(shù)
  • tail 顯示文件末尾幾行(默認(rèn)10行) -n 指定顯示的行數(shù) -f 追蹤顯示文件的更新(一般用于查看日志)

查看硬件信息

  • lspci 查看pci設(shè)備 -v 詳細(xì)信息
  • lsubs 查看USB設(shè)備
  • lsmod 查看加載的模塊(驅(qū)動(dòng))

關(guān)機(jī)峡迷、重啟

  • shutdown 用以關(guān)閉、重啟計(jì)算機(jī) -h 關(guān)機(jī) -r 重新啟動(dòng)

  • 立即關(guān)機(jī) shutdown -h now

  • 10分鐘后關(guān)機(jī) shutdown -h +10

  • 23:30關(guān)機(jī) shutdown -h 23:30

  • 立即重啟 shutdown -r now

  • poweroff 立即關(guān)閉計(jì)算機(jī)

  • reboot 立即重啟計(jì)算機(jī)

歸檔你虹、壓縮

  • zip 用以壓縮文件 zip + 壓縮后文件+ 要壓縮的文件
  • unzip 解壓縮文件
  • gzip 也可以壓縮文件
  • tar 歸檔文件(不是壓縮绘搞,是歸檔,把文件放一塊)
  • tar -cvf out.tar 文件 : 把文件歸檔
  • tar -xvf 文件 : 把歸檔文件打開
  • tar -cvzf backup.tar 文件: -z 參數(shù):歸檔并壓縮

查找

  • locate 用以快速查找文件傅物、文件夾 (此命令需要預(yù)先建立數(shù)據(jù)庫夯辖,數(shù)據(jù)庫默認(rèn)每天更新一天,可用update命令手工建立董饰、更新數(shù)據(jù)庫)
  • find 用以高級(jí)查找文件蒿褂、文件夾 find 查找位置 查找參數(shù) 如:find / *md
  • find支持很多的查找條件,常用如下:-name -prem -user -group -ctime(修改時(shí)間) -type -size

Vim

  • vim 打開vim編輯器
  • vi + 文件 文件存在卒暂,就打開啄栓,不存在就新建并打開
  • vim 三種模式:1)命令模式:按ESC 進(jìn)入命令模式,可以完成粘貼也祠、復(fù)制昙楚、撤銷等操作
    2)插入模式:i 可以進(jìn)入插入模式
    3)ex模式:按 : 進(jìn)入ex模式,光標(biāo)會(huì)移動(dòng)到底部诈嘿,可以保存堪旧、修改或者退出
  • 命令模式下:
    i 在光標(biāo)前插入文本
    o 在當(dāng)前行的下一行插入新行
    dd 刪除整行
    yy 復(fù)制當(dāng)前行
    n + yy 將n行的內(nèi)容復(fù)制
    p 粘貼
    u 撤銷上一個(gè)操作
    r 替換當(dāng)前字符
    / 查找關(guān)鍵字
  • EX 模式:
    :w 保存當(dāng)前修改 (write)
    :q 退出 (quit)
    :q! 強(qiáng)制退出永淌,不保存修改
    :x 保存并退出崎场,相當(dāng)于 :wq shift+ zz
    :set number 顯示行號(hào)
    :!系統(tǒng)命令 執(zhí)行一個(gè)系統(tǒng)命令并顯示結(jié)果遂蛀,按enter又回到vim界面
    :sh 切換到命令行谭跨,使用ctrl+d 切換回vim

磁盤基本概念

  • mount 將格式化好的磁盤掛載到一個(gè)目錄上
  • umount 卸載已掛載的文件系統(tǒng)

沒必要記住所有東西

  • 養(yǎng)成查幫助文檔的好習(xí)慣
  • 幾乎所有命令都可以使用-h 或者--help參數(shù)獲取使用方法、參數(shù)信息等
  • man Linux最常用的幫助命令,可以獲得相應(yīng)文檔 man ls
  • man -k 查看包含關(guān)鍵字的文檔
  • info 與man類似李滴,但是提供的信息更為詳細(xì)深入 info ls
  • doc 詳盡的文檔

用戶基礎(chǔ)

  • 每個(gè)用戶都擁有一個(gè)UserID,操作系統(tǒng)實(shí)際使用的是用戶ID,而非用戶名字
  • 每個(gè)用戶屬于一個(gè)主組螃宙,屬于一個(gè)或多個(gè)附屬組;每個(gè)組擁有一個(gè)GroupID;每個(gè)進(jìn)程以一個(gè)用戶身份運(yùn)行所坯,并受該用戶可訪問的資源限制谆扎;每個(gè)可登陸用戶擁有一個(gè)指定的shell
  • 用戶分三種類型:
    root用戶:ID為0的用戶為root用戶,超級(jí)用戶
    系統(tǒng)用戶:(ID為1~499)特點(diǎn)是沒有shell芹助。專門為某些服務(wù)創(chuàng)建的堂湖,不需要登錄shell
    普通用戶:(500以上)
  • id 可以顯示當(dāng)前用戶的信息
  • passwd 修改當(dāng)前用戶密碼
  • /etc/passwd 保存用戶信息
  • /etc/shadow 保存用戶密碼(加密的)
  • /etc/group 保存組信息

命令越短闲先,顯示的信息越多。linux的文化

  • whoami 顯示當(dāng)前用戶
  • who 顯示有哪些用戶已經(jīng)登錄系統(tǒng)
  • w 顯示有哪些用戶已經(jīng)登錄并且在干什么

創(chuàng)建一個(gè)用戶

  • useradd 創(chuàng)建一個(gè)新用戶 支持參數(shù):-d 家目錄
    -s 登錄shell
    -u userid
    -g 主組
    -G 附屬組
    修改用戶信息
  • usermod 參數(shù) username 支持參數(shù):-l 新用戶名: usermod -l newUser oldUser
    -u 新userid
    -L 鎖定用戶使其不能登錄
    -U 解鎖
    刪除用戶
  • userdel 保留用戶家目錄
  • userdel -r 同時(shí)刪除用戶的家目錄

創(chuàng)建无蜂、修改伺糠、刪除組

  • groupadd
  • groupmod
  • groupdel

權(quán)限機(jī)制

  • chown 改變文件的所屬用戶 -R 參數(shù),遞歸的修改目錄下的所有文件的所屬用戶

  • chgrp 改變文件的所屬組 -R 參數(shù)斥季,遞歸的修改目錄下的所有文件的所屬組

  • chmod 修改文件的權(quán)限: chmod 模式 文件
    模式為如下格式:1. u 训桶、g 、o 分別代表用戶酣倾、組舵揭、其他
    2. a 可以代指ugo
    3. + 、- 代表加入或者刪除對(duì)應(yīng)權(quán)限
    4. r 躁锡、w 午绳、x 代表三種權(quán)限,read稚铣、write箱叁、執(zhí)行權(quán)限
    模式示例:chmod u+rw linux 為這個(gè)文件linux所屬用戶加入讀寫權(quán)限
    chmod g-x linux 為這個(gè)文件所屬組減去執(zhí)行權(quán)限

  • chmod 也支持以數(shù)字方式修改權(quán)限,三個(gè)權(quán)限分別由3個(gè)數(shù)字表示:
    -r = 4 (2^2) -w = 2 (2^1) -x = 1 (2^0)
    rw = 4 + 2 = 6
    rwx = 4 + 2 + 1 = 7
    r-x = 4 + 1 = 5

  • 使用數(shù)字表示ugo權(quán)限必須三個(gè)都選
    chmod 660 linux == rw-rw----
    chmod 775 linux == rwxrwxr-x

  • ls -ld 文件 可以查看當(dāng)前的文件的權(quán)限信息

  • 所有文件夾必須有x權(quán)限惕医,不然沒法查看文件
    默認(rèn)權(quán)限

  • 每一個(gè)終端都擁有一個(gè)umask屬性,來確定新建文件算色、文件夾的默認(rèn)權(quán)限
    umask使用數(shù)字權(quán)限方式表示抬伺,如:022
    目錄默認(rèn)權(quán)限是:777-umask (減去)
    文件默認(rèn)權(quán)限是:666-umask
    一般,普通用戶的默認(rèn)umask是002灾梦,root用戶默認(rèn)umask是022
    也就是說峡钓,對(duì)于普通用戶來講:新建文件權(quán)限是:666-002=664;新建目錄權(quán)限是:777-002=775
    umask :可以查看默認(rèn)umask的值

3個(gè)特殊權(quán)限

  • suid 以文件的所屬用戶身份執(zhí)行若河,而非執(zhí)行文件的用戶能岩;對(duì)目錄無影響
  • sgid 以文件的所屬組身份執(zhí)行;在該目錄中創(chuàng)建的任意新文件的所屬組與該目錄所屬組相同
  • sticky 對(duì)文件無影響萧福;對(duì)目錄擁有寫入權(quán)限的用戶僅可以刪除其擁有的文件拉鹃,無法刪除其他用戶所擁有的文件

網(wǎng)絡(luò)配置

  • linux 中,以太網(wǎng)接口被命名為:eth0鲫忍、eth1等膏燕,0、1代表網(wǎng)卡編號(hào)
  • lspci 查看網(wǎng)卡硬件信息 lsusb 查看usb網(wǎng)卡
  • ifconfig 查看接口信息 -a 查看所有接口 eth0 查看特定接口
  • ifup eth0 / ifdown eth0 啟用悟民、禁用一個(gè)接口
  • hostname 查看主機(jī)名

網(wǎng)絡(luò)測(cè)試命令

  • ping 192.168.1.1/baidu.com 測(cè)試網(wǎng)絡(luò)連通性,后面可以加IP地址或者域名
  • host/dig baidu.com 測(cè)試dns解析,dig命令出來的數(shù)據(jù)更多
  • ip route 顯示路由表
  • traceroute baidu.com 追蹤到達(dá)目標(biāo)地址的網(wǎng)絡(luò)路徑
  • mtr baidu.com (結(jié)合了my traceroute 和ping) 進(jìn)行網(wǎng)絡(luò)質(zhì)量測(cè)試
  • hostname 名字 實(shí)時(shí)修改主機(jī)名字
  • /etc/sysconfig/network 永久性修改主機(jī)名

故障排查

  • 從底層到高層坝辫、從自身到外部的流程進(jìn)行
  • 先查看網(wǎng)絡(luò)配置信息是否正確:ip地址、子網(wǎng)掩碼近忙、網(wǎng)關(guān)竭业、dns
  • 查看到達(dá)網(wǎng)管是否連通:ping 網(wǎng)關(guān)ip地址
  • 查看dns解析是否正常

管道和重定向

  • linux中,幾乎所有的命令的返回?cái)?shù)據(jù)都是純文本的及舍,而純文本形式的數(shù)據(jù)又是絕大多數(shù)命令的輸入格式永品,這就讓多命令協(xié)作成為可能。
  • linux的命令行為我們提供了管道和重定向機(jī)制击纬,多命令協(xié)作就是通過管道和重定向完成的鼎姐。
  • 命令行shell的數(shù)據(jù)流定義:STDIN:標(biāo)準(zhǔn)輸入,編號(hào)0更振,默認(rèn)鍵盤炕桨;
    STDOUT:標(biāo)準(zhǔn)輸出,1肯腕,終端
    STDERR:標(biāo)準(zhǔn)錯(cuò)誤献宫,2,終端
  • 通過管道和重定向我們可以控制CU的數(shù)據(jù)流:
    重定向: > 將STDOUT重定向到文件实撒,覆蓋形式
    >> 將STDOUT重定向到文件姊途,追加形式 (這2個(gè)只適用用標(biāo)準(zhǔn)輸出)
    2> 將STDERR重定義到文件,覆蓋形式
    2>&1 將STDOUT和STDERR結(jié)合
    < 重定義SDTIN
    管道: | 將一個(gè)命令的標(biāo)準(zhǔn)輸出(STDOUT)作為另一個(gè)命令的STDIN ls | grep test*

文本處理

  • 基于關(guān)鍵字搜索: 命令grep用于關(guān)鍵字搜索文本
    -i 搜索時(shí)忽略大小寫
    -n 顯示結(jié)果所在行數(shù)
    -v 輸出不帶關(guān)鍵字的行
    -Ax 在輸出的時(shí)候包含結(jié)果所在行之后的指定行數(shù)
    -Bx 在輸出的時(shí)候包含結(jié)果所在行之前的指定行數(shù)

  • 基于列處理文本: 命令cut用于列處理文本
    -d 指定分割字符(默認(rèn)是TAB)
    -f 指定輸出的列號(hào)
    -c 基于字符進(jìn)行切割

  • 文本統(tǒng)計(jì): 命令wc用于統(tǒng)計(jì)文本信息
    -l 只統(tǒng)計(jì)行數(shù)
    -w 只統(tǒng)計(jì)單詞
    -c 只統(tǒng)計(jì)字節(jié)數(shù)
    -m 只統(tǒng)計(jì)字符數(shù)

  • 文本排序: 命令sort用于對(duì)文本內(nèi)容進(jìn)行排序(基于英文)
    -r 倒序排列
    -n 基于數(shù)字進(jìn)行排列
    -f 忽略大小寫
    -u 刪除重復(fù)行 uniq 用以刪除重復(fù)的相鄰行
    -t c 使用c作為分隔符分割為列進(jìn)行排序
    -k x 當(dāng)進(jìn)行基于指定字符分割為列的排序時(shí)知态,指定你基于那個(gè)列排序

  • 文本比較: 命令diff用于比較兩個(gè)文件的區(qū)別
    -i 忽略大小寫
    -b 忽略空格數(shù)量的改變
    -u 統(tǒng)一顯示比較信息(一般用以生成patch文件)

  • 處理文本內(nèi)容: 命令tr(translate)用于處理文本內(nèi)容,要用重定向方式
    -d 刪除關(guān)鍵字 tr -d 'TMD' < test.txt
    轉(zhuǎn)換大小寫: tr 'a~z' 'A~Z' < test.txt

  • 搜索替換: 命令sed 用以搜索并替換文本,中間用的正則表達(dá)式
    sed + 正則 + 文件: 如: sed ‘s/linux/unix/g’ linuxcast 捷兰、sed '1,50s/linux/unix/g' linuxcast

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市负敏,隨后出現(xiàn)的幾起案子贡茅,更是在濱河造成了極大的恐慌,老刑警劉巖其做,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顶考,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡妖泄,警方通過查閱死者的電腦和手機(jī)驹沿,發(fā)現(xiàn)死者居然都...
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蹈胡,“玉大人渊季,你說我怎么就攤上這事∩蟛校” “怎么了梭域?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長搅轿。 經(jīng)常有香客問我病涨,道長,這世上最難降的妖魔是什么璧坟? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任既穆,我火速辦了婚禮赎懦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘幻工。我一直安慰自己励两,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布囊颅。 她就那樣靜靜地躺著当悔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪踢代。 梳的紋絲不亂的頭發(fā)上盲憎,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音胳挎,去河邊找鬼饼疙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛慕爬,可吹牛的內(nèi)容都是我干的窑眯。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼医窿,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼磅甩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起留搔,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤更胖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后隔显,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡饵逐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年括眠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片倍权。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡掷豺,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出薄声,到底是詐尸還是另有隱情当船,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布默辨,位于F島的核電站德频,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏缩幸。R本人自食惡果不足惜壹置,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一竞思、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧钞护,春花似錦盖喷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至余佃,卻和暖如春暮刃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咙冗。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來泰國打工沾歪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人雾消。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓灾搏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親立润。 傳聞我的和親對(duì)象是個(gè)殘疾皇子狂窑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容