計算機基礎:
一、計算機系統組成
二、馮諾依曼體系
三、服務器存儲類型
DAS:直接連接存儲,存儲直接與服務器相連,類似于在服務器上直接加個存儲,用IDE、SATA線等線纜進行連接
NAS:網絡連接存儲,通過局域網,在多個服務器之間實現了文件共享,類似于NFS、windows共享的模式,
SAN:存儲區域網絡,有SAN的服務端和SAN的客戶端,客戶端通過網絡連到存儲上,效果類似在本地加上一塊磁盤,通過光纖或網線相連
四、ABI和API:
ABI:應用程序二進制接口,在應用程序和而操作系統之間
API:應用程序調用接口,在底層和操作系統之間
五、文件系統:
ntfs、fat、iso9660
ext2、3、4 CentOS6.X系統默認的文件系統
xfs、btrfs CentOS7默認用的是xfs文件系統
六、分區方案:
MBR:
主分區:一個磁盤主分區的數量 <=4,系統要裝在主分區上,如果服務器上有兩塊磁盤,那么其中一塊磁盤可以沒有主分區
擴展分區:一個磁盤只能有一個擴展分區,擴展分區數量+主分區數量 <=4,擴展分區不能存儲數據,只能用來劃分邏輯分區
邏輯分區:邏輯分區分區號從5開始編號,sda5
主分區和擴展分區的編號可以認為指定,但是擴展分區里面的邏輯分區的編號是系統自動指定的
分區后需要掛載后才能使用
swap分區在以前內存比較小的情況下,一般是內存的兩倍
但目前服務器內存比較大,一般測試環境給2G就夠了,生產環境中8G以上的內存,可以分10G左右就夠了
七、Linux哲學思想:
1、一切皆文件
2、小型、單一用途的程序
3、鏈接程序,共同完成復雜的任務
4、避免令人困惑的用戶界面
5、配置數據存儲在文本中
八、shell類型
shell:功能可以理解為將命令翻譯成計算機能夠識別的0101代碼,翻譯器
shell的種類:sh、csh、tcsh、ksh、bash、zsh
/etc/shell 配置文件中保存了當前系統支持的shell類型
九、用到的一些命令
lscpu 可以查看cpu的信息
md5sum /dev/sr0 可以計算出來指定文件的md5值
whoami 可顯示當前是哪個用戶登錄
tty 可以顯示出當前登錄的是哪個終端
chvt 1-6 表示利用終端切換界面
hostname 可顯示完整的主機名
lsb_release -a 查看當前操作系統的版本信息
uname -r 查看內核版本
id -u 可查看當前登錄用戶的UID
id -u USERNAME 可查看指定用戶的UID
echo $SHELL 可查看默認shell類型
getent passwd ftp 可以查看ftp用戶的/etc/passwd中的條目
type COMMAND 可以查看指定的命令是外部命令還是內部命令
hash 可以將外部命令的路徑結果緩存下來
十、相關命令詳解
cd:改變工作目錄
語法:cd /PATH/TO/SOMEDIR 切換到指定目錄
cd 切換回家目錄
cd ~ 切換回自己家目錄
cd ~USERNAME 切換到指定用戶的家目錄(只有管理員才有權限切換到其他用戶的家目錄)
cd – 在上一次所在目錄與當前目錄之間來回切換
PWD 用來記錄當前工作目錄的環境變量
OLDPWD 用來記錄上一次工作目錄的環境變量
ls:列出指定目錄下的內容
語法:ls [OPTION]…[FILE]…
常用選項:
-a 顯示所有文件,包括隱藏文件
-A 顯示除.和..之外的所有文件
-l 長格式列表,表示顯示文件的詳細屬性信息
顯示出來的信息為
-rw-r-x— 1 root root 8827 10月15 20:34 testa.log
-rw-r-x—該文件的文件類型和相應的權限
最前面一個-表示文件的類型,后面9位表示相應的權限
文件類型:
-:表示是普通文件,
d:表示是目錄
b:表示是塊設備文件,支持以“block”為單位進行隨機訪問
c:表示是字符設備文件,支持以“character”為單位進行線性訪問
l:表示是符號鏈接(軟鏈接)文件
p:表示是管道文件,有名字的管道文件
s:表示是套接字文件
1 表示文件被硬鏈接的次數
root 表示文件的屬主
root 表示文件的屬組
8827 表示文件的大小
但是如果對ll /dev 該處顯示的是兩個數字,類似brw-rw—-. 1 root cdrom 11, 0 7月13 00:34 sr0
這里的數字前一個表示主設備號,后一個表示次設備號,一個標識設備類型,后一個標識同一類不同設備
10月15 20:34 表示文件最后一次被修改的時間
-h 表示對文件大小做單位換算,換算后的結果可能為非精確值(1000和1024的區別)
-d 表示僅顯示目錄自身,而不是目錄下面每個文件的屬性,要與-l一起使用,顯示目錄自身的屬性信息
-r ,–reverse 表示顯示時以逆序的方式進行顯示,默認是升序顯示
-R ,–recursive 表示遞歸顯示
cat:顯示文本文件的文件內容
語法:cat [OPTION]…[FILE]…
選項:
-n 給顯示的文本行編號
-E 顯示行結束符,Linux行結束符為$
FILE可以有多個,顯示的時候將多個文件全部列出來
echo:回顯命令
語法:echo [OPTION]…[STRING]…
選項:
-n 顯示完成后不自動進行換行
-e 讓轉意符生效,而不是顯示出來
轉意符:\n 表示換行
\b 表示退格
\t 表示制表符
\0nnn插入nnn(八進制)代表的ASCII編碼
利用上述的可以改顏色,顏色配置文件在/etc/DIR_COLORS
echo -e “\033[背景顏色;字體顏色m字符串\033[0m” 背景顏色可省略
echo -e “\033[43;31m nihao \033[0m”
43;31表示前景色和背景色
字體顏色:30-37分別表示:黑、紅、綠、黃、藍、紫、天藍、白色
背景顏色:40-47分別表示:黑、紅、綠、黃、藍、紫、天藍、白色
\033[0m是控制選項,0m表示無屬性,1m表示高亮度,4m表示下劃線,5m表示閃爍,7m表示反顯,8m表示隱藏顯示
echo -e "\033[5m\033[44;32m*\033[0m" 顯示為*號閃爍,如果寫到最后面\033[0m這里,
則會變成顯示完成后換行后的命令提示符閃爍
STRING:可以使用引號,單引號和雙引號均可使用
單引號:強引用,變量引用不執行替換;
雙引號:弱引用,變量引用執行替換;
如:echo “$SHELL”
顯示出來的信息為 /bin/bash
echo ‘$SHELL’
顯示出來的信息為 $SHELL
echo echo $USER結果為echo root
echo ‘echo $USER’結果為 echo $USER
echo “echo $USER”結果為 echo root
echo `echo $USER`結果為root
注意:變量引用中的正規引用表示法為 ${SHELL},只是很多時候{}可以被省略
shutdown: 關機或重啟命令
語法:shutdown [OPTIONS…][TIME][WARNING…]
選項:
-h:表示關機
-r:表示重啟
-c:表示取消之前定義的關機或重啟操作
TIME:
now:表立即
hh:mm 表示指定的時間點
+m 表示在當前時刻的多少分鐘之后
WARNING:
表示提示信息
例如:shutdown -r +10 “system is going to reboot after 10 minutes”
日期相關的命令:date、clock、hwclock、cal
Linux有兩套時間,一套是硬件時鐘,一套是系統時鐘,系統啟動時,從硬件讀取日期和時間信息;讀取完成以后,就不在與硬件相關
date:顯示或設置系統時間(顯示和設定系統時鐘)
語法:date [OPTION]… [+FORMAT] 用來顯示時間日期
date [MMDDhhmm[[CC]YY][.ss]] 用來設置時間日期
date -d “STRING” :顯示指定字符串的日期
例如:date -d yesterday
date -d “10 days ago” 顯示10天以前的日期
date -d “1 month 10 days ago” 顯示1個月10天之前的日期
date -d “20 days” 顯示20天之后的日期
date –set 20160725 可以將日期設置為2016年7月25日
date –set “20160726 17:25:26”可以設定日期和時間
+FORMAT:表示顯示為指定格式的日期,+為固定格式
FORMAT支持的常用格式有:
%F:顯示為例如2016-07-20的日期格式
%T:顯示為例如08:58:15這樣的時間顯示格式
%Y:顯示年
%m:顯示月
%d:顯示日
%H:顯示幾點
%M:顯示幾分
%S:顯示幾秒
%j:顯示當前數一年中的第多少天,值為1-356
%D:顯示為07/22/16這樣月/日/年格式
%s:顯示時間戳,也就是從1970年1月1號0點0分0秒到當前時間所經歷的秒數
多個格式之間用空格分隔,可以將整個格式用雙引號引起來
例如:date +“%F %T”
例如:date +“%Y%m%d %H%M%S”
date +“YEAR:%Y Month:%m”
設定時間的例子:
date 072008522016.25 表示修改時間為07月20日08點52分鐘2016年 25秒
clock,hwclock:查詢和設定硬件時鐘(硬件時鐘,可理解為BIOS時鐘)
clock和hwclock為同一套命令,clock是hwclock的硬鏈接
clock不跟任何信息,表示顯示硬件時鐘
-s,–hctosys 表示將系統時間設置為跟硬件時間一樣的時間
-w,–systohc 表示將硬件時間設置為跟系統時間一樣的時間
cal:顯示日歷
cal 表示顯示當前這個月的日歷
cal 2016 表示顯示指定年的全年的日歷
cal 07 2016 表示顯示指定年的指定月的日歷
type:顯示命令的類型,是內建命令還是外部命令
例如:type ls
如果原始命令被隱藏,要想使用原始命令,可以使用\ls
whatis COMMAND可以顯示命令的大致功能說明
which:用來顯示命令的完整路徑
語法:which [OPTION]…COMMAND
例如:which ls
選項:
–skip-alias 忽略命令別名,而直接顯示命令本身
whereis:顯示命令的路徑以及相關幫助文件的路徑信息
語法:whereis [OPTIONS] NAME
例如:whereis ls
選項:
-b僅顯示二進制文件程序的路徑
-m僅顯示幫助文件的程序的路徑
who:顯示當天系統的有哪些登錄用戶
語法:who [OPTIONS]…
who 顯示當前系統的所有登錄用戶的信息
who -b 顯示系統啟動的時間
who -r 顯示系統啟動的時間,以及當前的系統運行級別
who -d 顯示系統死亡進程的信息
who -u 顯示各個登錄用戶的信息,包括顯示登錄持續時常和登錄的進程號
w:增強版的who命令,用于顯示當前所有登錄的用戶,及其在操作的動作等詳細信息
命令別名:
alias 可以顯示當前系統上的命令別名信息
定義命令別名:
alias NAME='COMMAND' 只對當前shell有效,立即生效,重啟后失效
例如 alias cds=‘cd /etc/sysconfig/network-scripts/’
撤銷別名:
umalias NAME
例如 unalias cds
hash命令:可以對命令的路徑緩存至內存中
hash 可以查看緩存的列表
hash -d COMMAND 可以將hash緩存中包含COMMAND的條目刪除
hash -r 可以清空hash路徑緩存的緩存表
screen命令:字符界面實現遠程協助(前提是:連到同一臺機器,使用同一個賬號)需要安裝該screen軟件,yum install screen
打開新共享桌面:screen -S 共享會話的名稱
顯示共享桌面會話列表:screen -ls
對方連到建立的共享會話上:screen -x 會話名稱
退出會話ctrl+a,d
退出后再次連接上 screen -r 會話的進程號
退出并完全關閉會話exit
在遠程登錄的時候,運行一個執行過程比較長的程序(例如備份),為了防止斷網后,
程序斷開,無法知道程序運行的狀態,可以單獨開個screen來運行該程序
命令執行的優先級:命令別名>內部>外部命令緩存(hash)>外部命令
十一、課后作業
1、 用echo顯示閃爍的,帶顏色的倒三角
echo -e “\033[背景顏色;字體顏色m字符串\033[0m” 背景顏色可省略
echo -e “\033[43;31m nihao \033[0m”
43;31表示前景色和背景色
字體顏色:30-37分別表示:黑、紅、綠、黃、藍、紫、天藍、白色
背景顏色:40-47分別表示:黑、紅、綠、黃、藍、紫、天藍、白色
\033[0m是控制選項,0m表示無屬性,1m表示高亮度,4m表示下劃線,5m表示閃爍,7m表示反顯,8m表示隱藏顯示
echo -e "\033[5m\033[44;32m*\033[0m" 顯示為*號閃爍,如果寫到最后面\033[0m這里,
則會變成顯示完成后換行后的命令提示符閃爍
故可以用echo -e "\033[5m\033[31m*******\n ***** \n *** \n * \033[0m"來顯示一個紅色,閃爍的倒三角
2、date顯示前十天前的日期,后20天的日期信息
date -d "10 days ago" +%F 顯示10天前的日期
date -d "20 days" +%F 顯示20天后的日期
3、screen命令:字符界面實現遠程協助(前提是:連到同一臺機器,使用同一個賬號)需要安裝該screen軟件,yum install screen
打開新共享桌面:screen -S 共享會話的名稱
顯示共享桌面會話列表:screen -ls
對方連到建立的共享會話上:screen -x 會話名稱
退出會話ctrl+a,d
退出后再次連接上 screen -r 會話的進程號
退出并完全關閉會話exit
在遠程登錄的時候,運行一個執行過程比較長的程序(例如備份),為了防止斷網后,
程序斷開,無法知道程序運行的狀態,可以單獨開個screen來運行該程序
原創文章,作者:M20-1倪文超,如若轉載,請注明出處:http://www.www58058.com/25291