Linux基礎1

Linux基礎(一)

一:Linux概述

1. Linux的概述

Unix

Unix是一個強大的多用戶、多任務操作系統。 於1969年在AT&T的貝爾實驗室開發。 UNIX的商標權由國際開放標準組織(The Open Group)所擁有。 UNIX操作系統是商業版,需要收費,價格比Microsoft Windows正版要貴一些。

簡介

Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡爲核心的設計思想,是一個性能穩定的多用戶網絡操作系統。

嚴格來講,Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU工程各種工具和數據庫的操作系統。

歷史

Linux最初是由芬蘭赫爾辛基大學學生Linus Torvalds由於自己不滿意教學中使用的MINIX操作系統, 所以在1990年底由於個人愛好設計出了LINUX系統核心。後來發佈於芬蘭最大的ftp服務器上,用戶可以免費下載,所以它的周邊的程序越來越多,Linux本身也逐漸發展壯大起來,之後Linux在不到三年的時間裏成爲了一個功能完善,穩定可靠的操作系統.

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-QWRLhiC2-1578389522359)(assets/96dda144ad345982b3b0bcdb0df431adcbef8444.jpg)]

版本

Linux的版本分爲兩種:內核版本和發行版本
內核版本是指在Linus領導下的內核小組開發維護的系統內核的版本號  
發行版本是指一些組織和公司根據自己發行版的不同而自定的 

主流版本

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-mDix5cpk-1578389522361)(assets/1548055765804.png)]

應用

Linux的運用非常廣泛
服務器系統:Web應用服務器、數據庫服務器、DNS、FTP等等;
嵌入式系統:路由器、分享器、交換器、家電用品的微電腦控制器等等,
運算服務器:高性能運算、計算密集型應用
桌面應用系統
移動手持系統

2. Linux和windows差異

系統核心

windows和linux的本質區別是核心的不同,windows是從早期的dos經過比爾蓋茨開發來的,linux是由李納斯最早從unix上開發出來的

授權方式

windows是微軟公司的產品,版權在微軟公司
linux遵循GNU,是開放免費的軟件.

交互方式

windows主要是通過圖形界面的方式和用戶交互的,圖形界面會佔用比較多的資源
linux的用戶企業用戶大部分時候是遠程操作,用命令行的時候比較多,對資源的消耗比較少

應用領域

windows目前主要的應用應該是PC機,或者說是家用的普通辦公電腦。
linux更多的用於企業的服務器或者網絡設備等。

二:軟件安裝

VM,Linux CentOS, putty 等三份軟件的安裝

三:Linux常用命令(重點)

1. 目錄操作

Linux目錄結構

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-2uqHt9Kz-1578389522363)(assets/1548298026886.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-iqisENyc-1578389522364)(assets/003vPl7Rty6E8kZRlAEdc690.jpg)]

常用目錄

/root: 該目錄爲系統管理員,也稱作超級權限者的用戶主目錄。
/home: 用戶的主目錄,在Linux中,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的。
/etc:  這個目錄用來存放所有的系統管理所需要的配置文件和子目錄。
/usr:  這是一個非常重要的目錄,存放系統用戶共享資源

列出文件及目錄

ls(list)是一個非常有用的命令,用來顯示當前目錄下的內容。配合參數的使用,能以不同的方式顯示目錄內容。     
格式:ls [參數] [路徑或文件名]
參數:
	-a	顯示所有文件或目錄(包含隱藏的文件)
	-l	顯示文件詳細信息 
常用:
    在linux中以 . 開頭的文件都是隱藏的文件
    ls
    ls -a  		顯示所有文件或目錄(包含隱藏的文件)
    ls -l  		列出當前目錄下的文件列表,以詳細信息展示,可以縮寫爲ll
    ls -l /		列出根目錄下的文件列表,以詳細信息展示

切換目錄

cd(change directory)命令可以用來切換目錄

格式: cd <路徑或目錄名>
常用:
	cd app    	切換到app目錄
    cd ..    	切換到上一層目錄
    cd /        切換到系統根目錄
    cd ~        切換到用戶主目錄
    cd -        切換到上一個所在目錄

創建目錄

mkdir(make directory)命令可用來創建子目錄。

格式: mkdir [參數] <目錄路徑或目錄名>
參數: 
	-p	級聯創建目錄結構
常用:
    mkdir app   在當前目錄下創建app目錄
    mkdir –p app2/test  級聯創建aap2以及test目

刪除目錄

rmdir(remove directory)命令可用來刪除“空”的子目錄

格式: rmdir <目錄路徑或目錄名>
常用:
    rmdir app    刪除app目錄

2. 文件操作

