linux命令組 linux命令組賬號存放在哪個文件

Linux命令大全

linux命令格式:

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站建設、網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的樅陽網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

說明:command: 命令名,相應功能的英文單詞或單詞的縮寫 [-options]:選項,可用來對命令進行控制,也可以省略,[]代表可選 parameter1 …:傳給命令的參數(shù):可以是零個一個或多個

一般是linux命令自帶的幫助信息

如:

man是linux提供的一個手冊,包含了絕大部分的命令、函數(shù)使用說明

該手冊分成很多章節(jié)(section),使用man時可以指定不同的章節(jié)來瀏覽。

例:man ls ; man 2 printf

man中各個section意義如下:

man是按照手冊的章節(jié)號的順序進行搜索的。

man設置了如下的功能鍵:

在敲出命令的前幾個字母的同時,按下tab鍵,系統(tǒng)會自動幫我們補全命令

當系統(tǒng)執(zhí)行過一些命令后,可按上下鍵翻看以前的命令,history將執(zhí)行過的命令列舉出來

ls是英文單詞list的簡寫,其功能為列出目錄的內(nèi)容,是用戶最常用的命令之一,它類似于DOS下的dir命令。

Linux文件或者目錄名稱最長可以有265個字符,“.”代表當前目錄,“..”代表上一級目錄,以“.”開頭的文件為隱藏文件,需要用 -a 參數(shù)才能顯示。

ls常用參數(shù):

Linux允許將命令執(zhí)行結(jié)果重定向到一個文件,本應顯示在終端上的內(nèi)容保存到指定文件中。

如:ls test.txt ( test.txt 如果不存在,則創(chuàng)建,存在則覆蓋其內(nèi)容 )

注意: 輸出重定向會覆蓋原來的內(nèi)容,輸出重定向則會追加到文件的尾部。

查看內(nèi)容時,在信息過長無法在一屏上顯示時,會出現(xiàn)快速滾屏,使得用戶無法看清文件的內(nèi)容,此時可以使用more命令,每次只顯示一頁,按下空格鍵可以顯示下一頁,按下q鍵退出顯示,按下h鍵可以獲取幫助。

管道:一個命令的輸出可以通過管道做為另一個命令的輸入。

管道我們可以理解現(xiàn)實生活中的管子,管子的一頭塞東西進去,另一頭取出來,這里“ | ”的左右分為兩端,左端塞東西(寫),右端取東西(讀)。

clear作用為清除終端上的顯示(類似于DOS的cls清屏功能),也可使用快捷鍵:Ctrl + l ( “l(fā)” 為字母 )。

在使用Unix/Linux的時候,經(jīng)常需要更換工作目錄。cd命令可以幫助用戶切換工作目錄。Linux所有的目錄和文件名大小寫敏感

cd后面可跟絕對路徑,也可以跟相對路徑。如果省略目錄,則默認切換到當前用戶的主目錄。

使用pwd命令可以顯示當前的工作目錄,該命令很簡單,直接輸入pwd即可,后面不帶參數(shù)。

通過mkdir命令可以創(chuàng)建一個新的目錄。參數(shù)-p可遞歸創(chuàng)建目錄。

需要注意的是新建目錄的名稱不能與當前目錄中已有的目錄或文件同名,并且目錄創(chuàng)建者必須對當前目錄具有寫權(quán)限。

可使用rmdir命令刪除一個目錄。必須離開目錄,并且目錄必須為空目錄,不然提示刪除失敗。

可通過rm刪除文件或目錄。使用rm命令要小心,因為文件刪除后不能恢復。為了防止文件誤刪,可以在rm后使用-i參數(shù)以逐個確認要刪除的文件。

常用參數(shù)及含義如下表所示:

Linux鏈接文件類似于Windows下的快捷方式。

鏈接文件分為軟鏈接和硬鏈接。

軟鏈接:軟鏈接不占用磁盤空間,源文件刪除則軟鏈接失效。

硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。

使用格式:

如果沒有-s選項代表建立一個硬鏈接文件,兩個文件占用相同大小的硬盤空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項是更常見的形式。

注意:如果軟鏈接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。

Linux系統(tǒng)中g(shù)rep命令是一種強大的文本搜索工具,grep允許對文本文件進行模式查找。如果找到匹配模式, grep打印包含模式的所有行。

grep一般格式為:

在grep命令中輸入字符串參數(shù)時,最好引號或雙引號括起來。例如:grep‘a(chǎn) ’1.txt。

常用選項說明:

find命令功能非常強大,通常用來在特定的目錄下搜索符合條件的文件,也可以用來搜索特定用戶屬主的文件。

常用用法:

cp命令的功能是將給出的文件或目錄復制到另一個文件或目錄中,相當于DOS下的copy命令。

常用選項說明:

用戶可以使用mv命令來移動文件或目錄,也可以給文件或目錄重命名。

常用選項說明:

