重點知識總結
1.為什麼要學Linux命令
日常生活中我們所接觸到得linux作業系統都只是一個純黑屏得介面,對於linux系通來說圖形化基本用不上,所以我們面對得只是一個黑乎乎的系統介面和一堆冷冰冰的程式碼,你想要操作linux就只能通過一個個的操作指令,通過這些命令來讓系統運作起來。
2.Linux語法格式
3.linux終端是什麼
linux系統的終端就是可以讓你對系統發號施令的地方,當你開啟你的linux系統進入後的那個介面就是終端的直觀體現,你可以通過在上面輸入各種指令來讓系統執行你的命令。
4.Linux命令提示符
5.Linux命令補全之Tab
這是linux終端裡非常人性化的一個指令,系統為了讓你更省心,不用記憶那麼多指令,當你輸入Tab鍵後,系統可以快速列出你想要的內容,使用者只需要輸入一個命令開頭的關鍵詞即可,一般用來補全linux命令,以及檔案路徑。
6.Linux檔案目錄結構
因為linux系統從建立之始便只是一堆程式碼,到現在為止基本用的也都是黑屏介面,所以為了使用者可以更方便的從系統裡查詢到想要查詢的資料夾,linux系統的所有檔案全部源自一個根目錄,linux系統的所有檔案全部存放在這一個大型目錄下,可以通過簡單的指令找到自己想要尋找的檔案。
6.1linux常見目錄及其作用
/bin:這個目錄存放著最基本的經常使用的命令。
/boot:這裡存放的是啟動Linux時使用的一些核心檔案。
/home:使用者的主目錄,在Linux中,每個使用者都有一個自己的目錄,一般該目錄名是以使用者的賬號命名的。
/etc:這個目錄用來存放所有的系統管理所需要的配置檔案和子目錄。
/opt: 這個目錄一般用來存放安裝的第三方大型軟體。
/root:該目錄為超級使用者的主目錄。
/sbin: 這裡存放的是系統管理員使用的系統管理程式。
/var:這個目錄中存放著在不斷擴充的東西,一般將那些經常被修改的目錄放在這個目錄下。包括各種日誌檔案。
6.2 絕對、相對路徑理解
7.Linux簡單命令操作
7.1 ls命令
命令語法
ls+空格+可選引數+空格+檔案物件
常用引數
-l 以列表形式,顯示檔案的詳細屬性 -d 僅僅顯示資料夾本身的資訊,而非其內部的檔案資料(需要檢視資料夾內部檔案的屬性不需要新增-d指令) -a 顯示該目錄中,所有的檔案,包括隱藏檔案 -h 顯示更友好的容量單位,KB、MB、GB
實踐操作
ls -l命令 以列表形式,展示檔案的詳細屬性
ls -d命令 顯示資料夾本身資訊
ls -a命令 顯示當前目錄下所有檔案,包括隱藏檔案
檔名前帶.的為隱藏檔案
ls -h命令 顯示容量單位,kb,mb,gb
7.2 cd命令
用來切換資料夾的命令
7.3 su 命令
用來切換登入使用者的命令,通過該指令可以實現使用者間的相互切換。
7.4 pwd命令
用來列印當前工作目錄的絕對路徑的命令
7.5 mkdir命令
用來建立資料夾得命令,用此命令建立的為資料夾,相當於又一個子目錄。
7.6 touch命令
用來建立檔案的命令,通過該指令建立的檔案可以寫入內容。
7.7history 命令
用來檢視今天輸入的操作指令歷史的命令,通過該指令可以檢視到今天執行命令的歷史,預設上限顯示1000條
可以通過history -c指令來清除歷史記錄。
7.8man命令
可以通過該指令來檢視某個命令的詳細解釋。
8. Linux知識細節
不同於windows系統,linux系統中是嚴格區分大小寫的,當你建立一個資料夾後通過改變其檔名中的任意一個字母的大小寫,便可以建立一個新的資料夾,因為大小寫不同,雖然名字看起來大體一樣,但這卻是兩個不同的資料夾。所以在linux系統中不管是建立檔案還是資料夾都要嚴格區分大小寫。、
8.1 副檔名
linux系統中是通過許可權位標識來確定檔案屬性的,檔案拓展名對linux系統來說可有可無,但在日常建立檔案的時侯最好根據檔案型別來新增與之相對應的檔案字尾,這個是不會更改檔案屬性的,只是為了自己可以在用到是方便查詢。
8.2 Linux常見重要目錄
/bin:這個目錄存放著最基本的經常使用的命令。
/usr:這是一個非常重要的目錄,使用者的很多應用程式和檔案都放在這個目錄下。
/usr/sbin:超級使用者使用的比較高階的管理程式和系統守護程式。
/usr/bin:系統使用者使用的應用程式。
/etc:這個目錄用來存放所有的系統管理所需要的配置檔案和子目錄。
8.3 Linux常見重要檔案
/etc/sysconfig/network-scripts/ifcfg-eth0:網絡卡配置檔案
/etc/resolv.conf:Linux系統DNS客戶端配置檔案
/etc/hostname (CentOS7) /etc/sysconfig/network:(CentOS 6)主機名配置檔案
/etc/hosts:系統本地的DNS解析檔案
/etc/fstab:配置開機裝置自動掛載的檔案
/etc/profile及/etc/bashrc:配置系統的環境變數/別名等的檔案
/etc/profile.d:使用者登入後執行的指令碼所在的目錄
/etc/sysctl.conf:Linux核心引數設定檔案
8.4環境變數
Linux 系統能夠正常執行並且為使用者提供服務,離不開背後一系列變數的協作。在 Linux 系統中,環境變數是用來定義系統執行環境的一些引數,比如每個使用者不同的家目錄,主機名稱,各種應用資料等。
8.5linux目錄掛載
掛載通常是將一個儲存裝置掛接到一個已經存在的目錄上,訪問這個目錄就是訪問該儲存裝置的內容。對於Linux系統來說,一切皆檔案,所有檔案都放在以根目錄為起點的樹形目錄結構中,任何硬體裝置也都是檔案形式,當linux系統想要訪問一個U盤時,需要將系統本身的目錄和U盤的目錄合併,這樣才能正常讀取到U盤中的內容。
8.6dns劫持原理
部署自己的個人網站
-
安裝 yun install nginx -y這個軟體包
-
下兩個軟體倉庫
配置阿里雲的軟體倉庫
https://developer.aliyun.com/mirror/這裡配置下載2個軟體倉庫 (centos和redhat系統的關係)
wget -O 指定檔案存放到哪裡 資源的下載連結
直接下載Centos-7.repo這個檔案,到當前目錄
wget https://mirrors.aliyun.com/repo/Centos-7.repo
不但下載資源,且指定到某一個路徑下
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
-
有了軟體倉庫,就可以下載相應的各種應用了
-
啟動niginx應用
[root@localhost opt]# systemctl start nginx
-
應用啟動,檢視他的執行
命令、ps -ef |grep nginx
-
網站的執行,預設埠是 http的80埠,用自己的瀏覽器去訪問他
-
訪問時要關閉伺服器的防火牆
[root@localhost opt]# iptables -F
-
程式運行了,就代表80埠啟動服務
#停止他的服務 [root@localhost opt]# systemctl stop nginx 再次重新啟動 systemctl restart nginx
-
也可以修改配置,做自己的網頁
1、找到/usr/share/nginx/html 2、vim index.html 編輯你的這個80埠的程式 3、無需重啟,網站自動更新
重定向符號
> 重定向覆蓋輸出符 ,資料從左邊,覆蓋寫入到右邊
< 重定向覆蓋輸入符,資料從右邊,覆蓋寫入到左邊
>> 重定向追加輸出符, ,資料從左邊,追加寫入到右邊
<< 重定向覆蓋輸入符,資料從右邊,追加寫入到左邊
cat命令
cat 適合讀取小檔案,不能讀取大檔案,一次性將檔案內容全部讀取到記憶體中,且輸出到螢幕上
cat -n 顯示行號
[root@localhost linux0224]# cat -n doupo.txt
1 “鬥之力,三段!”
2
3 望著測驗魔石碑上面閃亮得甚至有些刺眼的五個大字,少年面無表情,脣角有著一抹自嘲,緊握的手掌,因為大力,而導致略微尖銳的指甲深深的刺進了掌心之中,帶來一陣陣鑽心的疼痛…
也可以一次性讀取多個檔案
[root@localhost opt]# cat -n doupo.txt hehe.txt hello_python.txt
cat -b 只會對有內容的行,顯示其行號,空行不顯示
[root@localhost linux0224]# cat -b doupo.txt
1 “鬥之力,三段!”
2 望著測驗魔石碑上面閃亮得甚至有些刺眼的五個大字,少年面無表情,脣角有著一抹自嘲,緊握的手掌,因為大力,而導致略微尖銳的指甲深深的刺進了掌心之中,帶來一陣陣鑽心的疼痛…
cat -E 在linux檔案中,每一行的結束,預設會新增一個你看不到的,特殊符號'$',表示是該行的結尾
[root@localhost linux0224]# cat -E doupo.txt
“鬥之力,三段!”$
$
望著測驗魔石碑上面閃亮得甚至有些刺眼的五個大字,少年面無表情,脣角有著一抹自嘲,緊握的手掌,因為大力,而導致略微尖銳的指甲深深的刺進了掌心之中,帶來一陣陣鑽心的疼痛…$
cat 還可根據重定向符號文字內追加內容
cat >> 古詩2.txt <<EOF
你的資料在這裡寫。。。
EOF
EOF是一個關鍵字,end of file ,檔案的結束
tac命令
將檔案從後,向前,倒著檢視
[root@localhost opt]# cat -n hehe.txt
1 yuchao
2 yejingyang
3 chenliangliang
[root@localhost opt]#
[root@localhost opt]#
[root@localhost opt]# tac hehe.txt
chenliangliang
yejingyang
yuchao
more與less命令
more和cat都是一次性讀取所有內容到記憶體,不適合讀取大檔案,佔資源
less命令是顯示多少文字,消耗多少記憶體,省資源。
空格,翻篇
回車 下一行
head和tail命令
head 與 tail 預設都是10行
head -數字 檢視前幾行的內容
tail -數字 檢視後幾行的內容
tail -f
1.要求被檢測的檔案,存在
2.可以tail -f檢測
tail -F
能夠對檔案進行重新整理讀取,即使該檔案不存在,也可以檢測
wc命令
統計命令
wc -l 統計總行數
wc -w 統計單詞數
du命令
ls -lh 統計檔案的大小
du 檢視檔案或目錄(遞迴顯示子目錄)佔用磁碟空間
du -s 只顯示彙總的大小,統計資料夾的大小
[root@localhost opt]# du -s .
105072KB .
du -h 表示以高可讀性的形式進行顯示,如果不寫-h,預設以KB的形式顯示檔案大小
[root@localhost /]# du -h /opt
103M /opt
find命令
find命令是遞迴查詢 一級一級的查
模糊查詢 find /(根目錄) -name "(查詢的東西)"
# -type f 找到文字型別的資料
# -type d 找到資料夾型別的資料
還可以找檔案的大小
指令 -size + 代表超過的 -代表不超過的
舉例 找出系統上超過20M的壓縮包
[root@localhost ~]# find / -name "*.gz" -size +20M
/tmp/all_test1/all_test.tar.gz
[root@localhost ~]# ll -h /tmp/all_test1/all_test.tar.gz
-rw-r--r--. 1 root root 30M Mar 7 19:48 /tmp/all_test1/all_test.tar.gz
find -o 可以找出多種型別的檔案
管道符
管道符,在linux中的表達符號是
| (快捷鍵shift + \)
管道符得標準定義
管道是一種通訊機制,通常用於程序間的通訊。
它表現出來的形式將==前面每一個程序的輸出(stdout)直接作為下一個程序的輸入(stdin)==。
管道符與grep 的使用
拿到使用者檔案資訊 | 交給grep再去過濾
[root@localhost opt]# cat /etc/passwd | grep 'yejinyang'
yejinyang:x:1001:1001::/home/yejinyang:/bin/bash
[root@localhost opt]#
[root@localhost opt]# grep 'yejinyang' /etc/passwd
檢查程序
1.檢視系統程序資訊的命令
ps -ef # -e 顯示所有的程序資訊 -f 格式化顯示出程序的id號,等其他資訊
可以用 ps -ef | grep "應用程式" 來檢視應用執行的程序
1.找出vim的程序
2.找出nginx的程序
檢查埠
1.需要學習,檢查系統埠的命令,這個命令,和ps -ef 一樣,是檢視系統某資源資訊
netstat -tunlp # 這個組合引數,是檢視系統上,所有的埠資訊
安裝 yum install net-tools -y
2. 過濾出,機器上,和ssh遠端連線的埠資訊,提示程式名叫ssdh,或者埠號是22
結合檢視埠的命令+ 管道符+ grep,實現,高效的過濾
netstat -tunlp | grep 'nginx'
管道符與 find命令的運用
find找到檔案 | 與xargs -i +想要得到的資料的相關命令
找到/etc/下,最近2天的被修改的所有⽂件,且顯示詳細資訊(⼀條命令。)
[root@localhost log]# find /etc -type f -name "*" -mtime -3 | xargs -i ls -l {}
grep命令
grep是對資料進行過濾查詢關鍵字
用於排除資料
grep '關鍵字' 檔名
grep -n 顯示存在該關鍵字的行號 嚴格區分大小寫
grep -i 顯示無論大小寫的關鍵字
利用grep找出nginx軟體,配置檔案中,定義的網站監聽埠號
[root@localhost opt]# grep -n -i 'listen' /etc/nginx/nginx.conf
39: listen 80;
快速安裝程式碼雨操作
1.下載該軟體到一個固定的目錄,使用者自定義安裝軟體的目錄 /usr/local/
mkdir /usr/local/my_data/
cd /usr/local/my_data/
wget http://jaist.dl.sourceforge.net/project/cmatrix/cmatrix/1.2a/cmatrix-1.2a.tar.gz
2.解壓縮軟體
tar -zxvf cmatrix-1.2a.tar.gz
3.安裝軟體
進入該軟體目錄,需要編譯安裝,編譯三部曲
一曲,執行configure指令碼,設定程式安裝路徑
[root@laoba0024 cmatrix-1.2a]# cd /usr/local/my_data/cmatrix-1.2a
[root@laoba0024 cmatrix-1.2a]# ls
acconfig.h AUTHORS cmatrix.1 cmatrix.spec config.guess config.sub configure.in INSTALL Makefile.am matrix.fnt missing mtx.pcf README TODO
aclocal.m4 ChangeLog cmatrix.c cmatrix.spec.in config.h.in configure COPYING install-sh Makefile.in matrix.psf.gz mkinstalldirs NEWS stamp-h.in
指定軟體的安裝路徑,執行如下命令
[root@laoba0024 cmatrix-1.2a]# ./configure --prefix=/usr/local/cmatrix12/
二曲,下一步,合併到一起,三曲,下一步,執行如下命令即可,(編譯成功後,且安裝。)
# 注意,可能需要安裝一些基礎軟體
# 你的系統可能是最小化安裝,缺少很多軟體,需要給裝上,才能裝其他軟體(windows.經常缺少各種.dll,程式無法執行報錯)
# 你只需要先安裝如下的三個軟體,即可
[root@laoba0024 cmatrix-1.2a]# yum list *curses*
[root@laoba0024 cmatrix-1.2a]# yum install -y ncurses-devel
[root@laoba0024 cmatrix-1.2a]# yum install gcc gcc-* -y
# 最後一步,再次安裝這個程式碼雨
[root@laoba0024 cmatrix-1.2a]# make && make install
# 安裝完畢後,再執行這條,安裝程式碼雨的命令
# make 是編譯的指令
# && 這個符號,表示並且的意思
# make install 表示安裝程式
4.如何使用軟體
進入軟體的安裝目錄,檢視是否有可執行的命令
每次想執行這個程式碼雨,必須要絕對路徑,如下
[root@laoba0024 opt]#
[root@laoba0024 opt]# /usr/local/cmatrix12/bin/cmatrix
5.和PATH變數結合,快捷使用程式碼雨命令
可以使用PATH變數,新增這個軟體的路徑即可
修改PATH變數
[root@laoba0024 opt]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/root/bin:/usr/bin/
新增安裝的軟體到這該目錄下,
重新定義PATH的語法如下
這種變數臨時賦值,是臨時生效,重新登入後,會失效的
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/root/bin:/usr/bin/:/usr/local/cmatrix12/bin/
6.永久讓程式碼雨生效(當做屏保使用),每次使用者登入,系統都會載入的一個配置檔案,名字是/etc/profile
將希望每次開機,登入都生效的設定,寫入到這個檔案中
一、編輯改檔案
vim /etc/profile
二、寫入PATH的配置,進入到最底行,寫入如下PATH賦值語句即可
[root@laoba0024 ~]# tail -2 /etc/profile
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/root/bin:/usr/bin/:/usr/local/cmatrix12/bin/
三、重新登入,檢視PATH是否生效,程式碼雨是否可用
exit