一文帶你入門Linux
文章目錄
1.1 Linux的概述:
1.1.1 什麼是Linux:
1.1.1.1 學習Linux之前先了解Unix
-
Unix是一個強大的多使用者、多工作業系統。
-
於1969年在AT&T的貝爾實驗室開發。
-
UNIX的商標權由國際開放標準組織(The Open Group)所擁有。
-
UNIX作業系統是商業版,需要收費,價格比Microsoft Windows正版要貴一些。
1.1.1.2 Linux的概述:
-
Linux是基於Unix的
-
Linux是一種自由和開放原始碼的作業系統,存在著許多不同的Linux版本,但它們都使用了Linux核心。Linux可安裝在各種計算機硬體裝置中,比如手機、平板電腦、路由器、臺式計算機
- 誕生於1991 年10 月5 日。是由芬蘭赫爾辛基大學學生Linus Torvalds和後來加入的眾多愛好者共同開發完成
1.1.1.3 Linux的歷史:
Linux最初是由芬蘭赫爾辛基大學學生Linus Torvalds由於自己不滿意教學中使用的MINIX作業系統, 所以在1990年底由於個人愛好設計出了LINUX系統核心。後來釋出於芬蘭最大的ftp伺服器上,使用者可以免費下載,所以它的周邊的程式越來越多,Linux本身也逐漸發展壯大起來,之後Linux在不到三年的時間裡成為了一個功能完善,穩定可靠的作業系統.
1.1.1.4 Linux系統的應用:
- 伺服器系統:
Web應用伺服器、資料庫伺服器、介面伺服器、DNS、FTP等等;
- 嵌入式系統:
路由器、防火牆、手機、PDA、IP 分享器、交換器、家電用品的微電腦控制器等等,
- 高效能運算、計算密集型應用:
Linux有強大的運算能力。
-
桌面應用系統
-
移動手持系統
1.1.1.5 Linux的版本
Linux的版本分為兩種:核心版本和發行版本;
-
核心版本是指在Linus領導下的核心小組開發維護的系統核心的版本號 ;
-
發行版本是一些組織和公司根據自己發行版的不同而自定的 ;
1.1.1.6 Linux的主流版本
1.2 Linux的安裝:
1.2.1 虛擬機器安裝:
1.2.1.1 什麼是虛擬機器
虛擬機器:一臺虛擬的電腦.
虛擬機器軟體:
-
VmWare :收費的.
-
VirtualBox :免費的.
1.2.1.2 安裝VmWare
參考《虛擬軟體vmware安裝.doc》
1.2.2 CentOS的安裝
參考《CentOS6詳細安裝文件.doc》
1.2.3 Linux的目錄結構:
root管理員的home目錄root
其他使用者的home目錄home目錄中
1.3 Linux的常用命令
1.3.1 切換目錄命令cd:
使用
cd app 切換到app目錄
cd .. 切換到上一層目錄
cd / 切換到系統根目錄
cd ~ 切換到使用者主目錄
cd - 切換到上一個所在目錄
1.3.2 列出檔案列表:ls ll dir
ls(list)是一個非常有用的命令,用來顯示當前目錄下的內容。配合引數的使用,能以不同的方式顯示目錄內容。
格式:ls[引數] [路徑或檔名]
常用:
在linux中以 . 開頭的檔案都是隱藏的檔案
ls
ls -a 顯示所有檔案或目錄(包含隱藏的檔案)
ls -l 縮寫成ll
1.3.3 建立目錄和移除目錄:mkdir rmdir
mkdir(make directory)命令可用來建立子目錄。
mkdir app 在當前目錄下建立app目錄
mkdir –p app2/test 級聯建立aap2以及test目
rmdir(remove directory)命令可用來刪除“空”的子目錄:
rmdir app 刪除app目錄
1.3.4 瀏覽檔案
【cat、more、less】
cat
用於顯示檔案的內容。
格式:cat[引數]<檔名>
cat yum.conf
more
一般用於要顯示的內容會超過一個畫面長度的情況。按空格鍵顯示下一個畫面。
回車顯示下一行內容。
按 q 鍵退出檢視。
more yum.conf
空格顯示下一頁資料 回車顯示下一行的資料
less
用法和more類似,不同的是less可以通過PgUp、PgDn鍵來控制。
less yum.conf
PgUp 和 PgDn 進行上下翻頁.
【tail】
tail命令是在實際使用過程中使用非常多的一個命令,它的功能是:用於顯示檔案後幾行的內容。
用法:
tail -10 /etc/passwd 檢視後10行資料
tail -f catalina.log 動態檢視日誌(*****)
ctrl+c 結束檢視
1.3.5 檔案操作:
【rm】
rm 刪除檔案
用法:rm [選項]... 檔案...
rm a.txt 刪除a.txt檔案
刪除需要使用者確認,y/n
rm 刪除不詢問
rm -f a.txt 不詢問,直接刪除
rm 刪除目錄
rm -r a 遞迴刪除
不詢問遞迴刪除(慎用)
rm -rf a 不詢問遞迴刪除
rm -rf * 刪除所有檔案
rm -rf /* 自殺
【cp、mv】
cp(copy)命令可以將檔案從一處複製到另一處。一般在使用cp命令時將一個檔案複製成另一個檔案或複製到某目錄時,需要指定原始檔名與目標檔名或目錄。
cp a.txt b.txt 將a.txt複製為b.txt檔案
cp a.txt ../ 將a.txt檔案複製到上一層目錄中
mv 移動或者重新命名
mv a.txt ../ 將a.txt檔案移動到上一層目錄中
mv a.txt b.txt 將a.txt檔案重新命名為b.txt
【tar】命令:(打包或解壓)
tar命令位於/bin目錄下,它能夠將使用者所指定的檔案或目錄打包成一個檔案,但不做壓縮。一般Linux上常用的壓縮方式是選用tar將許多檔案打包成一個檔案,再以gzip壓縮命令壓縮成xxx.tar.gz(或稱為xxx.tgz)的檔案。
常用引數:
-c:建立一個新tar檔案
-v:顯示執行過程的資訊
-f:指定檔名
-z:呼叫gzip壓縮命令進行壓縮
-t:檢視壓縮檔案的內容
-x:解開tar檔案
打包:
tar –cvf xxx.tar ./*
打包並且壓縮:
tar –zcvf xxx.tar.gz ./*
解壓
tar –xvf xxx.tar
tar -xvf xxx.tar.gz -C /usr/aaa
擴充:.tar與.gz有什麼聯絡與區別?
我們在windows下經常進行壓縮解壓等操作。在linux上也經常會用到,但是比較常見的是.tar.gz
很多人見到就條件反射,壓縮用czvf,解壓用xzvf。但是,你真的瞭解這個字尾名嗎?
其實:
.tar只是進行打包,並沒有壓縮。 可用tar-cvf進行打包,用tar-xvf進行解包。
.tar.gz是既打包又壓縮 。tar –czvf [ 壓縮包名 ] [檔案或目錄]打包並且壓縮,tar –xzvf [壓縮包名]解包並且壓縮。注意:-z表示bzip的操作!
.gz 只壓縮。只能針對檔案。如果需要對一個目錄下的全部檔案壓縮,則用gzip -r [目錄]。gzip [檔名]進行壓縮,gzip –d [檔名]進行解壓。
【grep】命令
查詢符合條件的字串。
用法: grep [選項]... PATTERN [FILE]...
示例:
grep lang anaconda-ks.cfg 在檔案中查詢lang
grep lang anaconda-ks.cfg –color 高亮顯示
1.3.6 其他常用命令
【pwd】
顯示當前所在目錄
【touch】
建立一個空檔案
touch a.txt
【ll -h】
友好顯示檔案大小
【wget】
下載資料
wget http://nginx.org/download/nginx-1.9.12.tar.gz
1.4 Vi和Vim編輯器
1.4.1 Vim編輯器:
在Linux下一般使用vi編輯器來編輯檔案。
vi既可以檢視檔案也可以編輯檔案。
三種模式:命令列、插入、底行模式。
切換到命令列模式:按Esc鍵;
切換到插入模式:按 i 、o、a鍵;
i 在當前位置生前插入
I 在當前行首插入
a 在當前位置後插入
A 在當前行尾插入
o 在當前行之後插入一行
O 在當前行之前插入一行
切換到底行模式:按 :(冒號);
更多詳細用法,查詢文件《Vim命令合集.docx》和《vi使用方法詳細介紹.docx》
開啟檔案:vim file
退出:esc :q
修改檔案:輸入i進入插入模式
儲存並退出:esc:wq
不儲存退出:esc:q!
進入插入模式:
i:在當前的游標所在處插入
o:在當前游標所在的行的下一行插入
a:在游標所在的下一個字元插入
快捷鍵:
dd – 快速刪除一行
R – 替換
1.4.2 重定向輸出>和>>
> 重定向輸出,覆蓋原有內容;
>> 重定向輸出,又追加功能;
示例:
cat /etc/passwd > a.txt 將輸出定向到a.txt中
cat /etc/passwd >> a.txt 輸出並且追加
ifconfig > ifconfig.txt
1.4.3 管道 |
管道是Linux命令中重要的一個概念,其作用是將一個命令的輸出用作另一個命令的輸入。
示例
ls --help | more 分頁查詢幫助資訊
ps –ef | grep java 查詢名稱中包含java的程式
ifconfig | more
cat index.html | more
ps –ef | grep aio
1.4.4 &&命令執行控制:
命令之間使用 && 連線,實現邏輯與的功能。
只有在 && 左邊的命令返回真(命令返回值 $? == 0),&& 右邊的命令才會被執行。
只要有一個命令返回假(命令返回值 $? == 1),後面的命令就不會被執行。
mkdir test && cd test
1.4.5 網路通訊命令
ifconfig 顯示或設定網路裝置。
ifconfig 顯示網路裝置
ifconfig eth0 up 啟用eth0網路卡
ifconfig eth0 down 停用eth0網路卡
ping 探測網路是否通暢。
ping 192.168.0.1
netstat 檢視網路埠。
netstat -an | grep 3306 查詢3306埠占用情況
1.4.6 系統管理命令
date 顯示或設定系統時間
date 顯示當前系統時間
date -s “2014-01-01 10:10:10“ 設定系統時間
df 顯示磁碟資訊
df –h 友好顯示大小
free 顯示記憶體狀態
free –m 以mb單位顯示記憶體組昂頭
top 顯示,管理執行中的程式
clear 清螢幕
ps 正在執行的某個程式的狀態
ps –ef 檢視所有程式
ps –ef | grep ssh 查詢某一程式
kill 殺掉某一程式
kill 2868 殺掉2868編號的程式
kill -9 2868 強制殺死程式
du 顯示目錄或檔案的大小。
du –h 顯示當前目錄的大小
who 顯示目前登入系統的使用者資訊。
hostname 檢視當前主機名
修改:vi /etc/sysconfig/network
uname 顯示系統資訊。
uname -a 顯示本機詳細資訊。
依次為:核心名稱(類別),主機名,核心版本號,核心版本,核心編譯日期,硬體名,處理器型別,硬體平臺型別,作業系統名稱
1.5 Linux的使用者和組
1.5.1 使用者的管理
useradd 新增一個使用者
useradd test 新增test使用者
useradd test -d /home/t1 指定使用者home目錄
passwd 設定、修改密碼
passwd test 為test使用者設定密碼
切換登入:
ssh -l test -p 22 192.168.19.128
su – 使用者名稱
userdel 刪除一個使用者
userdel test 刪除test使用者(不會刪除home目錄)
userdel –r test 刪除使用者以及home目錄
1.5.2 組管理:
當在建立一個新使用者user時,若沒有指定他所屬於的組,就建立一個和該使用者同名的私有組
建立使用者時也可以指定所在組
groupadd 建立組
groupadd public 建立一個名為public的組
useradd u1 –g public 建立使用者指定組
groupdel 刪除組,如果該組有使用者成員,必須先刪除使用者才能刪除組。
groupdel public
1.5.3 id,su命令
【id命令】
功能:檢視一個使用者的UID和GID
用法:id [選項]... [使用者名稱]
直接使用id
直接使用id 使用者名稱
【su命令】
功能:切換使用者。
用法:su [選項]... [-] [使用者 [引數]... ]
示例:
su - u1 切換到u1使用者,並且將環境也切換到u1使用者的環境(推薦使用)
【su命令】
功能:切換使用者。
用法:su [選項]... [-] [使用者 [引數]... ]
示例:
su - u1 切換到u1使用者,並且將環境也切換到u1使用者的環境(推薦使用)
【賬戶檔案】
/etc/passwd 使用者檔案
/etc/shadow 密碼檔案
/etc/group 組資訊檔案
【使用者檔案】
root:x:0:0:root:/root:/bin/bash
賬號名稱: 在系統中是唯一的
使用者密碼: 此欄位存放加密口令
使用者標識碼(User ID): 系統內部用它來標示使用者
組標識碼(Group ID): 系統內部用它來標識使用者屬性
使用者相關資訊: 例如使用者全名等
使用者目錄: 使用者登入系統後所進入的目錄
使用者環境: 使用者工作的環境
【密碼檔案】
shadow檔案中每條記錄用冒號間隔的9個欄位組成.
使用者名稱:使用者登入到系統時使用的名字,而且是惟一的
口令: 存放加密的口令
最後一次修改時間: 標識從某一時刻起到使用者最後一次修改時間
最大時間間隔: 口令保持有效的最大天數,即多少天后必須修改口令
最小時間間隔: 再次修改口令之間的最小天數
警告時間:從系統開始警告到口令正式失效的天數
不活動時間: 口令過期少天后,該賬號被禁用
失效時間:指示口令失效的絕對天數(從1970年1月1日開始計算)
標誌:未使用
【組檔案】
root:x:0:
組名:使用者所屬組
組口令:一般不用
GID:組ID
使用者列表:屬於該組的所有使用者
1.6 Linux的許可權命令
1.6.1 檔案許可權
屬主(user) | 屬組(group) | 其他使用者 | ||||||
---|---|---|---|---|---|---|---|---|
r | w | x | r | w | x | r | w | x |
4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
1.6.2 Linux三種檔案型別:
-
普通檔案: 包括文字檔案、資料檔案、可執行的二進位制程式檔案等。
-
目錄檔案: Linux系統把目錄看成是一種特殊的檔案,利用它構成檔案系統的樹型結構。
-
裝置檔案: Linux系統把每一個裝置都看成是一個檔案
1.6.3 檔案型別標識
普通檔案(-)
目錄(d)
符號連結(l)
進入etc可以檢視,相當於快捷方式
字元裝置檔案(c)
塊裝置檔案(s)
套接字(s)
命名管道(p)
1.6.4 檔案許可權管理:
chmod 變更檔案或目錄的許可權。
chmod 755 a.txt
chmod u=rwx,g=rx,o=rx a.txt
chmod 000 a.txt / chmod 777 a.txt
chown 變更檔案或目錄改檔案所屬使用者和組
chown u1:public a.txt :變更當前的目錄或檔案的所屬使用者和組
chown -R u1:public dir :變更目錄中的所有的子目錄及檔案的所屬使用者和組
相關文章
- 一文帶你入門TransformerORM
- 一文帶你入門 GolangGolang
- 一文帶你入門動態規劃動態規劃
- 一文帶你入門圖機器學習機器學習
- 一文帶你響應式網頁設計入門網頁
- 帶你ECharts入個門Echarts
- 帶你高效入門 FlutterFlutter
- Cris 帶你快速入門 Flink
- 一文帶你入門圖論和網路分析(附Python程式碼)圖論Python
- 一文帶你入門客製化鍵盤,打造專屬打字利器
- 爬蟲入門經典 | 一文帶你爬取傳統古詩詞!爬蟲
- 還不瞭解資料庫?Smartbi一文帶你入門資料庫!資料庫
- 12個例子帶你入門Electron
- 帶你入門RPC之反向代理RPC
- 一文帶你走進 Linux 小工具 - tmuxLinux
- 不知道怎麼做電商資料分析?Smartbi一文帶你入門
- 手把手帶你入門 Spring Security!Spring
- Android跨平臺入門:手把手帶你快速入門Flutter!AndroidFlutter
- 一文帶你瞭解內部開發者門戶
- 一篇文章帶你入門Zookeeper
- 零基礎入門│帶你理解Kubernetes
- 一文帶你搞懂 SSR
- 一文帶你搞懂RPCRPC
- Linux運維大牛帶你認識真正 Linux 系統結構!超強入門技術文!Linux運維
- 一文帶你瞭解Linux軟連結與硬連結!Linux
- 一文帶您快速入門視覺化分析平臺 Kibana視覺化
- 一篇文章帶你快速入門createjsJS
- 5分鐘帶你入門apicloud,開發appAPICloudAPP
- 手摸手帶你 Docker 從入門到實踐Docker
- 一篇帶你快速入門ansible和使用
- 23張圖,帶你入門推薦系統
- 2 個案例帶你迅速入門 Python Flask 框架PythonFlask框架
- 4步帶你從Web前端小白到入門!Web前端
- 十五張圖帶你快速入門 shardingsphere-proxy
- 三篇文章帶你快速入門Kotlin(上)Kotlin
- 18張圖帶你入門最新版JumpServerServer
- 一文入門RedisRedis
- 一文帶你快速掌握AQSAQS