十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
;?????diff命令在最簡單的情況下,比較給定的兩個(gè)文件的不同。如果使用“-”代替“文件”參數(shù),則要比較的內(nèi)容將來自標(biāo)準(zhǔn)輸入。diff命令是以逐行的方式,比較文本文件的異同處。如果該命令指定進(jìn)行目錄的比較,則將會(huì)比較該目錄中具有相同文件名的文件,而不會(huì)對其子目錄文件進(jìn)行任何比較操作。下面是linuxdiff命令的具體介紹:
成都創(chuàng)新互聯(lián)是專業(yè)的茌平網(wǎng)站建設(shè)公司,茌平接單;提供做網(wǎng)站、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行茌平網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
diff(diff即different簡寫)命令用于比較文件的差異。
選項(xiàng):
-
-a或——text:diff預(yù)設(shè)只會(huì)逐行比較文本文件;
-b或_ignore-space-change:不檢查空格字符的不同;
-B或_ignore-blank-lines:不檢查空白行;
-c:顯示全部內(nèi)容,并標(biāo)出不同之處;
-C
-d或——minimal:使用不同的演算法,以小的單位來做比較;
-D
-e或——ed:此參數(shù)的輸出格式可用于ed的script文件;
-f或-forward-ed:輸出的格式類似ed的script文件,但按照原來文件的順序來顯示不同處;
-H或_speed-large-files:比較大文件時(shí),可加快速度;
-l
-i或_ignore-case:不檢查大小寫的不同;
-l或——paginate:將結(jié)果交由pr程序來分頁;
-n或——rcs:將比較結(jié)果以RCS的格式來顯示;
-N或_new-file:在比較目錄時(shí),若文件A僅出現(xiàn)在某個(gè)目錄中,預(yù)設(shè)會(huì)顯示:Onlyin目錄,文件A若使用-N參數(shù),則diff會(huì)將文件A與一個(gè)空白的文件比較;
-p:若比較的文件為C語言的程序碼文件時(shí),顯示差異所在的函數(shù)名稱;
-P或_unidirectional-new-file:與-N類似,但只有當(dāng)?shù)诙€(gè)目錄包含了第一個(gè)目錄所沒有的文件時(shí),才會(huì)將這個(gè)文件與空白的文件做比較;
-q或_brief僅顯示有無差異,不顯示詳細(xì)的信息;
-r或——recursive:比較子目錄中的文件;
-s或_report-identical-files:若沒有發(fā)現(xiàn)任何差異,仍然顯示信息;
-S
-t或_expand-tabs:在輸出時(shí),將tab字符展開;
-T或_initial-tab:在每行前面加上tab字符以便對齊;
-u,-U
-v或——version:顯示版本信息;
-w或_ignore-all-space:忽略全部的空格字符;
-W
-x
-X
-y或_side-by-side:以并列的方式顯示文件的異同之處;
_help:顯示幫助;
_left-column:在使用-y參數(shù)時(shí),若兩個(gè)文件某一行內(nèi)容相同,則僅在左側(cè)的欄位顯示該行內(nèi)容;
_suppress-common-lines:在使用-y參數(shù)時(shí),僅顯示不同之處。
以上就是今天的分享了,希望可以幫助到大家。
本文章基于thinkpadE15品牌、centos7系統(tǒng)撰寫的。
查看CPU信息可以使用lscpu命令
從命令的輸出結(jié)果可以看得出來CPU的型號是 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz,CPU(s)是4表示同時(shí)可以執(zhí)行四個(gè)任務(wù)。
如果想要同時(shí)執(zhí)行更多的任務(wù),可以在VMware WorkStation中修改,修改完成以后會(huì)立即生效。
除了lscpu以外,還可以使用cat /proc/cpuinfo命令查看CPU信息,不過它是以每核分開顯示的。
使用free或者是cat /proc/meminfo可以查看當(dāng)前系統(tǒng)的內(nèi)存信息,包括總內(nèi)存、已經(jīng)使用內(nèi)存以及可用內(nèi)存信息
Linux和Windows不同的是Linux的圖形界面只是它的一個(gè)程序,而不是必備組件。我們之前安裝CentOS8.4選擇的Server With GUI包含GNOME桌面的圖形環(huán)境,我們可以使用init 3命令關(guān)閉圖形,CentOS8會(huì)出現(xiàn)一個(gè)字符登錄界面。
然后再使用free -h觀察已經(jīng)使用的內(nèi)存只有334M,相比圖形界面的730M 減少了接近400M內(nèi)存,為了節(jié)省內(nèi)存,生產(chǎn)環(huán)境一般不會(huì)安裝和使用圖形界面。
想要再切回圖形界面使用init 5命令即可。
還可以使用runlevel命令查看當(dāng)前系統(tǒng)運(yùn)行的模式,其中輸出結(jié)果的3表示之前是字符界面,5表示當(dāng)前系統(tǒng)運(yùn)行的是圖形界面
使用lsblk命令可以查看磁盤信息,包括有幾塊磁盤以及每塊磁盤的分區(qū)、容量信息
通過命令的執(zhí)行結(jié)果可以得知目前CentOS8系統(tǒng)上有三塊磁盤,分別是sda,sdb,sdc,其中sdb和sdc沒有分區(qū),
而sda磁盤是在安裝系統(tǒng)時(shí)創(chuàng)建了四個(gè)分區(qū),具體信息如下表格所示
除此以外還可以使用 cat /proc/partitions命令查看磁盤信息,從命令的執(zhí)行結(jié)果可以看出容量還是以KB為單位。
通過arch命令可以查看當(dāng)前系統(tǒng)架構(gòu)為x86_64,這也是目前主流的系統(tǒng)架構(gòu)。
不同的Linux發(fā)行版使用的Linux內(nèi)核版本不同,通過uname -r可以查看Linux系統(tǒng)的內(nèi)核版本
通過 cat /etc/os-release 命令或者是lsb_release -a命令可以查看操作系統(tǒng)的版本,后期在開發(fā)程序時(shí)不同的操作系統(tǒng)版本需要做不同的處理。
查看Ubuntu Server的版本
查看CentOS8的版本
CentOS還可以使用 cat /etc/redhat-release版本
Linux中的時(shí)間有系統(tǒng)時(shí)間和硬件時(shí)間兩種
date和clock可以使用分號隔開后同時(shí)執(zhí)行看系統(tǒng)時(shí)間和硬件時(shí)間
目前我的系統(tǒng)時(shí)間和硬件時(shí)間相差了18秒
如果硬件時(shí)間是準(zhǔn)確的,那么就通過命令clock -s以硬件時(shí)間為準(zhǔn),同步校正系統(tǒng)時(shí)間。
如果系統(tǒng)時(shí)間是準(zhǔn)確的,那么通過clock -w命令以系統(tǒng)時(shí)間為準(zhǔn),同步校正硬件時(shí)間
不同的國家在同一時(shí)刻所處的時(shí)間是不同的,因?yàn)闀r(shí)區(qū)不同。
例如中國就是東八區(qū),東八區(qū)和格林威治的時(shí)區(qū)相比相差8個(gè)小時(shí)(也就是比北京時(shí)間慢了8個(gè)小時(shí)),之前在安裝操作系統(tǒng)的時(shí)候設(shè)置的時(shí)區(qū)就是Asia/Shanghai,,通過timedatectl status查看當(dāng)前時(shí)間狀態(tài),其中 Universal time就是格林威治時(shí)間,而Local Time就是系統(tǒng)設(shè)置時(shí)區(qū)(Asia/Shanghai)的時(shí)間,它們兩者剛好相差了8個(gè)小時(shí)。 Time zone: Asia/Shanghai (CST, +0800) 表示當(dāng)前的時(shí)區(qū)是亞洲上海。
如果現(xiàn)在你去了法國巴黎,可以通過timectl set-timezone 設(shè)置時(shí)區(qū)為歐洲巴黎,當(dāng)修改時(shí)區(qū)后使用date命令查看系統(tǒng)時(shí)間顯示的就是當(dāng)前法國的巴黎時(shí)間,相比北京時(shí)間慢了6個(gè)小時(shí)。
修改時(shí)區(qū)最終影響的是 /etc/localtime文件
不過目前我在中國,因此還是改回亞洲上海
timedatectl list-timezones可以查看所有時(shí)區(qū)
cal命令可以查看當(dāng)前月份的日歷,例如今天是2021年10月5號
查看指定月份的日歷
還可以查看指定年份的日歷
生產(chǎn)環(huán)境不能隨便關(guān)機(jī)和重啟!!! 因?yàn)榉?wù)器基本都是 7*24 對外提供服務(wù)
測試環(huán)境或者是本地虛擬機(jī)安裝的Linux服務(wù)器可以按需求關(guān)機(jī)或者重啟
關(guān)機(jī)可以使用halt或者poweroff命令
而shutdown可以實(shí)現(xiàn)關(guān)機(jī)或者重啟,shutdown -r表示重啟,即reboot,shutdown -h表示關(guān)機(jī),即halt。 -c表示取消關(guān)機(jī)或重啟。
除此以外shutdown 還可以指定時(shí)間來關(guān)機(jī)或重啟,默認(rèn)是1分鐘后執(zhí)行。
關(guān)機(jī)和重啟命令的常見用法
Linux下有nano和vim等文本編輯器,目前我們先使用nano來編輯文本。
如果系統(tǒng)上沒有安裝nano文本編輯器,那么在使用之前首先需要使用yum install -y nano命令來安裝nano文本編輯器
在使用nano進(jìn)行文本編輯時(shí),nano后面跟文件路徑即可打開文件,然后可以直接修改文件,類似于windows的記事本,修改完成后然后按Ctrl+x退出,接著按y保存修改,回車后退出nano。
然后使用nano /etc/motd來修改該文件,motd文件是用戶登錄之后提示的內(nèi)容
然后輸入Welcome to my class
之后按Ctrl+x退出nano編輯器,按y保存到文件匯中,然后按回車鍵確認(rèn)修改。
再重新登錄CentOS8.4
登錄成功之后就會(huì)看到/etc/motd文件內(nèi)容顯示在終端上
我這里準(zhǔn)備了一個(gè)motd文件,首先使用MobaXterm終端上傳到/etc目錄下覆蓋現(xiàn)有的motd文件,在使用MobaXterm終端登錄CentOS8.4-1后,首先將SSH Broswer的路徑切換到/etc目錄下
然后點(diǎn)擊上傳文件的按鈕
選擇提前準(zhǔn)備好的motd文件上傳到/etc目錄下
然后再次重新登錄系統(tǒng)就會(huì)看到一個(gè)大佛
大家可以自行訪問 在線生成ASCII(圖)藝術(shù)字,然后將內(nèi)容復(fù)制到motd文件即可。
當(dāng)我們登錄Linux打開一個(gè)終端窗口,然后輸入命令,用戶與計(jì)算機(jī)的這種臨時(shí)交互被稱為一次會(huì)話(Session)、會(huì)話的一個(gè)重要的特點(diǎn)就是窗口與其中啟動(dòng)的進(jìn)程是連接在一起的,打開窗口則會(huì)話開始,關(guān)閉窗口則會(huì)話結(jié)束,而且會(huì)話內(nèi)部的進(jìn)程也會(huì)隨之而終止,不管有沒有運(yùn)行完成。
這里舉一個(gè)例子,我們首先使用XShell遠(yuǎn)程登錄CentOS8.4-1,然后使用ping 10.0.0.103命令檢測是否能夠連接10.0.0.103,也就是Ubuntu Server 20.04.3-1那臺機(jī)器
命令執(zhí)行的結(jié)果顯示能夠連接,而且只要你不關(guān)閉窗口會(huì)一直顯示收到數(shù)據(jù)以及耗時(shí)。
然后我們復(fù)制一個(gè)會(huì)話
然后使用ps aux|grep ping 查看ping的進(jìn)程信息,因?yàn)闆]有關(guān)閉會(huì)話窗口所以進(jìn)程還在
當(dāng)我們關(guān)閉之前開啟的會(huì)話窗口之后
再次使用ps aux|grep ping查看進(jìn)程會(huì)發(fā)現(xiàn)ping進(jìn)程不存在了
為了解決上述的問題,我們就可以將會(huì)話與窗口解綁,也就是窗口關(guān)閉時(shí)會(huì)話并不會(huì)終止,而是繼續(xù)運(yùn)行,等到以后需要的時(shí)候,再讓會(huì)話綁定其他窗口。
而終端復(fù)用器程序(例如screen,tmux)就是將會(huì)話與窗口的解綁工具,將它們徹底分離。
首次運(yùn)行screen時(shí)會(huì)發(fā)現(xiàn)Shell提示command not found
我們需要使用yum install -y screen 來安裝screen,但是執(zhí)行之后發(fā)現(xiàn)提示錯(cuò)誤:: Unable to find a match: screen
Centos8安裝screen需要使用epel來安裝,安裝epel后,再安裝screen,解決centos8無法安裝screen的問題
然后再執(zhí)行yum install -y screen 便可安裝成功
Screen安裝成功
在安裝完screen后就可以使用了,首先在終端輸入screen,然后你就會(huì)看到屏幕好像是刷新了一下,本質(zhì)就是一個(gè)會(huì)話
然后再次運(yùn)行ping 10.0.0.103
由于開啟了screen,即使關(guān)閉了所有的會(huì)話窗口,你會(huì)發(fā)現(xiàn)使用ps aux |grep ping 命令查看ping命令的進(jìn)程也還在。
如果后期在做運(yùn)維工作,有些命令很耗時(shí)又怕誤操作關(guān)閉會(huì)話導(dǎo)致命令的進(jìn)程關(guān)閉就可以使用screen。
screen除了創(chuàng)建會(huì)話,能讓命令關(guān)閉窗口后繼續(xù)在后臺執(zhí)行的功能以外,還能夠?qū)崿F(xiàn)遠(yuǎn)程桌面共享,從而實(shí)現(xiàn)遠(yuǎn)程協(xié)助的功能。
實(shí)現(xiàn)該功能必須滿足兩個(gè)條件,兩個(gè)用戶必須使用同一個(gè)賬號登錄同一臺機(jī)器。
例如這里小紅和小明同時(shí)使用root賬號登錄了CentOS8.4,其中左邊的窗口是小紅,右邊的窗口是小明
然后小紅使用screen -S help開啟一個(gè)遠(yuǎn)程會(huì)話,會(huì)話的名稱叫help
然后小明使用screen -x help加入小紅開啟的會(huì)話
此時(shí)小明可以看到小紅窗口的內(nèi)容
當(dāng)小明解決小紅的問題后,可以使用ctrl a,d退出當(dāng)前會(huì)話
如果小明不知道小紅的會(huì)話名稱,可以使用screen -ls獲取當(dāng)前會(huì)話
echo就是用于輸出信息
echo輸出固定字符串
echo輸出變量值
echo輸出轉(zhuǎn)義字符
echo 默認(rèn)可以實(shí)現(xiàn)換行
echo輸出信息還可以帶顏色
echo還可以清除屏幕,等價(jià)于clear命令或者是快捷鍵Ctrl+l
在 Linux 中玩游戲時(shí),可以將系統(tǒng)分區(qū)和游戲數(shù)據(jù)分區(qū)分開,以便更好地管理和維護(hù)文件。
以下是一些參考步驟:
1. 確定您的硬盤空間:在終端中輸入命令 `df -h`,查看硬盤剩余空間。
2. 創(chuàng)建游戲數(shù)據(jù)分區(qū):在終端中輸入命令 `sudo fdisk /dev/sdX`,其中 `/dev/sdX` 是硬盤的設(shè)備名稱。依次輸入 `n`(新建分區(qū))、`p`(主分區(qū))、`3`(分區(qū)編號,根據(jù)情況調(diào)整)、選擇默認(rèn)的首尾扇區(qū)、`w`(保存并退出)。
3. 格式化游戲數(shù)據(jù)分區(qū):在終端中輸入命令 `sudo mkfs.ext4 /dev/sdX3`,其中 `/dev/sdX3` 為游戲數(shù)據(jù)分區(qū)的設(shè)備名稱。
4. 創(chuàng)建游戲數(shù)據(jù)目錄:在終端中輸入命令 `sudo mkdir /mnt/games`,其中 `/mnt/games` 是您想要?jiǎng)?chuàng)建的目錄名稱。該目錄將成為游戲數(shù)據(jù)分區(qū)的掛載點(diǎn)。
5. 將游戲數(shù)據(jù)分區(qū)掛載到游戲數(shù)據(jù)目錄:在終端中輸入命令 `sudo mount /dev/sdX3 /mnt/games`,其中 `/dev/sdX3` 是游戲數(shù)據(jù)分區(qū)的設(shè)備名稱。
6. 設(shè)置自動(dòng)掛載:編輯 `/etc/fstab` 文件,輸入下面的一行:
`/dev/sdX3 /mnt/games ext4 defaults 0 0`
7. 將游戲程序安裝到 `/mnt/games` 目錄中。
通過以上步驟,您可以將游戲數(shù)據(jù)分離出系統(tǒng)分區(qū),更好地管理和維護(hù)游戲文件。
[TOC]
可以列出被進(jìn)程所打開的文件的信息。被打開的文件可以是
1.普通的文件
2.目錄抽象為特殊文件
3.網(wǎng)絡(luò)文件系統(tǒng)的文件,抽象為文件
4.字符設(shè)備文件在linux抽象為文件
5.(函數(shù))共享庫
6.管道,命名管道
7.符號鏈接
8.底層的socket字流,網(wǎng)絡(luò)socket,unix域名socket
9.在linux里面,很多東西都抽象為文件,提供了統(tǒng)一的訪問接口
屬性第一個(gè)字符:
rwx=0x111,二進(jìn)制表示
列出所有進(jìn)程
-ef f:father
ps –el ,
e:every :顯示所有進(jìn)程信息,等價(jià)于A
a:all :顯示除了當(dāng)前終端進(jìn)程外的其他進(jìn)程
l: long 長格式顯示進(jìn)程信息。
linux 線程狀態(tài):
ps工具標(biāo)識進(jìn)程的5種狀態(tài)碼:
chmod 對象 +/- 模式
對象:u(user),g(group),o(other),a(all)
模式:r,w,x
由于inode號碼與文件名分離,這種機(jī)制導(dǎo)致了一些Unix/Linux系統(tǒng)特有的現(xiàn)象。
軟件不關(guān)閉情況下更新:寫入同名不同inode的文件,下次啟動(dòng)由于老的inode已經(jīng)丟失,操作系統(tǒng)回收原來的Block。
綜上,總結(jié)一下軟鏈接和硬鏈接的區(qū)別:
參考: 阮一峰的網(wǎng)絡(luò)日志:理解inode
Ctrl+z 暫停進(jìn)程執(zhí)行
uname -m 顯示機(jī)器的處理器架構(gòu)(2)
uname -r 顯示正在使用的內(nèi)核版本
jobs: 查看后臺任務(wù)
fg +jobNum: 將后臺任務(wù)調(diào)到前臺
未完,不定期更新中...