計算機中的數(shù)據(jù)經(jīng)常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個大文件中,也可以把檔案文件解開以恢復數(shù)據(jù)。

tar使用格式 tar [參數(shù)] 打包文件名 文件

tar命令很特殊,其參數(shù)前面可以使用“-”,也可以不使用。

常用參數(shù):

tar與gzip命令結(jié)合使用實現(xiàn)文件打包、壓縮。 tar只負責打包文件,但不壓縮,用gzip壓縮tar打包后的文件,其擴展名一般用xxxx.tar.gz。

gzip使用格式如下:

gzip [選項] 被壓縮文件

常用選項:

tar與bzip2命令結(jié)合使用實現(xiàn)文件打包、壓縮(用法和gzip一樣)。

tar只負責打包文件,但不壓縮,用bzip2壓縮tar打包后的文件,其擴展名一般用xxxx.tar.gz2。

在tar命令中增加一個選項(-j)可以調(diào)用bzip2實現(xiàn)了一個壓縮的功能,實行一個先打包后壓縮的過程。

壓縮用法:tar -jcvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)

解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)

通過zip壓縮文件的目標文件不需要指定擴展名,默認擴展名為zip。

壓縮文件:zip [-r] 目標文件(沒有擴展名) 源文件

解壓文件:unzip -d 解壓后目錄文件 壓縮文件

whoami該命令用戶查看當前系統(tǒng)當前賬號的用戶名??赏ㄟ^cat /etc/passwd查看系統(tǒng)用戶信息。

由于系統(tǒng)管理員通常需要使用多種身份登錄系統(tǒng),例如通常使用普通用戶登錄系統(tǒng),然后再以su命令切換到root身份對傳統(tǒng)進行管理。這時候就可以使用whoami來查看當前用戶的身份。

who命令用于查看當前所有登錄系統(tǒng)的用戶信息。

常用選項:

如果是圖形界面,退出當前終端;

如果是使用ssh遠程登錄,退出登陸賬戶;

如果是切換后的登陸用戶,退出則返回上一個登陸賬號。

在Unix/Linux中添加用戶賬號可以使用adduser或useradd命令,因為adduser命令是指向useradd命令的一個鏈接,因此,這兩個命令的使用格式完全一樣。

useradd命令的使用格式如下:

useradd [參數(shù)] 新建用戶賬號

在Unix/Linux中,超級用戶可以使用passwd命令為普通用戶設置或修改用戶口令。用戶也可以直接使用該命令來修改自己的口令,而無需在命令后面使用用戶名。

可以通過su命令切換用戶,su后面可以加“-”。su和su –命令不同之處在于,su -切換到對應的用戶時會將當前的工作目錄自動轉(zhuǎn)換到切換后的用戶主目錄:

注意:如果是ubuntu平臺,需要在命令前加“sudo”,如果在某些操作需要管理員才能操作,ubuntu無需切換到root用戶即可操作,只需加“sudo”即可。sudo是ubuntu平臺下允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的root命令的一個工具,減少了root 用戶的登陸和管理時間,提高了安全性。

方法一:

方法二:

groupadd 新建組賬號 groupdel 組賬號 cat /etc/group 查看用戶組

使用方法:usermod -g 用戶組 用戶名

新創(chuàng)建的用戶,默認不能sudo,需要進行一下操作

-g用來制定這個用戶默認的用戶組

-G一般配合'-a'來完成向其它組添加

chmod 修改文件權(quán)限有兩種使用格式:字母法與數(shù)字法。

字母法:chmod u/g/o/a +/-/= rwx 文件

cal命令用于查看當前日歷,-y顯示整年日歷

設置時間格式(需要管理員權(quán)限):

date [MMDDhhmm[[CC]YY][.ss]] +format

CC為年前兩位yy為年的后兩位,前兩位的mm為月,后兩位的mm為分鐘,dd為天,hh為小時,ss為秒。如: date 010203042016.55。

顯示時間格式(date '+%y,%m,%d,%H,%M,%S'):

進程是一個具有一定獨立功能的程序,它是操作系統(tǒng)動態(tài)執(zhí)行的基本單元。

ps命令可以查看進程的詳細狀況,常用選項(選項可以不加“-”)如下:

top命令用來動態(tài)顯示運行中的進程。top命令能夠在運行后,在指定的時間間隔更新顯示信息??梢栽谑褂胻op命令時加上-d 來指定顯示信息更新的時間間隔。

在top命令執(zhí)行后,可以按下按鍵得到對顯示的結(jié)果進行排序:

kill命令指定進程號的進程,需要配合 ps 使用。有些進程不能直接殺死,這時候我們需要加一個參數(shù)“ -9 ”,“ -9 ” 代表強制結(jié)束.

使用格式:

kill [-signal] pid

df命令用于檢測文件系統(tǒng)的磁盤空間占用和空余情況,可以顯示所有文件系統(tǒng)對節(jié)點和磁盤塊的使用情況。