查看文件內容

cat 用於顯示文件的內容。

格式: cat [參數] <文件名>
參數:
	-n	對輸出的所有行編號
常用
    cat yum.conf
    cat -n yum.conf
more 一般用於要顯示的內容會超過一個畫面長度的情況。按空格鍵顯示下一個畫面。回車顯示下一行內容。

格式: more [參數] <文件名>
常用:
    more yum.conf
快捷鍵:   
    空格		翻頁
    確定		下一行
    q		 退出查看
less 用法和more類似,不同的是less可以通過PgUp、PgDn鍵來控制上下翻頁。

格式: more [參數] <文件名>
常用:
    less yum.conf
快捷鍵:   
    PgUp		上一頁
    PgDn		下一頁
    q		 	退出查看
head 查看文件的前面部分,默認顯示前10行

格式: more [參數] <文件名>
參數:
	-n		顯示每個文件的前n行內容
常用:	
    head yum.conf  顯示文件的前10行
    head -100 yum.conf  顯示文件的前100行
tail 查看文件的後面部分,默認顯示最後10行

格式: tail [參數] <文件名>
參數:
	-n		顯示每個文件的後n行內容
	-f		即時輸出文件變化後追加的數據。
常用:	
    tail yum.conf  		顯示文件的最後10行
    tail -100 yum.conf  顯示文件的最後100行
    tail -f yum.conf  	顯示文件的最後10行,並且監控文件的變化,輸出文件變化後追加的數據。

過濾文件內容

grep 查找符合條件的字符串。
格式: grep <text> [參數] <文件名>
參數:
	-i 	忽略大小寫
	-n  輸出的同時打印行號
	-B  顯示前N行的內容
	-A	顯示後N行的內容
	--color 高亮展示查詢關鍵字
常用:	
    grep headers install.log  在文件中查找headers
    grep  -B 10 headers  install.log   在文件中查找headers,顯示前10行的內容
    grep  -A 10 headers  install.log   在文件中查找headers,顯示後10行的內容
    grep  -A 10 --color headers  install.log  在文件中查找headers,高亮展示關鍵字

創建空文件

touch 用於創建一個空文件

格式: touch <文件名>
常用:
	touch aa.txt

刪除文件

rm 用於刪除文件或者目錄

格式: rm [參數] <文件名>
參數:
	-f  	強制刪除。忽略不存在的文件,不提示確認
	-r		遞歸刪除目錄及其內容
