linux // shell基本命令和文件目錄管理
1 人贊了文章
shell基本命令:通配符:*:用於匹配文件名中任意長度的字元串?:用於匹配一個字元[]:用於匹配所有出現在方括弧內的字元 [a-z]:從a,b,c,...z [1-10]:1,2,3,...10--------------------------------------------------------------------------------------列出目錄內容 ls:ls -F :區分顯示目錄和文件,可執行文件,鏈接文件等ls -a:顯示所有的文件,包括隱藏文件ls -l:顯示文件的各種屬性(文件許可權,文件所有者,修改日期,文件名,文件的大小等等)ls -ld:顯示當前目錄的屬性dir==lsvdir==ls -l---------------------------------------------------------------------------------------cat 查看文本文件,即把文件內容顯示在屏幕上cat -n xx 在每一行前面顯示行號 more xx :把文本內容一頁一頁的顯示在屏幕上 按空格鍵向下翻頁,按Enter 鍵向下滾動一行,Q鍵退出head xx:顯示前十行tail xx:顯示最後十行更好的文本閱讀工具:less 相當於沒有編輯功能的Vim less -M顯示更詳細的信息(文件名,當前頁碼,總的頁碼,所佔百分比)less -m 只顯示所佔百分比。按空格鍵向下翻頁;按B鍵向上翻頁 按/xx,所有符合xx命名的字元都會標亮 按Q鍵退出grep 關鍵字查找 grep [options] [file] 僅僅顯示所有包含[option]關鍵字的語句-------------------------------------------------------------------------------------------文件查找:located xx 全局搜索,找出所有包含xx名字的文件以及路徑whereis xx 用來查找耨個程序文件,例如whereis find ;whereis ls等命令---------------------------------------------------------------------------------------------從終端運行文件:直接在終端界面輸入軟體名字即可,如firefox 就可以打開火狐瀏覽器,但是這樣的話,當前終端將會被掛起,當程序運行結束或者手動結束後,終端才會釋放。 解決方法是:firefox & 將在後台運行程序------------------------------------------------------------------------------------------------用戶及版本信息查看who 查看當前系統中有哪些人登錄以及他們都在哪個控制台上whoami 顯示自己的身份 uname -a 顯示當前系統的版本信息(所有的)uname -r 顯示內核信息----------------------------------------------------------------------------------------------------------尋求幫助 man xx:顯示xx命令的幫助手冊whatis xx:顯示xx的基本功能
文件目錄管理創建目錄:mkdir xx (只能創建一級目錄)mkdir -p ./data/pp/ 迭代創建多級目錄 首先創建data/ 然後再data/目錄下創建pp/目錄 touch xx 創建一個空文件(若已存在文件,則更新創建日期和時間)echo hello>pyao 用重定向創建一個文件pyao 並在裡面寫入 『hello』--------------------------------------------------------------------------------移動文件: mv 但是一個缺點是,如果要移動的文件在目標地址有一個相同命名的文件,則會自動覆蓋解決辦法:mv -i 若有相同命名的文件,則會給出提示mv -b 將目標目錄下的相同命名文件重命名,原名字後面加一個~符號----------------------------------------------------------------------------------複製: cp 缺點和mv一樣,會覆蓋目標目錄裡面的相同命名文件 cp -i // cp -b的效果和mv的一樣cp 僅可以複製文件另一個文件夾中,目錄及其下面的文件不能被複制解決方案 cp -r 把文件及目錄以及目錄下的文件全部複製------------------------------------------------------------------------------------刪除 rmdir :只能刪除空目錄rm 只能刪除文件rm -i刪除文件時會給出提醒rm -f 避免互動式操作,所有的回答均給出y的回答rm -r 遞歸刪除目錄下的所有文件及目錄以及目錄下的子文件,常用rm -rf來代替---------------------------------------------------------------------------------------文件和目錄的許可權通過ls -l查詢文件及目錄的屬性 第一個欄位表示許可權,d表示目錄 然後以每三個字元為一個斷句,分別表示屬主,屬組,其他人對該文件的許可權第二個欄位表示該文件的連接數目,也就是硬鏈接的數目。第三個欄位表示當前文件的所屬屬主第四個欄位表示當前文件的所屬屬組五六七欄位維時間日期第八個欄位為文件的完整路徑chown 用來改變文件的所有權例如:sudo chown guest :root nltk_data 表示把屬主改為guest 屬組改為root若要把目錄及其子文件全部改變許可權 sudo chown -R改變文件的讀/寫/執行許可權:用戶組包括文件屬主(u),文件屬組(g),其他人(o)和所有人(a)。許可權包括讀取(r),寫入(w),執行(x)chomd u+x days 對days文件增加屬主的執行許可權chomd a-x days 對days文件刪除所有人的執行許可權chomd ug=rw,o=r days 對days文件,賦予屬主和屬組的讀寫權利,其他人讀的權利。
----------------------------------------------------------------------------------------軟連接 ln -s a b 相當於快捷方式,文件b 是 文件a的快捷方式 ,b自身只是個指向,沒有具體內容硬鏈接 ln a b 把文件a和文件b關聯在一起,這是兩個獨立的文件,但是文件內容是一樣的,一個文件被修改,另一個也自動修改(用處不大)-----------------------------------------------------------------------------------------輸出重定向 程序在默認情況下輸出結果的地方被稱為標準輸出stdout,標準輸出總指向顯示器,所以我們能夠看到。我們也可以吧程序的輸出轉移到另一個地方,即輸出重定向:$ls >./ls_out 會把ls命令的輸出自動寫入ls_out文件中,若文件不存在,則創建;若文件原本就存在,則覆蓋原文件內容;若不想覆蓋原文件內容,使用ls>>./ls_out;輸入重定向程序在默認情況下接收輸入的地方被稱為標準輸入stdin,標準輸入總指向鍵盤。例如$cat <days 從days文件中提取信息 傳入cat中管道:|管道把重定向結合起來,舉例說明: $ls | grep ay 意思就是把 ls的輸出送入grep的輸入中, ay是grep的第一個參數
推薦閱讀:
※Linux Android NDK
※如何在 Linux 中查看系統硬體製造商、型號和序列號
※Linux 下如何通過兩個或多個輸出設備播放聲音
※Linux系統如何實現數據自動化備份?
※德國下薩克森州1.3萬台工作站計劃從Linux遷至Win10
TAG:Linux |