linux學(xué)習(xí)
在linux世界里面者吁, 一切皆為文件
linux的目錄結(jié)構(gòu)介紹
-
/bin 【常用】(/usr/bin娘香、/usr/local/bin)
是Binary的縮寫, 這個(gè)目錄存放最經(jīng)常使用的命令
-
/sbin (/usr/sbin、/usr/local/sbin)
s是Supre User的意思秘通,存放的是系統(tǒng)管理員使用的系統(tǒng)管理程序
-
/home 【常用】
存放普通用戶的主目錄铺浇,在linux中每個(gè)用戶都有一個(gè)自己的目錄
-
/root 【常用】
該目錄為系統(tǒng)管理員痢畜, 也成為超級(jí)權(quán)限者的用戶主目錄
-
/lib
系統(tǒng)開機(jī)所需要的最基本的動(dòng)態(tài)連接共享庫(kù),其作用類似于windows里面的DLL文件鳍侣。幾乎所有的應(yīng)用程序都需要用到這些共享庫(kù)
-
/lost+found
該目錄一般情況下是空的丁稀,當(dāng)系統(tǒng)非法關(guān)機(jī)后,這里就存放了一些文件
-
/etc
所有的系統(tǒng)管理所需要的配置文件和子目錄拱她,比如安裝mysql數(shù)據(jù)庫(kù) mysql.conf
-
/usr 【常用】
這是一個(gè)非常重要的目錄二驰,用戶的很多應(yīng)用程序和文件都放在該目錄下,類似于windows下的program files目錄
-
/boot 【常用】
存放的是啟動(dòng)linux時(shí)使用的一些核心文件秉沼,包括一些連接文件和鏡像文件
-
/proc
這個(gè)目錄時(shí)一個(gè)虛擬目錄桶雀,它是系統(tǒng)內(nèi)存的映射,訪問這個(gè)目錄來獲取系統(tǒng)的信息
-
/srv
service的縮寫唬复, 存放一些服務(wù)啟動(dòng)之后需要提取的數(shù)據(jù)
-
/sys
這是linux2.6內(nèi)核的一個(gè)很大的變化矗积,該目錄安裝了2.6內(nèi)核中新出現(xiàn)的一個(gè)文件系統(tǒng)sysfs
-
/tmp
該目錄存放一些臨時(shí)文件
-
/dev
類似于windows的設(shè)備管理器,把所有的硬件用文件的形式存儲(chǔ)
-
/media 【常用】
linux會(huì)自動(dòng)識(shí)別一些設(shè)備敞咧,例如U盤棘捣、光驅(qū)等,當(dāng)識(shí)別后休建,linux會(huì)把識(shí)別的設(shè)備掛載到這個(gè)目錄下
-
/mnt 【常用】
系統(tǒng)提供該目錄是為了讓用戶臨時(shí)掛載其他系統(tǒng)文件的乍恐,例如我們可以將外部的存儲(chǔ)掛載到/mnt/上,然后進(jìn)入該目錄就可以查看里面的內(nèi)容了测砂。
-
/opt
這是主機(jī)額外安裝軟件所存放的目錄
-
/usr/local 【常用】
這是另一個(gè)給主機(jī)額外安裝軟件所安裝的目錄茵烈。一般是通過編譯源碼的方式安裝的目錄
-
/var 【常用】
這個(gè)目錄是存在不斷擴(kuò)充的東西,習(xí)慣將經(jīng)常被修改的目錄放在該目錄下砌些,包括各種日志文件
-
/selinux 【security-enhanced linux】
selinux是一種安全子系統(tǒng)呜投,它能控制程序只能訪問特定文件,有三種工作模式存璃,可以執(zhí)行設(shè)置
vi和vim
-
三種模式切換
模式切換 -
常用的快捷鍵
拷貝當(dāng)前行 yy仑荐, 拷貝當(dāng)前行向下的5行 5yy, 并粘貼(輸入p)纵东。
刪除當(dāng)前行 dd粘招,刪除當(dāng)前行向下5行 5dd。
在文件中查找某個(gè)單詞(/ 關(guān)鍵字偎球, 回車查找男图, 輸入n查找下一個(gè))
設(shè)置文件的行號(hào)示姿, 取消文件行號(hào) 【命令行下 : set nu 和 : set nonu】
使用快捷鍵到該文件的最末尾【G】和最首行【gg】
撤銷操作【u】
將光標(biāo)定位到具體行號(hào) ,先輸入具體行號(hào)逊笆, 在輸入【shift + g】
更多的快捷鍵栈戳,請(qǐng)點(diǎn)擊這里
linux關(guān)機(jī)和重啟命令
-
基本介紹
shutdown -h now 立即進(jìn)行關(guān)機(jī)(-h是一個(gè)選項(xiàng), 英文是hot)
shutdown -h 1 "hello,1分鐘后會(huì)關(guān)機(jī)了"
shutdown -r now 現(xiàn)在重新啟動(dòng)計(jì)算機(jī)
halt 關(guān)機(jī)难裆, 作用和上面一樣
reboot 現(xiàn)在重新啟動(dòng)計(jì)算機(jī)
sync 把 內(nèi)存的數(shù)據(jù)同步到磁盤
注意:
- 不管是重啟系統(tǒng)還是關(guān)閉系統(tǒng)子檀, 首先要運(yùn)行sync命令,把內(nèi)存中的數(shù)據(jù)寫磁盤中
- 目前的shutdown/reboot/halt等命令均在關(guān)機(jī)前進(jìn)行了sync乃戈, 但是小心駛得萬(wàn)年船
實(shí)操
用戶管理
添加用戶
-
基本語(yǔ)法
useradd 用戶名
-
應(yīng)用案例
例如: 添加一個(gè)用戶tom褂痰, 默認(rèn)該用戶的家目錄在 /home/tom
-
細(xì)節(jié)說明
當(dāng)創(chuàng)建用戶成功后,會(huì)自動(dòng)的創(chuàng)建和用戶同名的家目錄
也可以用過useradd -d 指定目錄 新的用戶名症虑, 給新創(chuàng)建的用戶指定目錄
設(shè)置密碼
-
基本語(yǔ)法
passwd 用戶名
注意: 當(dāng)不添加用戶名時(shí)時(shí)給當(dāng)前用戶添加或修改密碼
刪除用戶
-
基本語(yǔ)法
userdel 用戶名
查看用戶信息
-
基本語(yǔ)法
id 用戶名
切換用戶
-
基本語(yǔ)法
su - 用戶名
-
細(xì)節(jié)說明
當(dāng)從權(quán)限高得用戶切換到用戶低的用戶缩歪, 不需要密碼, 反之需要谍憔。
當(dāng)需要返回之前的用戶時(shí)匪蝙, 使用exit/logout指令
查看登錄用戶
-
基本語(yǔ)法
who am i
用戶組
-
介紹
類似于角色,系統(tǒng)可以對(duì)有共性/權(quán)限的多個(gè)用戶進(jìn)行統(tǒng)一的管理
-
新增組
指令: groupadd 組名
-
刪除組
指令: groupdel 組名
-
添加用戶直接加上組
指令: useradd -g 用戶組 用戶名
-
修改用戶的組
指令: usermod -g 用戶組 用戶名
用戶和組相關(guān)文件
-
/etc/passwd 文件
用戶(user)的配置文件习贫,記錄用戶的各種信息
每行的含義:用戶名:口令:用戶標(biāo)識(shí)號(hào):組標(biāo)識(shí)號(hào):注釋性描述:主目錄:登錄shell
-
/etc/shadow 文件
口令的配置文件
每行的含義:登錄名:加密口令:最后一次的修改時(shí)間:最小時(shí)間間隔:最大時(shí)間間隔:警告時(shí)間:不活動(dòng)時(shí)間:失效時(shí)間標(biāo)志
-
/etc/group
組(group)的配置文件逛球,記錄linux包含組的信息
每行的含義:組名:口令:組標(biāo)識(shí)號(hào):組內(nèi)用戶列表
實(shí)用指令
運(yùn)行級(jí)別
不同的運(yùn)行級(jí)別
- 0: 關(guān)機(jī)
- 1: 單用戶【找回丟失密碼】
- 2: 多用戶狀態(tài)沒有網(wǎng)絡(luò)服務(wù)
- 3: 多用戶狀態(tài)有網(wǎng)絡(luò)服務(wù)
- 4: 系統(tǒng)未使用保留給用戶
- 5:圖形界面
- 6:系統(tǒng)重啟
命令: init [0123456]
使用單用戶級(jí)別找回密碼
- 啟動(dòng)系統(tǒng), 開始畫面按下e苫昌;
- 找到"Linux16"所造行數(shù)颤绕, 在最后面輸入:init=/bin/sh
- 按下ctrl + x, 重啟系統(tǒng)進(jìn)入單用戶模式
- 輸入mount -o remount,rw / , 然后回車
- 輸入pwsswd祟身, 完成后回車奥务, 輸入密碼, 然后再次輸入確認(rèn)密碼袜硫,密碼修改后會(huì)顯示passwd....字樣汗洒,說明密碼修改成功
- 輸入touch /.autorelabel, 回車
- 輸入exec /sbin/init父款, 回車, 耐心等待下瞻凤,完成后憨攒, 系統(tǒng)會(huì)自動(dòng)重啟,新的密碼生效了
幫助指令
man 獲得幫助信息
-
基本語(yǔ)法
man 【命令或配置文件】(功能描述:獲得幫助信息)
help
-
基本語(yǔ)法
help 命令(功能描述:獲得shell內(nèi)置命令的幫助信息)
比如: help cd
文件目錄指令
pwd
-
基本語(yǔ)法
pwd (功能描述:顯示當(dāng)前工作目錄的絕對(duì)路徑)
ls
-
基本語(yǔ)法
ls 【選項(xiàng)】 【目錄獲文件】
-
常用選項(xiàng)
- -a : 顯示當(dāng)前目錄的所有文件和目錄阀参,包括隱藏的
- -l:以列的方式顯示信息
cd
-
基本語(yǔ)法
cd 【參數(shù)】 (功能描述:切換到指定目錄)
cd ~ 或者cd: 回到自己的家目錄肝集;
cd .. 回到當(dāng)前目錄的上一級(jí)目錄
cd / 切換到根目錄
mkdir
-
基本語(yǔ)法
mkdir 【選項(xiàng)】 要?jiǎng)?chuàng)建的目錄
-
常用選項(xiàng)
-p:創(chuàng)建多級(jí)目錄
rmdir
-
基本語(yǔ)法
rmdir 【選項(xiàng)】 要?jiǎng)h除的目錄 (功能描述:刪除空目錄)
提示: 如果需要?jiǎng)h除非空目錄庫(kù), 需要使用rm -rf 要?jiǎng)h除的目錄(r代表recursion蛛壳, 中文表示遞歸杏瞻,f代表forece所刀, 中文表示強(qiáng)制)
touch
-
基本語(yǔ)法
touch 文件名 (功能描述:創(chuàng)建一個(gè)空文件)
cp
-
基本語(yǔ)法
cp 【選項(xiàng)】 source dest
-
常用選項(xiàng)
-r: 遞歸復(fù)制整個(gè)文件夾
-
強(qiáng)制覆蓋
/cp 【選項(xiàng)】 source dest
rm
-
基本語(yǔ)法
rm 【選項(xiàng)】 要?jiǎng)h除的文件或目錄
-
常用選項(xiàng)
-r:遞歸刪除整個(gè)文件夾
-f: 強(qiáng)制刪除不提示
mv
-
基本語(yǔ)法
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/moveFile /targetFolder (功能描述:移動(dòng)文件)
cat
-
基本語(yǔ)法
cat 【選項(xiàng)】 要查看的文件
-
常用選項(xiàng)
-n: 顯示行號(hào)
-
使用細(xì)節(jié)
cat 只能瀏覽文件, 而不能修改文件捞挥,為了瀏覽方便浮创,一般會(huì)帶上 管道命令 | more
cat -n /etc/profile | more 【進(jìn)行交互】
more
more指令是一個(gè)基于VI編輯器的文本編輯器,它以全屏幕的方式按頁(yè)顯示文本文件的內(nèi)容砌函,more指令中內(nèi)置了若干快捷鍵(交互的指令)斩披,詳情操作說明見下圖:
-
基本語(yǔ)法
more 要查看的文件
less
less指令用來分屏查看文件內(nèi)容,它的功能與more指令類似讹俊,但是比more指令更加強(qiáng)大垦沉,支持各種顯示終端。less指令在顯示文件內(nèi)容時(shí)仍劈,并不是一次將整個(gè)文件加載之后才顯示厕倍,而是根據(jù)顯示需要加載內(nèi)容, 對(duì)于顯示大型文件具有較高的效率贩疙。詳情操作見下圖:
-
基本語(yǔ)法
less 要查看的文件
echo
-
基本語(yǔ)法
echo 【選項(xiàng)】 【輸出內(nèi)容】 (功能描述:輸入內(nèi)容到控制臺(tái))
head
head用于顯示文件的開頭部分內(nèi)容讹弯,默認(rèn)情況下head指令顯示文件的前10行內(nèi)容
-
基本語(yǔ)法
head 文件 (功能描述: 查看文件頭10行內(nèi)容)
head -n 5 文件 (功能描述:查看文件的頭5行內(nèi)容,5可以時(shí)任意行數(shù))
tail
tail用于輸出文件中尾部的內(nèi)容屋群,默認(rèn)情況下tail指令顯示文件后10行的內(nèi)容
-
基本語(yǔ)法
tail 文件 (功能描述:查看文件的后10行內(nèi)容)
tail -n 5 文件 (功能描述:查看文件的后5行內(nèi)容闸婴, 5可以時(shí)任意行數(shù))
tail -f 文件 (功能描述: 實(shí)時(shí)追蹤該文檔的所有更新)
>和>>指令
輸入重定向和追加
-
基本語(yǔ)法
- ls -l > 文件 (功能描述: 列表的內(nèi)容寫入到文件中(覆蓋寫))
- ls -al >> 文件 (功能描述:列表的內(nèi)容追加到文件中)
- cat 文件1 > 文件2 (功能描述:將文件1的內(nèi)容覆蓋到文件2)
- echo "內(nèi)容" >> 文件 (追加內(nèi)容到文件中)
ln 指令
軟連接,也成為符號(hào)鏈接芍躏,類似于windows里面的快捷方式邪乍,主要存放了連接其他文件的路徑
-
基本語(yǔ)法
ln -s 【原文件或目錄】 【軟鏈接名】 (功能描述:給原文件創(chuàng)建一個(gè)軟鏈接)
-
細(xì)節(jié)說明
當(dāng)我們使用pwd指令查看目錄時(shí),仍然看到的時(shí)軟鏈接所在目錄
history指令
曾今執(zhí)行過的指令
-
基本語(yǔ)法
histoty 查看之前執(zhí)行過的指令
history 10 查看最近執(zhí)行過的10條指令
!5 執(zhí)行之前的第5條執(zhí)行
時(shí)間日期類
date
顯示當(dāng)前日期
-
基本語(yǔ)法
date (功能描述: 顯示當(dāng)前日期)
date “+%Y-%m-%d %H:%M:%S” (功能描述: 顯示年月日 時(shí)分秒)
date -s "2020-12-17 10:18:20" (功能描述: 設(shè)置系統(tǒng)當(dāng)前時(shí)間)
cal
查看當(dāng)前日歷
-
基本語(yǔ)法
cal [選項(xiàng)] 參數(shù)
cal (功能描述: 顯示當(dāng)前日期的日歷)
cal 2020 (功能描述: 顯示2020年的日歷)
搜索查找類
find
find指令將從指定的目錄向下遞歸遍歷其各個(gè)子目錄对竣,將滿足條件的文件或者目錄顯示在終端
-
基本語(yǔ)法
find 【搜索范圍】 【選項(xiàng)】
選項(xiàng)詳情find /home -name hello.txt (功能描述: 按照名字在/home目錄下查找hello.txt文件)
find /opt -user root (功能描述: 查找/opt目錄下庇楞,用戶名稱為root的文件)
find / -size +200M (功能描述: 查找大于200M的文件)
locate
locate指令可以快速定位文件路徑。locate指令利用事先建立的系統(tǒng)中所有文件名稱及路徑的locate數(shù)據(jù)庫(kù)實(shí)現(xiàn)快速定位給定文件否纬。locate指令無(wú)需遍歷整個(gè)文件系統(tǒng)吕晌,查詢速度較快。為了保證查詢結(jié)果的準(zhǔn)確度临燃,管理員必須定期更新locate時(shí)刻
-
基本語(yǔ)法
locate 搜索文件
-
特別說明
由于locate指令基于數(shù)據(jù)庫(kù)進(jìn)行查詢睛驳,所以第一次運(yùn)行前,必須使用updatedb指令創(chuàng)建locate數(shù)據(jù)庫(kù)
which
查看某個(gè)指令在哪個(gè)目錄
which ls
grep指令和管道符號(hào) |
grep 過濾查找 膜廊, 管道符“|”: 表示將前一個(gè)命令的輸出傳遞給后面的命令處理乏沸。
-
基本語(yǔ)法
grep 【選項(xiàng)】 查找內(nèi)容 源文件
-
常用選項(xiàng)
imagegrep -n hello /home/bb/hello.txt
cat /home/bb/hello.txt | grep -n hello
壓縮和解壓類
gzip和gunzip指令
gzip用于壓縮,gunzip用于解壓
-
基本語(yǔ)法
gzip 文件 (功能描述:壓縮文件爪瓜, 只能將文件壓縮為*.gz文件)
gunzip 文件.gz (功能描述:解壓文件命令)
zip和unzip命令
zip用于壓縮文件蹬跃,unzip用于解壓的,這個(gè)在項(xiàng)目打包發(fā)布中很有用铆铆。
-
基本語(yǔ)法
zip 【選項(xiàng)】 xxx.zip 將要壓縮的內(nèi)容 (功能描述:壓縮文件和目錄命令)
unzip 【選項(xiàng)】 xxx.zip (功能描述:解壓縮文件)
-
zip常用選項(xiàng)
-r: 遞歸壓縮蝶缀, 即壓縮目錄
-
unzip常用選項(xiàng)
-d <目錄>: 指定解壓后文件的存放目錄
tar指令
tar指令是打包指令丹喻,最后打包的文件是.tar.gz的文件
-
基本語(yǔ)法
tar 【選項(xiàng)】 xxx.tar.gz 打包的內(nèi)容 (功能描述:打包目錄,壓縮后的文件格式是.tar.gz)
-
選項(xiàng)說明
image -
應(yīng)用實(shí)例
- 壓縮多個(gè)文件翁都, 將/home/pig.txt和/home/cat.txt壓縮成pc.tar.gz
> tar -zvcf pc.tar.gz /home/pig.txt /home/cat.txt
- 將/home的文件夾壓縮成myhone.tar.gz
> tar -zvcf myhone.tar.gz /home/
- 將pc.tar.gz解壓到當(dāng)前目錄
> tar -zxvf pc.tar.gz
- 將myhome.tar.gz解壓到/opt/tmp2目錄下
> * mkdir /opt/tmp2 > > > * tar -zxvf /home/myhome.tar.gz -C /opt/tmp2 (-C表示輸出到哪個(gè)目錄)
組管理和權(quán)限管理
在Linux中每個(gè)用戶必須屬于一個(gè)組碍论,不能獨(dú)立于組外。在linux中每個(gè)文件有所有者荐吵、所在組骑冗、其他組的概念。
文件/目錄 所有者
一般為文件的創(chuàng)建者先煎,誰(shuí)創(chuàng)建了文件贼涩,就自然的成為了文件的所有者
-
查看文件的所有者
指令: ls -alh
image -
修改文件所有者
指令: chown 用戶名 文件名
文件/目錄 組
當(dāng)某個(gè)用戶創(chuàng)建一個(gè)文件, 這個(gè)文件所在的組就是用戶所在的組
-
查看文件/目錄所在組
指令: ls -ahl
image -
修改文件所在的組
指令: chgrp 組名 文件名
文件/目錄 其他組
除文件的所有者和所在組外薯蝎,系統(tǒng)的其他用戶都是文件的其他組
改變用戶所在組
-
改變用戶所在組
usermod -g 組名 用戶名
usermod -d 目錄命 用戶名 改變?cè)撚脩舻卿浀某跏寄夸? 特別說明: 用戶需要有進(jìn)入該新目錄的權(quán)限)
權(quán)限的基本介紹
ll 中顯示的內(nèi)容如下:
0-9位說明:
- 第0位確定的是文件的類型(d遥倦,-,l占锯,c袒哥,b)
l表示鏈接,相當(dāng)于windows的快捷方式
d是目錄消略,相當(dāng)于windows的文件夾
c是字符設(shè)備文件堡称, 例如鼠標(biāo)、鍵盤
d是塊設(shè)備艺演,比如硬盤
-表示是一個(gè)普通文件
- 第1~3位確定所有者(該文件的所有者)擁有該文件的權(quán)限 ----- User
- 第4~6位確定所在組(同用戶組)擁有該文件的權(quán)限 ------ Group
- 第7~9位確定其他組用戶擁有該文件的權(quán)限 ------ Other
rwx權(quán)限詳解
-
rwx作用到文件
- 【r】 代表可讀(read):可以讀取却紧、查看
- 【w】:代表可寫(write):可以修改,但是不代表可以刪除該文件胎撤,刪除一個(gè)文件的前提條件是對(duì)該文件所在的目錄有寫權(quán)限晓殊,才能刪除該文件
- 【x】:代表可執(zhí)行(execute):可以被執(zhí)行
-
rwx作用到目錄‘
- 【r】:代表可讀:可以讀取,ls可以查看目錄內(nèi)容
- 【w】:代表可寫:可以修改伤提,對(duì)目錄內(nèi)創(chuàng)建+刪除+重命名目錄
- 【x】: 代表可執(zhí)行:可以進(jìn)入該目錄
修改權(quán)限 - chmod
chmod可以修改文件或目錄的權(quán)限
-
第一種方式:+巫俺、-、=變更權(quán)限
u:所有者 g:所有組 o:其他人 a:所有人
chmod u=rwx,g=rx,o=x 文件/目錄 (功能描述:給所有者賦予讀寫執(zhí)行權(quán)限肿男,給所有組賦予讀寫權(quán)限介汹,給其他人賦予執(zhí)行權(quán)限)
chmod o+w 文件/目錄 (功能描述:給其他人賦予寫的權(quán)限)
chmod a-x 文件/目錄i (功能描述: 給所有人移除執(zhí)行權(quán)限)
-
第二種方式:通過數(shù)字變更權(quán)限
r = 4 , w = 2, x = 1 通過設(shè)置數(shù)字來修改權(quán)限
修改文件所有者 - chown
-
基本介紹
chown newOwner 文件/目錄 改變所有者
chowner newOwner:newgroup 文件/目錄 改變所有者和所在組
-
常用選項(xiàng)
-R 如果是目錄,則使其所有的子文件或目錄遞歸生效
修改文件/目錄所在組 - chgrp
-
基本介紹
chgrp newgroup 文件/目錄 改變所在組
-
常用選項(xiàng)
-R 如果是目錄舶沛,則使其所有的子文件或目錄遞歸生效