常用:
    rm 	a.txt    	刪除a.txt文件,輸入y/n,y確認刪除,n不刪除
    rm -f   a.txt   不詢問,直接刪除
    rm -r   aa    	刪除aa目錄,每個目錄及文件都提示
    rm -rf  aa    	不詢問遞歸刪除aa目錄
    rm -rf  *      	刪除當前目錄下所有文件
    rm -rf  /*      刪除根目錄下所有文件(自殺)

文件編輯

vi/vim 用於編輯文件, 一共有三種模式:命令行模式、插入模式、底行模式。

格式: vi/vim [參數] <文件名>

命令行模式: 用戶在命令行模式可以按一些快捷鍵達到快速輸入的目的,例如複製,粘貼,刪除,插入等
插入模式: 用戶可以在插入模式對文件內容進行編輯
底行模式: 用戶可以底行模式輸入一些命令,對文件進行操作,例如:保存退出,不保存退出,查找等

用戶使用vi/vim命令編輯文件,剛開始進入到命令行模式,之後可以使用命令來切換模式

命令行模式-->插入模式: 
    i 在當前位置插入
    I 在當前行首插入
    a 在當前位置後插入
    A 在當前行尾插入
    o 在當前行之後插入一行
    O 在當前行之前插入一行

插入模式-->命令行模式:
	Esc 從插入模式切換到命令行模式

命令行模式-->底行模式:
	:(冒號) 從命令行模式切換到底行模式

命令行模式快捷鍵:
	dd 	快速刪除一行
    yy 	拷貝當前行
	nyy 拷貝當前後開始的n行,比如2yy拷貝當前行及其下一行。
	p  	在當前光標後粘貼,如果之前使用了yy命令來複制一行,那麼就在當前行的下一行粘貼。
	P 	在當前行前粘貼

底行模式命令:
	wq	保存退出
	q!	強制退出並忽略所有更改
	e! 	放棄所有修改,並打開原來文件。
	/text 	查找text,按n健查找下一個,按N健查找前一個。

3. 通用文件或目錄操作

複製文件或目錄

cp(copy) 將源文件複製至目標文件,或將多個源文件複製至目標目錄。

格式: cp [參數] 源目錄或文件 目標目錄或文件
參數:
	-r		遞歸複製目錄及其子目錄內的所有內容
常用:
    cp install.log install.log.bak   	將install.log複製爲install.log.bak文件
    cp install.log aaa/   	 			將install.log文件複製到當前目錄下的aaa目錄下
    cp install.log bbb/install.log.bak  將install.log文件複製到當前目錄下的bbb目錄下,改名爲install.log.bak
    cp aaa -r  bbb/  	  				遞歸複製aaa目錄及子目錄的所有內容到bbb目錄下
    cp aaa -r  bbb/ccc                  遞歸複製aaa目錄及子目錄的所有內容到bbb目錄下,改名爲ccc
    

複製文件,如果後一個參數是目錄,則複製文件到指定目錄
複製文件,如果後一個參數是文件,則複製文件到指定路徑,並改名
複製目錄,如果後一個參數是已經存在的目錄,則複製目錄到指定目錄下
複製目錄,如果後一個參數是不存在的目錄,則複製目錄到指定路徑下,並改名

移動文件或目錄

mv(move) 將源文件重命名爲目標文件,或將源文件移動至指定目錄。

格式: mv 源目錄或文件 目標目錄或文件
常用: 
    mv install.log install.log.bak   	將install.log重命名爲install.log.bak
    mv install.log aaa/   	 			將install.log文件移動到當前目錄下的aaa目錄下
    mv install.log bbb/install.log.bak  將install.log文件移動到當前目錄下的bbb目錄下,改名爲install.log.bak
    mv aaa  bbb/  	  					將aaa目錄移動到bbb目錄下
    mv aaa  bbb/ccc                     將aaa目錄移動到bbb目錄下,重命名爲ccc
   
   
移動文件,如果後一個參數是目錄,則移動文件到指定目錄
移動文件,如果後一個參數是文件,則移動文件到指定路徑,並重命名
移動目錄,如果後一個參數是已經存在的目錄,則移動目錄到指定目錄下
移動目錄,如果後一個參數是不存在的目錄,則移動目錄到指定路徑下,並重命名

打包壓縮和解壓縮

tar 命令能夠將用戶所指定的文件或目錄打包成一個文件,但不做壓縮。一般Linux上常用的壓縮方式是選用tar將許多文件打包成一個文件,再以gzip壓縮命令壓縮成xxx.tar.gz(或稱爲xxx.tgz)的文件。  

格式: tar [參數] <文件或目錄列表>
參數:
    -c:	創建一個新tar文件
    -v:	顯示運行過程的信息
    -f:	指定文件名
    -z:	調用gzip壓縮命令進行壓縮
    -x:	解開tar文件
    -C:	指定解壓路徑
常用:
	tar –cvf aaa.tar ./*		將當前目錄下的所有文件打包爲aaa.tar
    tar –zcvf aaa.tar.gz ./*	將當前目錄下的所有文件打包壓縮爲aaa.tar.gz
    tar –xvf aaa.tar			將aaa.tar提取到當前目錄
    tar -xvf aaa.tar.gz -C /usr/aaa		將aaa.tar.gz解壓到/usr/aaa目錄
    

4. 其他常用命令

重定向輸出

> 	重定向輸出,覆蓋原有內容
>> 	重定向輸出,又追加功能

常用:
  ifconfig > ifconfig.txt   將ifconfig命令的結果輸出到 ifconfig.txt文件中
  ifconfig >> ifconfig.txt   將ifconfig命令的結果追加到 ifconfig.txt文件中

管道

管道是Linux命令中重要的一個概念,其作用是將一個命令的輸出用作另一個命令的輸入。
示例:
  ls --help | more    分頁查詢幫助信息
  ps –ef | grep java  查詢名稱中包含java的進程

其他

1. pwd 		查看當前工作目錄    
2. ll -h  	友好顯示文件大小	
3. wget		下載資料          

重定向輸出,覆蓋原有內容

重定向輸出,又追加功能

常用:
ifconfig > ifconfig.txt 將ifconfig命令的結果輸出到 ifconfig.txt文件中
ifconfig >> ifconfig.txt 將ifconfig命令的結果追加到 ifconfig.txt文件中


#### 管道

管道是Linux命令中重要的一個概念,其作用是將一個命令的輸出用作另一個命令的輸入。
示例:
ls --help | more 分頁查詢幫助信息
ps –ef | grep java 查詢名稱中包含java的進程


#### 其他

  1. pwd 查看當前工作目錄
  2. ll -h 友好顯示文件大小
  3. wget 下載資料
發佈了35 篇原創文章 · 獲贊 21 · 訪問量 3327
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章