-----------------------------unix 概述------------------------------ 我的電腦適合裝linux,不適合裝unix,unix經常使用於服務器 unix OS歷史 1965年貝爾實驗室,MIT計劃創建一套多使用者,多任務,多層次的MULTICS 1970年被稱爲「unix元年」 1971年fork()調用在這時候出現 1973年,用C語言重寫了unix的第三版內核 1980年,產生最主要的2個unix的版本線,BSD unix和unix Kernel and Shell hardware->Kernel(內核)->Shell unix內核不是硬件也不是軟件,不是操做系統,能夠把命令翻譯成01代碼,Shell(腳本語言)能夠把腳本語言翻譯成內核代碼 第一課:unix經常使用命令行: dir 列出當前目錄下的文件夾及其文件 clear 清屏(以前的內容還在,上翻便可) PS1="%"能夠改系統提示符爲% source ~/.bashrc bashrc是shell 的配置文件,能夠回到初始狀態 more ~/.bashrc 顯示bashrc文件 vi ~/.bashrc 查看vi pwd (print work directory)查看當前目錄 ls (list)列出當前目錄下的全部文件及目錄 cd (change directory)改變目錄 .表明當前目錄 ..表明上一層目錄 /表明計算機系統的頂層目錄 新建一個文件夾後,必定會存在兩個文件:.和.. 絕對路徑:由根開始/到當前目錄 相對路徑:從當前路徑.開始尋找文件 按照需求定製命令: ls -R 表示列出當前目錄及子目錄中的全部文件 unix中以點開頭的文件爲隱藏文件 ls -a 列出全部文件,包括隱藏文件 ls -l 以長格式列出文件以及目錄的信息: 1/包括文件類型及文件權限(共佔10個字符,) d表示文件夾 空表示文件 l表示連接,相似於快捷方式,存放了原文件的文件路徑 2/drwxrwxr-x,除第一個字符外,第一個表示本身文件全部者的權限rwx,第二個rwx表示同組的權限,第三個rwx表示 3/後跟的數字2表示連接的個數,即快捷方式的個數, 4/文件主名,文件組名 5/字節數 6/建立日期(文件最後一次修改的日期) 7/文件名 選項疊加:ls -a -l 和ls -la表示以長格式顯示文件及其隱藏文件,其中l 和a的順序不影響 ls -F 列出的文件類型經過後綴區分: /表示目錄 空表示文件 *表示可執行文件(可運行文件) cd ../.. 後退兩層目錄 cd (不加任何東西)可回到主目錄 cd ~ 表示回到主目錄,其中~表示主目錄,在程序中能夠用~來表示主目錄 建立文件或目錄: mkdir csd1307 建立一個名爲csd1307的文件夾 touch file_name 功能:修改文件日期,若是文件不存在,則爲新建一個文件 ls -l a.txt 用長格式列出文件a.txt的信息 touch file_name1 file_name2 file_name3 建立三個文件 刪除文件:rm rm file_name 刪除,一次性無提示不可還原的刪除文件或目錄(不安全) rm file_name -i 可提示的刪除(y就會刪除,n或者什麼都不輸不會刪除) 元字符:用上檔鍵輸入的字符 通配符:*表示任何一個或多個字符 ?表示任意一個字符 [a-z]表示任意a-z的字符 刪除目錄: rmdir dir_name 必須是空目錄才能刪除 rm -r dir_name 強制刪除目錄(無論目錄是否非空) -i提示是否刪除 編輯文件: echo 回顯, echo hello>>a.txt 向a.txt中添加hello >重定向符號,向文件添加文本後,文件原來的內容會被覆蓋 >>表示文本的追加 gedit 相似於windows中的記事本,unix中沒有 vi linux,unix中都會有 vi 編輯器 命令模式——》(i,a,o)編輯模式 i 當前位置插入 a 當前光標以後插入 o 當前光標的下一行插入 編輯模式——》(Esc)底行模式(命令模式) :w hello.c 把剛剛編輯的內容保存爲hello.c :q! 不保存強制退出 gcc hello.c 會生成一個名爲a.out的文件 echo $PATH 顯示環境變量 day2 將原文件內容拷貝到目標文件: cp 原文件 目標文件 -i 拷貝過程當中若目標文件存在則詢問是否覆蓋(y/n) -r:拷貝目錄 cp -r dir1 dir2 mv 移動文件或重命名文件 mv a.txt .. 將a.txt 移動到上一層目錄 mv a.txt note1 將a.txt 移動到note1目錄中 mv file_name1 file_name2 file_name3 Dir 移動多個文件 mv file_name1 file_name2 將file_name1重命名爲file_name2 當用mv更改文件名時,若文件名存在,則存在的文件將被覆蓋 mv dir1 dir2 給目錄重命名 ln 建立連接文件 格式:ln -選項 file_name link_name 軟連接(快捷方式):相似於windows中的快捷方式 ln -s 硬連接(回收站):相似於windows中的回收站 ln 原文件失效後,軟連接不可用,而硬連接仍然可使用(用more分別查看軟連接和硬連接的文件名) 硬連接在內存中不佔用空間,爲a.txt建立硬連接yinglink至關於有兩個名字a.txt和yinglink兩個名字指向a.txt文件佔用的內存空間,因此刪除a.txt後,yinglink仍然可使用 unix中當沒有任何名字引用到這塊內存空間時,該文件才能被刪除,若是有任何一個名字指向內存空間的某個位置,該內存空間就不會被刪除。 ls -l 命令顯示的連接數其實是指硬連接的數目,只有刪除全部的硬連接,纔會刪除內存中佔用的那片區域。 ftp命令(windows中也可以使用):遠程終端命令 ftp 192.168.1.1 在本地計算機連接ftp服務器,進入以後,任何操做是對服務器的操做,和在本地計算機上操做如出一轍 !pwd !ls !cd 等等則爲在遠程終端對本地進行操做 查看等 fput 文件上傳 fput hello.c 把hello.c上傳到服務器的當前路徑 fput /home/yuanyuan/hello.c fputs note1.txt note2.txt note3.txt 上傳多個文件 fget a.out 從服務器下載a.out fgets a.txt b.txt c.txt 從服務器下載多個文件 exit 退出ftp set bin 將文件內容進行二進制來上傳,下載,能避免亂碼,但該命令只對內容有效,對名稱無效 向服務器上傳,儘可能不要用中文名稱,由於有可能產生亂碼 gftp 上傳下載的可視化軟件