du命令用于統(tǒng)計目錄或文件所占磁盤空間的大小,該命令的執(zhí)行結(jié)果與df類似,du更側(cè)重于磁盤的使用狀況。

du命令的使用格式如下: du [選項] 目錄或文件名

linux常用命令

1.列出文件清單命令:ls

ls命令能夠列出當前目錄下的所有內(nèi)容。ls 命令的執(zhí)行方式為:

# ls [-選項] [文件名或者目錄名]

進入到Linux命令行中后,我們至少要知道當前所處的位置有哪些內(nèi)容,這些信息就可以使用ls命令來獲得。

在Linux中,ls命令是最常使用的命令之一,因為在命令行下要隨時查看目錄內(nèi)容。如果不加任何選項的話,ls命令僅列出當前目錄下的文件和目錄名,例如,想要查看/etc目錄下的內(nèi)容,可以使用下列命令:

# ls /etc

如果想要列出當前目錄下所有文件,則可以使用下列命令:

# ls -a

2、cat命令

功能:在標準輸出上顯示文件。

語法:cat [-vTEuAte] 文件

例子: cat example.txt

cat -A exam2.txt

cat file1 file2 file2

3、more命令

功能:在終端屏幕按屏顯示文本文件。

語法: more [-pcdls] 文件

例子: more example.c

more -dc example.c

more -c -10 example.c

4、less命令

less命令的功能幾乎和more命令一樣,也是用來按頁顯示文件,不同之處在于less命令在顯示文件時允許用戶既

可以向前又可以向后翻閱文件。

5、head命令

功能:顯示指定文件的前若干行。缺省設置為顯示10行

語法:head [-n] 文件

例子: head example.c

head -3 example.c

6、tail命令

功能:顯示指定文件的末尾若干行。缺省設置為顯示10行

語法:tail [+ / - num ] [參數(shù)] 文件

+num 從第num行以后開始顯示。- num 從距文件尾num行處開始顯示。

例子: tail example.c

tail -4 example.c

7、grep、fgrep和egrep命令

功能:

這組命令以指定模式搜索文件,并通知用戶在什么文件中搜索到與指定的模式匹配的字符串,并打印出所有包含該字符串的文本行,在該文本行的最前面是該行所在的文件名。grep命令一次只能搜索一個指定的模式;egrep命令檢索擴展的正則表達式(包括表達式組和可選項);fgrep命令檢索固定字符串,它不識別正則表達式,是快速搜索命令。

語法:

grep [-EFbcihlnvxef] [查找模式] [文件名1,文件名2,……]

egrep [選項] [查找模式] [文件名1,文件名2,……]

fgrep [選項] [查找模式] [文件名1,文件名2,……]

例子: grep "text file" example

grep data *

grep goto *.c

Linux命令

快照功能:記錄當前的硬盤的狀態(tài)。剛建快照時快照占用內(nèi)存為0,標記了當前硬盤的存儲狀態(tài)。當虛擬機對快照標記的內(nèi)容改寫時,會將改寫的內(nèi)容存儲進快照,與未改寫的部分整合得到完整的快照。當快照標記的部分被完全改寫,那么快照存儲空間完整記錄了當時拍攝時的內(nèi)存狀態(tài)。

參數(shù)形式

第一種:參數(shù)用一橫的說明后面的參數(shù)是字符形式。

第二種:參數(shù)用兩橫的說明后面的參數(shù)是單詞形式。

第三種:參數(shù)前有橫的是 System V風格。

第四種:參數(shù)前沒有橫的是 BSD風格。

cat、more、less、head、tail命令的比較:

cat命令可以一次顯示整個文件,如果文件比較大,使用不是很方便;

more命令可以讓屏幕在顯示滿一屏幕時暫停,按空格往前翻頁,按b往后翻頁。

less命令也可以分頁顯示文件,和more命令的區(qū)別就在于: 支持上下鍵卷動屏幕、查找;不需要在一開始就讀取整個文件,打開大文件時比more、vim更快。

head命令用于查看文件的前n行。

tail命令用于查看文件的后n行,加上-f命令,查看在線日志非常方便,可以打印最新增加的日志。

一般模式:

編輯模式:

命令模式:

編碼

多行操作(列編輯模式)

插入:ctrl+v進入列編輯模式,上下移動光標選擇需要插入的位置,然后輸入大寫I,輸入需要文本,最后按esc鍵退出,就會發(fā)現(xiàn)文本會在選擇的多行中插入。

刪除:ctrl+v進入列編輯模式,上下移動光標選中需要刪除的部分,然后按d,就會刪除選中的內(nèi)容。

①head:顯示文件頭部內(nèi)容

②tail:輸出文件尾部內(nèi)容

注意:用vim和vi修改內(nèi)容會刪除源文件并生成新文件,所以tail -f會失效。需要用到

追加和覆蓋語句(或),才能被tail -f監(jiān)視到。

