su和sudo這兩個(gè)命令是Linux運(yùn)維必須要會(huì)的,通常在生產(chǎn)環(huán)境中都是使用普通帳號(hào)來登錄,再使用su或sudo來執(zhí)行一些管理命令。
在萊州等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需策劃設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè)公司,萊州網(wǎng)站建設(shè)費(fèi)用合理。
su:run a shell with substitute user and group ids
-,-l,--login 切換后使用指定用戶的的shell。
-c,--command=COMMAND 可以在不切換當(dāng)前shell的情況下,用指定的用戶來執(zhí)行一個(gè)命令;
如果在su的時(shí)候沒有加”-“或“-l”或“--login”那么默認(rèn)的會(huì)使用 當(dāng)前用戶 的shell來執(zhí)行 ;
sudo的配置文件是: /etc/sudoers ,該文件可以定義哪個(gè)用戶可以在哪個(gè)機(jī)器上以哪個(gè)用戶的身份來執(zhí)行哪些命令;
在配置sudo時(shí)必須使用 visudo 來編輯配置文件,因?yàn)槭褂胿isudo可以檢查修改后的文件的語法是否正確;
可以將上面的配置行分成四部分:part1 part2 part3 part4
例如:
那么如果用戶的數(shù)量過多的時(shí)候是不是要為每個(gè)用戶來創(chuàng)建一個(gè)條目呢,很顯示這樣做是不科學(xué)的。所以sudo就引入了別名的概念,其實(shí)和組也差不多;
alias定義的語法:
要注意的是,這個(gè)Alias的名稱一定要大寫;
user1是一個(gè)用戶,user2是一個(gè)組,所以u(píng)ser2的前面要加上%
可以使用主機(jī)名,IP地址,網(wǎng)段(網(wǎng)段的掩碼可以寫成255.255.255.0,也可以寫成/24)
命令必須使用絕對(duì)路徑。如果只指定了一個(gè)目錄,那么用戶就可以執(zhí)行該目錄下的所有的文件;上面的“=”右邊的都可以使用“!”來取反。表示除了xxx以外;
例子 :請(qǐng)?jiān)试Suser1,user2,user3在192.168.20.44和192.168.10.0/24網(wǎng)段的機(jī)器上使用sudo切換到root用戶來執(zhí)行useradd和setup命令;
然后就可以使用user1,user2,user3這三個(gè)用戶去測(cè)試了;
注意:當(dāng)用戶第一次執(zhí)行sudo命令的時(shí)候是需要用戶輸入自己的密碼的。當(dāng)?shù)谝淮屋斎胝_后,這個(gè)密碼就會(huì)被緩存5分鐘,在5分鐘內(nèi)用戶再次使用sudo來切換身份執(zhí)行命令的時(shí)候就不需要再次輸入自己的密碼。
這樣呢有些時(shí)候會(huì)有一個(gè)安全隱患,所以為了去掉這個(gè)5分鐘,可以在使用sudo命令的時(shí)候加上“-k”參數(shù),這樣用戶在每次執(zhí)行sudo命令的時(shí)候都會(huì)讓用戶輸入自己的密碼。
如果想讓某個(gè)用戶在執(zhí)行sudo的時(shí)候不需要輸入自己的密碼,那么可以在命令的前面添加NOPASSWD。/etc/sudoers的內(nèi)容如下:
這樣的話,user1,user2,user3這三個(gè)用戶在執(zhí)行指定的命令的時(shí)候就不需要輸入自己的密碼了。
如果其中的命令有的需要輸入密碼,有的不需要輸入密碼的話,那就把PASSWD:寫在那些命令的前面?;蚴前袾OPASSWD:寫在最后一個(gè)命令中;
例子:讓用戶user4使用passwd來管理用戶的密碼,但是不能給root用戶設(shè)置密碼:
注意:如果最后不加上!/usr/bin/passwd root的話,那么會(huì)有很大的漏洞,user4可以修改root用戶的密碼;當(dāng)添加上后,user4再次執(zhí)行sudo passwd root的時(shí)候就會(huì)提示:
我們平時(shí)所說的 Shell 可以理解為 Linux 系統(tǒng)提供給用戶的使用界面。Shell 為用戶提供了輸入命令和參數(shù)并可得到命令執(zhí)行結(jié)果的環(huán)境。當(dāng)一個(gè)用戶登錄 Linux 之后,系統(tǒng)初始化程序 init 就根據(jù) /etc/passwd 文件中的設(shè)定,為每個(gè)用戶運(yùn)行一個(gè)被稱為 Shell(外殼)的程序。
確切地說,Shell 是一個(gè)命令行解釋器,它為用戶提供了一個(gè)向 Linux 內(nèi)核發(fā)送請(qǐng)求以便運(yùn)行程序的界面系統(tǒng)級(jí)程序,用戶可以用 Shell 來啟動(dòng)、掛起、停止甚至編寫一些程序。
Shell 處在內(nèi)核與外層應(yīng)用程序之間,起著協(xié)調(diào)用戶與系統(tǒng)的一致性、在用戶與系統(tǒng)之間進(jìn)行交互的作用。圖 1 是 Linux 系統(tǒng)層次結(jié)構(gòu)圖,Shell 接收用戶輸入的命令,并把用戶的命令從類似 abed 的 ASCII 碼解釋為類似 0101 的機(jī)器語言,然后把命令提交到系統(tǒng)內(nèi)核處理;當(dāng)內(nèi)核處理完畢之后,把處理結(jié)果再通過 Shell 返回給用戶。
換句話說:
Shell 是一個(gè)用 C 語言編寫的程序,它是用戶使用 Linux 的橋梁。Shell 既是一種命令語言,又是一種程序設(shè)計(jì)語言。
Shell 是指一種應(yīng)用程序,這個(gè)應(yīng)用程序提供了一個(gè)界面,用戶通過這個(gè)界面訪問操作系統(tǒng)內(nèi)核的服務(wù)。
Ken Thompson 的 sh 是第一種 Unix Shell,Windows Explorer 是一個(gè)典型的圖形界面 Shell。
Shell 與其他 Linux 命令一樣,都是實(shí)用程序,但它們之間還是有區(qū)別的。一旦用戶注冊(cè)到系統(tǒng)后,Shell 就被系統(tǒng)裝入內(nèi)存并一直運(yùn)行到用戶退出系統(tǒng)為止;而一般命令僅當(dāng)被調(diào)用時(shí),才由系統(tǒng)裝入內(nèi)存執(zhí)行。
與一般命令相比,Shell 除了是一個(gè)命令行解釋器,同時(shí)還是一門功能強(qiáng)大的編程語言,易編寫,易調(diào)試,靈活性較強(qiáng)。作為一種命令級(jí)語言,Shell 是解釋性的,組合功能很強(qiáng),與操作系統(tǒng)有密切的關(guān)系,可以在 Shell 腳本中直接使用系統(tǒng)命令。大多數(shù) Linux 系統(tǒng)的啟動(dòng)相關(guān)文件(一般在 /etc/rc.d 目錄下)都是使用 Shell 腳本編寫的。
同傳統(tǒng)的編程語言一樣,Shell 提供了很多特性,這些特性可以使 Shell 腳本編程更為有用,如數(shù)據(jù)變量、參數(shù)傳遞、判斷、流程控制、數(shù)據(jù)輸入和輸出、子程序及中斷處理等。
說了這么多,其實(shí)我們?cè)?Linux 中操作的命令行界面就是 Linux 的 Shell,也就是 Bash,但是我們的圖形界面是 Shell 嗎?其實(shí)從廣義講,圖形界面當(dāng)然也是 Shell,因?yàn)樗瑯佑脕斫邮沼脩舻牟僮?,并傳遞到內(nèi)核進(jìn)行處理。不過,這里的 Shell 主要指的是 Bash。
Shell 腳本
Shell 腳本(shell script),是一種為 shell 編寫的腳本程序。
業(yè)界所說的 shell 通常都是指 shell 腳本,但讀者朋友要知道,shell 和 shell script 是兩個(gè)不同的概念。
由于習(xí)慣的原因,簡(jiǎn)潔起見,本文出現(xiàn)的 "shell編程" 都是指 shell 腳本編程,不是指開發(fā) shell 自身。
Shell的分類
目前 Shell 的版本有很多種,如 Bourne Shell、C Shell、Bash、ksh、tcsh 等,它們各有特點(diǎn),下面簡(jiǎn)要介紹一下。
最重要的 Shell 是 Bourne Shell,這個(gè)命名是為了紀(jì)念此 Shell 的發(fā)明者 Steven Bourne。從 1979 年起,UNIX 就開始使用 Boume Shell。Bourne Shell 的主文件名為 sh,開發(fā)人員便以 sh 作為 Bourne Shell 的主要識(shí)別名稱。
雖然 Linux 與 UNIX 一樣,可以支持多種 Shell,但 Boume Shell 的重要地位至今仍然沒有改變,許多 UNIX 系統(tǒng)中仍然使用 sh 作為重要的管理工具。它的工作從開機(jī)到關(guān)機(jī),幾乎無所不包。在 Linux 中,用戶 Shell 主要是 Bash,但在啟動(dòng)腳本、編輯等很多工作中仍然使用 Bourne Shell。
C Shell 是廣為流行的 Shell 變種。C Shell 主要在 BSD 版的 UNIX 系統(tǒng)中使用,發(fā)明者是柏克萊大學(xué)的 Bill Joy。C Shell 因?yàn)槠湔Z法和 C 語言類似而得名,這也使得 UNIX 的系統(tǒng)工程師在學(xué)習(xí) C Shell 時(shí)感到相當(dāng)方便。
Bourne Shell 和 C Shell 形成了 Shell 的兩大主流派別,后來的變種大都吸取這兩種 Shell 的特點(diǎn),如 Korn、 tcsh 及 Bash。
Bash Shell 是 GNU 計(jì)劃的重要工具之一,也是 GNU 系統(tǒng)中標(biāo)準(zhǔn)的 Shell。Bash 與 sh 兼容,所以許多早期開發(fā)出來的 Bourne Shell 程序都可以繼續(xù)在 Bash 中運(yùn)行?,F(xiàn)在使用的 Linux 就使用 Bash 作為用戶的基本 Shell。
Bash 于 1988 年發(fā)布,并在 1995-1996年推出Bash 2.0。在這之前,廣為使用的版本是1.14,Bash 2.0增加了許多新的功能,以及具備更好的兼容性。表 2 中詳細(xì)列出了各版本的具體情況。
注意,Shell 的兩種主要語法類型有 Bourne 和 C,這兩種語法彼此不兼容。Boume 家族主要包括 sh、ksh、Bash、psh、zsh;C 家族主要包括 csh、tcsh(Bash 和 zsh 在不同程序上支持 csh 的語法)。
本章講述的腳本編程就是在 Bash 環(huán)境中進(jìn)行的。不過,在 Linux 中除了可以支持 Bash,還可以支持很多其他的 Shell。我們可以通過 /etc/shells 文件來査詢 Linux 支持的 Shell。命令如下:
在 Linux 中,這些 Shell 是可以任意切換的,命令如下:
用戶信息文件 /etc/passwd 的最后一列就是這個(gè)用戶的登錄 Shell。命令如下:
大家可以看到,root 用戶和其他可以登錄系統(tǒng)的普通用戶的登錄 Shell 都是 /bin/bash,也就是 Linux 的標(biāo)準(zhǔn) Shell,所以這些用戶登錄之后可以執(zhí)行權(quán)限允許范圍內(nèi)的所有命令。不過,所有的系統(tǒng)用戶(偽用戶)因?yàn)榈卿?Shell 是 /sbin/ndogin,所以不能登錄系統(tǒng)。
筆記:
sh/bash/csh/Tcsh/ksh/pdksh等shell的區(qū)別
以下是linux基本命令df和linux中du命令參數(shù)介紹,希望對(duì)您的學(xué)習(xí)有所幫助。linux中df命令參數(shù):linux中df命令參數(shù)用于查看linux文件系統(tǒng)的狀態(tài)信息,顯示各個(gè)分區(qū)的容量、已使用量、未使用量及掛載點(diǎn)等信息。如df -k 以千字節(jié)KB 為單位顯示各分區(qū)的信息df -h 以GB 為單位顯示各分區(qū)的信息df -a 顯示所有分區(qū)包括大小為0 的分區(qū)df -T 顯示分區(qū)類型EXT2 或EXT3 等linux中du命令參數(shù):linux中du命令參數(shù)用于查看文件或文件夾的大小。如du -b /home 以字節(jié)為單位顯示/home 文件夾下各個(gè)子文件夾的大小du -ks home 以千字節(jié)KB 為單位顯示/home 文件夾的總大小以上是linux基本命令df和linux中du命令參數(shù)介紹。作者 yingbin920
1、目錄切換命令
cd usr/ 切換到該目錄下usr目錄
cd ../ 切換到上一層目錄
cd /切換到系統(tǒng)根目錄
cd ~ 切換到用戶主目錄
2、目錄操作命令
(1)增加目錄
命令:mkdir 目錄名稱
(2)查看目錄
???ls [-al] 父目錄? ?ls -l 可以縮寫成ll
? ? ? (3)尋找目錄
???find 目錄 參數(shù)(重點(diǎn))
???注意這里涉及權(quán)限問題,需要先切換到root目錄?su root
? ? ? ? (4)修改目錄名稱
???mv 目錄名稱 新目錄名稱
? ? ? ? (5)拷貝目錄
???cp -r 被目錄名稱 目錄拷貝的目標(biāo)位置 -----r代表? ? ? ? ? ? ? ? ? ????????遞歸拷貝
???將/usr下的newTest拷貝到根目錄下的test中,使用cp -r ????????????????/usr/newTest test/rm
? ? ? ? (6)刪除目錄
???rm [-rf] 目錄
???刪除/usr下的newTest,進(jìn)入/usr下使用rm -r newTest
3、文件操作命令
? ? ? ? (1)文件創(chuàng)建??touch 文件名稱 ----- 空文件
? ? ? ? (2)文件查看????cat/more/less/tail 文件
? ? ? ? (3)修改文件內(nèi)容????vim 文件
??? vim 文件------進(jìn)入文件-----命令模式------按i進(jìn)入編? ? ? ? ? ?????????? 輯模式-----編輯文件 -------按Esc進(jìn)入底行模式----- ? ?????????????????? 輸入:wq/q!
? ? ? ? (4)刪除文件
???熟記 rm -rf 文件 即可
4、壓縮文件操作命令
? ? ? ? ? ?(1)tar -zcvf 打包壓縮后的文件名 要打包壓縮的文件
???z:調(diào)用gzip壓縮命令進(jìn)行壓縮
c:打包文件
v:顯示運(yùn)行過程
f:指定文件名
? ? ? ? (2)?解壓壓縮包(重點(diǎn))
???tar [-xvf] 壓縮文件
5、其他命令
? ? ? ? (1)顯示當(dāng)前所在位置????pwd
? ? ? ? (2)搜索命令????grep 要搜索的字符串 要搜索的文件
? ? ? ? (3)管道命令 | 將前一個(gè)命令的輸出作為本次目錄的? ? ? ????????????????輸入
? ? ? ? (4)查看進(jìn)程? ? ?ps -ef
? ? ? ? (5)網(wǎng)絡(luò)通信命令????查看當(dāng)前系統(tǒng)的網(wǎng)卡信息:ifconfig
??查看與某臺(tái)機(jī)器的連接情況:ping
? ? ? ? (6)查看當(dāng)前系統(tǒng)的端口使用?netstat –an,通常和 | ????????????????grep一起使用
6、Linux的權(quán)限命令
???在隨意某個(gè)目錄下ls -l??查看某個(gè)目錄下的文件或目錄? ? ? ? ? ? ? ? ? ? 的權(quán)限 rwx 讀取權(quán) 寫入權(quán) 執(zhí)行權(quán)?
? ? ? ? ?這個(gè)字符串有10位,可以分為4段來解讀
第一段(第1位)表示是目錄還是文件,-表示是文件,d表示是目錄;
第二段(第2-4位,共3個(gè)字符串)表示文件所屬用戶對(duì)它的權(quán)限 - 屬主權(quán)限(User);
第三段(第5-7位,共3個(gè)字符串)表示文件所屬用戶組用戶對(duì)它的權(quán)限 - 屬組權(quán)限(Group);
第四段(第8-10位,共3個(gè)字符串)表示其他用戶對(duì)它的權(quán)限 - 其他權(quán)限(other);
注意:①我們用3位8進(jìn)制來表示文件的權(quán)限,r(read)用4標(biāo)識(shí),w(write)用2標(biāo)識(shí),x(excute)用1標(biāo)識(shí)
②r–可讀,w–可寫,x–可執(zhí)行。
③每一段的三位順序不可變,如果沒有對(duì)應(yīng)的權(quán)限,則使用-表示
上圖中的-rwxrw-r–可以用八進(jìn)制數(shù)字764表示。
?。。?!修改文件/目錄的權(quán)限的命令:chmod
chmod u=rwx,g=rw,o=r aaa.txt 或者777 代表全部權(quán)限
7、?free查看內(nèi)存信息
df -h 命令用于顯示目前在 Linux 系統(tǒng)上的文件系統(tǒng)磁盤使用情況統(tǒng)計(jì)
8、top查看資源信息(CPU)
top
補(bǔ)充:
關(guān)機(jī)命令
reboot? 重新啟動(dòng)操作系統(tǒng)
shutdown -h now 立刻關(guān)機(jī),其中now相當(dāng)于時(shí)間為0的狀態(tài)
shutdown -h 10:23
shutdown -h +10? 系統(tǒng)再過十分鐘后自動(dòng)關(guān)機(jī)
Linux命令
目錄操作
? ? cd usr/? ? ? ? ? ? ? ? ? ? ? ? ? ? 切換到該目錄下usr目錄
? ? cd ..? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 切換到上一層目錄
? ? cd /? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 切換到系統(tǒng)根目錄
? ? mkdir 目錄名稱? ? ? ? ? ? ? 創(chuàng)建目錄
? ? ls? ? ? 目錄名稱? ? ? ? ? ? ? ? 查詢?cè)撃夸浵滤械哪夸浐臀募?/p>
? ? ls [-a]? 目錄名稱? ? ? ? ? ? ? 查詢?cè)撃夸浵滤械哪夸浐臀募?包含隱藏文件
? ? ls [-l]? 目錄名稱? ? ? ? ? ? ? 查詢?cè)撃夸浵滤械哪夸浐臀募脑敿?xì)信息
? ? find / -name 目錄名稱? ? 查找/root下的目錄(文件)
? ? mv 目錄名稱 新目錄名稱? 修改目錄名稱
? ? mv 目錄名稱 目錄的新位置? ? ? 剪切
? ? cp -r 目錄名稱 目錄的目標(biāo)位置? 拷貝
? ? rm -rf? 目錄? ? ? ? ? ? ? ? ? 強(qiáng)制刪除目錄
文件操作
? ? touch 文件名稱? ? ? ? ? ? 創(chuàng)建空文件
? ? cat/more/less/tail 文件? 查看文件內(nèi)容
? ? tail -f 文件? ? ? ? ? ? ? ? ? 動(dòng)態(tài)查看/實(shí)時(shí)查看文件(日志)
? ? grep 要搜索的字符串 要搜索的文件? ? ? ? ? ? ? ? 關(guān)鍵字搜索
? ? vi/vim? 文件? ? ? ? ? ? ? ? 修改文件內(nèi)容
? ? rm -rf 文件? ? ? ? ? ? ? ? 強(qiáng)制刪除文件
文件的打包
? ? tar -zcvf 文件名.tar? 要打包的文件
文件的解壓?
? ? tar -xvf 文件名.tar
擴(kuò)充:將文件解壓到固定位置
? ? tar -xvf 文件名.tar -C 指定解壓的位置
查詢當(dāng)前所在位置
? ? pwd? ? ?
查看進(jìn)程
? ? ps -ef | grep 進(jìn)程名稱(tomcat/mysql)
殺死進(jìn)程
? ? kill -9 進(jìn)程pid
查看端口號(hào)
? ? netstat -an | grep 端口號(hào)(3306)
查看服務(wù)器ip
? ? ifconfig
查看網(wǎng)絡(luò)是否能正常使用
? ? ping 外網(wǎng)地址? ? ? ? ? ? 查看是否能訪問外網(wǎng)
? ? ping 內(nèi)網(wǎng)ip? ? ? ? ? ? ? ? 查看是否能訪問內(nèi)網(wǎng)
權(quán)限命令
? ? chmod 777 文件? ? ? ? 賦權(quán)
查看cpu
? ? top
查看磁盤信息
? ? df -h
查看內(nèi)存信息
? ? free? ?
關(guān)機(jī)命令
? ? shutdown -h now? 立刻關(guān)機(jī),其中now相當(dāng)于時(shí)間為0的狀態(tài)
? ? shutdown -h 10:23
? ? shutdown -h +10? ? 系統(tǒng)再過十分鐘后自動(dòng)關(guān)機(jī)
重新啟動(dòng)
? ? reboot? ? 重新啟動(dòng)操作系統(tǒng)
網(wǎng)站名稱:linux初學(xué)第一個(gè)命令,linux初級(jí)命令
瀏覽地址:http://chinadenli.net/article0/heijoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、做網(wǎng)站、網(wǎng)站營銷、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)