N26-第一周
描述計(jì)算機(jī)的組成及功能。
計(jì)算機(jī)主要由運(yùn)算器,控制器,存儲(chǔ)器,輸入、輸出設(shè)備五大部件組成
-
運(yùn)算器(Arithmetic Logic Unit, ALU):實(shí)現(xiàn)各種算數(shù)運(yùn)算和邏輯運(yùn)算(與控制器組成cpu)。
-
控制器(Control Unit, CU):計(jì)算機(jī)控制中心,根據(jù)程序規(guī)定的控制程序進(jìn)行解釋,根據(jù)要求進(jìn)行調(diào)度,控 制協(xié)調(diào)各部分有條不紊的運(yùn)行。
-
存儲(chǔ)器(Memory Unit):存儲(chǔ)程序以和各種數(shù)據(jù)信息。
-
輸入設(shè)備(Input Device):向計(jì)算機(jī)輸入各種原始數(shù)據(jù)和程序。
-
輸出設(shè)備(Output Device):從計(jì)算機(jī)輸出各類數(shù)據(jù)。
按系列羅列Linux的發(fā)行版,并描述不通發(fā)行版之間的聯(lián)系與區(qū)別。
Debian:由伊恩默多克于1993年發(fā)起,社區(qū)支持。
-
Ubuntu:基于Debian發(fā)行版和unity桌面環(huán)境,是一個(gè)以桌面應(yīng)用為主的Linux發(fā)行版。
-
Linux mint:基于Debian和Ubuntu的Linux發(fā)行版,功能強(qiáng)大對(duì)用戶友好的操作系統(tǒng)。
-
KNOPPIX:采用特殊的解壓縮技術(shù),不需要硬盤安裝,一張CD,就容納了2GB的可執(zhí)行程序,供用戶使用。
Red Hat:Red Hat公司發(fā)行。
-
Red Hat Enterprise Linux:RHEL:Red Hat開發(fā)的商業(yè)導(dǎo)向的Linux發(fā)行版。
-
CentOS:(Community Enterprise Operating System,中文意思是:社區(qū)企業(yè)操作系統(tǒng))是Linux發(fā)行版之一,它是來自于Red Hat Enterprise Linux依照開放源碼規(guī)定釋出的源代碼所編譯而成。由于出自同樣的源代 碼,因此有些要求高度穩(wěn)定性的服務(wù)器以CentOS替代商業(yè)版的Red Hat Enterprise Linux使用。兩者的不同,在于CentOS并不包含封閉源代碼軟件。
-
Fedora:Red Hat Linux終止發(fā)行后,Red Hat公司計(jì)劃以Fedora取代Red Hat Linux 在個(gè)人領(lǐng)域的應(yīng)用。
Slackware:Slackware Linux, Inc的Partrick Volkerding制作,力圖成為“UNIX風(fēng)格”的Linux發(fā)行版。
-
SUSE:德國的一個(gè)發(fā)行版,以Slackware Linux為基礎(chǔ)。
-
OpenSUSE:前身為SUSE Linux和SuSE Linux Professional,由SUSE和其他公司贊助,OpenSUSE在全世界,尤其 是在德國被廣泛使用。它的開發(fā)重心是為軟件開發(fā)者和系統(tǒng)管理者創(chuàng)造適用的開放源代碼的工具,并提供易于使用的桌面環(huán)境和功能豐富的服務(wù)器環(huán)境。OpenSUSE針對(duì)桌面環(huán)境進(jìn)行了一系列的優(yōu)化,對(duì)Linux新手較為友好。
Gentoo:基于Portage包管理系統(tǒng),而擁有幾乎無限制的適應(yīng)特性。
-
Google Chrome OS:Google開發(fā)定位于上網(wǎng)本,緊湊型以及低成本電腦的操作系統(tǒng),Chrome OS中大部分應(yīng)用都將在Web中完成,迅速,簡潔,安全是其重要特征。
Arch Linux:輕量簡單,面向開發(fā)者定義,需要用戶有一定的Linux環(huán)境嘗試才能正確安裝使用。
描述Linux的哲學(xué)思想,并按照自己的理解對(duì)其進(jìn)行解釋性描述。
-
一切皆文件。包括硬件設(shè)備,方便統(tǒng)一管理定義,就像電影中的代號(hào)47、9527超市中的蔬菜也全部是編碼,便于管理。
-
小型,單一用途的程序。一個(gè)程序只實(shí)現(xiàn)一個(gè)功能,而且要做好,專而精,分工明確,保證Linux內(nèi)核的高效運(yùn)行。
-
通過連接程序共同完成復(fù)雜的功能。復(fù)雜的功能通過簡單程序的組合方式完成,模塊化,保證高效。如同螞蟻的分工有兵蟻,工蟻,雄蟻,蟻后,各個(gè)分工明確,小兒精悍,共同組成龐大群體高效運(yùn)作。
-
盡量避免跟用戶交互。避免臃腫令人困惑的用戶界面,像windows出了問題大都選擇重啟,實(shí)在不行就重裝系統(tǒng),windows并不開源且用戶界面比較復(fù)雜,出了問題,除了問題一般人很難解決。但Linux不一樣,首先是開源的,遇到問題可以通過簡單的命令行進(jìn)行排錯(cuò),修改系統(tǒng)配置,一切以簡潔明了為基礎(chǔ)。去掉了臃腫的用戶界面,讓操作系統(tǒng)更加專業(yè)高效。
-
配置數(shù)據(jù)存儲(chǔ)在文本中。Linux所有的配置文件都存放在文本配置文件中,無論什么配置修改都只需修改其配置文件即可,配置文件時(shí)只需任意款文本編輯器修改即可,不用像windows那樣保存在注冊(cè)表中,并且windows的注冊(cè)表需要專門的二進(jìn)制或16進(jìn)制的編輯器才可編輯,修改比較復(fù)雜。
GNU/Linux核心思想即自由,分享。自由使用,自由學(xué)習(xí),更改,自由分發(fā),自由創(chuàng)建衍生版。引用一句話:“分享的責(zé)任與獲取的自由”。
說明Linux系統(tǒng)上命令的使用格式;詳細(xì)介紹ifconfig,echo,tty,startx,export,pwd,history,shutdown,poweroff,reboot,hwclock,date命令的使用并配合相應(yīng)的示例來闡述。
命令的的通用格式:# COMMAND OPTIONS ARGERUMENTS
-
ifconfig:配置網(wǎng)絡(luò)接口
常見用法:
-
ifconfig [-v] [-a] [-s] [interface]
-
ifconfig [-v] interface [aftype] options | address ...
1)ifconfig不加任何參數(shù)查看網(wǎng)卡配置
[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,啟動(dòng)關(guān)閉制定網(wǎng)卡
[root@study ~]# ifconfig eno16777736 up
3)ifconfig interface ip/netmask
[root@study ~]# ifconfig eno16777736 192.168.12.56/24
-
echo:回顯
常見用法:
-
-n:不進(jìn)行換行
-
-e:讓轉(zhuǎn)義字符生效
-
echo [SHORT-OPTION]... [STRING]...
-
echo LONG-OPTION
1)echo string 可以使用引號(hào),單引號(hào):強(qiáng)引用,變量引用不執(zhí)行替換。
雙引號(hào):弱引用,變量引用會(huì)被替換。
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:顯示當(dāng)前的終端
常見用法:
1)tty
[root@study ~]# tty /dev/pts/0
-
startx:啟動(dòng)GUI
-
export:設(shè)置或顯示環(huán)境變量。(比如我們要用一個(gè)命令,但這個(gè)命令的執(zhí)行文件不在當(dāng)前目錄,這樣我們每次用的時(shí)候必須指定執(zhí)行文件的目錄,這樣很麻煩,在代碼中先執(zhí)行export,相當(dāng)于告訴程序,執(zhí)行某個(gè)命令需要的文件在指定的目錄里。)
常見用法:
-
-f 代表[名稱]為函數(shù)名稱
-
-n 刪除指定的的變量。變量實(shí)際上并未刪除,只是不會(huì)輸出到后續(xù)的指令環(huán)境中。
-
-p 列出所有的shell賦予程序的環(huán)境變量。
-
用法: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:以絕對(duì)路徑的方式顯示用戶當(dāng)前工作目錄。
常見用法:
1)pwd
[root@study ~]# pwd /root
-
history:顯示歷史指令記錄內(nèi)容。
常見用法:
-
n :數(shù)字,要列出最近的若干命令列表
-
-c :將目前的 shell 中的所有 history 內(nèi)容全部消除
-
-a :將目前新增的 history 指令新增入 histfiles 中,若沒有加 histfiles ,則預(yù)設(shè)寫入 ~/.bash_history
-
-r :將 histfiles 的內(nèi)容讀到目前這個(gè) shell 的 history 記憶中
-
-w :將目前的 history 記憶內(nèi)容寫入 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內(nèi)容全部消除。
-
shutdown:用來系統(tǒng)關(guān)機(jī)命令。shutdown指令可以關(guān)閉所有程序,并依用戶的需要,進(jìn)行重新開機(jī)或關(guān)機(jī)的動(dòng)作。
常見用法:
[root@study ~]# shutdown -h Shutdown scheduled for 日 2017-01-22 16:28:37 CST, use 'shutdown -c' to cancel. [root@study ~]# shutdown -h now //現(xiàn)在就關(guān)機(jī) [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 root@study.centeros.vbird (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 關(guān)閉系統(tǒng)然后重新啟動(dòng),類似于Windows平臺(tái)restart
-
-k 模擬關(guān)機(jī)(不是真的關(guān)機(jī)),只是向登錄者發(fā)送警告信息
-
-h 關(guān)機(jī)后關(guān)閉電源〔halt〕。
-
-n 不用init﹐而是自己來關(guān)機(jī)。不鼓勵(lì)使用這個(gè)選項(xiàng)﹐而且該選項(xiàng)所產(chǎn)生的后果往往不總是你所預(yù)期得到的。
-
-c 取消目前正在執(zhí)行的關(guān)機(jī)程序。這個(gè)選項(xiàng)沒有時(shí)間參數(shù)﹐但是可以發(fā)送一個(gè)訊息給每位使用者。
-
-f 快速關(guān)機(jī)重啟動(dòng)時(shí)跳過fsck。
-
now
-
hh:mm
-
+m
-
+0 現(xiàn)在
-
用法:shutdown [OPTIONS...] [TIME] [WALL...]
OPTION:
TIME:
-
poweroff:用來關(guān)閉計(jì)算機(jī)操作系統(tǒng)并且切斷系統(tǒng)電源
-
-p
-
--reboot
-
-f
-
-w
-
-d
-
--no-wall
-
reboot:重啟
-
hwclock: 用來查詢和設(shè)置硬件時(shí)鐘。
常見用法:
-
-r:讀取并打印硬件時(shí)鐘(默認(rèn))
-
-s:將硬件時(shí)鐘同步到系統(tǒng)時(shí)鐘
-
-w:將系統(tǒng)時(shí)鐘同步到硬件時(shí)鐘
option: -
--date=date_string
-
用法:hwclock [function] [option...]
function:
1)hwclock/clock
[root@study ~]# hwclock 2017年01月23日 星期一 20時(shí)19分59秒 -0.161537 秒
2)hwclock -s/w
-
date:顯示或設(shè)置日期時(shí)間。
常見用法:
[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系統(tǒng)上獲取命令的幫助信息,請(qǐng)?jiān)敿?xì)列出,并描述man文檔的章節(jié)是如何劃分的。
命令分為兩類,可以使用type COMMAND查看命令類型。
-
內(nèi)建命令:由shell程序自帶的命令(builtin)。
-
外部命令:獨(dú)立的可執(zhí)行程序文件,文件名即命令名。
1.內(nèi)建命令使用:help COMMAND
2.外部命令使用:
1)命令自帶簡要格式的使用幫助:COMMAND --help
2)使用幫助手冊(cè)(manual):man COMMAND
3)info COMMAND:獲取命令的在線文檔
4)很多應(yīng)用程序會(huì)自帶幫助文檔:/usr/share/doc/APP-VERSION
-
README:程序的相關(guān)信息
-
INSTALL:安裝幫助
-
CHANGES:版本迭代時(shí)改動(dòng)信息
5)主流發(fā)行版版官方文檔
6)搜索引擎
使用手冊(cè):壓縮格式的文件,有章節(jié)之分。在目錄/usr/share/man中,分為man1-man8
-
man1:用戶命令,普通用戶和管理員都可以使用
-
man2:系統(tǒng)調(diào)用
-
man3:C庫調(diào)用
-
man4:設(shè)備文件及特殊文件
-
man5:文件格式:配置文件格式
-
man6:游戲使用幫助
-
man7:雜項(xiàng)
-
man8:管理工具及守護(hù)進(jìn)程
使用:man CHAPTER COMMAND
注意:
1.并非每個(gè)COMMAND在所有章節(jié)下都有手冊(cè)
2.通過~]#whatis COMMAND查看命令在哪些章節(jié)存在
3.whatis執(zhí)行過程是查詢數(shù)據(jù)庫進(jìn)行的,如果有新命令加入需要手動(dòng)更新數(shù)據(jù)庫:~]#makewhatis
請(qǐng)羅列Linux發(fā)行版的基礎(chǔ)目錄名稱命名法則及功能規(guī)定。

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