1、按系列羅列Linux的發行版,並描述不同發行版之間的聯繫與區別。
1)linux的發行版介紹
slackware:Slackware Linux是由Patrick Volkerding開發的GNU/Linux發行版,一直堅持KISS原則。
suse:在歐洲比較流行的linux發行版本
sles:suse企業版
opensuse:suse桌面免費發行版本
debian:服務器版,消耗資源少,穩定。
ubuntu
mint
redhat:成立於1992年
rhel:redhat enterprise linux,用於企業商用,爲了保證服務器穩定,每18個月發行一個新版本
centos:開源版本,和RHEL幾乎一樣,兼容rhel的格式,已被redhat收購。
fedora:linux免費桌面版,得到redhat官方支持,用於測試新軟件,每6個月發行一個新版本
Archlinux
Gentoo
LFS:Linux From scratch
Androld:kernel+busybox+java虛擬機,主要用於移動終端
2)不同發行版之間的聯繫
都是在開源的linux內核代碼進行再次開發而形成不同的發行版,而且必須支持GNU中包含的自由軟件協定,GNU包含的自由軟件協定包含GPLv2、GPLv3、LGPL。各發行版其中SLES是suse的企業版本,opensuse是suse的免費桌面版,ubuntu和mint都是基於dibian的桌面版,RHEL爲redhat面向企業商用的服務器版,fedora屬於redhat的桌面版本,由redhat贊助fedora社羣免費維護,centos主要面向企業服務器,由開源社區提供免費技術支持,後來被redhat收購,目前仍然免費。
3)各發行版之間的區別
包管理系統不同,SLES、Fedora、openSUSE、centos、RHEL採用rpm包管理系統,包文件以rpm爲擴展名;Ubuntu系列,Debian系列採用DPKG包管理系統。
2、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,並配合相應的示例來闡述。
1)linux系統命令的使用格式
COMMAND [OPTIONS...] [ARGUMENTS...]
OPTIONS:用於啓用或關閉命令的某個功能,支持長選項(例如--long、--human--readable)和短選項(例如-a、-l),多個短選項還可以合併(例如-a -l可以合併爲-al)
argument:命令的作用對象,向命令提供的數據。
2)ifconfig命令說明
命令介紹:ifconfig命令主要用於顯示與配置網絡接口;
參數:
-a:顯示所有接口狀態
示例:
-s:通過短格式顯示當前所有網絡接口的狀態
示例:
-v:顯示更詳細的信息,包含一些錯誤條件。
示例:
up:啓動指定的網絡接口; down:關閉指定的網絡接口
ifconfig ens33up; ifconfig ens33 down
arp:開啓關閉指定網卡的arp協議
ifconfiginterface -arp:關閉arp協議,此時使用ssh無法連接linux主機
ifconfiginterface arp:開啓arp協議,此時ssh連接linux主機正常
promisc:開啓關閉指定網卡的混雜模式,混雜模式主要用於網絡診斷
ifconfiginterface -promisc:關閉指定網卡的混雜模式
ifconfiginterface promisc:開啓指定網卡的混雜模式
allmulti:開啓關閉指定網卡的組播模式
ifconfiginterface -multicast:關閉指定網卡組播
ifconfiginterface multicast:開啓指定網卡組播
mtu n:設置指定網卡的最大傳輸速率
ifconfig ens33 mtu 1000
3)回顯命令:echo
-n: 禁止自動添加換行符號;
-e: 允許使用轉義符;
\n: 換行
\t: 製表符
echo "$VAR_NAME": 變量會替換,雙引號表弱引用
echo '$VAR_NAME': 變量不會替換,強引用
4)tty命令說明
用途:查看當前的終端設備
5)startx
用途:用於在服務器或終端商啓動X會話
6)export命令說明
用途:用於爲變量賦值,單獨使用時可打印當前系統所有環境變量。
7)pwd命令說明
用途:用於顯示當前目錄
8)history命令說明
用途:用來管理命令的歷史記錄,當前命令記錄保存在內存中,當登出系統時會追加到用戶家目錄的隱藏文件 .bash_history中。
環境變量:
HISTSIZE:記錄的命令行數
HISTFILE:命令歷史文件
HISTFILESIZE:命令歷史文件最大記錄命令數
命令參數:
-a:追加本地登錄新執行的命令歷史列表到命令歷史文件中,例:history -a
-d offset:通過命令編號刪除命令歷史中指定命令,例:history -d 30
-c:清空命令歷史,例:history -c
調用歷史中的命令:
!#:調用命令歷史中第#號命令,例:!30
!string:調用命令歷史中最近一個以string開頭的命令,例:!h
!!:重複運行上一條命令,例如:!!
調用前一條命令的參數
!$:調用上一條命令的參數
9/)shutdown命令說明
用途:用於操作系統退出、註銷、關機、重啓等操作,還可以指定關機時間。
命令格式:shutdown [option]... TIME[MASSAGE]
參數解析:
-r:立即重啓,例:shutdown -r
-h:立即關機,例:shutdown -h
-c:取消關機操作,例:shutdown -c
TIME使用解析:
now:立刻執行,例:shutdown now
+m:相對於現在多少分鐘後關機,例:shutdown +m
hh:mm:絕對時間,具體關機時間,例:shutdown 15:00
10)poweroff命令說明
用途:關機。
參數:
-f:不調用shutdown,強制關機
-p:關機且切斷電源
reboot命令說明
用途:重啓命令
參數:
-f:強制重啓,例:reboot –f
11)hwclock命令說明
用途:顯示和設置硬件、系統時鐘同步
格式:hwclock [-ARGUMENT]
參數:
-s:將系統時鐘同步爲硬件時鐘
-w:將硬件時鐘同部爲系統時鐘
date命令說明
用途:顯示和設置時間
格式:
顯示:date [OPTION]... [+FORMAT]
參數:
%D:按照年/月/日的方式顯示時間
%F:按照年-月-日的方式顯示時間
%T:按照時-分-秒的方式顯示時間
設置:date [MMDDhhmm[[CC]YY][.ss]]
參數:
MM: 月分
DD:幾號
hh: 小時
mm: 分鐘
YY: 兩位年份
CCYY: 四位年份
.ss: 秒鐘
3、如何在Linux系統上獲取命令的幫助信息,請詳細列出,並描述man文檔的章節是如何劃分的。
1)linux幫助信息獲取方法
內部命令查看幫助的方法
help COMMAND
外部命令查看幫助的方法
COMMAND --help;COMMAND –h
使用手冊(manual);man COMMAND
]# man ls
LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION.......
信息頁info COMMAND
]# clear
]# info tree
File:*manpages*, Node: tree, Up: (dir)
程序自身的幫助文檔:README,INSTALL,Changelog
發行版的官方文檔
2)man的章節劃分
man1:用戶命令
man2: 系統調用
man3: C庫調用
man4: 設備文件及特殊文件
man5: 配置文件格式
man6: 遊戲
man7: 雜項
man8: 管理類的命令
man手冊存放在/usr/share/man中,有些命令不止在一個章節,具體存在的章節可以通過whatis進行查看。
4、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
1)Linux上的文件管理命令主要有:cp、mv、rm
cp常用選型:
-i:交互式,當文件存在時提示是否覆蓋
-r, -R: 遞歸複製目錄及內部的所有內容;
-a: 歸檔,相當於-dR --preserv=all:複製時保留源文件和目錄的所有屬性
-d:--no-dereference --preserv=links:複製時保留源文件的鏈接
--preserv[=ATTR_LIST]
mode: 權限
ownership: 屬主屬組
timestamp: 時間戳
links:鏈接
xattr:擴展屬性
context:連接上下文
all:以上所有屬性
-p: --preserv=mode,ownership,timestamp:保留文件權限、屬主屬組、時間戳屬性
-v: --verbose:顯示過程
-f: --force:強制覆蓋。
2)移動命令mv
命令使用格式:
mv [OPTION]... [-T] SOURCEDEST
mv [OPTION]... SOURCE...DIRECTORY
mv [OPTION]... -t DIRECTORYSOURCE...
常用選項:
-i: 交互式,當文件存在時提示是否覆蓋
-f: 強制覆蓋
3)刪除命令rm
命令使用格式:
rm [OPTION]... FILE...
常用選項:
-i: 交互式
-f: 強制刪除
-r: 遞歸刪除目錄及內部的所有內容;
5、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
1)命令執行狀態返回值
說明:bash使用一個特殊的環境變量$?保存最近一條命令的執行狀態結果,如果執行成功則$?返回值爲0,如果執行失敗$?則返回值1-255其中的任何一個數字。
示例:
2)命令行展開
說明:bash可以已bash可以解釋的符號來代替命令中的某些參數
~:表示當前用的家目錄
{}:可承載一個以逗號分隔的列表,並將其展開爲多個路徑
示例:
]# mkdir -v{a,b}_{c,d}
mkdir: createddirectory ‘a_c’
mkdir: createddirectory ‘a_d’
mkdir: createddirectory ‘b_c’
mkdir: createddirectory ‘b_d’
6、請使用命令行展開功能來完成以下練習:
1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
]# mkdir -v/tmp/{a,b}_{c,d}
mkdir: createddirectory ‘/tmp/a_c’
mkdir: createddirectory ‘/tmp/a_d’
mkdir: createddirectory ‘/tmp/b_c’
mkdir: createddirectory ‘/tmp/b_d’
2)、創建/tmp/mylinux目錄下的:
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run
mkdir -vp/tmp/mylinux/{bin,/boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var,lock,log,run}
7、文件的元數據信息有哪些,分別表示什麼含義,如何查看?如何修改文件的時間戳信息。
1)文件的元數據信息
atime:access time 文件訪問時間
mtime:modify time 文件修改時間
ctime: change time 元數據atime、mtime改變時間,這個數值是不能自行修改
2)元數據查看命令stat
3)文件時間戳修改方式
touch FILENAME:同時修改atime、mtime、ctime三個時間戳
8、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
ls -d/var/l*[0-9]*[[:lower]]
9、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
ls -d/etc/[0-9]*[^0-9]
10、顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其它任意長度任意字符的文件或目錄。
ls -d/etc/[^[:alpha]][:alpha]*
11、在/tmp目錄下創建以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-09-20-09-32-22。
touch/etc/tfile-data +"%Y-%m-%d-%H-%M-%S"
12、複製/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
cp -avr /etc/*.d/tmp/mytest2
13、複製/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
cp -avr/etc/[lmn]*.conf /tmp/mytest3