1. 程式人生 > >Linux 入門基礎

Linux 入門基礎

init 編程 相關信息 技術分享 window 詳細 命名 在線幫助 名稱

在開始正式學習Linux之前,我們首先要了解Linux是什麽,是怎麽來的,以及了解它的一些基本命令,下面我將從6個點說說我對Linux的基本認識。

1、 描述計算機的組成及其功能。
計算機由四個部分組成,分別是CPU、存儲器、輸入設備、輸出設備。
CPU:運算器、控制器、寄存器、緩存,提供邏輯計算和控制。
存儲器:內存,RAM,緩存和保存數據。
輸入設備:下指令,提供數據。
輸出設備:輸出數據加工的結果

2、 按系列羅列Linux的發行版,並描述不同發行版之間的聯系與區別。
Linux的發行版有數百種之多,其中可以分為:
Debain :Ubuntu,mint,knoppix
Slackware :S.U.S.E,SLES,OpenSUSE,Slax,

Redhat : RHCL:redhat enterprise Linux
他們都是每18個月發行一個新版本
Centos:兼容RHCL的格式
中標麒麟:中標軟件
Fedora : 每6個月發行一個新版本
ArchLinux: 輕量簡潔
Gentoo : 極致性能,不提供傳統意義的安裝程序
LFS :Linux from scrath 自制Linux
Android: kernel+busybox(工具集)+java虛擬機

3、 描述Linux的哲學思想,並按照自己的理解對其進行解釋性描述。
一、 一切都是一個文件(包括硬件):一切皆文件,在Linux系統中它會把幾乎所有的資源統統抽象成文件形式,當然也會包括硬件設備甚至通信接口等等。

二、 小型,單一用途的程序:小型單一,一個程序只做一件事,並把它做好。
三、 鏈接程序,共同完成復雜的任務:由眾多的功能單一的小程序鏈接在一起,組合起來完成復雜的任務。
四、 避免令人困惑的用戶界面:區別於windows操作系統用戶界面的不穩定性,linux中盡量避免跟用戶交互,系統從而穩定與快速,以編程的方式實現自動化任務。
五、 配置數據存儲在文本中:linux系統都是使用文本文件的方式來保存配置信息。

4、 說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,並配合相應的示例來闡述。

命令的語法通用格式:
#COMMAND OPTIONS ARGUMENTS
Ifconfig:配置和顯示網絡接口的網絡參數
技術分享圖片

Echo: 用於在shell中打印shell變量的值,或者直接輸出指定的字符串
語法
echo(選項)(參數)
選項
-e:激活轉義字符。
使用-e選項時,若字符串中出現以下字符,則特別加以處理,而不會將它當成一般文字輸出:

\a 發出警告聲;
\b 刪除前一個字符;
\c 最後不加上換行符號;
\f 換行但光標仍舊停留在原來的位置;
\n 換行且光標移至行首;
\r 光標移至行首,但不換行;
\t 插入tab;
\v 與\f相同;
\ 插入\字符;
\nnn 插入nnn(八進制)所代表的ASCII字符;
參數
變量:指定要打印的變量。

實例
用echo命令打印帶有色彩的文字:

文字色:
技術分享圖片

tty命令:顯示終端機連接標準輸入設備的文件名稱
語法:
tty [-s][--help][--version]
參數:

  1. -s或--silent或--quiet 不顯示任何信息,只回傳狀態代碼
  2. --help 在線幫助
  3. --version 顯示版本信息
    示例:ctrl+alt+F1-7可自由切換
    技術分享圖片技術分享圖片。。。。

startx命令用來啟動X Window,實際上啟動X Window的程序為xinit。

語法
startx(參數)
參數
客戶端及選項:X客戶端及選項;
服務器及選項:X服務器及選項。
實例:
要在工作站上或 X 終端上啟動 X 會話,請輸入:startx

Export: 用於將shell變量輸出為環境變量,或者將shell函數輸出為環境變量
語法
export(選項)(參數)
選項
-f:代表[變量名稱]中為函數名稱;
-n:刪除指定的變量。變量實際上並未刪除,只是不會輸出到後續指令的執行環境中;
-p:列出所有的shell賦予程序的環境變量。
參數
變量:指定要輸出或者刪除的環境變量。

