01
創(chuàng)新互聯(lián)是一家專業(yè)提供江門(mén)企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、成都網(wǎng)站建設(shè)、HTML5、小程序制作等業(yè)務(wù)。10年已為江門(mén)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
linux常用命令有pwd命令、cd命令、ls命令、cat命令、grep命令、touch命令、cp命令、mv命令、rm命令、rmdir命令等。
linux常用命令:
1、 pwd命令
該命令的英文解釋為print working directory(打印工作目錄)。輸入pwd命令,Linux會(huì)輸出當(dāng)前目錄。
2、 cd命令
cd命令用來(lái)改變所在目錄。
cd / 轉(zhuǎn)到根目錄中
cd ~ 轉(zhuǎn)到/home/user用戶目錄下
cd /usr 轉(zhuǎn)到根目錄下的usr目錄中-------------絕對(duì)路徑
cd test 轉(zhuǎn)到當(dāng)前目錄下的test子目錄中-------相對(duì)路徑
3、 ls命令
ls命令用來(lái)查看目錄的內(nèi)容。 選項(xiàng) 含義 -a 列舉目錄中的全部文件,包括隱藏文件 -l 列舉目錄中的細(xì)節(jié),包括權(quán)限、所有者、組群、大小、創(chuàng)建日期、文件是否是鏈接等 -f 列舉的文件顯示文件類(lèi)型 -r 逆向,從后向前地列舉目錄中內(nèi)容 -R 遞歸,該選項(xiàng)遞歸地列舉當(dāng)前目錄下所有子目錄內(nèi)的內(nèi)容 -s 大小,按文件大小排序 -h 以人類(lèi)可讀的方式顯示文件的大小,如用K、M、G作單位 ls -l examples.doc 列舉文件examples.doc的所有信息
4、 cat命令
cat命令可以用來(lái)合并文件,也可以用來(lái)在屏幕上顯示整個(gè)文件的內(nèi)容。
cat snow.txt 該命令顯示文件snow.txt的內(nèi)容,ctrl+D退出cat。
5、 grep命令
grep命令的最大功能是在一堆文件中查找一個(gè)特定的字符串。
grep money test.txt
以上命令在test.txt中查找money這個(gè)字符串,grep查找是區(qū)分大小寫(xiě)的。
6 、touch命令
touch命令用來(lái)創(chuàng)建新文件,他可以創(chuàng)建一個(gè)空白的文件,可以在其中添加文本和數(shù)據(jù)。
touch newfile 該命令創(chuàng)建一個(gè)名為newfile的空白文件。
7 、cp命令
cp命令用來(lái)拷貝文件,要復(fù)制文件,輸入命令:
cp
cp t.txt Document/t 該命令將把文件t.txt復(fù)制到Document目錄下,并命名為t。 選項(xiàng) 含義 -i 互動(dòng):如果文件將覆蓋目標(biāo)中的文件,他會(huì)提示確認(rèn) -r 遞歸:這個(gè)選項(xiàng)會(huì)復(fù)制整個(gè)目錄樹(shù)、子目錄以及其他 -v 詳細(xì):顯示文件的復(fù)制進(jìn)度
8 、mv命令
mv命令用來(lái)移動(dòng)文件。 選項(xiàng) 說(shuō)明 -i 互動(dòng):如果選擇的文件會(huì)覆蓋目標(biāo)中的文件,他會(huì)提示確認(rèn) -f 強(qiáng)制:它會(huì)超越互動(dòng)模式,不提示地移動(dòng)文件,屬于很危險(xiǎn)的選項(xiàng) -v 詳細(xì):顯示文件的移動(dòng)進(jìn)度
mv t.txt Document 把文件t.txt 移動(dòng)到目錄Document中。
9 、rm命令
rm命令用來(lái)刪除文件。 選項(xiàng) 說(shuō)明 -i 互動(dòng):提示確認(rèn)刪除 -f 強(qiáng)制:代替互動(dòng)模式,不提示確認(rèn)刪除 -v 詳細(xì):顯示文件的刪除進(jìn)度 -r 遞歸:將刪除某個(gè)目錄以及其中所有的文件和子目錄
rm t.txt 該命令刪除文件t.txt
10、 rmdir命令
rmdir命令用來(lái)刪除目錄。
處理的時(shí)間是2到3分鐘。
鉤子(Hook)處理的時(shí)間是2到3分鐘,是Windows消息處理機(jī)制的一個(gè)平臺(tái),應(yīng)用程序可以在上面設(shè)置子程以監(jiān)視指定窗口的某種消息,而且所監(jiān)視的窗口可以是其他進(jìn)程所創(chuàng)建的。當(dāng)消息到達(dá)后,在目標(biāo)窗口處理函數(shù)之前處理它。鉤子機(jī)制允許應(yīng)用程序截獲處理window消息或特定事件。
linux常用命令如下:
1、查看內(nèi)核版本:uname -a。
2、控制臺(tái)-》圖形界面:init 5或者startx。
3、圖形界面-》控制臺(tái): init3或者直接注銷(xiāo)。
4、如何查看ip地址:ifconfig。
5、配置ip:ifconfig eth0 ip地址。
6、重啟:reboot 或者 shutdown -r now。
7、普通用戶切換到系統(tǒng)用戶:su。
8、注銷(xiāo)用戶指令:logout。
linux的學(xué)習(xí)技巧:
如果你想系統(tǒng)的學(xué)習(xí)Linux,你必需清楚的認(rèn)識(shí)到這一點(diǎn)。如果你真正想系統(tǒng)的學(xué)習(xí)linux,想用Linux有所作為,那么請(qǐng)忘記Windows的思維方式,思想性的轉(zhuǎn)變比暫時(shí)性的技術(shù)提高更有用, 而思想上的改變往往是受到我們行動(dòng)所影響的,有不懂的問(wèn)題就自己思考,查資料, 實(shí)在不會(huì)再去找別人的電腦去查,這樣就加深了我每次對(duì)問(wèn)題的理解,慢慢感受和習(xí)慣Linux的操作方式。
(但不總是)位于 /usr/src/linux-。我們不會(huì)研究得過(guò)于詳細(xì),因?yàn)?Linux 源代碼經(jīng)常會(huì)發(fā)生變化,但是,我們將嘗試讓給出的信息足以找出特定驅(qū)動(dòng)程序或函數(shù)的位置。
Makefile:這個(gè)文件是整個(gè)源代碼樹(shù)的頂層 makefile。它定義了很多實(shí)用的變量和規(guī)則,比如默認(rèn)的 gcc 編譯標(biāo)記。
Documentation/:這個(gè)目錄中包含很多關(guān)于配置內(nèi)核、運(yùn)行 ramdisk 等任務(wù)的實(shí)用信息(但通常是過(guò)時(shí)的)。不過(guò),與不同配置選項(xiàng)相應(yīng)的幫助條目并不在這里 —— 它們?cè)诿總€(gè)源代碼目錄的 Kconfig 文件中。
arch/:所有與體系結(jié)構(gòu)相關(guān)的代碼都在這個(gè)目錄以及 include/asm- 目錄中。在此目錄中,每種體系結(jié)構(gòu)都有自己的目錄。例如,用于基于 PowerPC 的計(jì)算機(jī)的代碼位于 arch/ppc 目錄中。在這些目錄里,可以找到底層內(nèi)存管理、中斷處理、早期初始化、匯編例程,等等。
crypto/:這是內(nèi)核本身所用的加密 API。
drivers/:按照慣例,在此目錄的子目錄中可以找到運(yùn)行外圍設(shè)備的代碼。包括視頻驅(qū)動(dòng)程序、網(wǎng)卡驅(qū)動(dòng)程序、底層 SCSI 驅(qū)動(dòng)程序,以及其他類(lèi)似的驅(qū)動(dòng)程序。例如,在 drivers/net 中可以找到大部分網(wǎng)卡驅(qū)動(dòng)程序。將一類(lèi)驅(qū)動(dòng)程序組合在一起的某些更高層代碼,可能會(huì)(也可能不會(huì))像底層驅(qū)動(dòng)程序本身那些包含在同一目錄中。
fs/:通用文件系統(tǒng)的代碼(稱做 VFS,即 Virtual File System)和各個(gè)不同文件系統(tǒng)的代碼都可以在這個(gè)目錄中找到。ext2 文件系統(tǒng)是在 Linux 中最常廣泛使用的文件系統(tǒng)之一;在 fs/ext2 中可以找到讀取 ext2 格式的代碼。并不是所有文件系統(tǒng)都會(huì)編譯或運(yùn)行;對(duì)某些尋找內(nèi)核項(xiàng)目的人而言,更生僻的文件系統(tǒng)永遠(yuǎn)都是理想的候選者。
include/:在 .c 文件的開(kāi)頭所包含的大部分頭文件都可以在這個(gè)目錄中找到。 asm- 目錄下是與體系結(jié)構(gòu)相關(guān)的包含(include )文件。部分內(nèi)核構(gòu)建過(guò)程創(chuàng)建從 asm 指定 asm- 的符號(hào)鏈接。這樣,無(wú)需將其固定編碼到 .c 文件 #include 就可以獲得用于那個(gè)體系結(jié)構(gòu)的正確文件。其他目錄中包含的是 非-體系結(jié)構(gòu)-相關(guān) 的頭文件。如果在不只一個(gè) .c 文件中使用了某個(gè)結(jié)構(gòu)體、常量或者變量,那么它可能應(yīng)該放入其中一個(gè)頭文件中。
init/:這個(gè)目錄中的文件包括 main.c、創(chuàng)建 早期用戶空間(early userspace) 的代碼,以及其他初始化代碼。可以認(rèn)為 main.c 是內(nèi)核“粘合劑(glue)”。在下一部分將深入討論 main.c。早期用戶空間提供了 Linux 內(nèi)核引導(dǎo)起來(lái)時(shí)所需要的功能,而這些功能并不需要在內(nèi)核本身運(yùn)行。
ipc/:IPC 的意思是 進(jìn)程間通信(interprocess communication)。它包含了共享內(nèi)存、信號(hào)量以及其他形式 IPC 的代碼。
kernel/:不適合放在任何其他位置的通用內(nèi)核級(jí)代碼位于此處。這里有高層系統(tǒng)調(diào)用代碼,以及 printk() 代碼、調(diào)度程序、信號(hào)處理代碼,等等。文件名包含很多信息,所以可以使用 ls kernel/,并非能常準(zhǔn)確地猜到每個(gè)文件的功能。
lib/:這里是對(duì)所有內(nèi)核代碼都通用的實(shí)用例程。常見(jiàn)的字符串操作、調(diào)試?yán)?,以及命令行解析代碼都位于此處。
mm/:這個(gè)目錄中是高層次內(nèi)核管理代碼。聯(lián)合使用這些例程以及底層的與體系結(jié)構(gòu)相關(guān)的例程(通常位于 arch//mm/ 目錄中)來(lái)實(shí)現(xiàn)虛擬內(nèi)存(Virtual memory,VM)。在這里會(huì)完成早期內(nèi)存管理(在內(nèi)存子系統(tǒng)完全建立起來(lái)之前需要它),以及文件的內(nèi)存映射、頁(yè)高速緩存管理、內(nèi)存分配、RAM 中頁(yè)的清除(還有很多其他事情)。
net/:這里是高層網(wǎng)絡(luò)代碼。底層網(wǎng)絡(luò)驅(qū)動(dòng)程序與此層次代碼交換數(shù)據(jù)包,這個(gè)層次的代碼可以根據(jù)數(shù)據(jù)包將數(shù)據(jù)傳遞給用戶層應(yīng)用程序,或者丟棄數(shù)據(jù),或者在內(nèi)核中使用它。net/core 包含大部分不同的網(wǎng)絡(luò)協(xié)議都可以使用的代碼,和某些位于 net/ 目錄本身中的文件一樣。特定的網(wǎng)絡(luò)協(xié)議在 net/ 的子目錄下實(shí)現(xiàn)。例如,在 net/ipv4 目錄中可以找到 IP(版本 4)代碼。
scripts/:這個(gè)目錄中包含的腳本可用于內(nèi)核的構(gòu)建,但并不將任何代碼加入到內(nèi)核本身之中。例如,各種配置工具可以將它們的文件放在這里。
security/:在這里可以找到不同 Linux 安全模型的代碼,比如 NSA Security-Enhanced Linux 以及套接字和網(wǎng)絡(luò)安全鉤子函數(shù)(hooks),以及其他安全選項(xiàng)。
sound/:這里放置的是聲卡驅(qū)動(dòng)程序和其他與聲音相關(guān)的代碼。
usr/:此目錄中的代碼用于構(gòu)建包含 root 文件系統(tǒng)映像的 cpio-格式 的歸檔文件,用于早期用戶空間。
ls會(huì)列舉出當(dāng)前工作目錄的內(nèi)容(文件或文件夾)。
mkdir 用于新建一個(gè)新目錄
顯示當(dāng)前工作目錄
切換文件路徑,cd 將給定的文件夾(或目錄)設(shè)置成當(dāng)前工作目錄。
刪除給定的目錄。
rm 會(huì)刪除給定的文件
cp 命令對(duì)文件進(jìn)行復(fù)制
mv 命令對(duì)文件或文件夾進(jìn)行移動(dòng),如果文件或文件夾存在于當(dāng)前工作目錄,還可以對(duì)文件或文件夾進(jìn)行重命名。
cat 用于在標(biāo)準(zhǔn)輸出(監(jiān)控器或屏幕)上查看文件內(nèi)容
ail 默認(rèn)在標(biāo)準(zhǔn)輸出上顯示給定文件的最后10行內(nèi)容,可以使用tail -n N 指定在標(biāo)準(zhǔn)輸出上顯示文件的最后N行內(nèi)容。
less 按頁(yè)或按窗口打印文件內(nèi)容。在查看包含大量文本數(shù)據(jù)的大文件時(shí)是非常有用和高效的。你可以使用Ctrl+F向前翻頁(yè),Ctrl+B向后翻頁(yè)。
grep 在給定的文件中搜尋指定的字符串。grep -i “” 在搜尋時(shí)會(huì)忽略字符串的大小寫(xiě),而grep -r “” 則會(huì)在當(dāng)前工作目錄的文件中遞歸搜尋指定的字符串。
這個(gè)命令會(huì)在給定位置搜尋與條件匹配的文件。你可以使用find -name 的-name選項(xiàng)來(lái)進(jìn)行區(qū)分大小寫(xiě)的搜尋,find -iname 來(lái)進(jìn)行不區(qū)分大小寫(xiě)的搜尋。
tar命令能創(chuàng)建、查看和提取tar壓縮文件。tar -cvf 是創(chuàng)建對(duì)應(yīng)壓縮文件,tar -tvf 來(lái)查看對(duì)應(yīng)壓縮文件,tar -xvf 來(lái)提取對(duì)應(yīng)壓縮文件。
gzip 命令創(chuàng)建和提取gzip壓縮文件,還可以用gzip -d 來(lái)提取壓縮文件。
unzip 對(duì)gzip文檔進(jìn)行解壓。在解壓之前,可以使用unzip -l 命令查看文件內(nèi)容。
help會(huì)在終端列出所有可用的命令,可以使用任何命令的-h或-help選項(xiàng)來(lái)查看該命令的具體用法。圖就省略啦,會(huì)有詳細(xì)列表顯示出來(lái)的。
whatis 會(huì)用單行來(lái)描述給定的命令,就是解釋當(dāng)前命令。
exit用于結(jié)束當(dāng)前的終端會(huì)話。
ping 通過(guò)發(fā)送數(shù)據(jù)包ping遠(yuǎn)程主機(jī)(服務(wù)器),常用與檢測(cè)網(wǎng)絡(luò)連接和服務(wù)器狀態(tài)。
who能列出當(dāng)前登錄的用戶名。
su 用于切換不同的用戶。即使沒(méi)有使用密碼,超級(jí)用戶也能切換到其它用戶。
uname會(huì)顯示出關(guān)于系統(tǒng)的重要信息,如內(nèi)核名稱、主機(jī)名、內(nèi)核版本、處理機(jī)類(lèi)型等等,使用uname -a可以查看所有信息。
df查看文件系統(tǒng)中磁盤(pán)的使用情況–硬盤(pán)已用和可用的存儲(chǔ)空間以及其它存儲(chǔ)設(shè)備。你可以使用df -h將結(jié)果以人類(lèi)可讀的方式顯示。
ps顯示系統(tǒng)的運(yùn)行進(jìn)程。
top命令會(huì)默認(rèn)按照CPU的占用情況,顯示占用量較大的進(jìn)程,可以使用top -u 查看某個(gè)用戶的CPU使用排名情況。
shutdown用于關(guān)閉計(jì)算機(jī),而shutdown -r用于重啟計(jì)算機(jī)。這個(gè)我就不試了......
#1:runuser命令runuser命令使用一個(gè)替代的用戶或者組ID運(yùn)行一個(gè)Shell。這個(gè)命令僅在root用戶時(shí)有用。僅以會(huì)話PAM鉤子運(yùn)行,并且沒(méi)有密碼提示。如果用一個(gè)非root用戶,并且該用戶沒(méi)有權(quán)限設(shè)置user ID,這個(gè)命令將會(huì)因?yàn)槌绦驔](méi)有setuid而失敗。因runuser不會(huì)運(yùn)行認(rèn)證和賬戶PAM鉤子,它比su更底層。語(yǔ)法:代碼如下:runuser -l userNameHere -c 'command'runuser -l userNameHere -c '/path/to/command arg1 arg2'舉例來(lái)說(shuō),作為一個(gè)root用戶,你也許想檢查下oracle用戶下的shell資源限制,輸入:代碼如下:# runuser -l oracle -c 'ulimit -SHa'或者監(jiān)察下nginx或lighttpd web服務(wù)器限制:代碼如下:# runuser -l nginx -c 'ulimit -SHa'或代碼如下:# runuser -l lighttpd -c 'ulimit -SHa'有時(shí),root用戶由于權(quán)限(安全)問(wèn)題不能瀏覽NFS掛載的共享:代碼如下:# ls -l /nfs/wwwroot/cyberciti.biz/http或代碼如下:# cd /nfs/wwwroot/cyberciti.biz/http可能的輸出:代碼如下:-bash: cd: /nfs/wwwroot/cyberciti.biz/http/: Permission denied盡管如此,apache用戶被允許瀏覽或訪問(wèn)掛載在/nfs/wwwroot/cyberciti.biz/http/下基于nfs的系統(tǒng):代碼如下:# runuser -l apache -c 'ls -l /nfs/wwwroot/cyberciti.biz/http/'或代碼如下:# runuser -l apache -c 'cd /nfs/wwwroot/cyberciti.biz/http/; vi index.php'使用runuser命令,無(wú)需使用密碼,并且,只能在root用戶下使用??捎眠x項(xiàng):-l: 讓shell成為登錄shell,用 runuser -l PAM 文件替代默認(rèn)的-g:指定主要的組-G 追加組-c:命令,要傳到shell的單個(gè)命令--session-command=COMMAND:使用-c傳遞單個(gè)命令道shell中并且不創(chuàng)建新的會(huì)話-m: 不重置環(huán)境變量。#2:su命令su命令允許你成為一個(gè)超級(jí)用戶或者替代用戶(substitute user),欺騙用戶(spoof user),設(shè)置用戶(set user)或者切換用戶(switch user)。它允許一個(gè)Linxu用戶切換當(dāng)前用戶到那些你知道密碼的目標(biāo)用戶,切換包括與之關(guān)聯(lián)的運(yùn)行中的控制臺(tái)(console)或者Shell,它的語(yǔ)法如下:代碼如下:su -su - username切換到root用戶su命令會(huì)詢問(wèn)目標(biāo)用戶的密碼,在你的shell命令行中輸入 su - 來(lái)切換到root用戶(你必須知道root用戶的密碼):代碼如下:vivek@wks01:~$ su -或代碼如下:vivek@wks01:~$ su - root輸出示例:Password:代碼如下:root@wks01:/root# logoutvivek@wks01:~$如果輸入了正確的root密碼,會(huì)話的所有權(quán)(這里應(yīng)該指當(dāng)前控制臺(tái)的上下文——譯注)將改為root賬戶。輸入logout可以退出一個(gè)root登錄的shell,輸入 whoami或者id命令來(lái)驗(yàn)證當(dāng)前會(huì)話的所有者:whoami或id用root賬戶運(yùn)行命令語(yǔ)法是:代碼如下:su - root -c "command"或代碼如下:su - -c "command arg1"查看/root目錄下的內(nèi)容,這些原本是普通用戶無(wú)法訪問(wèn)的,運(yùn)行:代碼如下:su - root -c "ls -l /root"需要注意的是,Linix和一些Unix-like系統(tǒng)有一個(gè)wheel用戶組,并且只允許這個(gè)組內(nèi)的用戶使用su切換到root。使用su命令來(lái)讓其他用戶運(yùn)行命令下面這個(gè)命令是切換到oracle的賬戶,并且顯示限制清單:代碼如下:$ su - oracle -c 'ulimit -aHS'同樣, 如果提供了正確的oracle密碼,會(huì)話所有權(quán)將會(huì)變成oracle賬戶。su命令的日志保存在系統(tǒng)日志中,一般是在/var/log/auth.log(Debian/Ubuntu)或者/var/log/secure(RHEL/CentOS)。#3: sudo命令sudo以另外的用戶來(lái)執(zhí)行一個(gè)命令,但是它跟著一組關(guān)于那些用戶可以以那些其他用戶執(zhí)行那些命令的規(guī)則(有點(diǎn)繞口——譯注)。這個(gè)規(guī)則在/etc/sudoers這個(gè)文件中被定義。不像su,sudo驗(yàn)證用戶是靠用戶自己的密碼而不是那個(gè)要切換的用戶密碼。當(dāng)提供一個(gè)審計(jì)跟蹤命令和他們的參數(shù)時(shí)(原文:...whileproviding an audit trail of the commands and their arguments——譯注)sudo允許一個(gè)系統(tǒng)管理員給某些用戶(或用戶組)委派以root或其他用戶來(lái)運(yùn)行某些(或全部)命令的權(quán)限。這允許無(wú)需在用戶之間共享密碼就可以在指定宿主上將指定命令委派給指定用戶。語(yǔ)法如下:代碼如下:sudo commandGUI工具注意事項(xiàng)(su和sudo的前端GUI)gksu 命令是su的前臺(tái),gksudo 是sudo的前端。他們的主要用途是用來(lái)運(yùn)行需要root權(quán)限但不需要運(yùn)行一個(gè)X terminal emulator和使用直接使用su的圖形化命令。語(yǔ)法如下:代碼如下:gksu [-u ] [options] gksudo [-u ] [options] 僅輸入gksu,將會(huì)顯示下面這個(gè)彈窗:然后,你將會(huì)被要求輸入root用戶的密碼:你也可以直接運(yùn)行下面代碼:代碼如下:gksu -u root 'ls /root'或,以oracle用戶運(yùn)行命令:代碼如下:gksu -u oracle 'ulimit -aHS'或作為root登錄:代碼如下:gksu -u root -l總結(jié):runuser VS su VS sudo