微吼云上線多路互動直播服務 加速多場景互動直播落地
599
2025-03-31
常見命令
查看硬件信息
查看CPU
lscpu命令可以查看cpu信息
cat /proc/cpuinfo也可查看到
查看內存大小
free命令可以查看內存大小(但顯示結果會以KB格式,需要加上-h)
cat /proc/meminfo也可查看到
查看硬盤和分區情況
lsblk命令可以查看硬盤和分區信息
cat /proc/partitions也可查看到
查看系統版本信息
查看內核版本
[root@localhost ~]# uname -r 3.10.0-1160.el7.x86_64
查看操作系統發行版本
[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [root@localhost ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"
日期和時間
Linux的兩種時鐘
系統時鐘:由Linux內核通過CPU的工作頻率進行的
硬件時鐘:主板
相關命令
date 顯示和設置系統時間
例子:
[root@localhost ~]# date +%s 1647268077 [root@localhost ~]# date -d @`date +%s` Mon Mar 14 22:28:15 CST 2022 [root@localhost ~]# date -d @1647268077 Mon Mar 14 22:27:57 CST 2022 [root@localhost ~]# date -d @1647268077 +%F_%T 2022-03-14_22:27:57
clock, hwclock:顯示硬件時鐘
-s, --hctosys #以硬件時鐘為準,校正系統時鐘 -w, --systohc #以系統時鐘為準,校正硬件時鐘
時區:
/etc/localtime
例子:
[root@localhost ~]# timedatectl list-timezones [root@localhost ~]# timedatectl set-timezone Asia/Shanghai [root@localhost ~]# timedatectl status Local time: Mon 2022-03-14 22:44:59 CST Universal time: Mon 2022-03-14 14:44:59 UTC RTC time: Mon 2022-03-14 14:44:55 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: no NTP synchronized: no RTC in local TZ: no DST active: n/a [root@localhost ~]# ll /etc/localtime lrwxrwxrwx. 1 root root 35 Mar 4 20:54 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai
顯示日歷:
cal -y
例子:
[root@localhost ~]# cal 3 2022 March 2022 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
關機和重啟
關機:
halt
poweroff
重啟:
reboot
-f:強制,不調用shutdown
-p:切斷電源
關機或重啟:shutdown
shutdown [OPTION]... [TIME] [MESSAGE]
-r:reboot
-h:halt
-c:cancel
TIME:無指定,默認相當于+1(CentOS7)
now:立刻,相當于+0
+#:相對時間表示法,幾分鐘之后;例如:+3
hh:mm:絕對時間表示,指明具體時間
用戶登錄信息查看命令
whoami:顯示當前登錄有效用戶
who:系統當前所有的登錄會話
w:系統當前所有的登錄會話及所做的操作
文本編輯
nano:工具可以實現文本的編輯,上手容易,適合初學者
gedit:工具是圖形工具
會話管理
命令行的典型使用方式是,打開一個終端窗口(terminal window,以下簡稱"窗口"),在里面輸入命令。用戶與計算機的這種臨時的交互,稱為一次"會話"(session)
會話的一個重要特點是,窗口與其中啟動的進程是連在一起的。打開窗口,會話開始;關閉窗口,會話結束,會話內部的進程也會隨之終止,不管有沒有運行完成
一個典型的例子就是,SSH登錄遠程計算機,打開一個進程窗口執行命令。這時,網絡突然斷線,再次登錄的時候,是找不回上一次執行的命令的。因為上一次SSH會話已經終止了,里面的進程也隨之消失了。為了解決這個問題,會話與窗口可以"解綁";窗口關閉時,會話并不終止,而是繼續運行,等到以后需要的時候,再讓會話"綁定"其他窗口
終端復用器軟件就是會話與窗口的"解綁"工具,將它們徹底分離。
(1),它允許在單個窗口中,同時訪問多個會話,這對于同時運行多個命令行程序很有用。
(2)它可以讓新窗口"接入"已經存在的會話。
(3)它允許每個會話有多個連接窗口,因此可以多人實時共享會話。
(4)它還支持窗口任意的垂直和水平拆分。
類似的終端復用器還有Screen,Tmux
screen
利用screen可以實現會話管理,如:新建會話,共享會話等
注意:CentOS7來自于base源,CentOS8來自于epel源
例子:安裝screen
#CentOS7安裝screen #yum -y install screen #CentOS8安裝screen #dnf -y install epel-release #dnf -y install screen
screen命令常見用法:
創建新screen會話
screen -S [SESSION]
加入screen會話
screen -x [SESSION]
退出并關閉screen會話
exit
剝離當前screen會話
Ctrl+a,d
顯示所有已經打開的screen會話
screen -ls
恢復某screen會話
screen -r [SESSION]
tmux
Tmux是一個終端復用器(terminal multiplexer),類似screen,但是更易用,也更強大
Tmux就是會話與窗口的"解綁"工具,將它們徹底分離,功能如下:
它允許在單個窗口中,同時訪問多個會話。這對于同時運行多個命令程序很有用。
它允許讓新窗口"接入"已經存在的會話。
它允許每個會話有多個連接窗口,因此可以多人實時共享會話。
它還支持窗口任意的垂直和水平拆分。
安裝
yum install tmux
啟動與退出
[root@centos7 ~]#tmux [root@centos7 ~]#exit logout
Tmux窗口有大量的快捷鍵,所有快捷鍵都要通過前綴鍵喚起。默認的前綴鍵是Ctrl+b,即先按下Ctrl+b,快捷鍵才會生效。幫助命令的快捷鍵是Ctrl+b ?然后,按下q鍵,就可以退出幫助。
新建會話
第一個啟動的Tmux窗口,編號是0,第二個編號是1,以此類推。這些窗口對應的會話,就是0號會話,1號會話。使用編號區分會話,不太直觀,更好的方法是為會話起名。下面命令新建一個指定名稱的會話。
tmux new -S
tmux ls或者Ctrl+b,s 可以查看當前所有的tmux會話
tmux ls tmux list-session
分離會話
在tmux窗口中,按下Ctrl+b d或者輸入tmux detach命令,就會將當前會話與窗口分離。
tmux detach
接入會話
tmux attach命令用于重新接入某個已存在的會話
tmux attach -t
終止會話
tmux kill-session命令用于終止某個會話
tmux kill-session -t
切換會話
tmux switch命令用于切換會話
tmux switch -t
可以將窗口分成多個窗格(pane),每個窗格運行不同的命令
上下分窗格
tmux split-window ctrl+b,"
左右分窗格
tmux split-window -h ctrl+b,%
列出所有快捷鍵,及其對應的tmux命令
tmux list-keys
列出所有tmux命令及其參數
tmux list-commands
輸出信息echo
echo基本用法
echo命令可以將后面跟的字符進行輸出
功能:顯示字符,echo會將輸入的字符串送往標準輸出,輸出的字符串間以空白字符隔開,并在最后加上換行號
語法:
echo [-neE][字符串]
選項:
-E (默認)不支持\解釋功能
-n 不自動換行
-e 啟用\字符的解釋功能
顯示變量
echo "$VAR_NAME" #用變量值替換,弱引用 echo '$VAR_NAME' #變量不會替換,強引用
啟用命令選項-e,若字符串中出現以下字符,則特別加以處理,而不會將它當作一般文字輸出
\a 發出警告聲
\b 退格鍵
\c 最后不加上換行符號
\e escape,相當于\033
\n 換行且光標移至行首
\r 回車,即光標移至行首,但不換行
\t 插入tab
\\ 插入\字符
\0nnn 插入nnn(八進制)所代表的ASCII字符
\xHH 插入HH(十六進制)所代表的ASCII數字(man 7 ascii)
echo高級用法
在終端中,ANSI定義了用于屏幕顯示的Escape屏幕控制碼
具有顏色的字符,其格式如下:
"\033[字符背景顏色;字體顏色m字符串\033[0m"
\033[30m … \033[37m 設置前景色
\033[40m … \033[47m 設置背景色
#字符背景顏色范圍:40-47 40:黑 41:紅 42:綠 43:黃 44:藍 45:紫 46:深綠 47:白
加顏色只是以下控制碼中的一種,下面是常見的一些ANSI控制碼:
\033[0m 關閉所有屬性 \033[1m 設置高亮度 \033[4m 下劃線 \033[5m 閃爍 \033[7m 反顯 \033[8m 消隱 \033[nA 光標上移n行 \033[nB 光標下移n行 \033[nC 光標右移n列 \033[nD 光標左移n列 \033[x;yH 設置光標位置x行y列 \033[2J 清屏 \033[K 清除從光標到行尾的內容 \033[s 保存光標位置 \033[u 恢復光標位置 \033[?25l 隱藏光標 \033[?25h 顯示光標 \033[2J\033[0;0H 清屏且將光標置頂
字符集和編碼
許多場合下,字符集與編碼這兩個概念常被混為一談,但兩者是有差別的。字符集與字符集編碼是兩個不同的概念。
charset是character set的簡寫,即字符集,即二進制和字符的對應關系,不關注最終的存儲形式
encoding是charset encoding的簡寫,即字符集編碼,簡稱編碼,實現如何將字符轉化為實際的二進制進行存儲或相反,編碼決定了空間的使用的大小
ASCII碼
計算機內部,所有信息最終都是一個二進制值。上個世紀60年代,美國制定了一套字符編碼,對英語字符與二進制之間的關系,做了統一規定,即ASCII(American Standard Code for Information Interchange)碼
ASCII碼一定規定了128個字符的編碼,占用了一個字節的后面7位,最前面的一位統一規定為0
例子:查看ASCII表
dnf -y install man-pages man ascii
Unicode
由于計算機是美國人發明的,因此,最早只有127個字母被編碼到計算機里,即ASCII編碼,但是要處理中文顯然一個字節是不夠的,至少需要兩個字節,而且還不能和ASCII編碼沖突,所以,中國制定了GB2312編碼,用來把中文編進去。
全世界有上百種語言,日本把日文編到Shift_JIS里,韓國把韓文編到Euc-kr里,各國有各國的標準,就會不可避免地出現沖突,結果就是,在多語言混合的文本中,顯示出來會有亂碼。
為了表示世界上所有語言中的所有字符。每一個符號都給予一個獨一無二的編碼數字,Unicode是一個很大的集合,現在的規模可以容納100多萬個符號。Unicode僅僅只是一個字符集,規定了每個字符對應的二進制代碼,至于這個二進制代碼如何存儲則沒有規定
Unicode編碼方案:
UTF-8:變長,1到4個字節
UTF-16:變長,2或4個字節
UTF-32:固定長度,4個字節
UTF-8是目前互聯網上使用廣泛的一種Unicode編碼方式,可變長存儲。使用1-4個字節表示一個字符,根據字符的不同變換長度。
編碼規則如下:
對于單個字節的字符,第一位設為0,后面的7位對應這個字符的Unicode碼。因此,對于英文中的0-127號字符,與ASCII碼完全相同。這意味著ASCII碼的文檔可用UTF-8編碼打開。
對于需要使用N個字節來表示的字符(N>1),第一個字節的前N位都設為1,第N+1位設為0,剩余的N-1個字節的前兩位都設為10,剩下的二進制位則使用這個字符的Unicode碼來填充
編碼轉換和查詢參考鏈接:
https://home.unicode.org/
https://unicode.yunser.com/unicode
https://www.chi2ko.com/tool/CJK.htm
https://www.bejson.com/convert/unicode_chinese/
https://javawind.net/tools/native2ascii.jsp?action=transform
http://tool.oschina.net/encode
http://web.chacuo.net/charsetescape
Unicode和UTF-8
例子:Unicode轉換為UTF-8
"漢"的Unicode碼0x6C49(110 110001 001001),需要三個字節存儲,格式為:1110xxxx 10xxxxxx 10xxxxxx,從后向前依次填充對應格式中的x,多出的x用0補,得出UTF-8編碼為:11100110 10110001 10001001 "馬"的Unicode碼0x9A6C(1001 101001 101100),需要三個字節存儲,格式為:1110xxxx 10xxxxxx 10xxxxxx,從后向前依次填充對應格式中的x,多出的x用0補,得出UTF-8編碼為11101001 10101001 10101100
例子:修改LANG變量實現中文語言提示
[root@localhost ~]# echo $LANG en_US.UTF-8 [root@localhost ~]# LANG=zh_CN.UTF-8 [root@localhost ~]# echo $LANG zh_CN.UTF-8 [root@localhost ~]# LANG=en_US.UTF-8 [root@localhost ~]# echo $LANG en_US.UTF-8
Linux
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。