Linux文件權限 出爐啦, 快進來學習收藏吧!
前言
@TOC
一.強大好用的Shell
我們都知道windows 有dos輸入命令,linux的輸入命令是什么呢?沒錯!就是shell
計算機硬件是由運算器、控制器、存儲器、輸入/輸出設備等共同組成的,而讓各種硬件設備各司其職且又能協同運行的東西就是系統內核。
Linux系統的內核負責完成對硬件資源的分配、調度等管理任務。由此可見,系統內核對計算機的正常運行來講是太重了,因此一般不建議直接去編輯內核中的參數,而是讓用戶通過基于系統調用接口開發出的程序或服務來管理計算機,以滿足日常工作的需要。
Shell就是這樣的一個命令行工具。
**Shell(也稱為終端或殼)**充當的是人與內核(硬件)之間的翻譯官,用戶把一些命令“告訴”終端,它就會調用相應的程序服務去完成某些工作。
現在包括紅帽系統在內的許多主流Linux系統默認使用的終端是Bash(Bourne-Again SHell)解釋器。
bash 是一個為GNU計劃編寫的Unix shell。它的名字是一系列縮寫:Bourne-Again Shell 。
Bourne shell是一個早期的重要shell,由史蒂夫·伯恩在1978年前后編寫,并同Version 7 Unix一起發布。bash則在1987年由布萊恩·福克斯創造。
功能
(1)命令行編輯功能
(2)命令和文件名補全功能
(3)命令歷史功能
(4)命令別名功能
(5)提供作業控制功能
(6)具有將命令序列定義為功能鍵的功能
(7)靈活的Shell腳本編程
二.執行查看幫助命令
Linux系統中已經有了Bash這么好用的“翻譯官”,那么接下來就有必要好好學習下怎么跟它溝通了。要想準確、高效地完成各種任務,僅依賴于命令本身是不夠的,還應該根據實際情況來靈活調整各種命令的參數。
Linux命令格式由三部分組成:命令名稱,命令選項,命令參數。
命令參數一般是指要處理的文件、目錄、用戶等資源。
命令選項可以用長格式(完整的選項名稱),也可以用短格式(單個字母的縮寫),兩者分別用--與-作為前綴。
命令提示符是在操作系統中,提示進行命令輸入的一種工作提示符。在不同的操作系統環境下,命令提示符各不相同。
在Linux環境中,輸入界面中的如下所示是命令提示符,表示命令輸入的狀態。
[當前用戶賬號@當前主機名 路徑最后一個目錄 ] #或者$
管理員root用戶的提示符“#”
[root@localhost ~]#
普通用戶提示符“$”
[teacher@localhost ~] $
命令的各組成部分之間用空格分隔
命令的輸入以回車鍵結束
一般一行輸入一條命令
命令區分大小寫
如果命令過長,可以輸入“\”符號進行換行繼續輸入
help命令
用于顯示shell內部命令的幫助信息:
(1)$ help pwd
(2)“–help”命令選項
(3)$touch --help
man命令
$ man ls
使用man命令閱讀手冊頁
man指令可以查看Linux中的指令幫助、配置文件幫助和編程幫助等信息
三.常用系統工作命令
1.echo命令
echo命令用于在終端輸出字符串或變量提取后的值,格式為 “echo [字符串 | $變量]” 。
例如,把指定字符串“Linux”輸出到終端屏幕的命令為:
[root@linux ~]# echo Linux
該命令會在終端屏幕上顯示如下信息:
Linux
2.date命令
date命令用于顯示及設置系統的時間或日期,格式為“date [選項] [+指定的格式]”。
只需在強大的date命令中輸入以“+”號開頭的參數,即可按照指定格式來輸出系統的時間或日期,這樣在日常工作時便可以把備份數據的命令與指定格式輸出的時間信息結合到一起。
3.reboot命令
reboot命令用于重啟系統,其格式為reboot。
由于重啟計算機這種操作會涉及硬件資源的管理權限,因此默認只能使用root管理員來重啟,其命令如下:
[root@linux ~]# reboot
5.ps命令
ps命令用于查看系統中的進程狀態,格式為“ps [選項]”。
常用選項:
-a顯示所有進程(包括其他用戶的進程)
-u用戶以及其他詳細信息
-x顯示沒有控制終端的進程
如果把所有的選項全部帶上的話,結果如下:
解析:
6.top命令
top命令用于動態地監視進程活動與系統負載等信息,其格式為top。
top命令相當強大,能夠動態地查看系統運維狀態,完全將它看作Linux中的“強化版的Windows任務管理器”。
四.系統狀態檢測命令
概述:
作為一名合格的運維人員,想要更快、更好地了解Linux服務器,必須具備快速查看Linux系統運行狀態的能力,接下來會講解與網卡網絡、系統內核、系統負載、內存使用情況、當前啟用終端數量、歷史登錄記錄、命令執行記錄以及救援診斷等相關命令的使用方法。
1.ip addr命令
ip addr命令用于獲取網卡配置與網絡狀態等信息。
使用Ip addr命令來查看本機當前的網卡配置與網絡狀態等信息時,其實主要查看的就是網卡名稱、inet參數后面的IP地址、ether參數后面的網卡物理地址(又稱為MAC地址):
2.uname命令
uname命令用于查看系統內核與系統版本等信息,格式為“uname [-a]”。
在使用uname命令時,一般會固定搭配上-a參數來完整地查看當前系統的內核名稱、主機名、內核發行版本、節點名、系統時間、硬件名稱、硬件平臺、處理器類型以及操作系統名稱等信息。
3.uptime命令
uptime用于查看系統的負載信息,格式為uptime。
uptime命令可以顯示當前系統時間、系統已運行時間、啟用終端數量以及平均負載值等信息。平均負載值指的是系統在最近1分鐘、5分鐘、15分鐘內的壓力情況;負載值越低越好,盡量不要長期超過1,在生產環境中不要超過5。
4.free命令
free用于顯示當前系統中內存的使用量信息,格式為“free [-h]”。
為了保證Linux系統不會因資源耗盡而突然宕機,運維人員需要時刻關注內存的使用量。在使用free命令時,可以結合使用-h參數以更人性化的方式輸出當前內存的實時使用量信息。
5.who命令
who用于查看當前登入主機的用戶終端信息,格式為“who [選項]”。
這三個簡單的字母可以快速顯示出所有正在登錄本機的用戶的名稱以及他們正在開啟的終端信息。
6.last命令
last命令用于查看所有系統的登錄記錄,格式為“last [選項]”。
使用last命令可以查看本機的登錄記錄。但是,由于這些信息都是以日志文件的形式保存在系統中,因此黑客可以很容易地對內容進行篡改。千萬不要單純以該命令的輸出信息而判斷系統有無被惡意入侵!
7.history命令
-c: 清空歷史命令
-w: 把緩存中的歷史命令寫入歷史命令保存文件~/.bash_history歷史命令默認會保存1000條,可以在環境變量配置文件/etc/profile中進行修改
歷史命令的調用
使用上、下箭頭調用以前的歷史命令
使用“ !n”重復執行第n條歷史命令
使用“ !!”重復執行上一條命令
使用“ !字串”重復執行最后一條以該字符串開頭的命令
五.文件管理常用命令
pwd命令:用于顯示用戶當前所處的工作目錄
格式為:”pwd [選項]”
cd命令:用于切換工作路徑。
語法格式: cd 目錄路徑
(1)cd:直接回到用戶主目錄**
(2)“cd ~”命令:切換到當前用戶的家目錄**
(3)“cd ..”命令:進入上級目錄
(4)“cd -”命令:返回到上一次所處的目錄
cd命令路徑的表示:
(1)相對路徑是以“.”或“…”開始的目錄路徑表示形式 cd ./test
(2)絕對路徑是以“/”開始的路徑表示形式cd /home
ls命令:當前目錄下的所有內容
命令格式:ls [選項] [文件]
命令選項:
(1)-t: 按照修改時間排列顯示
(2)-a:看到全部文件(包括隱藏文件)
(3)-l: 可以查看文件的屬性、大小等詳細信息
cat命令:用于查看純文本文件(內容較少的)
語法格式:cat [-AbeEnstTuv] [–help] [–version] 文件名稱
常用選項:-n 或 --number 由 1 開始對所有輸出的行數編號
直接輸入cat會進入交互模式,輸入什么內容就會顯示什么內容
Ctrl+c 強制中斷命令執行 Ctrl+d 退出
輸入cat >file1.txt可以把內容寫入到file1.txt文件中,也會進入輸入模式。 Ctrl+d保存退出
more命令:查看更多純文本文件
(1)space:下一頁
(2)回車:向下滾動
(3)B鍵:往回一頁
(4)Q鍵:停止顯示
less命令:可以使用pageup pagedown 翻頁查看文件內容
head命令:顯示頭部內容(默認十行)
tail -n命令:顯示尾部內容。-n 用數字來指定顯示的行數。
wc命令:統計數目 -l行數 -w字數 -c字節數
cut命令:分割
diff命令:比較兩個文件內容的不同
file命令:查看文件類型 格式:“file 文件名”
touch命令:創建空白文件,設置文件時間
格式:touch [選項] 文件或目錄名 -d “日期” 文件名
mkdir命令:創建目錄
rmdir命令:刪除目錄
cp命令:拷貝文件或目錄
命令語法:cp [選項] 源文件 目標文件
列:將test文件拷貝到home目錄下
6. rm命令:rm命令用于刪除文件或目錄。想要刪除目錄,需要在rm命令后面一個**-r**參數,-f是強制刪除。
7. mv命令:重命名文件
六.打包壓縮與搜索命令
在Windows下最常見的壓縮文件就只有兩種,一是.zip,另一個是.rar。可是Linux就不同了,它有.gz、.tar.gz、tgz bz2、.Z、.tar等眾多的壓縮文件名,此外windows下的.zip和.rar也可以在Linux下使用,不過在Linux使用.zip和.rar的人就太少了。
tar是linux常見的一種歸檔文件,打包文件,不包括壓縮的功能。他只消耗非常少的CPU以及時間去打包文件。
tar.gz是linux中使用得最多的壓縮格式,這種格式一般是先歸檔然后再壓縮,它在壓縮時不會占用太多的cpu,而且壓縮比率理想。
tar.bz2是linux中壓縮率最好的壓縮格式,但是,壓縮率好就意味這要消耗更多的cpu時間。
1.tar命令
tar命令用于對文件進行打包壓縮或解壓,tar命令可以把一系列的文件歸檔到一個大文件中,也可以把檔案文件解開以恢復數據。
命令語法:tar [選項] 檔案文件 文件列表
常用選項:
-c:生成檔案文件。
-v:列出歸檔解檔的詳細過程。
-f:指定檔案文件名稱。
-r:將文件追加到 檔案文件末尾。
-z:以gzip格式壓縮或解壓縮文件。
-j:以bzip2格式壓縮或解壓縮文件。
-t:查看內容。
-x:解開檔案文件。
實例一:將整個 /etc 目錄下的文件全部打包成為 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <== 僅打包,不壓縮!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <== 打包后,以 gzip 壓縮
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <== 打包后,以 bzip2 壓縮
特別注意,在參數 f 之后的文件檔名是自己取的,我們習慣上都用 .tar 來作為辨識。
如果加 z 參數,則以 .tar.gz 或 .tgz 來代表 gzip 壓縮過的 tar file
如果加 j 參數,則以 .tar.bz2 來作為附檔名
實例二:查閱上述 /tmp/etc.tar.gz 文件內有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
由於我們使用 gzip 壓縮,所以要查閱該 tar file 內的文件時,
就得要加上 z 這個參數了!這很重要的!
實例三:將 /tmp/etc.tar.gz 文件解壓縮在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
在預設的情況下,我們可以將壓縮檔在任何地方解開的!以這個范例來說
我先將工作目錄變換到 /usr/local/src 底下,并且解開 /tmp/etc.tar.gz
則解開的目錄會在 /usr/local/src/etc ,另外,如果您進入 /usr/local/src/etc
則會發現,該目錄下的文件屬性與 /etc/ 可能會有所不同喔!
1.find命令
命令語法:
find pathname -options 參數
(pathname: find命令所查找的目錄路徑)
選項參數:
-name 按照文件名查找文件。
-user 按照文件屬主來查找文件
-group 按照文件所屬的組來查找文件。
查找過程可以使用通配符 ,*表示多位字符,?表示一位字符
** 實例一** :
[root @localhost /root]#find / -name passwd
從根目錄起查找名為passwd的文件,并把結果輸出到標準設備。
[root @localhost /root]#find /home /etc –user longkey
在目錄/home和目錄/etc中查找longkey用戶所擁有的文件。
實例二:
查找文件名中包含某字符(如"elm")的文件
find /home/ -name ‘*elm*‘ 中間包含elm的文件 find /home/ -name ‘elm*‘ 以elm開頭的文件 find /home/ -name ‘*elm‘ 以elm結尾的文件 find /home/ -name ‘elm?' 以elm開頭的4字符名稱的文件
2.grep命令
grep命令用于在文本中執行關鍵詞搜索,并顯示匹配的結果。
命令語法:
grep [參數] 要查找的字符串 文件名
參數選項:
-v:反向選擇,僅列出沒有“關鍵詞”的行。
-c:僅顯示找到的行數
-i:不區分大小寫。
-b: 將可執行文件(binary)當作文本文件(text)來搜索
-n:每個匹配行只按照相對的行號顯示。
3.whereis命令
whereis命令用來尋找命令的可執行文件所在的位置。
**命令語法:**whereis [參數] 命令名稱
參數選項:
-b: 只查找二進制文件。
-m:只查找命令的聯機幫助手冊部分。
-s:只查找源代碼文件。
4.whatis命令
whatis命令whatis命令用于獲取命令簡介。
命令語法:whatis 命令名稱
七.重定向與管道符
輸入重定向是指把文件導入到命令中
輸出重定向則是指把原本要輸出到屏幕的數據信息寫入到指定文件中
在日常的學習和工作中,相較于輸入重定向,我們使用輸出重定向的頻率更高,所以又將輸出重定向分為了標準輸出重定向和錯誤輸出重定向兩種不同的技術,以及清空寫入與追加寫入兩種模式。
(1)標準輸入重定向(STDIN,文件描述符為0):默認從鍵盤輸入
(2)標準輸出重定向(STDOUT,文件描述符為1):默認輸出到屏幕。
(3)錯誤輸出重定向(STDERR,文件描述符為2):默認輸出到屏幕。
如下圖所示,查看正常的一個文件,能夠顯示出來具體的信息,而查看一個錯誤的文件,會提示錯誤的信息。要想把原本輸出到屏幕上的數據轉而寫入到文件當中,就要區別對待這兩種輸出信息
輸入重定向相對來說有些冷門,在工作中遇到的概率會小一點。輸入重定向的作用是把文件直接導入到命令中。接下來使用輸入重定向把readme.txt文件導入給wc -l命令,統計一下文件中的內容行數。
[root@linuxprobe ~]# wc -l < readme.txt 2
將命令輸出重定向到文件
將標準輸出重定向到文件
$ ls /etc/ > etcdir
將標準輸出重定向追加到文件
$ ls /etc/sysconfig/ >> etcdir
將錯誤輸出重定向到文件
$ nocmd 2> errfile
將標準輸出和錯誤輸出重定向到文件
$ ls afile bfile &> errfile
管道命令符的作用也可以用一句話來概括“把前一個命令原本要輸出到屏幕的標準正常數據當作是后一個命令的標準輸入”,同時按下鍵盤上的Shift+\鍵即可輸入管道符,其執行格式為“命令A | 命令B|命令C|…”。
這個管道符就像一個法寶,我們可以將它套用到其他不同的命令上,比如用翻頁的形式
查看/etc目錄中的文件列表及屬性信息。
通配符就是通用的匹配信息的符號,比如星號(*)代表匹配零個或多個字符,問號(?)代表匹配單個字符,中括號內加上數字[0-9]代表匹配0~9之間的單個數字的字符,而中括號內加上字母[abc]則是代表匹配a、b、c三個字符中的任意一個字符。
轉載說明:跟我說明,務必注明來源,附帶本人博客連接。
請給我點個贊鼓勵我吧
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。