一般用于查看小文件

查看壓縮文件中的文本內(nèi)容

例:

①more:文件內(nèi)容分屏查看器

②less:分屏顯示文件內(nèi)容,效率比more高

1、簡單讀取

運行腳本如下

測試結(jié)果為:

2、-p 參數(shù),允許在 read 命令行中直接指定一個提示。

運行腳本如下

測試結(jié)果為:

echo [選項] [輸出內(nèi)容] (輸出內(nèi)容到控制臺)

輸出給定文本的sha256加密后的內(nèi)容

①顯示當前時間信息

②顯示當前時間年月日

③顯示當前時間年月日時分秒

④顯示昨天

⑤顯示明天時間

⑥顯示上個月時間

需要注意的是取下個月的命令存在bug,執(zhí)行如下命令會得到21-10,但是正常應該得到21-09,需要注意

date -d "2021-08-31 +1 month" +%y-%m

⑦修改系統(tǒng)時間

⑧獲取當前時間戳

獲取秒時間戳: date +%s

獲取毫秒時間戳:$[ (date +%s%N) /1000000]

查看日歷

(1)查看當前月的日歷

(2)查看2017年的日歷

例:

對比gzip/gunzip,zip/unzip可以壓縮文件和目錄且保留源文件。

①zip:壓縮

②unzip:解壓縮

只能壓縮文件不能壓縮目錄,不保留原來的文件。

gzip 文件 (只能將文件壓縮為*.gz文件)

gunzip 文件.gz (解壓縮文件命令)

例: crontab -e

(1)進入crontab編輯界面。會打開vim編輯你的工作。

(2)每隔1分鐘,向/root/bailongma.txt文件中添加一個11的數(shù)字

*/1 * * * * /bin/echo ”11” /root/bailongma.txt

(3)可以用tail -f 目標文件來實施監(jiān)控追加的內(nèi)容

查看日志

可以用tail -f /var/log/cron.log觀察

Cron表達式見文章:

ls [選項] [目錄或是文件]

cd [參數(shù)]

例: cd -P $(dirname $p1) ; pwd 先跳轉(zhuǎn)到文件的所在目錄,再打印$p1文件的實際路徑

概述

①cp(copy):只能在本機中復制

②scp(secure copy):可以復制文件給遠程主機

scp -r test.sh hxr@hadoop102:/root

③rsync(remote sync):功能與scp相同,但是不會改文件屬性

rsync -av test.sh test.sh hxr@hadoop102:/root

④nc(netcat):監(jiān)聽端口,可以實現(xiàn)機器之間傳輸文件。

nc -lk 7777 (-l表示listen,-k表示keep)

強制覆蓋不提示的方法:\cp

例:scp -r test.sh hxr@bigdata1:/root

例:rsync -av test.sh hxr@bigdata1:/root

例:

nc -lp 10000 nc_test.txt

nc -w 1 hadoop102 nc_test.txt

遠程登錄時默認使用的私鑰為~/.ssh/id_rsa

生成密鑰對

將公鑰發(fā)送到本機

將密鑰發(fā)送到需要登錄到本機的服務器上

修改密鑰的權(quán)限

遠程登陸

如果有多個節(jié)點需要遠程登陸,可以在.ssh下創(chuàng)建config并輸入

再次登陸

①正向代理:

②反向代理:

所謂“反向代理”就是讓遠端啟動端口,把遠端端口數(shù)據(jù)轉(zhuǎn)發(fā)到本地。

HostA 將自己可以訪問的 HostB:PortB 暴露給外網(wǎng)服務器 HostC:PortC,在 HostA 上運行:

那么鏈接 HostC:PortC 就相當于鏈接 HostB:PortB。

使用時需修改 HostC 的 /etc/ssh/sshd_config 的一條配置如下,不然啟動的進程監(jiān)聽的ip地址為127.0.0.1,即只有本機可以訪問該端口。

相當于內(nèi)網(wǎng)穿透,比如 HostA 和 HostB 是同一個內(nèi)網(wǎng)下的兩臺可以互相訪問的機器,HostC是外網(wǎng)跳板機,HostC不能訪問 HostA,但是 HostA 可以訪問 HostC。

那么通過在內(nèi)網(wǎng) HostA 上運行 ssh -R 告訴 HostC,創(chuàng)建 PortC 端口監(jiān)聽,把該端口所有數(shù)據(jù)轉(zhuǎn)發(fā)給我(HostA),我會再轉(zhuǎn)發(fā)給同一個內(nèi)網(wǎng)下的 HostB:PortB。

同內(nèi)網(wǎng)下的 HostA/HostB 也可以是同一臺機器,換句話說就是 內(nèi)網(wǎng) HostA 把自己可以訪問的端口暴露給了外網(wǎng) HostC。