實例
查看已經存在的環境變量
技術分享圖片

Pwd: 以絕對路徑的方式顯示用戶當前工作目錄
語法
pwd(選項)
選項
--help:顯示幫助信息;
--version:顯示版本信息。
實例
技術分享圖片

History: 用於顯示指定數目的指令命令,讀取歷史命令文件中的目錄到歷史命令緩沖區和將歷史命令緩沖區中的目錄寫入命令文件
語法
history(選項)(參數)
選項
-c:清空當前歷史命令;
-a:將歷史命令緩沖區中命令寫入歷史命令文件中;
-r:將歷史命令文件中的命令讀入當前歷史命令緩沖區;
-w:將當前歷史命令緩沖區命令寫入歷史命令文件中。
參數
n:打印最近的n條歷史命令。

實例
使用history命令顯示最近使用的10條歷史命令,輸入如下命令:
技術分享圖片

Shutdown: 系統關機命令
語法
shutdown(選項)(參數)
選項
-c:當執行“shutdown -h 11:50”指令時,只要按+鍵就可以中斷關機的指令;
-f:重新啟動時不執行fsck;
-F:重新啟動時執行fsck;
-h:將系統關機;
-k:只是送出信息給所有用戶,但不會實際關機;
-n:不調用init程序進行關機,而由shutdown自己進行;
-r:shutdown之後重新啟動;
-t<秒數>:送出警告信息和刪除信息之間要延遲多少秒。
參數
[時間]:設置多久時間後執行shutdown指令;
[警告信息]:要傳送給所有登入用戶的信息。
實例
指定現在立即關機: #shutdown –h now
指定2分鐘後關機,同時給出提示信息
技術分享圖片

Poweroff: 用來關閉計算機操作系統並且切斷系統電源
語法
poweroff(選項)
選項
-n:關閉操作系統時不執行sync操作;
-w:不真正關閉操作系統,僅在日誌文件“/var/log/wtmp”中;
-d:關閉操作系統時,不將操作寫入日誌文件“/var/log/wtmp”中添加相應的記錄;
-f:強制關閉操作系統;
-i:關閉操作系統之前關閉所有的網絡接口;
-h:關閉操作系統之前將系統中所有的硬件設置為備用模式。
實例
如果確認系統中已經沒有用戶存在且所有數據都已保存,需要立即關閉系統,可以使用poweroff命令。

使用poweroff立即關閉系統: #poweroff

Reboot: 重新啟動正在運行的Linux操作系統
語法
reboot(選項)
選項
-d:重新開機時不把數據寫入記錄文件/var/tmp/wtmp。本參數具有“-n”參數效果;
-f:強制重新開機,不調用shutdown指令的功能;
-i:在重開機之前,先關閉所有網絡界面;
-n:重開機之前不檢查是否有未結束的程序;
-w:僅做測試,並不真正將系統重新開機,只會把重開機的數據寫入/var/log目錄下的wtmp記錄文件。
實例
reboot //重開機。
reboot -w //做個重開機的模擬(只有紀錄並不會真的重開機)。

Hwclock: 是一個硬件時鐘訪問工具,它可以顯示當前時間、設置硬件時鐘的時間和設置硬件時鐘為系統時間,也可設置系統時間為硬件時鐘的時間。
語法
hwclock(選項)
選項
--adjust:hwclock每次更改硬件時鐘時,都會記錄在/etc/adjtime文件中。使用--adjust參數,可使hwclock根據先前的記錄來估算硬件時鐘的偏差,並用來校正目前的硬件時鐘;
--debug:顯示hwclock執行時詳細的信息;
--directisa:hwclock預設從/dev/rtc設備來存取硬件時鐘。若無法存取時,可用此參數直接以I/O指令來存取硬件時鐘;
--hctosys:將系統時鐘調整為與目前的硬件時鐘一致;
--set --date=<日期與時間>:設定硬件時鐘;
--show:顯示硬件時鐘的時間與日期;
--systohc:將硬件時鐘調整為與目前的系統時鐘一致;
--test:僅測試程序,而不會實際更改硬件時鐘;
--utc:若要使用格林威治時間,請加入此參數,hwclock會執行轉換的工作;
--version:顯示版本信息。
實例
查看當前的硬件日期和時間
技術分享圖片

