Linux
Vmware創(chuàng)建Linux
虛擬機(jī)三種網(wǎng)絡(luò)形式的說(shuō)明
1 是網(wǎng)關(guān)
255是廣播地址
| 模式 | |
|---|---|
| 橋接模式 | LInux可以和其他的系統(tǒng)通信, 但是可能造成IP沖突 |
| NAT模式 | 網(wǎng)絡(luò)地址轉(zhuǎn)換方式, LInux可以訪問(wèn)外網(wǎng), 不會(huì)造成IP沖突 |
| 僅主機(jī)模式 | 你的Linux是一個(gè)獨(dú)立的主機(jī), 不能訪問(wèn)外網(wǎng) |
Linux最基本的三個(gè)分區(qū)
| /boot | Linux啟動(dòng)的引導(dǎo)文件 |
| swap | 當(dāng)系統(tǒng)內(nèi)存不夠用的時(shí)候, 可以用swap暫時(shí)替代內(nèi)存 |
| / | 根分區(qū) |
Linux目錄結(jié)構(gòu)
Linux的文件系統(tǒng)是采用的級(jí)層式的樹(shù)狀目錄結(jié)構(gòu), 在此結(jié)構(gòu)中的最上層是根目錄'/', 然后在此目錄下在創(chuàng)建其他的目錄
在Linux世界里, 一切皆為文件
| 目錄 | |
|---|---|
| /dev | 設(shè)備, 類似Windows的設(shè)備管理器, 把所有的硬件用文件的形式存儲(chǔ) |
| /media | Linux系統(tǒng)會(huì)自動(dòng)識(shí)別一些設(shè)備, 例如U盤(pán), 光驅(qū)等等, 當(dāng)識(shí)別后, linux會(huì)把識(shí)別的設(shè)備掛載到這個(gè)目錄下 |
| /mnt | 系統(tǒng)提供該目錄是為了讓用戶臨時(shí)掛載別的文件系統(tǒng)的, 我們可以將外部的存儲(chǔ)掛載在/mnt/上, 然后進(jìn)入該目錄就可以查看內(nèi)容了 |
| /bin | 是Binary的縮寫(xiě), 這個(gè)目錄存放著最經(jīng)常使用的命令 |
| /sbin | s就是Super User的意思, 這里存放的是系統(tǒng)管理員使用的系統(tǒng)管理程序 |
| /home | 存放普通用戶的主目錄, 在Linux中每個(gè)用戶都有自己一個(gè)自己的目錄, 一般該目錄名是以用戶的賬號(hào)命名的 |
| /root | 該目錄為系統(tǒng)管理員, 也稱為超級(jí)權(quán)限者的用戶目錄 |
| /lib | 系統(tǒng)開(kāi)機(jī)所需要最基本的動(dòng)態(tài)連接共享庫(kù), 其作用類似于Windows里面的DLL文件, 幾乎所有的應(yīng)用程序都需要用到這些共享庫(kù) |
| /lost+found | 這個(gè)目錄一般情況下是空的, 當(dāng)系統(tǒng)非法關(guān)機(jī)后, 這里就存放了一些文件 |
| /etc | 所有的系統(tǒng)管理所需要的配置文件和子目錄 |
| /usr | 這是一個(gè)非常重要的目錄, 用戶的很多應(yīng)用程序和文件都放在這里目錄下, 類似于windows下的program files目錄 |
| /boot | 存放的是啟動(dòng)Linux目錄使用的一些核心文件, 包括一些鏈接文件以及鏡像文件 |
| /proc | 這個(gè)目錄是一個(gè)虛擬的目錄, 它是系統(tǒng)內(nèi)存的映射, 訪問(wèn)這個(gè)目錄來(lái)獲取系統(tǒng)信息(別動(dòng)) |
| /srv | service縮寫(xiě), 該目錄放一些服務(wù)啟動(dòng)之后需要提取數(shù)據(jù)(別動(dòng)) |
| /sys | 這是LInux2.6內(nèi)核的一個(gè)很大變化, 該目錄下安裝了2.6內(nèi)核中新出的一個(gè)文件系統(tǒng)sysfs(別動(dòng)) |
| /tmp | 這個(gè)目錄是用來(lái)存放一些臨時(shí)文件的 |
| /opt | 這是給主機(jī)額外安裝軟件所擺放的目錄, 如Oracle數(shù)據(jù)庫(kù)就可放到該目錄下, 默認(rèn)為空 |
| /usr/local | 這是另一個(gè)給主機(jī)安裝軟件的安裝目錄, 一般是通過(guò)編譯源碼方式安裝的程序 |
| /var | 這個(gè)目錄中存放著不斷擴(kuò)充的東西, 習(xí)慣將經(jīng)常被修改的目錄放在這個(gè)目錄下, 包括各種日志文件 |
| /selinux | selinux是一種安全子系統(tǒng), 它能控制程序只能訪問(wèn)特定文件 |
- linux的目錄中有且只有一個(gè)根目錄
- linux的各個(gè)目錄存放的內(nèi)容是規(guī)劃好的, 不用亂放文件
- linux是以文件的形式管理我們的設(shè)備, 因此linux系統(tǒng), 一切皆為文件
Linux工具連接
service sshd status
查看sshd是否開(kāi)啟
如果需要xshell連接LInux系統(tǒng), 需要一個(gè)前提就是Linux啟動(dòng)了SSHD服務(wù), 該服務(wù)會(huì)監(jiān)聽(tīng)22號(hào)端口, 一個(gè)電腦最多65535個(gè)端口
Linux的Vim和Vi編輯器
所有的Linux系統(tǒng)都會(huì)內(nèi)建Vi編輯器
Vim具有程序編輯的能力, 可以看做是Vi的增強(qiáng)版本, 可以主動(dòng)的以自提顏色辨別語(yǔ)法的正確性, 方便程序設(shè)計(jì), 代碼補(bǔ)全, 編譯及錯(cuò)誤跳轉(zhuǎn)等
Vim和Vi的三種模式
- 正常模式(默認(rèn)模式)
- vim打開(kāi)一個(gè)文檔就進(jìn)入正常模式了
- 插入模式, 編輯模式
- 按下i, I, o, O, a A, r, R等任何一個(gè)字母之后才會(huì)進(jìn)入編輯模式, 一般來(lái)說(shuō)按I即可
- 命令行模式
- 可以提供你相關(guān)的命令, 完成讀取, 存盤(pán), 替換, 你開(kāi)VIM, 顯示行號(hào)等動(dòng)作
| 行為 | |
|---|---|
| :!q | 打開(kāi)做了修改, 不想保存退出 |
| :q | 沒(méi)有做修改, 退出 |
| :wq | 保存并退出 |
設(shè)置永久顯示行號(hào)
/etc/vimrc 是系統(tǒng)范圍的初始化配置
~/.vimrc 個(gè)人的vim初始化位置
vim ~/.vimrc
set number 或者 set nu
如果你已經(jīng)進(jìn)行了恢復(fù),請(qǐng)刪除交換文件 ".HelloWorld.java.swp"
vim -r 顯示交換文件
rm 文件
Linux開(kāi)機(jī), 重啟, 用戶登錄注銷
關(guān)機(jī)&重啟命令
- shutdown
- shutdown -h now: 表示立即關(guān)機(jī)
- shutdown -h 1: 表示1分鐘后關(guān)機(jī)
- shutdown -r now: 立即重啟
- halt
- 直接使用, 效果等價(jià)于關(guān)機(jī)
- reboot
- 就是重啟系統(tǒng)
- sync
- 把內(nèi)存的數(shù)據(jù)同步到磁盤(pán)
- **注意點(diǎn): ** 關(guān)機(jī)之前一定要執(zhí)行sync命令, 把沒(méi)有保存的數(shù)據(jù)保存的磁盤(pán)上
用戶的登錄和注銷
基本介紹
- 登錄時(shí)盡量少用root賬號(hào)登錄, 因?yàn)樗窍到y(tǒng)管理員, 最大的權(quán)限, 避免操作失誤, 可以利用普通用戶登錄, 登錄后再用 su -用戶名命令切換成系統(tǒng)管理員身份
- 在提示符舒服logout即可注銷用戶
- 注銷指令在圖形運(yùn)行級(jí)無(wú)效, 在運(yùn)行級(jí)別3下有效
用戶管理
基本介紹
Linux系統(tǒng)是一個(gè)多用戶用任務(wù)的操作系統(tǒng), 任何一個(gè)要使用系統(tǒng)資源的用戶, 都必須首先向系統(tǒng)管理員申請(qǐng)一個(gè)賬號(hào), 然后以這個(gè)賬號(hào)的身份進(jìn)入系統(tǒng)
LInux用戶需要至少屬于一個(gè)組
添加賬號(hào)
useradd [選項(xiàng)] 用戶名
添加用戶時(shí)直接加上組
useradd -g 用戶組 用戶名
修改密碼
passwd [選項(xiàng)] 用戶名
刪除用戶
userdel [選項(xiàng)] 用戶名
-
刪除用戶, 保留home目錄
userdel 用戶名
-
刪除用戶, 不保留home目錄
userdel -r 用戶名
查詢用戶信息
id [選項(xiàng)] 用戶名
切換用戶
su [選項(xiàng)] 用戶名
exit 返回上一個(gè)用戶
查看當(dāng)前用戶/登錄用戶
whoami/who am I
細(xì)節(jié)說(shuō)明:
- 當(dāng)創(chuàng)建創(chuàng)建用戶成功, 會(huì)自動(dòng)創(chuàng)建和用戶同名的家目錄
- 也可以通過(guò)useradd -d 指定目錄, 新的用戶名, 給新創(chuàng)建的用戶指定家目錄, 在指定目錄的時(shí)候, 不要事先創(chuàng)建起來(lái)
- 如果沒(méi)有指定組, 就會(huì)創(chuàng)建跟用戶名相同的組, 并把用戶放進(jìn)這個(gè)組里面
- 一般來(lái)講不會(huì)刪除用戶的/home目錄
用戶組
基本介紹
類似于角色, 系統(tǒng)可以對(duì)有共性的多個(gè)用戶進(jìn)行統(tǒng)一的管理
常用命令
創(chuàng)建組
groupadd [選項(xiàng)] 組名
刪除組
groupdel [選項(xiàng)] 組名
修改用戶組
usermod -g 用戶組 用戶名
usermod -d 目錄名 用戶名 改變?cè)撚脩舻卿浀某跏寄夸?
用戶配置文件
| 文件目錄 | |
|---|---|
| /etc/passwd | 用戶配置文件(用戶信息) |
| /etc/group | 組配置信息(組信息) |
| /etc/shadow | 口令配置文件(密碼和登錄信息, 是加密) |
/etc/passwd
- 用戶配置文件, 記錄用戶的各種信息
- 每行含義: 用戶名:口令:用戶標(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)用戶列表
- 一般來(lái)說(shuō)組內(nèi)用戶列表是看不到的
Linux常用命令
| 運(yùn)行級(jí)別 | |
|---|---|
| 0 | 關(guān)機(jī) |
| 1 | 單用戶級(jí)別, 找回密碼的時(shí)候有用 |
| 2 | 多用戶無(wú)網(wǎng)絡(luò)服務(wù) |
| 3 | 多用戶有網(wǎng)絡(luò)服務(wù) |
| 4 | 保留運(yùn)行級(jí)別 |
| 5 | 圖形化運(yùn)行級(jí)別 |
| 6 | 重啟 |
常用的運(yùn)行級(jí)別是3和5, 要修改默認(rèn)的運(yùn)行級(jí)別可改文件
/etc/inittab的id:5:initdefault:這一行的數(shù)字
切換運(yùn)行級(jí)別
init[0123456]
CentOS8
-
systemctl get-clefault
查看默認(rèn)運(yùn)行級(jí)別
-
systemctl isolate multi-user.target
切換到字符界面
-
systemctl isolate graphical.target
切換到 圖形化界面
-
systemctl set-default multi-user.target
設(shè)置默認(rèn)運(yùn)行級(jí)別 3 為 字符
-
systemctl set-default graphical.target
設(shè)置默認(rèn)運(yùn)行級(jí)別 5 為 圖形化
找回root密碼
如何找回root密碼
進(jìn)入到單用戶模式, 然后修改root密碼, 因?yàn)檫M(jìn)入單用戶模式, root不需要密碼就可以登錄
開(kāi)機(jī) 在引導(dǎo)時(shí)輸入回車鍵, 進(jìn)入設(shè)置頁(yè)面, 設(shè)置引導(dǎo)運(yùn)行的級(jí)別
進(jìn)入單用戶模式, 然后用passwd修改密碼
幫助指令
當(dāng)我們 某個(gè)指令不熟悉的時(shí)候, 我們可以使用Linux提供的幫助指令來(lái)了解這個(gè)指令的使用方法
基本語(yǔ)法
man[命令或配置文件] (功能描述, 獲得幫助信息)
help 命令(功能描述, 獲取shell內(nèi)置命令的幫助信息)
文件目錄類指令
| 指令 | 功能描述 |
|---|---|
pwd |
顯示當(dāng)前工作目錄的絕對(duì)路徑 |
ls |
查看當(dāng)前目錄的所有內(nèi)容 |
cd |
切換到指令目錄 |
touch |
創(chuàng)建空文件 |
cp |
拷貝文件到指定目錄 |
cat |
只能瀏覽文件, 而不能修改文件, 為了瀏覽方便, 一般會(huì)帶上管道命令 |
more |
是一個(gè)基于VI編輯器的文本過(guò)濾器, 以全屏幕的方式按頁(yè)顯示文本文件的內(nèi)容 |
less |
用來(lái)分屏查看文件內(nèi)容, 它的功能與more指令類似 |
> |
輸出重定向, 覆蓋寫(xiě) |
>> |
追加 |
echo |
輸出內(nèi)容到控制臺(tái) |
head |
用于顯示文件的開(kāi)頭部分內(nèi)容, 默認(rèn)情況下顯示文件的前10行內(nèi)容 |
tail |
用于輸出文件中尾部的內(nèi)容, 默認(rèn)情況下顯示文件的后10行內(nèi)容 |
ln |
軟連接, 類似于windows里面的快捷方式, 主要存放了鏈接其他文件的路徑 |
history |
查看已經(jīng)執(zhí)行的歷史命令, 也可以執(zhí)行歷史命令 |
date |
顯示當(dāng)前日期 |
cal |
查看日歷 |
pwd指令
基本語(yǔ)法
- pwd(功能描述, 顯示當(dāng)前工作目錄的絕對(duì)路徑)
ls指令
基本語(yǔ)法
ls [選項(xiàng)] [目標(biāo)或是文件]
常用選項(xiàng)
- -s: 顯示當(dāng)前目錄所有的文件和目錄, 包括隱藏的
- -l: 以列表的方式顯示信息
cd指令
基本語(yǔ)法
cd [參數(shù)] 切換到指令目錄
常用參數(shù)
絕對(duì)路徑和相對(duì)路徑
絕對(duì)路徑: /home即從根目錄開(kāi)始定位
相對(duì)路徑: ../home, 從當(dāng)前工作目錄開(kāi)始定位到需要的目錄去
cd ~ 或者cd : 回到自己的家目錄 (CentOS8里面 直接cd就可以回到home)
cd .. 回到當(dāng)前目錄的上一級(jí)目錄
touch指令
touch指令創(chuàng)建空文件
基本語(yǔ)法
touch 文件名1 文件名2...
cp指令
拷貝文件到指定目錄
基本語(yǔ)法
cp [選項(xiàng)] source dest
常用選項(xiàng)
cp -r source dest 遞歸復(fù)制整個(gè)文件夾
使用細(xì)節(jié)
強(qiáng)制覆蓋不提示的方法:
\cp
cat指令
查看文件內(nèi)容
只能瀏覽文件, 而不能修改文件, 為了瀏覽方便, 一般會(huì)帶上管道命令 | more
基本語(yǔ)法
cat [選項(xiàng)] 要查看的文件
常用選項(xiàng)
cat -n 要查看的文件 顯示行號(hào)查看
cat -n 要查看的文件 | more 分頁(yè)查看文件內(nèi)容
more命令
是一個(gè)基于VI編輯器的文本過(guò)濾器, 它以全屏幕的方式按頁(yè)顯示文本文件的內(nèi)容
基本語(yǔ)法
more 要查看的文件
less指令
用來(lái)分屏查看文件內(nèi)容, 它的功能與more指令類似, 但是比more指令更加強(qiáng)大, 支持各種顯示終端. less指令在顯示文件內(nèi)容時(shí), 并不是一次將整個(gè)文件加載之后顯示, 而是根據(jù)顯示需要加載內(nèi)容, 對(duì)于顯示大型文件具有較高的效率
基本語(yǔ)法
less 要查看的文件
> 命令
輸出重定向
基本語(yǔ)法
ls -l > 文件 列表的內(nèi)容寫(xiě)入文件a.txt中, 覆蓋寫(xiě)
ls -al > 文件 列表的內(nèi)容追加到文件aa.txt的末尾
cat 文件1 > 文件2 將文件1的內(nèi)容覆蓋到文件2
echo "內(nèi)容" > 文件
>> 命令
追加
基本語(yǔ)法
ls -l >> 文件 列表的內(nèi)容寫(xiě)入文件a.txt中, 覆蓋寫(xiě)
ls -al >> 文件 列表的內(nèi)容追加到文件aa.txt的末尾
cat 文件1 >> 文件2 將文件1的內(nèi)容覆蓋到文件2
echo "內(nèi)容" >> 文件
echo指令
輸出內(nèi)容到控制臺(tái)
基本語(yǔ)法
echo [選項(xiàng)] [輸出內(nèi)容]
應(yīng)用
輸出環(huán)境變量
echo $PATH
head指令
head用于顯示文件的開(kāi)頭部分內(nèi)容, 默認(rèn)情況下head指令顯示文件的前10行內(nèi)容
基本語(yǔ)法
head 文件 查看文件頭10行的內(nèi)容
head -n 5 文件 查看文件頭5行的內(nèi)容, 5可以是任意行數(shù)
應(yīng)用
head /etc/profile 的前面5行代碼
tail指令
用于輸出文件中尾部的內(nèi)容, 默認(rèn)情況下tail指令顯示文件的后10行內(nèi)容
基本語(yǔ)法
tail 文件 查看文件后10行的內(nèi)容
tail -n 5 文件 查看文件后5行的內(nèi)容, 5可以是任意行數(shù)
tail -f 文件 實(shí)時(shí)追蹤該文檔的所有更新
ln指令
基本語(yǔ)法
ln -s [原文件或目錄](méi)[軟鏈接名] 給原文件創(chuàng)建一個(gè)軟鏈接
rm -rf [軟鏈接名] 刪除軟鏈接名, 后面不要帶/, 會(huì)把軟鏈接原有的內(nèi)容刪掉
軟鏈接是存放的另一個(gè)文件的路徑
硬鏈接是以文件的副本的形式存在
history指令
查看已經(jīng)執(zhí)行過(guò)的歷史命令
基本語(yǔ)法
history 查看已經(jīng)執(zhí)行過(guò)的歷史命令
history 查看最近使用過(guò)的10個(gè)命令
!編號(hào) 執(zhí)行編號(hào)為多少的指令
時(shí)間日期類
date指令
顯示當(dāng)前日期
基本語(yǔ)法
date 顯示當(dāng)前時(shí)間
date "+%Y" 顯示當(dāng)前年份
date "+%m" 顯示當(dāng)前月份
date "+%d" 顯示當(dāng)前是那一天
date "+%Y-%m-%d %H:%M:%S" 顯示年月日時(shí)分秒
操作
設(shè)置日期
基本語(yǔ)法
date -s "字符串時(shí)間"
date -s "2020-11-11 11:22:22" 設(shè)置系統(tǒng)當(dāng)前時(shí)間
cal指令
基本語(yǔ)法
cal [選項(xiàng)] 不加選項(xiàng), 顯示本月日歷
cal 年份 顯示一個(gè)年份的日歷
搜索查詢類
find指令
find指令將從指定目錄向下遞歸地遍歷各個(gè)子目錄, 將滿足條件的文件或者目錄顯示在終端
基本語(yǔ)法
find [搜索范圍] [選項(xiàng)] 文件名
選項(xiàng)說(shuō)明
| 選項(xiàng) | 功能 |
|---|---|
| -name<查詢方式> | 按照指定的文件名查找模式查找文件 |
| -user<用戶名> | 查找屬于指定用戶名所有文件 |
| -size<文件大小> | 按照指定的文件大小查找文件 |
應(yīng)用實(shí)例
按文件名: 根據(jù)名稱查找/home目錄下的hello.txt文件
find /home -name hello.txt
按擁有者: 查找/opt目錄下, 用戶名稱為root的文件
find /opt -user root
查找整個(gè)linux系統(tǒng)下大于20M的文件(+n大于 -n小于 n等于)
find / -szie +20M (kb要用小寫(xiě)的k)
查詢 / 目錄下, 所有.txt的文件
find / -name *.txt
locate指令
locate指令可以快速定位文件路徑. locate指令利用事先建立的系統(tǒng)中所有文件名稱及路徑的locate數(shù)據(jù)庫(kù)實(shí)現(xiàn)快速定位給定的文件. locate指令無(wú)需遍歷整個(gè)文件系統(tǒng). 查詢速度較快, 為了保證查詢結(jié)果的精準(zhǔn)度, 管理員必須定期更新locate時(shí)刻
特別說(shuō)明: 由于locate指令基于數(shù)據(jù)庫(kù)進(jìn)行查詢, 所以第一次運(yùn)行前, 必須使用updatedb指令創(chuàng)建locate數(shù)據(jù)庫(kù)
updatedb 創(chuàng)建后者更新locate數(shù)據(jù)庫(kù)
基本用法
locate 搜索文件
grep指令
過(guò)濾查找
基本語(yǔ)法
grep [選項(xiàng)] 查找內(nèi)容 源文件
| 選項(xiàng) | 功能 |
|---|---|
| -n | 顯示匹配行及行號(hào) |
| -i | 忽略字母大小寫(xiě) |
實(shí)例:
請(qǐng)?jiān)?code>hello.txt文件中, 查找yes所在的行, 并顯示行號(hào)
grep -n yes /home/hello.txt
cat hello.txt | grep -n yes
cat hello.txt | grep -ni yes
| 指令
表示將前一個(gè)命令的處理結(jié)果輸出傳遞給后面的命令處理
壓縮和解壓類指令
gzip/gunzip指令
用于解壓縮文件
基本語(yǔ)法
gzip 文件 壓縮文件, 只能將文件壓縮為*.gz文件=
gunzip 文件.gz 解壓縮文件命令
細(xì)節(jié)說(shuō)明
當(dāng)我們吧使用gzip對(duì)文件進(jìn)行壓縮后, 不會(huì)保留原來(lái)的文件, gunzip也一樣
zip/unzip指令
基本語(yǔ)法
zip [選項(xiàng)] XXX.zip 將要壓縮的內(nèi)容 壓縮文件和目錄的命令
zip -r XXX.zip 將要壓縮的內(nèi)容 遞歸壓縮, 即壓縮目錄
unzip [選項(xiàng)] XXX.zip 解壓縮文件
unzip -d<目錄> XXX.zip 指定解壓后的文件存放目錄
tar指令
tar指令是打包指令, 最后打包的文件是.tar.gz的文件
基本語(yǔ)法
tar [選項(xiàng)] XXX.tar.gz 打包內(nèi)容 打包目錄, 壓縮后的文件格式.tar.gz
| 選項(xiàng) | 功能 |
|---|---|
-c |
產(chǎn)生tar打包文件 |
-v |
顯示詳情信息 |
-f |
指定壓縮后的文件名 |
-z |
打包同時(shí)壓縮 |
-x |
解壓.tar文件 |
壓縮多個(gè)文件
tar -zcvf a.tar.gz hello.txt hello2.txt
將/home的文件夾, 壓縮成myhome.tar.gz
tar -zcvf myhome.tar.gz /home/*
將a.tar.gz 解壓到當(dāng)前目錄
tar -zxvf myhome.tar.gz
將myhome.tar.gz 解壓到/opt/tmp2目錄下
tar -zxvf myhome.tar.gz -C /opt/tmp2/
指定解壓的目錄事先要存在
Linux組管理
Linux組基本介紹
在Linux中的每個(gè)用戶必須屬于一個(gè)族, 不能獨(dú)立于組外, 在LInux中的每個(gè)文件的所有者, 所在組, 其他組的概念
- 所有者
- 所在組
- 其他組
- 改變用戶所在的組
文件/目錄的所有者
一般為文件的創(chuàng)建者, 誰(shuí)創(chuàng)建了該文件, 就自然的成為該文件的所有者
其他組
除文件的所有者和所在組的用戶外, 系統(tǒng)的其他用戶都是文件的其他組
查看文件的所有者
ls -ahl
修改文件所有者
chown 用戶名 文件名
修改文件所在的組
chgrp 組名 文件名
修改文件的所有者和所有組
chown newowner:newgroup file
如果是目錄,則使其下所有的子文件或目錄遞歸生效
chown -R newowner:newgroup file
Linux權(quán)限管理
ls -l詳解
drwx------. 3 markerccc markerccc 78 11月 29 13:10 markerccc
0-9位說(shuō)明
-
第0位確定文件類型(d, -, l, c, b)
-
文件類型 內(nèi)容 - 普通文件 d 目錄 c 字符設(shè)備(鍵盤(pán), 鼠標(biāo)) b 塊文件(硬盤(pán))
-
-
第1-3位確定所有者 (該文件的所有者) 擁有該文件的權(quán)限 –User
-
權(quán)限 內(nèi)容 r 讀 w 寫(xiě) x 執(zhí)行 - 沒(méi)有權(quán)限
-
-
第4-6位確定所屬的組(同用戶的組) 擁有該文件的權(quán)限 –Group
-
組 內(nèi)容 r-- 不與該文件擁有者同組的其他用戶的權(quán)限是讀不能寫(xiě)和執(zhí)行 rwx 文件擁有者的權(quán)限是讀, 寫(xiě)和執(zhí)行 rw- 與文件擁有者統(tǒng)一組的用戶的權(quán)限是讀, 但是不能執(zhí)行
-
-
第7-9位確定其他用戶擁有該文件的權(quán)限 –Other
-
其他組 內(nèi)容 r-- 不與該文件擁有者同組的其他用戶的權(quán)限是讀不能寫(xiě)和執(zhí)行 rwx 文件擁有者的權(quán)限是讀, 寫(xiě)和執(zhí)行 rw- 與文件擁有者統(tǒng)一組的用戶的權(quán)限是讀, 但是不能執(zhí)行
-
數(shù)字3
| 類型 | 含義 |
|---|---|
| 文件 | 如果是文件表示硬鏈接 |
| 目錄 | 表示該目錄的子目錄個(gè)數(shù) |
數(shù)字78
表示文件大小, 如果是目錄, 統(tǒng)一是4096 (CentOS6)
時(shí)間
表示文件的最后的修改時(shí)間
rwx權(quán)限詳解
文件
| 權(quán)限 | 內(nèi)容 |
|---|---|
| [r] | 表示可讀(read), 可以讀取, 查看 |
| [w] | 表示可寫(xiě)(write), 可以修改, 但是不代表可以刪除該文件, 刪除一個(gè)文件的前提條件是對(duì)該文件所在目錄有寫(xiě)權(quán)限, 才能刪除該文件 |
| [x] | 代表執(zhí)行[execute]: 可以被執(zhí)行 |
目錄
| 權(quán)限 | 內(nèi)容 |
|---|---|
| [r] | 代表可讀(read),可以讀取, ls查看目錄內(nèi)容 |
| [w] | 代表可寫(xiě)(write): 可以修改, 目錄內(nèi)創(chuàng)建+刪除+重命名目錄 |
| [x] | 代表可執(zhí)行(execute): 可以進(jìn)入目錄 |
可以用數(shù)字表示為
| 權(quán)限 | 數(shù)字 |
|---|---|
| r | 4 |
| w | 2 |
| x | 1 |
因此rwx=4+2+1=7
| 文件類型 | 屬主權(quán)限 | 屬主權(quán)限 | 屬主權(quán)限 | 屬組權(quán)限 | 屬組權(quán)限 | 屬組權(quán)限 | 其他用戶權(quán)限 | 其他用戶權(quán)限 | 其他用戶權(quán)限 |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| d | r | w | x | r | - | x | r | - | x |
| 目錄文件 | 讀 | 寫(xiě) | 執(zhí)行 | 讀 | 寫(xiě) | 執(zhí)行 | 讀 | 寫(xiě) | 執(zhí)行 |
修改權(quán)限
chmod指令
通過(guò)chmod指令, 可以修改文件或者目錄的權(quán)限
第一種方式
| 變更 | 內(nèi)容 |
|---|---|
| + | 增加權(quán)限 |
| - | 去掉權(quán)限 |
| = | 賦予權(quán)限 |
| 選項(xiàng) | 內(nèi)容 |
|---|---|
| u | 所有者 |
| g | 所有組 |
| o | 其他人 |
| a | 所有人 |
基本語(yǔ)法
chmod u=rwx,g=rx,o=x 文件目錄名
chmod o+w 文件目錄名 給這個(gè)文件其他的用戶增加一個(gè)寫(xiě)的權(quán)限
chmod a-x 文件目錄名 給這個(gè)文件所有用人減掉一個(gè)執(zhí)行的權(quán)限
案例
給abc文件的所有者讀寫(xiě)執(zhí)行的權(quán)限, 給所在組讀執(zhí)行的權(quán)限, 給其他組讀執(zhí)行的權(quán)限
chmod u=rwx,g=rx,o=rx abc
給abc文件的所有者去除執(zhí)行權(quán)限, 增加組寫(xiě)的權(quán)限
chmod u-x,g+w abc
給abc文件的所有用戶添加讀的權(quán)限
chomd a+r abc
第二種方式
通過(guò)數(shù)字變更權(quán)限
chmod u=rwx,g=rx,o=x 文件目錄名
chmod 751 文件目錄名