例: 比如在我的內(nèi)網(wǎng)機192.168.32.244上有一個RabbitMQ的客戶端,端口號為15672。現(xiàn)在我希望在外網(wǎng)上訪問固定ip的云服務器chenjie.asia的6009端口,通過跳板機192.168.32.243來轉(zhuǎn)發(fā)請求到192.168.32.244:15672,從而實現(xiàn)在外網(wǎng)訪問內(nèi)網(wǎng)服務的功能,即內(nèi)網(wǎng)穿透。

①在192.168.32.244上啟動RabbitMQ服務

②將chenjie.asia云服務器的私鑰復制到跳板機192.168.32.243的~/.ssh下,并重命名為id_rsa。通過如下命令看是否可以遠程登陸到云服務,可以登陸則進行下一步。

③修改chenjie.asia服務器的ssh配置文件 /etc/ssh/sshd_config ,允許其他節(jié)點訪問

然后重啟sshd服務

④在跳板機192.168.32.243啟動ssh反向代理

這個進程在關閉session時會停止,可以添加啟動參數(shù) -CPfN

例:

以 root 身份執(zhí)行的程序有了所有特權(quán),這會帶來安全風險。Kernel 從 2.2 版本開始,提供了 Capabilities 功能,它把特權(quán)劃分成不同單元,可以只授權(quán)程序所需的權(quán)限,而非所有特權(quán)。

例如:linux不允許非root賬號只用1024以下的端口,使用root啟動命令nginx,會導致nginx權(quán)限過高太危險。所以用setcap命令

sudo setcap cap_net_bind_service=+eip /bigdata/nginx/sbin/nginx

正確的關機流程為 :sync shutdown reboot halt

(1)sync (功能描述:將數(shù)據(jù)由內(nèi)存同步到硬盤中)

(2)halt (功能描述:關閉系統(tǒng),等同于shutdown -h now 和 poweroff)

(3)reboot (功能描述:就是重啟,等同于 shutdown -r now)

(4)shutdown [選項] [時間]

安裝

yum install -y telnet-server telnet

ls -i 顯示文件的節(jié)點號

find -inum 節(jié)點號 -delete 刪除指定的節(jié)點即可刪除對應的文件

啟動一個服務: systemctl start postfix.service

關閉一個服務: systemctl stop postfix.service

重啟一個服務: systemctl restart postfix.service

顯示一個服務的狀態(tài): systemctl status postfix.service

在開機時啟用一個服務: systemctl enable postfix.service

在開機時禁用一個服務: systemctl disable postfix.service

注:在enable的時候會打印出來該啟動文件的位置

列出所有已經(jīng)安裝的服務及狀態(tài):

systemctl list-units

systemctl list-unit-files

查看服務列表狀態(tài):

systemctl list-units --type=service

查看服務是否開機啟動: systemctl is-enabled postfix.service

查看已啟動的服務列表: systemctl list-unit-files | grep enabled

查看啟動失敗的服務列表: systemctl --failed

查看服務日志: journalctl -u postfix -n 10 -f

命令類似systemctl,用于操作native service。

添加腳本為服務(需要指定啟動級別和優(yōu)先級): chkconfig --add [腳本]

刪除服務: chkconfig --del [腳本]

單獨查看某一服務是否開機啟動的命令 : chkconfig --list [服務名]

單獨開啟某一服務的命令 : chkconfig [服務名] on

單獨關閉某一服務的命令: chkconfig [服務名] off

查看某一服務的狀態(tài): /etc/intd.d/[服務名] status

啟用服務就是在當前"runlevel"的配置文件目錄 /etc/systemd/system/multi-user.target.wants 里,建立 /usr/lib/systemd/system 里面對應服務配置文件的軟鏈接;禁用服務就是刪除此軟鏈接,添加服務就是添加軟連接。

su 用戶名稱 (切換用戶,只能獲得用戶的執(zhí)行權(quán)限,不能獲得環(huán)境變量)

su - 用戶名稱 (切換到用戶并獲得該用戶的環(huán)境變量及執(zhí)行權(quán)限)

echo $PATH 打印環(huán)境變量

設置普通用戶具有root權(quán)限

修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下 所示:

或者配置成采用sudo命令時,不需要輸入密碼

修改完畢,現(xiàn)在可以用hxr 帳號登錄,然后用命令 sudo ,即可獲得root權(quán)限進行操作。

以azkaban用戶執(zhí)行引號中的命令

gpasswd -d [username] [groupname] 將用戶從組中刪除

gpasswd -a [username] [groupname] 將用戶加入到組中

用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實際上就是對 /etc/group文件的更新。

0首位表示類型 - 代表文件 d 代表目錄 l 鏈接文檔(link file)

三種特殊權(quán)限suid、sgid、sticky

例子:

變更文件權(quán)限方式一

例:chmod u-x,o+x houge.txt

變更文件權(quán)限方式二

例:chmod -R 777 /mnt/ 修改整個文件夾的文件權(quán)限

