Linux之基礎bash shell命令
linux系統構成
linux內核主要負責
系統內存管理
軟件程序管理
硬件設備管理
文件系統管理
GNU工具
執行一些標準功能,比如控制文件和程序。又分為核心工具和shell.
大部分Linux發行版的默認shell都是GNU bash shell.
瀏覽文件目錄
常見的linux目錄名稱:
虛擬的根目錄:/ 二進制目錄:/bin root用戶的主目錄: /root …等等
遍歷目錄:cd destination 後面的參數可以使用絕對文件路徑,也可以使用相對文件路徑
絕對路徑輸入
輸入: ~$ cd /usr/bin
結果:/usr/bin$:
~符號用來追蹤當前所在的虛擬目錄結構中的位置,表示shell會話位於你的主目錄中。
pwd命令 可以顯示出shell會話的當前目錄,這個目錄被稱為當前工作目錄。
純cd命令可以從任何一級跳回主目錄
相對路徑輸入
假如你位於home目錄,希望切換到子目錄document,可以直接使用
1: cd doc
~/doc$
兩個特殊字符
單點符(.),表示當前目錄
雙點符(..),表示當前的父目錄
比如你現在處於主目錄下的doc目錄,想要切換到主目錄的dow下,可以這樣做:
1: cd ../dow
也可以在其他切換中加多個雙點符比如
1: cd ../../etc
文件和目錄列表
ls命令顯示當前目錄下的文件和目錄,可以用-F參數命令輕松區分文件和目錄,-a顯示隱藏文件(前面帶點的),-R列出當前目錄下包含的子目錄中的文件。這些參數可以疊加,比如 ls -alF
-l參數產生長列表格式的輸出。按照順序顯示:文件類型,權限,硬鏈接總數,屬主的用戶名,組的組名,大小(單位字節),上次的修改時間,文件名和目錄
過濾輸出列表
只會顯示該文件的信息,文件名放在所有參數後面。
1: $ls –l my_script
?代表一個任意的字符,*代表0個或多個
1: $ls –l my_scr?pt2: $ls –l my*3: $ls –l my_s*t
[ai]代表a或者i,[a-i]字母範圍a-i,[!a]排除a
創建文件
1: touch filename2: touch dir/filename
touch命令創建一個空文件,並將你的用戶名作為文件的屬主。這個命令還可以改變文件的修改時間,並不會改變文件的內容。只想改變訪問時間,可用-a參數。
查看文件的訪問時間,加入--time=atime
復制文件
源對象和目標對象
1: cp source destination
當兩者都是文件名時,源文件復制成一個全新的文件(destination為名),有新的修改時間。加上-
i強制詢問是否需要覆蓋已有的文件。
也可以將文件復制到現有的目錄中。
1: cp –i test_one /home/christine/Document/
註意Document後面有一個正斜線,代表這是一個目錄而不是一個文件,否則會創建一個document的文件。這個路徑也可以使用相對路徑。下面這個點代表當前的工作路徑。
1: cp –i /etc/Network/conf.conf .
-R 參數可以遞歸地復制整個目錄的內容。
1: cp –R Scripts/ Mod_Scripts
使用通配符
1: cp *script Mod_Scripts/
可以用man cp來來查看所有的參數。
制表鍵(tab)自動補全目錄名文件名命令名,如
1: ls really*
如果匹配成功不會顯示任何信息,
輸入cp really直接按tab就會自動補全。
鏈接文件
符號鏈接:一個實實在在的文件,它指向存放在虛擬目錄結構中某個地方的另一個文件。這兩個通過符號鏈接在一起的文件,彼此的內容並不相同。ln命令以及-s選項來創建符號鏈接。
1: ln –s data_file s1_data_file
ls –i *data_file查看inode的編號可以發現它們是不同的文件。
硬鏈接:會創建獨立的虛擬文件,其中包含了原始文件的信息及位置。但是它們從根本上而言是同一個文件。引用硬鏈接文件等於同於引用了源文件。
1: ln data_file s2_data_file2: ls li *data_file
兩個文件共享inode編號。
說明:想要在不同存儲媒體的文件之間創建鏈接,只能用符號鏈接。不要創建軟鏈接的軟鏈接。
重命名文件
在linux中,重命名文件稱為移動(moving)。mv命令可以將文件和目錄移動到另一個位置或者重命名。
1: mv oldfile newfile
inode編號和時間戳不變,只影響文件名。mv也可以移動文件的位置。
1: mv file_name dir
這兩步可以合為一步
1: mv olddir/file newdir/file
也可以移動整個目錄
1: mv old_scripts new_scripts
刪除文件
一般加上-i來強制詢問是否真的刪除。也可以使用通配符來刪除成組的文件。
1: rm –i f?ll
處理目錄
1: mkdir New_dir
創建多個目錄和子目錄,需要加入-p參數
1: mkdir –p New_Dir/Sub_Dir/Under_Dir
刪除目錄
默認情況下,rmdir命令只刪除空目錄.所以首先要刪除目錄裏的文件。
1: rm -i New_dir/my_file2: rmdir New_dir
或者使用-ri命令進入目錄,先刪除文件,再刪除目錄
1: rm -ri My_Dir
不建議使用-rf直接刪除,這樣不會有任何的提示和反應。
1: rm -rf New_dir
查看文件
查看文件類型
file命令,探測功能,後面跟文件,目錄,符號鏈接,腳本,二進制文件
1: file New_dir/my_file
1: file New_dir2: file si_date_file3: file my_script4: file /bin/ls
查看內容
查看整個文件
cat命令,-n給所有行加上行號,-b只給有文本的行叫上行號,-T用^I代替制表符
more命令,可以手動每頁每頁地顯示。
less命令,more的升級版
查看部分文件
tail命令 默認下顯示文件的末尾10行。-n參數修改所顯示的行數。-f可以查看其它進程使用中的文件
1: tail -n 2 log_file
head命令 顯示開頭文件的內容,同樣它也支持-n,但不支持-f參數。
Linux之基礎bash shell命令