N26-第一周
描述計算機的組成及功能。
計算機主要由運算器,控制器,存儲器,輸入、輸出設備五大部件組成
-
運算器(Arithmetic Logic Unit, ALU):實現各種算數運算和邏輯運算(與控制器組成cpu)。
-
控制器(Control Unit, CU):計算機控制中心,根據程序規定的控制程序進行解釋,根據要求進行調度,控 制協調各部分有條不紊的運行。
-
存儲器(Memory Unit):存儲程序以和各種數據信息。
-
輸入設備(Input Device):向計算機輸入各種原始數據和程序。
-
輸出設備(Output Device):從計算機輸出各類數據。
按系列羅列Linux的發行版,并描述不通發行版之間的聯系與區別。
Debian:由伊恩默多克于1993年發起,社區支持。
-
Ubuntu:基于Debian發行版和unity桌面環境,是一個以桌面應用為主的Linux發行版。
-
Linux mint:基于Debian和Ubuntu的Linux發行版,功能強大對用戶友好的操作系統。
-
KNOPPIX:采用特殊的解壓縮技術,不需要硬盤安裝,一張CD,就容納了2GB的可執行程序,供用戶使用。
Red Hat:Red Hat公司發行。
-
Red Hat Enterprise Linux:RHEL:Red Hat開發的商業導向的Linux發行版。
-
CentOS:(Community Enterprise Operating System,中文意思是:社區企業操作系統)是Linux發行版之一,它是來自于Red Hat Enterprise Linux依照開放源碼規定釋出的源代碼所編譯而成。由于出自同樣的源代 碼,因此有些要求高度穩定性的服務器以CentOS替代商業版的Red Hat Enterprise Linux使用。兩者的不同,在于CentOS并不包含封閉源代碼軟件。
-
Fedora:Red Hat Linux終止發行后,Red Hat公司計劃以Fedora取代Red Hat Linux 在個人領域的應用。
Slackware:Slackware Linux, Inc的Partrick Volkerding制作,力圖成為“UNIX風格”的Linux發行版。
-
SUSE:德國的一個發行版,以Slackware Linux為基礎。
-
OpenSUSE:前身為SUSE Linux和SuSE Linux Professional,由SUSE和其他公司贊助,OpenSUSE在全世界,尤其 是在德國被廣泛使用。它的開發重心是為軟件開發者和系統管理者創造適用的開放源代碼的工具,并提供易于使用的桌面環境和功能豐富的服務器環境。OpenSUSE針對桌面環境進行了一系列的優化,對Linux新手較為友好。
Gentoo:基于Portage包管理系統,而擁有幾乎無限制的適應特性。
-
Google Chrome OS:Google開發定位于上網本,緊湊型以及低成本電腦的操作系統,Chrome OS中大部分應用都將在Web中完成,迅速,簡潔,安全是其重要特征。
Arch Linux:輕量簡單,面向開發者定義,需要用戶有一定的Linux環境嘗試才能正確安裝使用。
描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述。
-
一切皆文件。包括硬件設備,方便統一管理定義,就像電影中的代號47、9527超市中的蔬菜也全部是編碼,便于管理。
-
小型,單一用途的程序。一個程序只實現一個功能,而且要做好,專而精,分工明確,保證Linux內核的高效運行。
-
通過連接程序共同完成復雜的功能。復雜的功能通過簡單程序的組合方式完成,模塊化,保證高效。如同螞蟻的分工有兵蟻,工蟻,雄蟻,蟻后,各個分工明確,小兒精悍,共同組成龐大群體高效運作。
-
盡量避免跟用戶交互。避免臃腫令人困惑的用戶界面,像windows出了問題大都選擇重啟,實在不行就重裝系統,windows并不開源且用戶界面比較復雜,出了問題,除了問題一般人很難解決。但Linux不一樣,首先是開源的,遇到問題可以通過簡單的命令行進行排錯,修改系統配置,一切以簡潔明了為基礎。去掉了臃腫的用戶界面,讓操作系統更加專業高效。
-
配置數據存儲在文本中。Linux所有的配置文件都存放在文本配置文件中,無論什么配置修改都只需修改其配置文件即可,配置文件時只需任意款文本編輯器修改即可,不用像windows那樣保存在注冊表中,并且windows的注冊表需要專門的二進制或16進制的編輯器才可編輯,修改比較復雜。
GNU/Linux核心思想即自由,分享。自由使用,自由學習,更改,自由分發,自由創建衍生版。引用一句話:“分享的責任與獲取的自由”。
說明Linux系統上命令的使用格式;詳細介紹ifconfig,echo,tty,startx,export,pwd,history,shutdown,poweroff,reboot,hwclock,date命令的使用并配合相應的示例來闡述。
命令的的通用格式:# COMMAND OPTIONS ARGERUMENTS
-
ifconfig:配置網絡接口
常見用法:
-
ifconfig [-v] [-a] [-s] [interface]
-
ifconfig [-v] interface [aftype] options | address ...
1)ifconfig不加任何參數查看網卡配置
[root@study ~]# ifconfig eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.12.31 netmask 255.255.255.0 broadcast 192.168.12.255 inet6 fe80::20c:29ff:fec6:423f prefixlen 64 scopeid 0x20<link> ether 00:0c:29:c6:42:3f txqueuelen 1000 (Ethernet) RX packets 74330 bytes 5817421 (5.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 906 bytes 146063 (142.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2)ifconfig interface up|down,啟動關閉制定網卡
[root@study ~]# ifconfig eno16777736 up
3)ifconfig interface ip/netmask
[root@study ~]# ifconfig eno16777736 192.168.12.56/24
-
echo:回顯
常見用法:
-
-n:不進行換行
-
-e:讓轉義字符生效
-
echo [SHORT-OPTION]... [STRING]...
-
echo LONG-OPTION
1)echo string 可以使用引號,單引號:強引用,變量引用不執行替換。
雙引號:弱引用,變量引用會被替換。
2)echo命令用于在shell中打印shell變量的值。
[root@study ~]# echo "hello world" hello world [root@study ~]# echo -n "hello world" hello world[root@study ~]# [root@study ~]# echo -e "\e[1;42mGreed Background\e[0m" Greed Background //綠色背景效果 [root@study ~]# echo '$SHELL' $SHELL [root@study ~]# echo "$SHELL" /bin/bash
-
tty:顯示當前的終端
常見用法:
1)tty
[root@study ~]# tty /dev/pts/0
-
startx:啟動GUI
-
export:設置或顯示環境變量。(比如我們要用一個命令,但這個命令的執行文件不在當前目錄,這樣我們每次用的時候必須指定執行文件的目錄,這樣很麻煩,在代碼中先執行export,相當于告訴程序,執行某個命令需要的文件在指定的目錄里。)
常見用法:
-
-f 代表[名稱]為函數名稱
-
-n 刪除指定的的變量。變量實際上并未刪除,只是不會輸出到后續的指令環境中。
-
-p 列出所有的shell賦予程序的環境變量。
-
用法:export [-fnp] [名稱[=值] ...]
1)export
[root@study ~]# export declare -x HISTCONTROL="ignoredups" declare -x HISTSIZE="1000" declare -x HOME="/root" declare -x HOSTNAME="study.centeros.vbird" declare -x LANG="zh_CN.UTF-8" declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s" declare -x LOGNAME="root" declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:" declare -x MAIL="/var/spool/mail/root" declare -x OLDPWD declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin" declare -x PWD="/root" declare -x SELINUX_LEVEL_REQUESTED="" declare -x SELINUX_ROLE_REQUESTED="" declare -x SELINUX_USE_CURRENT_RANGE="" declare -x SHELL="/bin/bash" declare -x SHLVL="1" declare -x SSH_CLIENT="192.168.12.33 64901 22" declare -x SSH_CONNECTION="192.168.12.33 64901 192.168.12.31 22" declare -x SSH_TTY="/dev/pts/1" declare -x TERM="xterm" declare -x USER="root" declare -x XDG_RUNTIME_DIR="/run/user/0" declare -x XDG_SESSION_ID="385"
-
pwd:以絕對路徑的方式顯示用戶當前工作目錄。
常見用法:
1)pwd
[root@study ~]# pwd /root
-
history:顯示歷史指令記錄內容。
常見用法:
-
n :數字,要列出最近的若干命令列表
-
-c :將目前的 shell 中的所有 history 內容全部消除
-
-a :將目前新增的 history 指令新增入 histfiles 中,若沒有加 histfiles ,則預設寫入 ~/.bash_history
-
-r :將 histfiles 的內容讀到目前這個 shell 的 history 記憶中
-
-w :將目前的 history 記憶內容寫入 histfiles
-
history [n]
-
history -c
-
history -d offset
-
history -anrw [filename]
-
history -p arg [arg ...]
-
history -s arg [arg ...]
1)history [n]:列出最近的n筆命令列表。
[root@study ~]# history 1 yum -y install cups cups-windows cups-libs hal-cups-util samba samba-client samba-common</strong> 2 yum -y install cups 3 ping www.baidu.com 4 yum -y install cups [root@study ~]# history 10 352 who ls 353 w ls 354 which ls 355 man 356 man history 357 history --help 358 man history 359 histroy 360 history 361 history 10
2)history [-c]:將目前shell中的所有history內容全部消除。
-
shutdown:用來系統關機命令。shutdown指令可以關閉所有程序,并依用戶的需要,進行重新開機或關機的動作。
常見用法:
[root@study ~]# shutdown -h Shutdown scheduled for 日 2017-01-22 16:28:37 CST, use 'shutdown -c' to cancel. [root@study ~]# shutdown -h now //現在就關機 [root@study ~]# shutdown -h 17:00 Shutdown scheduled for 日 2017-01-22 17:00:00 CST, use 'shutdown -c' to cancel. [root@study ~]# shutdown -c //取消操作 Broadcast message from [email protected] (Sun 2017-01-22 16:32:03 CST): The system shutdown has been cancelled at Sun 2017-01-22 16:33:03 CST! [root@study ~]# shutdown -r now [root@study ~]# shutdown -r +30 'The system will reboot' //30分重啟鐘后重啟 [root@study ~]# shutdown -r +30 ‘The system will reboot’ Shutdown scheduled for 日 2017-01-22 17:19:34 CST, use 'shutdown -c' to cancel. [root@study ~]# shutdown -k now 'The system will reboot'
-
-r 關閉系統然后重新啟動,類似于Windows平臺restart
-
-k 模擬關機(不是真的關機),只是向登錄者發送警告信息
-
-h 關機后關閉電源〔halt〕。
-
-n 不用init﹐而是自己來關機。不鼓勵使用這個選項﹐而且該選項所產生的后果往往不總是你所預期得到的。
-
-c 取消目前正在執行的關機程序。這個選項沒有時間參數﹐但是可以發送一個訊息給每位使用者。
-
-f 快速關機重啟動時跳過fsck。
-
now
-
hh:mm
-
+m
-
+0 現在
-
用法:shutdown [OPTIONS...] [TIME] [WALL...]
OPTION:
TIME:
-
poweroff:用來關閉計算機操作系統并且切斷系統電源
-
-p
-
--reboot
-
-f
-
-w
-
-d
-
--no-wall
-
reboot:重啟
-
hwclock: 用來查詢和設置硬件時鐘。
常見用法:
-
-r:讀取并打印硬件時鐘(默認)
-
-s:將硬件時鐘同步到系統時鐘
-
-w:將系統時鐘同步到硬件時鐘
option: -
--date=date_string
-
用法:hwclock [function] [option...]
function:
1)hwclock/clock
[root@study ~]# hwclock 2017年01月23日 星期一 20時19分59秒 -0.161537 秒
2)hwclock -s/w
-
date:顯示或設置日期時間。
常見用法:
[root@study ~]# date +%F 2017-01-23 [root@study ~]# date +%T 21:09:16 [root@study ~]# date +%Y 2017 [root@study ~]# date +%m 01 [root@study ~]# date +%d 23 [root@study ~]# date +%H 21 [root@study ~]# date +%M 09 [root@study ~]# date +%s 1485176980 [root@study ~]# date +%S 44 [root@study ~]# date +%T%Y 21:10:092017 [root@study ~]# date "+%T %Y" 21:10:24 2017 [root@study ~]# date +%T-%Y 21:10:34-2017 [root@study ~]# date +%T-%Y-%M-%d 21:11:22-2017-11-23 [root@study ~]# date 102012302015.50 2015年 10月 20日 星期二 12:30:50 CST
-
date [OPTION]... [+FORMAT]
-
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
-
用法:
FORMAT:%F,%T,%Y,%m,%d,%H,%M,%S,%s
如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的。
命令分為兩類,可以使用type COMMAND查看命令類型。
-
內建命令:由shell程序自帶的命令(builtin)。
-
外部命令:獨立的可執行程序文件,文件名即命令名。
1.內建命令使用:help COMMAND
2.外部命令使用:
1)命令自帶簡要格式的使用幫助:COMMAND --help
2)使用幫助手冊(manual):man COMMAND
3)info COMMAND:獲取命令的在線文檔
4)很多應用程序會自帶幫助文檔:/usr/share/doc/APP-VERSION
-
README:程序的相關信息
-
INSTALL:安裝幫助
-
CHANGES:版本迭代時改動信息
5)主流發行版版官方文檔
6)搜索引擎
使用手冊:壓縮格式的文件,有章節之分。在目錄/usr/share/man中,分為man1-man8
-
man1:用戶命令,普通用戶和管理員都可以使用
-
man2:系統調用
-
man3:C庫調用
-
man4:設備文件及特殊文件
-
man5:文件格式:配置文件格式
-
man6:游戲使用幫助
-
man7:雜項
-
man8:管理工具及守護進程
使用:man CHAPTER COMMAND
注意:
1.并非每個COMMAND在所有章節下都有手冊
2.通過~]#whatis COMMAND查看命令在哪些章節存在
3.whatis執行過程是查詢數據庫進行的,如果有新命令加入需要手動更新數據庫:~]#makewhatis
請羅列Linux發行版的基礎目錄名稱命名法則及功能規定。