在linux中創(chuàng)建文件或者目錄會有一個默認權(quán)限的,這個默認權(quán)限是由umask決定的(默認為0022)。umask設置的是權(quán)限的“補碼”,而我們常用chmod設置的是文件權(quán)限碼。一般在/etc/profile 、~/.bashprofile 或者 ~/.profile中設置umask值。

umask計算

如root用戶的默認umask為0022(第一個0 代表特殊權(quán)限位,這里先不考慮),創(chuàng)建的文件默認權(quán)限是644(即默認666掩上umask的022),創(chuàng)建的目錄是755(即默認777掩上umask的022)。

對于root用戶的umask=022這個來說,777權(quán)限二進制碼就是(111)(111)(111),022權(quán)限二進制碼為(000)(010)(010)。

上面就是一個umask的正常計算過程,但是這樣實在是太麻煩了。我們使用如下的簡單的方法快速計算。

上面的這個方法計算是非常方便的, 為何得到奇數(shù)要+1呢?

文件的最大權(quán)限是666,都是偶數(shù),你得到奇數(shù),說明你的umask有奇數(shù)啊,讀為4,寫為2,都是偶數(shù),說明你有執(zhí)行權(quán)限的。

就按照上面的umask=023為例,在計算其他用戶權(quán)限的時候6-3=3 ,6是讀寫,3是寫和執(zhí)行,其實應該是讀寫權(quán)限減去讀權(quán)限的得到寫權(quán)限的,相當于我們多減去了一個執(zhí)行權(quán)限。所以結(jié)果加1。

umask修改

如果想單獨修改某個文件夾的新建文件的權(quán)限,可以使用setfacl命令。

例:遞歸改變文件所有者和所有組 chown -R hxr:hxr /mnt

例:

Linux基礎命令和原理總結(jié)

作為一個程序員或者測試開發(fā)人員,我們在進行項目部署和運維時,經(jīng)常會用到一些linux命令,可是這些命令老是忘記,每次用到的時候都要去谷歌百度,很是麻煩!這不,為了自己使用方便,對常見的linux命令, SHELL, VIM, Linux性能調(diào)優(yōu)和linux kernel的總結(jié),以便在用到時能夠快速地找到相關命令,同時有需要的朋友也可以參考搜藏該篇文章!文章對講到的每個命令都有詳細的參數(shù)解釋,并且給出一些常用例子,因此也非常適合用來學習!

shell(命令解釋器)自帶的命令稱為內(nèi)部命令,其它的是外部命令

內(nèi)部命令使用help幫助:help cd

外部命令使用help幫助:ls --help

type命令:用于區(qū)分是內(nèi)部命令還是外部命令:

ls is aliased to `ls --color=auto' #外部命令

cd is a shell builtin #內(nèi)部命令

pwd命令:顯示當前目錄

ls命令:查看目錄和文件名稱

ls -l 查看目錄各個字段含義

第一字段:首字母代表的是文件類型 ,其中"-"為普通文件、"d"為目錄文件、"c"為字符設備文件、"b"為塊設備文件、"p"為管道文件、"l"為鏈接文件、"s"為socket文件?!皉wx”分別代表擁有讀、寫和執(zhí)行權(quán)限,"-代表無對應權(quán)限。三個"rwx"依次代表文件所有者、文件所有者所在用戶組、其它用戶對文件擁有的權(quán)限。

第二字段:文件硬連接數(shù)量

第三字段:文件擁有者

第四字段:文件擁有者所在組

第五字段:文件大?。ㄒ宰止?jié)為單位)

第六字段:文件最后更改時間

第七字段:文件名(若為鏈接文件則追加顯示其鏈接的原文件的路徑)

ls命令其它參數(shù)含義:

-a顯示隱藏文件(.開頭的文件)

-r逆序排序

-t按照時間順序顯示

-R遞歸顯示

ls -lartR : 按照時間順序倒序顯示所有文件及其文件夾的文件

cd命令:更改當前的工作目錄

cd /path/... 絕對路徑

cd ./path/... 相對路徑(./可以省略)

cd ../path/... 相對路徑

mkdir -p 遞歸目錄:遞歸創(chuàng)建目錄

rmdir命令:刪除目錄

rmdir a/b/c/d/e/ #刪除空目錄

rm -r a/b/c/d/ #遞歸刪除目錄,但是系統(tǒng)會做多次詢問

rm -rf a/b/c/d/ #刪除目錄,不做任何詢問

cp命令:復制文件和目錄

-r 復制目錄

-p 保留用戶、權(quán)限、時間等文件屬性

mv命令:移動文件和重命名

mv *.log 目標目錄

通配符:

*匹配任何字符串

?匹配一個字符串

[xyz]任何一個字符串

[a-z]匹配一個范圍

cat命令:文本內(nèi)容顯示到終端

head命令:查看文件開頭

head -3 文件名稱 #顯示文件開頭3行

tail命令:查看文件末尾

tail -3 文件名稱 #顯示文件末尾3行

tail常用參數(shù)-f,文件內(nèi)容更新后,同步顯示更新的文件信息

tail -f 文件名稱

wc命令:統(tǒng)計文件內(nèi)容信息

wc 文件名稱

useradd命令:新建用戶

useradd 用戶名

userdel命令:刪除用戶

userdel 用戶名 用戶所在的家目錄不會被刪除

userdel -r 用戶名 用戶相關的所有配置都會被刪除

passwd命令:修改用戶密碼

passwd 用戶名

usermod命令:修改用戶屬性

/etc/passwd文件:查看用戶文件

tail /etc/passwd

/etc/shadow文件:查看用戶密碼

tail /etc/shadow

groupadd命令:添加用戶組

groupadd 用戶組

groupdel命令:刪除用戶組

groupdel 用戶組

用戶切換

su 用戶名 切換用戶,但是用戶所在環(huán)境不變,即pwd路徑不會變化

su - 用戶名 切換用戶,同時會切換到用戶家目錄,即/home/用戶名

sudo命令:普通用戶需要執(zhí)行root用戶權(quán)限的解決方案。

以下是一些常用命令匯總;The following table provides a reminder of most of the commands that we have covered so far. If you include the three, as-yet-unmentioned, commands in the last column, then you will probably be able to achieve 95% of everything that you will ever want to do in Unix (remember, you can use the man command to find out more about top , ps , and kill ). The power comes from how you can use combinations of these commands.

-c 'cc-address' -b 'bcc-address'

'to-address' | Command to send email | | mail -s "Subject"

to-address Filename` | Command to send email with attachment |