Date: 顯示或設置系統時間與日期
語法
date(選項)(參數)
選項
-d<字符串>:顯示字符串所指的日期與時間。字符串前後必須加上雙引號;
-s<字符串>:根據字符串來設置日期與時間。字符串前後必須加上雙引號;
-u:顯示GMT;
--help:在線幫助;
--version:顯示版本信息。
參數
<+時間日期格式>:指定顯示時使用的日期時間格式。

日期格式字符串列表
%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)
實例:
格式化輸出:
技術分享圖片
1秒後輸出
技術分享圖片
設置時間
技術分享圖片

5、 如何在Linux系統上獲取命令的幫助信息,請詳細列出,並描述man文檔的章節是如何劃分的。
在Linux中有兩種方式:內部命令:help COMMAND
外部命令:1、命令自帶簡要格式的使用幫助
#COMMAND ---help
2、使用手冊:manual 位置:/usr/share/man
#man COMMAND
Man文檔的章節的劃分:
|1|標準用戶命令(Executable programs or shell commands)
|2|系統調用(System calls)functions provided by the kernel
|3|庫調用(Library call)functions within program libraries
|4|特殊文件(設備文件)的訪問入口(/dev)Special files (usually found in /dev)
|5|文件格式(配置文件的語法),指定程序運行特性File formats and conventions
|6|遊戲(Games)
|7|雜項(Miscellaneous)including macro packages and conventions
|8|管理命令 System administration commands
|9|跟kernel有關的文件Kernel routines
6、 請羅列Linux發行版的基礎目錄名稱命名法則及功用規定
命名的法則都是根據文件系統層級結構標準FHS: Filesystem Hierarchy Standard來規定的
/bin:所有用戶可用的基本命令程序文件;
/sbin:供系統管理使用的工具程序;
/boot:引導加載器必須用到的各靜態文件:kernel, initramfs(initrd), grub等;
/dev:存儲特殊文件或設備文件;
設備有兩種類型:字符設備(線性設備)、塊設備(隨機設備);
/etc:系統程序的配置文件,只能為靜態;
/home:普通的家目錄的集中位置;一般每個普通用戶的家目錄默認為此目錄下與用戶名同名的子目錄,/home/USERNAME;
/root:管理員的家目錄;可選;
/lib:為系統啟動或根文件系統上的應用程序(/bin, /sbin等)提供共享庫,以及為內核提供內核模塊
libc.so.:動態鏈接的C庫;
ld
:運行時鏈接器/加載器;
modules:用於存儲內核模塊的目錄;
/lib64:64位系統特有的存放64位共享庫的路徑;
/media:便攜式設備掛載點,cdrom, floppy等;
/mnt:其它文件系統的臨時掛載點;
/opt:附加應用程序的安裝位置;可選路徑;
/srv:當前主機為服務提供的數據;
/tmp:為那些會產生臨時文件的程序提供的用於存儲臨時文件的目錄;可供所用戶執行寫入操作;有特殊權限;
/usr:usr Hierarchy,全局共享的只讀數據路徑;
bin, sbin
lib, lib64
include:C程序頭文件;
share:命令手冊頁和自帶文檔等架構特有的文件的存儲位置
local:另一個層級目錄;
X11R6:X-Window程序的安裝位置
src:程序源碼文件的存儲位置
/usr/local:Local hierarchy,讓系統管理員安裝本地應用程序;也通常用於安裝第三方程序;
/var:/var Hierarchy,存儲常發生變化的數據的目錄;
cache Application cache data
lib Variable state information
local Variable data for /usr/local
lock Lock files
log Log files and directories
opt Variable data for /opt
run Data relevant to running processes
spool Application spool data
tmp Temporary files preserved between system reboots

/proc:基於內存的虛擬文件系統,用於為內核及進程存儲其相關信息;它們多為內核參數,例如net.ipv4.ip_forward, 虛擬為net/ipv4/ip_forward, 存儲於/proc/sys/, 因此其完整路徑為/proc/sys/net/ipv4/ip_forward;
    /sys:sysfs虛擬文件系統提供了一種比proc更為理想的訪問內核數據的途徑;其主要作用在於為管理Linux設備提供一種統一模型的的接口;

Linux 入門基礎