Linux知识点复习
Linux必背
@author: Kant
@date: 2022/01/14
表示當(dāng)前的登錄的用戶@主機(jī)名:當(dāng)前所在目錄
$ 普通用戶、#root用戶
格式:命令 [選項(xiàng)] [參數(shù)]
? -字母
? --單詞
? 命令 --help;或者man 命令:查看此命令幫助
一、pwd 查看前絕對(duì)路徑
二、ls 查看當(dāng)前目錄下的內(nèi)容
? 選項(xiàng):-a 顯示全部文件,包括隱藏文件(.文件名)
? -h 以易讀的形式查看文件,一般和-l連用
? -l 以較長(zhǎng)的格式列出詳細(xì)信息(文件權(quán)限、文件的硬鏈接數(shù)、文件所屬用戶、文件所屬用戶的組、文件大小(字節(jié))、文件的最后修改日期、文件名)
? !ls 快速執(zhí)行最近執(zhí)行過的ls相關(guān)命令
? 如:ls -alh 路徑(alh順序無(wú)關(guān))
三、clear 清屏(或Ctrl+L)
四、cd 切換目錄
? ~表示家目錄
? 選項(xiàng):cd 目錄 切換到指定目錄
? cd ~ 切換到當(dāng)前用戶的主目錄==cd
? cd … 切換到上一級(jí)目錄
? cd - 切換到上一次目錄
? cd . 切換到當(dāng)前目錄
五、tab鍵自動(dòng)補(bǔ)全命令或者路徑
? 一次按不出來(lái)就再按一次
六、創(chuàng)建、刪除目錄
? 1.mkdir 目錄名 創(chuàng)建目錄
? 2.mkdir -p 路徑 創(chuàng)建多層目錄
? 3.rmdir 目錄名 刪除空目錄
? 4.rmdir -p 路徑 逐層刪除空目錄
七、創(chuàng)建、刪除文件
? 1.touch 文件名(可創(chuàng)建多個(gè)文件,用空格隔開) 創(chuàng)建文件
? 2. rm 文件名(可創(chuàng)建多個(gè)文件,用空格隔開)刪除文件(不經(jīng)回收站)
? 3.rm -i 文件名 會(huì)詢問是否要?jiǎng)h除文件(是y,否則不刪)
? 4.rm * 刪除當(dāng)前文件夾下的所有文件(可rm -i *)
? 5.rm -f 文件名 不詢問直接刪除
? 6.rm -r 目錄名 刪除目錄(不管是否為空)
八、復(fù)制文件、目錄
? 復(fù)制的同時(shí)可以改名
? 1.cp 源文件(可多個(gè)文件,空格隔開) 目標(biāo)路徑
? 2.cp -r 源目錄 目標(biāo)目錄 復(fù)制目錄
? 3.cp -v 源 目標(biāo) 顯示復(fù)制的路徑信息(從哪復(fù)制到哪)
九、移動(dòng)文件、目錄
? 1.mv 源文件 目標(biāo)路徑(可用來(lái)重命名文件)
? 2.移動(dòng)、重命名目錄和1用法一樣,不用加-r
? 3.mv -v 源文件 目標(biāo)路徑 顯示移動(dòng)的路徑信息(從哪移動(dòng)到哪)
十、echo 回顯
? 1.echo $? 顯示上一次執(zhí)行結(jié)果的狀態(tài)(0表正常結(jié)束,1表輸入輸出錯(cuò)誤…)
? 2.echo $PATH 顯示系統(tǒng)環(huán)境變量
十一、>、>> 重定向
? 1.> 輸出重定向(用來(lái)將輸出到屏幕的內(nèi)容重定向到一個(gè)指定位置,一般是指定一個(gè)文件,不管此文件是否存在,都會(huì)創(chuàng)建新文件并保存輸出的數(shù)據(jù))
? 2.>> 輸出重定向,區(qū)別是此方式是追加數(shù)據(jù)(不存在則創(chuàng)建)
十二、cat、more 查看文件
? 1.cat 文件名 查看小型文件(多個(gè)文件用空格分開)(不打開文件)
? 2.more 文件名 查看大文件(空格鍵顯示下一屏信息、回車鍵顯示下一行信息、b鍵顯示上一屏信息、f鍵顯示下一屏信息、按q退出)
? 例如:cat a.txt b.txt > c.txt:將a和b的文件內(nèi)容合并存到c中
十三、| 管道命令
? 1.|左邊命令的輸出結(jié)果作為|右邊命令的輸入,一般與more連用,如:ls -l | more
十四、ln 鏈接命令
? 1.ln -s 源路徑 目標(biāo)路徑 創(chuàng)建軟連接(類似Windows的快捷方式),無(wú)論對(duì)哪個(gè)文件(目錄)進(jìn)行操作都會(huì)影響另外一個(gè)文件(目錄)。源路徑一般使用絕對(duì)路徑(否則目標(biāo)快捷方式移動(dòng)到其他位置時(shí)會(huì)訪問不到源文件)。
? 2.ln 源文件 目標(biāo)文件 創(chuàng)建硬鏈接(類似于python的引用),將多個(gè)文件名指向同一個(gè)文件,數(shù)據(jù)操作會(huì)互相同步。刪除源文件,目標(biāo)文件還在。使用絕對(duì)路徑和相對(duì)路徑均可。硬鏈接會(huì)改變文件屬性信息中的連接數(shù)據(jù)。不允許對(duì)目錄做硬鏈接。目錄的文件信息中的連接數(shù)表示,當(dāng)前目錄下包含多少個(gè)子目錄。
十五、grep 文本搜索命令
? 1.grep “要搜索的數(shù)據(jù)” 文件名 (默認(rèn)忽略大小寫)
? 2.-i 忽略大小寫
? 3.-n 顯示匹配到的行號(hào)
? 4.-v 顯示不包含匹配文本的所有行
? 5.與正則表達(dá)式配合使用(^以指定字符串開頭、$以指定字符串結(jié)尾、.匹配一個(gè)非換行符的字符)
? 6.與管道連用,如:ps aux | grep mysql(ps aux 查看當(dāng)前所以進(jìn)程)
? 例如:grep -in ‘^1’ a.txt grep -in ‘2$’ a.txt grep -in ‘1.2’ a.txt
十六、find 查找文件
? 1.find 查找路徑 -name 被查找文件
? 2.查找時(shí),不僅在指定路徑查找,還會(huì)在其子路徑下進(jìn)行查找
? 3.兩個(gè)通配符:*表示0個(gè)或多個(gè)字符;?表示任意一個(gè)字符(和正則表達(dá)式不同)
十七、zip、gzip、bzip2 壓縮、解壓縮文件
? 1.zip 壓縮包名 被壓縮文件 (后綴名.zip)
? 2.解壓:unzip 壓縮包名
? 3.gzip 被壓縮文件名 (后綴名.gz)
? 4.解壓:gzip -d 壓縮包名
? 5.bzip2 被壓縮文件名 (后綴名.bz2)
? 6.解壓:bzip2 -d 壓縮包名
十八、tar 打包、解包文件
? 1.打包不壓縮(不改變文件大小),后綴名.tar
? 2.選項(xiàng)的 - 可以不寫(特殊哦)
? 3.使用選項(xiàng)時(shí),f 選項(xiàng)一定是在所有的選項(xiàng)最右側(cè),后面跟的是包名
? 4.c:創(chuàng)建打包文件、v:顯示打包或者解包的詳細(xì)信息、f:指定包名(必須放在所有選項(xiàng)的最后面)
? 5.tar cvf 打包后的文件名 被打包文件
? 6.解包:tar xvf 包名
? 7.解包:tar xvf 包名 -C 存放目錄
? 8.z 和 j 選項(xiàng)可以實(shí)現(xiàn)打包文件時(shí)實(shí)現(xiàn)壓縮,壓縮格式分別是 .gz 和 .bz2
? 9.格式一:(掌握)
? tar -zcvf 文件名.tar.gz 被壓縮文件
? tar -zxvf 壓縮包名 -C 指定解壓目錄
? 10.格式二:(掌握)
? tar jcvf 文件名.tar.bz2 被壓縮文件
? tar jxvf 壓縮包名 -C 指定解壓目錄
十九、chmod 文件權(quán)限(字母法)
? 如:-rwxr-xr-x
? 分解:-:文件類型、rwx:文件所有者權(quán)限、r-x:文件所有者所屬組用戶權(quán)限、r-x:其他用戶權(quán)限
? 文件類型:-:普通文件、d:目錄、l:(軟)鏈接文件
? 權(quán)限:r:讀取權(quán)限、w:寫入權(quán)限、x:執(zhí)行權(quán)限、-無(wú)權(quán)限(占位符,必須為三位),文件可執(zhí)行時(shí)名字是綠色
? 角色說(shuō)明:u:user,文件所有者、g:group,用戶組、o:other,其他用戶、a:all,所有用戶
? 權(quán)限設(shè)置:+:增加權(quán)限、-:撤銷權(quán)限、=:設(shè)置權(quán)限
? 1.chmod g+w 文件名 對(duì)此文件的用戶組增加寫權(quán)限
? 2.chmod u-x,g-x 文件名 對(duì)此文件的所有者和用戶組撤銷執(zhí)行權(quán)限
二十、chmod 文件權(quán)限(數(shù)字法)
? 說(shuō)明:r:權(quán)限值為4、w:權(quán)限值為2、x:權(quán)限值為1、-:權(quán)限值為0,設(shè)置為哪個(gè)權(quán)限將它們的權(quán)限值相加即可。
? 對(duì)目錄:x權(quán)限可進(jìn)入目錄中、w權(quán)限可在目錄中創(chuàng)建和刪除文件、r權(quán)限可以查看目錄中的內(nèi)容
? 1.chmod 777 文件名 所有用戶設(shè)置為滿權(quán)限
? 2.chmod 700 文件名 給文件所有者設(shè)置為滿權(quán)限,剩下用戶權(quán)限為空
? 3.chmod 7 文件名 給其他用戶設(shè)置為滿權(quán)限,剩下用戶權(quán)限為空(從右到左)
? 4.文件默認(rèn)權(quán)限:755、目錄默認(rèn)權(quán)限:775(Ubuntu)
二十一、sudo 獲取管理員權(quán)限
? 1.sudo 常規(guī)命令 臨時(shí)獲取管理員權(quán)限去執(zhí)行命令
? 2.sudo -s 切換到root用戶,獲取管理員權(quán)限
? 3.exit 退出當(dāng)前用戶
? 4.whoami 查看當(dāng)前用戶
? 5.who 查看所有的登錄用戶
? 6.sudo passwd 用戶名 修改指定用戶的密碼,不指定用戶默認(rèn)修改當(dāng)前登錄用戶的密碼
? 7.which 命令 查看命令的存儲(chǔ)位置
? 8.shutdown -h now(或0) 立刻關(guān)機(jī)
? 9.rebot 重啟
二十二、useradd 添加用戶
? 有管理員權(quán)限才能添加用戶
? 1.useradd 用戶名 添加用戶
? 2.useradd -m 用戶名 自動(dòng)在\home下創(chuàng)建用戶主目錄,名字為用戶名
? 3.useradd -m -g 用戶組gid 用戶名 指定用戶所屬的用戶組,不指定會(huì)創(chuàng)建一個(gè)同名的用戶組
? 4.id 用戶名 查看用戶信息(uid:用戶id、gid:用戶組id、組:用戶所在的用戶組)
? 5./etc/passwd文件下保存著所有用戶的信息(用戶名:密碼占位符:UID:GID:[用戶描述]:用戶主目錄所在位置:所用shell的類型,也叫命令環(huán)境,一般是bash或者sh,默認(rèn)是sh),自己創(chuàng)建的用戶的uid在1000以上
? 6./etc/group文件下保存著所有用戶組的信息(用戶組名:密碼占位符,一般無(wú)密碼:GID:)
? 7./etc/shadow文件下保存著所有用戶的密碼信息(一般md5加密,若無(wú)密碼則顯示!)
二十三、su 切換用戶
? 1.su 用戶名 如果切換到root用戶,此方法gwd后會(huì)發(fā)現(xiàn)用戶環(huán)境還是切換之前的
? 2.su - 用戶名 可正常切換到root用戶環(huán)境下
二十四、userdel 刪除用戶
? 1.userdel -r 用戶名 不加-r的話不會(huì)刪除\home下的用戶家目錄
? 2.用戶沒有設(shè)置密碼的話切換不了
二十五、groupadd 添加用戶組
? 1.groupadd 組名 創(chuàng)建用戶組
二十六、groupdel 刪除用戶組
? 1.如果創(chuàng)建的組作為某個(gè)用戶的主組時(shí),要先手動(dòng)userdel刪除用戶再刪除組,否則刪除不了用戶組
二十七、ssh和scp(不常用,常用ftp)
? 1.sudo apt-get install openssh-server 安裝ssh服務(wù)器
? 2.ftp傳輸?shù)奈募J(rèn)在/var/ftp/shared/下
? 3.scp(遠(yuǎn)程復(fù)制文件)
? 4.上傳文件:scp 本地文件名 目標(biāo)用戶名@ip地址:遠(yuǎn)端路徑
? 5.下載文件:scp 目標(biāo)用戶名@ip地址:遠(yuǎn)端路徑/文件名 保存位置
二十八、vim
? 命令模式、編輯模式、末行模式(打開文件進(jìn)入時(shí)是命令模式)
? 1.命令模式按 (i在當(dāng)前光標(biāo)位置處插入、a在當(dāng)前光標(biāo)下一個(gè)字符位置處插入、o在下一行插入一個(gè)空行) 進(jìn)入編輯模式,按 : 進(jìn)入末行模式
? 2.編輯模式和末行模式按ESC進(jìn)入命令模式,編輯模式和末行模式之間不能直接進(jìn)行轉(zhuǎn)換
? 3.替換:命令模式下按r會(huì)進(jìn)編輯模式, 按一次r可替換一次光標(biāo)位置的字符;命令模式下按R會(huì)進(jìn)編輯模式,可持續(xù)替換
? 4.只有在末行模式下才能退出,末行模式下:w保存文件,q退出,! 強(qiáng)制執(zhí)行,x保存并退出(不保存退出不了可q! 強(qiáng)制退出),設(shè)置行號(hào)set nu,取消行號(hào)set nonu,語(yǔ)法高亮(關(guān)閉高亮)syntax on(off)
? 5.命令模式下:
? yy:復(fù)制一行,nyy:復(fù)制n行,p:在光標(biāo)處粘貼,np:在光標(biāo)處粘貼n次(向下),dd:刪除一行,ndd:刪除n行,x:向后刪除一個(gè)字符,X:向前刪除一個(gè)字符
? 移動(dòng)光標(biāo):方向鍵,h(左)、j(下)、k(上)、l(右),gg:移動(dòng)到首行,G:移動(dòng)到末行,nG:移動(dòng)到指定行,$:移動(dòng)到行尾,0、^:移動(dòng)到行首
? 撤銷操作:u:撤銷,ctrl+r:反撤銷
? 縮進(jìn):>>:向右縮進(jìn),<<:向左縮進(jìn)
? 查找:/查找內(nèi)容(n跳到下一個(gè),N跳到上一個(gè)),?查找內(nèi)容(n跳到上一個(gè),N跳到下一個(gè))
? 替換:%s/要替換的內(nèi)容/替換后的內(nèi)容/g:全局替換(/g可以不寫)
? 開始行號(hào),結(jié)束行號(hào)s/要替換的內(nèi)容/替換后的內(nèi)容:局部替換
二十九、安裝、卸載軟件
? 1.離線安裝:sudo dpkg -i 包名(后綴名deb)
? 2.在線安裝:sudo apt-get(不寫-get也行) install 安裝包
? 更改國(guó)內(nèi)鏡像,打開https://mirrors.tuna.tsinghua.edu.cn/,Ubuntu 的軟件源配置文件是 `/etc/apt/sources.list,將系統(tǒng)自帶的該文件做個(gè)備份,將該文件替換,然后執(zhí)行sudo apt-get update
? 2.離線安裝包卸載:sudo dpkg -r 包名(后綴名deb), sudo dpkg -P 包名 可同時(shí)清除配置文件
? 3.在線安裝包的卸載:sudo apt-get remove 包名,sudo apt-get --purge remove 包名(或者sudo apt-get purge 包名) 可同時(shí)清除配置文件
三十、進(jìn)程、線程
? 進(jìn)程:操作系統(tǒng)進(jìn)行資源分配的基本單位
? 線程:任務(wù)執(zhí)行的基本單位(CPU調(diào)度的基本單位)
? 關(guān)系:線程必須依附在進(jìn)程里面,沒有進(jìn)程就沒有線程;一個(gè)進(jìn)程默認(rèn)提供了一條主線程,一個(gè)進(jìn)程可以創(chuàng)建多條線程
? 區(qū)別:進(jìn)程之間不共享全局變量,線程之間共享全局變量(但是要注意資源競(jìng)爭(zhēng)問題,解決方法:互斥鎖或線程同步)
? 創(chuàng)建進(jìn)程的資源開銷要大于創(chuàng)建線程的資源開銷(創(chuàng)建一個(gè)進(jìn)程相當(dāng)于把原來(lái)進(jìn)程的資源復(fù)制一份)
? 多進(jìn)程開發(fā)比單進(jìn)程多線程開發(fā)穩(wěn)定性要強(qiáng)
? 優(yōu)缺點(diǎn):
? 進(jìn)程優(yōu)點(diǎn):可以用多核;缺點(diǎn):資源開銷大
? 線程優(yōu)點(diǎn):資源開銷小;缺點(diǎn):不能使用多核(因?yàn)镃Python解釋器中GIL鎖的存在,使得同一時(shí)刻只有一個(gè)線程在運(yùn)行)
?
?
總結(jié)
以上是生活随笔為你收集整理的Linux知识点复习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python模拟哲学家进餐问题
- 下一篇: Linux 手动或自动挂载 NTFS 硬