File Permission commands

Hope this Linux reference guide helps you!

希望這些常用的命令和系統(tǒng)原理,以及l(fā)inux操作可以幫助大家提升linux命令和操作!?。?/p>

linux一條命令能創(chuàng)建多個用戶組嗎?

linux一條命令不能創(chuàng)建多個用戶組。Linux中創(chuàng)建用戶組的命令是groupadd,這個命令只能創(chuàng)建一個用戶組。

每個用戶都有一個用戶組,系統(tǒng)可以對一個用戶組中的所有用戶進行集中管理。不同Linux系統(tǒng)對用戶組的規(guī)定有所不同,如Linux下的用戶屬于與它同名的用戶組,這個用戶組在創(chuàng)建用戶時同時創(chuàng)建。

用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實際上就是對/etc/group文件的更新。

1、增加一個新的用戶組使用groupadd命令。其格式如下:

代碼:

groupadd選項用戶組

可以使用的選項有:

代碼:

-gGID指定新用戶組的組標識號(GID)。

-o一般與-g選項同時使用,表示新用戶組的GID可以與系統(tǒng)已有用戶組的GID相同。

例1:代碼:#groupaddgroup1

此命令向系統(tǒng)中增加了一個新組group1,新組的組標識號是在當前已有最大組標識號基礎上加1。

例2:代碼:#groupadd-g101group2

此命令向系統(tǒng)中增加了一個新組group2,同時指定新組的組標識號是101。

2、如果要刪除一個已有的用戶組,使用groupdel命令。其格式如下:

代碼:

groupdel用戶組

例如:代碼:#groupdelgroup1

此命令從系統(tǒng)中刪除組group1。

3、修改用戶組的屬性使用groupmod命令。其語法如下:

代碼:

groupmod選項用戶組

常用的選項有:

代碼:

-gGID為用戶組指定新的組標識號。

-o與-g選項同時使用,用戶組的新GID可以與系統(tǒng)已有用戶組的GID相同。

-n新用戶組將用戶組的名字改為新名字

例1:代碼:#groupmod-g102group2

此命令將組group2的組標識號修改為102。

例2:代碼:#groupmod_g10000-ngroup3group2

此命令將組group2的標識號改為10000,組名修改為group3。

4、如果一個用戶同時屬于多個用戶組,那么用戶可以在用戶組之間切換,以便具有其他用戶組的權(quán)限。用戶可以在登錄后,使用命令newgrp切換到其他用戶組,這個命令的參數(shù)就是目的用戶組。例如:代碼:$newgrproot

這條命令將當前用戶切換到root用戶組,前提條件是root用戶組確實是該用戶的主組或附加組。類似于用戶賬號的管理,用戶組的管理也可以通過集成的系統(tǒng)管理工具來完成。

Linux命令之用戶組管理

Linux中每個用戶都要屬于一個或多個組,有了用戶組,就可以將用戶添加到組中,這樣就方便管理員對用戶的集中管理。 Linux系統(tǒng)中用戶組分為root組、系統(tǒng)組、普通用戶組三類。當一個用戶屬于多個組時,這些組中只能有一個作為該用戶的主屬組,其他組就被稱為此用戶的次屬組。 組基本信息在文件/etc/group中;組密碼信息在文件/etc/gshadow中。通過命令:cat /etc/group、cat /etc/gshadow可查看文件內(nèi)容。

