? Linux 入門基礎
- 計算機組成及功能
一般而言,計算機的組成應該分為兩部分:
一部分指的是硬件部分。根據馮諾伊曼提出的計算機體系架構,一臺計算機主要分為五個部分:控制器、運算器、存儲器、輸入設備、輸出設備
- 運算器:
包含算數邏輯單元(ALU)、累加器、狀態寄存器、通用寄存器組等,主要作用如下
算數邏輯單元(ALU):進行二位元的算術運算,如加減乘(不包括整數除)、移位等
累加器(accumulator):儲存計算產生的中間結果。保證ALU不用將計算結果寫入內存
狀態寄存器:存放兩類信息
1)體現當前指令執行結果的狀態信息
2)控制信息
通用寄存器組:可用于傳送和暫存數據,也可以參與算術邏輯運算,保存運算結果,通用寄存器組包括以下幾類:數據寄存器、變址寄存器、指針寄存器、段寄存器、指令指針寄存器
- 控制器:
CPU的組成部分之一。相當于計算機的中樞神經,通過控制器,可以有效的控制和協調整個計算機的如下動作
– 保障不同數率傳輸的數據可以得到緩沖
– 甄別IO設備傳送數據的正錯
– 實現數據與數據之間的交換
– 接收和識別命令
- 存儲器:
存儲程序和數據,并能在計算機運行過程中高速、自動地完成從程序或數據的存取,也就是俗稱的內存RAM(Random Access Memory)
- 輸入設備:
外部設備之一。作用是將程序、原始數據、文字、字符、控制命令或現場采集的數據輸入到計算機。常見的輸入設備有:鍵盤、鼠標、磁帶機、磁盤機、光盤機等
- 輸出設備:
外部設備之一。作用是把計算機的中間結果或最后結果、機內的各種數據及文字等信息輸出來。常見的輸出設備有:顯示器、打印機、繪圖儀等
二部分指的是計算機軟件。包括匯編語言、系統軟件及應用軟件,他們不像硬件一樣“有形”,但只有軟件硬件互相配合,才是一臺標準的計算機組成
- Linux的發行版
Linux發行版(Linux distribution)
是一種為一般用戶預先集成好的Linux操作系統及各種應用軟件。一般不需要用戶重新編譯,在直接安裝之后,只需要作出小幅度的更改設置即可。Linux發行版通常包含了桌面環境、辦公包、媒體播放器、數據庫等應用軟件。這些操作系統通常使用Linux、以及來自GNU計劃的軟件、和基于X Window的圖形界面組成。
Linux發行版通常分為商業發行版和社區發行版。也有少部分既不屬于發行版又不屬于社區發行版,其中最有名的是Slackware.
著名的Linux發行版:
Redhat系:RHEL(企業版)、CentOS(社區版)、Fedora
Slackware系:S.u.S.E、OpenSUSE
Debian系:Ubuntu、Knopix以桌面版為主
發行版之間的不同
在Linux發行版中,通常均使用軟件包管理系統,不同的操作系統,軟件包管理系統也不盡相同。比較常見的軟件包管理系統有以下幾種
– dpkg:一般為Debian系使用,前端管理工具為apt-get
– rpm(The RPM Package Manager):一般為Red Hat系使用,S.u.S.E也有使用,前端工具包含多種:
yum:作為RHEL及CentOS的前端工具
dnf:作為Fedora的前端工具
ZYpper:作為S.u.S.E及opensuse的前端工具
urpmi:作為Mandriva Linux及Mageia的前端工具
- Linux的哲學思想
1.一切都是一個文件(包括硬件也是以文件形式掛載)
2.小型,單一用途的程序
3.鏈接程序,共同完成復雜的任務
4.避免令人困惑的用戶界面
5.配置數據存儲在文本中
- 常用基礎命令
命令格式:
COMMAND? 【OPTION】Arguments
命令本身 【長選項/短選項】作用對象
命令類型:(使用type命令查看)
內建命令:由shell程序自帶的命令,可以使用enable查看有哪些內建命令
外部命令:獨立可執行的文件。存放$PATH路徑下,可使用文件名執行命令。
常用命令:
ifconfig: 查看及配置網卡信息命令,類似于ip address
常用參數:
ifconfig: 查看當前系統存活的網卡信息
ifconfig –a :查看所有網卡信息,包括非運行狀態網卡
ifconfig eth#:查看指定網卡的信息
ifconfig eth# up: 啟動指定的網卡
ifconfig eth# down: 關閉指定的網卡
ifconfig eth# xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx:配置IP地址
使用此命令對于網絡接口的所有操作,在系統重啟后均會失效。若需永久生
效,需要通過修改配置文件的方式,vim /etc/sysconfig/network-script/ifcfg-eth#
echo : 回顯命令
-n: 關閉自動換行功能
-e: 啟用轉義符
\t:制表符
\b:退格鍵(即刪除鍵)
\n: new line 新添加一行
\033[##m: 控制顏色
第一個數字3:字體前景色
第一個數字4:字體背景色
第二個數字:表示顏色本身,0-7
如果同時使用前景色和背景色:\033[3#;4#m
\033[#m: 單個數字用于控制字體的加粗,下劃線等功能
\033[0m: 關閉字體功能
echo “$VAR_NAME”:變量會替換,雙引號表示弱引用
echo ‘$VAR_NAME’ : 變量不會替換,單引號表示強引用
tty: 查看當前終端設備
[root@centos7 ~]# tty
/dev/pts/0
?
startx: 啟用圖像化界面
export:用于設置或者顯示環境變量
?-f 代表[變量名稱]中為函數名稱。
-n 刪除指定的變量。變量實際上并未刪除,只是不會輸出到后續指令的執行環境中。
-p 列出所有的shell賦予程序的環境變量。
?
pwd: 以絕對路徑的方式顯示用戶當前工作目錄
[root@centos7 ~]# pwd
/root
history: 顯示歷史命令
-c:清空當前歷史命令
-a:將歷史命令緩沖區中命令寫入歷史命令文件中
-r:將歷史命令文件中的命令讀入當前歷史命令緩沖區
-w:將當前歷史命令緩沖區命令寫入歷史命令文件中
n:打印最近n條歷史命令(n為數字)
shutdown: ?根據需求關機或重啟
-c:當執行“shutdown -h 11:50”指令時,只要按+鍵就可以中斷關機的指令;
-f:重新啟動時不執行fsck;
-F:重新啟動時執行fsck;
-h:將系統關機,-h now立即關機;
-k:只是送出信息給所有用戶,但不會實際關機;
-n:不調用init程序進行關機,而由shutdown自己進行;
-r:shutdown之后重新啟動;
-t<秒數>:送出警告信息和刪除信息之間要延遲多少秒。
eg:
指定5分鐘后關機,同時送出警告信息給登入用戶:
shutdown +5 “System will shutdown after 5 minutes”
?
poweroff:關閉計算機操作系統并且切斷系統電源。
-n:關閉操作系統時不執行sync操作;
–w:不真正關閉操作系統,僅在日志文件“/var/log/wtmp”中;
-d:關閉操作系統時,不將操作寫入日志文件“/var/log/wtmp”中添加相應的記錄;
-f:強制關閉操作系統;
-i:關閉操作系統之前關閉所有的網絡接口;
-h:關閉操作系統之前將系統中所有的硬件設置為備用模式。
?
?reboot:重新啟動正在運行的Linux操作系統。
-d:重新開機時不把數據寫入記錄文件/var/tmp/wtmp。本參數具有“-n”參數效果;
-f:強制重新開機,不調用shutdown指令的功能;
-i:在重開機之前,先關閉所有網絡界面;
-n:重開機之前不檢查是否有未結束的程序;
–w:僅做測試,并不真正將系統重新開機,只會把重開機的數據寫入/var/log目錄下的wtmp記錄文件
hwclock:硬件時鐘訪問工具,它可以顯示當前時間、設置硬件時鐘的時間和設置硬件時鐘為系統時間,也可設置系統時間為硬件時鐘的時間。
–adjust:hwclock每次更改硬件時鐘時,都會記錄在/etc/adjtime文件中。使用–adjust參數,可使hwclock根據先前的記錄來估算硬件時鐘的偏差,并用來校正目前的硬件時鐘;
–debug:顯示hwclock執行時詳細的信息;
–directisa:hwclock預設從/dev/rtc設備來存取硬件時鐘。若無法存取時,可用此參數直接以I/O指令來存取硬件時鐘;
–hctosys:將系統時鐘調整為與目前的硬件時鐘一致;
—set —date=<日期與時間>:設定硬件時鐘;
–show:顯示硬件時鐘的時間與日期;
–systohc:將硬件時鐘調整為與目前的系統時鐘一致;
—test:僅測試程序,而不會實際更改硬件時鐘;
–utc:若要使用格林威治時間,請加入此參數,hwclock會執行轉換的工作。
date:顯示和設置系統時間
-d<字符串>:顯示字符串所指的日期與時間。字符串前后必須加上雙引號;
-s<字符串>:根據字符串來設置日期與時間。字符串前后必須加上雙引號;
-u:顯示GMT;
%H 小時,24小時制(00~23)
%I 小時,12小時制(01~12)
%k 小時,24小時制(0~23)
%l 小時,12小時制(1~12)
%M 分鐘(00~59)
%p 顯示出AM或PM
%r 顯示時間,12小時制(hh:mm:ss %p)
%s 從1970年1月1日00:00:00到目前經歷的秒數 %S 顯示秒(00~59)
%T 顯示時間,24小時制(hh:mm:ss)
%X 顯示時間的格式(%H:%M:%S)
%Z 顯示時區,日期域(CST)
%a 星期的簡稱(Sun~Sat)
%A 星期的全稱(Sunday~Saturday)
%h,%b 月的簡稱(Jan~Dec)
%B 月的全稱(January~December)
%c 日期和時間(Tue Nov 20 14:12:58 2012)
%d 一個月的第幾天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第幾天(001~366)
%m 月份(01~12)
%w 一個星期的第幾天(0代表星期天)
%W 一年的第幾個星期(00~53,星期一為第一天)
%y 年的最后兩個數字(1999則是99)
實例:date +%s顯示顯示1970年上午8點整到現在過去了多少秒
[root@centos7 ~]# date +%s
1529852435
- 如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的
在shell中可執行的命令有兩類:內部命令和外部命令。
- 內部命令:由shell自帶的,通過某種命令形式提供
- 外部命令:在文件系統路徑下有對應的可執行程序文件
多層次的幫助:
- whatis COMMAND獲取命令索引的簡要說明:
- help
- man and info
- /usr/share/doc/
- Red Hat documentation
- 其它網站和搜索
獲取幫助信息方式分類
- 內部命令:help COMMAND,eg:help echo;
man bash
- 外部命令:
(1) 命令自帶簡要格式的使用幫助:COMMAND –help & COMMAND -h
(2) 使用手冊(manual):man COMMAND
(3) 信息頁info COMMAND
(4) 程序自身的幫助文檔READM、INSTALL、ChangeLog
(5) 程序官方文檔官方站點:Documentation
(6) 發行版的官方文檔
(7) Google
2、man文檔的章節的劃分:
路徑:/usr/share/man
#man COMMAND
使用手冊:壓縮格式的文件,有章節之分:
/usr/share/man/(man1,man2,….)
man1:用戶命令
man2:系統調用
man3:C庫調用
man4:設備文件及特殊文件
man5:配置文件格式的說明
man6:系統自帶游戲玩法說明
man7:雜項
man8:管理工具及守護進程
- Linux發行版的基礎目錄名稱命名法則及功用規定
/:根目錄,Linux文件系統的最上層根目錄,其他所有項目均是該目錄的子目錄
/boot:引導系統啟動,引導加載器必須用的各靜態文件:kernel,initramfs(initrd),grub等
/bin:系統自身啟動和運行時可能會用到的核心,所有用戶可用的基本命令程序文件。
/sbin:管理類基本命令,提供系統管理使用的工具程序。
/etc:大多數應用程序的配置文件的集中存放位置,只能為靜態
/lib:為系統啟動或要文件系統上的應用程序(/bin,/sbin等)提供共享庫文件,以及為內核提供內核模塊文件。
/lib64:專用于x86_64系統上的共享庫文件存放
/home:普通的家目錄的集中存放位置:一般每個普通用戶的家目錄 默認為此目錄下與用戶名同名的子目錄,/home/USERNAME
/root:管理員的家目錄:可選so.*:動態鏈接的C庫 ld*:運行時鏈接器/加載器
/modules:用于存儲內核模塊的目錄
/media:便攜式設備掛載點,cdrom,floppy等
/mnt:其它文件系統的臨時掛載點
/dev:devices,存儲特殊文件或設備文件:設備有兩種類型:字符設備(線性設備)、塊設備(隨機設備)
/opt:第三方應用程序的安裝位置
/srv:services,服務類程序用到的中間數據
/tmp:temporary,為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄:可供所有用戶執行寫入操作:有特殊權限
/usr:UNIX Software Resource,操作系統軟件資源存放
/var::/var Hierarchy,存儲常發生變化的數據的目錄
/proc:用于輸入內核與進程信息相關的虛擬文件系統,由內核參數映射而來的偽文件系統,多為內核參數
/sys::用于輸出當前系統上硬件設備相關習性的虛擬系統文件,由內核中與硬件設備相關的信息映/selinux:selinux相關的安全策略等信息的存儲位置。
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/101633