Linux文件系統以'/'為原初起點形成樹狀結構
-
/bin:所有用戶可用的基本命令程序
-
/sbin:系統管理員使用的管理命令程序
-
/boot:Linux啟動文件和內核文件
-
/dev:Linux系統中使用的所有外部設備,它實際上是訪問這些外部設備的端口,訪問這些外部設備與訪問一個文件或一個目錄沒有區別
-
/etc:存放系統管理時用到的各種配置文件和子目錄,例如網絡配置文件,文件系統,X系統配置文件,設備配置信息,設置用戶信息等
-
/home:系統默認的用戶家目錄(home directory)。在你新增一個使用賬號時,默認的用戶家目錄都會規范到這里來。
-
~:代表目前這個用戶的家目錄
-
~:gentoo:代表gentoo這
-
/lib:系統動態共享鏈接庫
-
/lib64:64位動態共享鏈接庫
-
/media:便攜式設備掛載點,如軟盤,光盤等
-
/mnt:其他文件系統臨時掛載點
-
/opt:第三方軟件安裝目錄
-
/proc:一個虛擬文件系統,是系統內存的映射,可以通過查看該目錄中的文件過去有關系統硬件運行的詳細信息
-
/root:系統管理員的主目錄
-
/run:有關正在運行進程的數據
-
/srv:可視為service的縮寫,是一些網絡服務啟動之后,這些服務所需要的數據目錄
-
/sys:與/proc類似,也是一個虛擬的文件系統,主要也是記錄核心與系統硬件信息相關的信息
-
/tmp:公用臨時文件
-
/var:用來存放那些經常被修改的文件,如系統日志,郵件文件等
-
/usr:Unix Software Resourse,用戶的應用程序和目錄幾乎都在這個目錄,類似Windows的C:\Windows\的一部分+C:Program files\