各用戶組中,以 ":" 作為字段之間的分隔符,分為 4 個字段,每個字段對應的含義為:

組名:密碼:GID:該用戶組中的用戶列表

而在gshadow文件中,每行代表一個組用戶的密碼信息,各行信息用 ":" 作為分隔符,分為 4 個字段,每個字段的含義如下:

組名:加密密碼:組管理員:組附加用戶列表

root用戶可以直接修改/etc/group文件達到管理組的目的,也可以使用以下命令:groupadd、groupdel、groupmod -n、gpasswd -a、gpasswd -d、newgrp。

下面使用案例分別講解這些命令:

添加用戶組的命令是 groupadd,命令格式如下:

groupadd? [ -g gid? [ -o ] ]? [ -r ]? [ -f ]? group

參數(shù)說明:

-g:指定新建工作組的 id;

-r:創(chuàng)建系統(tǒng)工作組,系統(tǒng)工作組的組ID小于 500;

-K:覆蓋配置文件 "/ect/login.defs";

-o:允許添加組 ID 號不唯一的工作組。

-f,--force: 如果指定的組已經(jīng)存在,此選項將失明了僅以成功狀態(tài)退出。當與 -g 一起使用,并且指定的GID_MIN已經(jīng)存在時,選擇另一個唯一的GID(即-g關閉)。

示例:創(chuàng)建一個新的組,并添加組 ID。

[root@VM-4-4-centos ~]# groupadd? -g? 888? newgroup

此時在/etc/group文件中產(chǎn)生了一個id為888的項目:

刪除用戶組時,可用groupdel(group delete)指令來完成。倘若該組中仍包括某些用戶,則必須先刪除這些用戶后,方能刪除組。 注意:刪除的組不能為主屬組! 命令格式:

groupdel? [組名]? ? ? ? ?

示例:刪除用戶組 newgroup

[root@VM-4-4-centos ~]# groupdel? newgroup

此時再查看/etc/group文件時可以看到用戶組newgroup已經(jīng)不存在,刪除成功!

要更改用戶組識別碼或名稱可使用 groupmod 來完成。命令格式:

groupmod? [ -g? 群組識別碼? -o ] [ -n? 新群組名稱 ] [原群組名稱]

參數(shù)說明 :

-g 群組識別碼  設置欲使用的群組識別碼。

-o  重復使用群組識別碼。

-n 新群組名稱  設置欲使用的群組名稱。

示例:創(chuàng)建用戶組newgroup并修改其名稱為modifiedgroup

[root@VM-4-4-centos ~]# groupadd? newgroup

[root@VM-4-4-centos ~]# groupmod? -n? modifiedgroup? newgroup

查看/etc/group文件,只存在名稱為modifiedgroup的用戶組,修改成功!

gpasswd 是 Linux 下工作組文件 /etc/group 和 /etc/gshadow 管理工具,用于將一個用戶添加到組或者從組中刪除。命令格式:

gpasswd? [可選項]? 組名

可選項參數(shù) :

-a:添加用戶到組;

-d:從組刪除用戶;

-A:指定管理員;

-M:指定組成員和-A的用途差不多;

-r:刪除密碼;

-R:限制用戶登入組,只有組中的成員才可以用newgrp加入該組。

示例1:將用戶yangwei添加到組modifiedgroup中

[root@VM-4-4-centos ~]# gpasswd? -a? yangwei? modifiedgroup

此時查看/etc/group文件發(fā)現(xiàn)組?modifiedgroup中出現(xiàn)用戶yangwei

示例2:將用戶yangwei從組modifiedgroup中給刪除

[root@VM-4-4-centos ~]# gpasswd? -d? yangwei? modifiedgroup

再次查看/etc/group文件發(fā)現(xiàn)用戶yangwei已經(jīng)不存在。

當需要在不同的群組下工作的時候我們需要進行切換群組操作,這個操作由newgrp指令來完成。命令格式如下:

newgrp [群組名稱]

注意!當前用戶必須都是兩個群組的成員,否則切換群組時需要輸入切換組的組密碼,這時候當前用戶作為臨時成員在切換組下工作,所創(chuàng)建的文件全都屬于切換組。

示例1:用戶yangwei不屬于群組modifiedgroup,請將當前工作組切換為modifiedgroup。

示例2:將用戶yangwei添加到組modifiedgroup中,并切換工作組為modifiedgroup。

總結(jié):Linux用戶組管理需要掌握最基本的幾個命令及其選項參數(shù): groupadd 、groupdel 、groupmod 、gpasswd 、newgrp !

分享文章:linux命令組 linux命令組賬號存放在哪個文件
URL標題:http://muchs.cn/article38/docogpp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設計服務器托管、網(wǎng)站排名網(wǎng)站收錄、App開發(fā)、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管