一、 描述計算機的組成及其功能
計算機主機包括:運算器,控制器,存儲器,輸入設備,輸出設備
1、運算器:功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等。
2、控制器:運算器的功能是對數據進行各種算術運算和邏輯運算,即對從控制器取來的數據進行加工處理。
3、存儲器:存儲器的功能是存儲程序、數據和各種信號、命令等信息,并在需要時提供這些信息。
4、輸入設備:輸入設備的作用是將程序、原始數據、文字、字符、控制命令或現場采集的數據等信息輸入到計算機。
5、輸出設備:輸出設備的作用是將程序、原始數據、文字、字符、控制命令或現場采集的數據等信息輸出。
二、 Linux的發行版本
Linux的發行版本可以大體分為兩類:
① 一類是商業公司維護的發行版本(以Redhat(RHEL)為代表)
② 一類是社區組織維護的發行版本(以Debian為代表)
Redhat,應該稱為Redhat系列,包括RHEL(Redhat Enterprise Linux,收費版本)、Fedora(由原來的Redhat桌面版本發展而來,免費版本)、CentOS(RHEL的社區克隆版本,免費)。這個版本的特點就是使用人群數量大,資料非常多,而且網上的一般Linux教程都是以Redhat為例來講解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分發方式是編譯好的二進制文件。穩定性方面RHEL和CentOS的穩定性非常好,適合于服務器使用,但是Fedora的穩定性較差,最好只用于桌面應用。
Debian,或者稱Debian系列,包括Debian和Ubuntu等。Debian是社區類Linux的典范,是迄今為止最遵循GNU規范的Linux系統。Debian最具特色的是apt-get /dpkg包管理方式,其實Redhat的YUM也是在模仿Debian的APT方式,但在二進制文件發行方式中,APT應該是最好的了。Debian的資料也很豐富,有很多支持的社區,有問題求教也有地方可去。
Gentoo,偉大的Gentoo是Linux世界最年輕的發行版本,正因為年輕,所以能吸取在她之前的所有發行版本的優點,這也是Gentoo被稱為最完美的Linux發行版本的原因之一。Gentoo擁有媲美FreeBSD的廣受美譽的ports系統——Portage包管理系統。不同于APT和YUM等二進制文件分發的包管理系統,Portage是基于源代碼分發的,必須編譯后才能運行,對于大型軟件而言比較慢,不過正因為所有軟件都是在本地機器編譯的,在經過各種定制的編譯參數優化后,能將機器的硬件性能發揮到極致。Gentoo是所有Linux發行版本里安裝最復雜的,但是又是安裝完成后最便于管理的版本,也是在相同硬件環境下運行最快的版本。
FreeBSD,需要強調的是:FreeBSD并不是一個Linux系統!但FreeBSD與Linux的用戶群有相當一部分是重合的,二者支持的硬件環境也比較一致,所采用的軟件也比較類似。FreeBSD采用Ports包管理系統,與Gentoo類似,基于源代碼分發,必須在本地機器編后后才能運行,但是Ports系統沒有Portage系統使用簡便,使用起來稍微復雜一些。FreeBSD的最大特點就是穩定和高效,是作為服務器操作系統的最佳選擇,但對硬件的支持沒有Linux完備,所以并不適合作為桌面系統。
三、Linux哲學思想
1、一切皆文件;
2、單一目的的小程序;
3、組合小程序完成復雜任務;
4、文本文件保存配置信息;
5、盡量避免捕獲用戶接口;
6、提供機制,而非策略。
四、linux系統上命令的使用格式
[root@redhat6 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:B5:6A:B1
inet addr:192.168.1.6 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feb5:6ab1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2551972 errors:0 dropped:0 overruns:0 frame:0
TX packets:13904 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:194300672 (185.2 MiB) TX bytes:1456897 (1.3 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1596 errors:0 dropped:0 overruns:0 frame:0
TX packets:1596 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:241656 (235.9 KiB) TX bytes:241656 (235.9 KiB)
[root@redhat6 ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:B5:6A:B1
inet addr:192.168.1.6 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feb5:6ab1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2552032 errors:0 dropped:0 overruns:0 frame:0
TX packets:13944 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:194305928 (185.3 MiB) TX bytes:1461965 (1.3 MiB)
[root@redhat6 ~]# ifconfig eth0 up
[root@redhat6 ~]# ifconfig eth0 down
[root@redhat6 ~]# ifconfig eth0 192.168.1.10
[root@redhat6 ~]# ifconfig eth0 192.168.1.10 netmask 255.255.255.0
[root@redhat6 ~]# echo "hello world"
hello world
[root@redhat6 ~]# echo -n "hello world"
hello world[root@redhat6 ~]#
[root@redhat6 ~]# echo -e 'hello\t world'
hello world
[root@redhat6 ~]# echo -e 'hello\n world'
hello
world
[root@redhat6 ~]# pwd
/root
[root@redhat6 ~]# export
declare -x CLASSPATH=".:/usr/java/jre1.7.0_67/jre/lib/rt.jar:/usr/java/jre1.7.0_67/lib/dt.jar:/usr/java/jre1.7.0_67/lib/tools.jar"
declare -x CVS_RSH="ssh"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="redhat6"
declare -x JAVA_HOME="/usr/java/jre1.7.0_67"
declare -x LANG="en_US.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:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=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:*.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:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jre1.7.0_67/bin:/root/bin"
declare -x PWD="/root"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_CLIENT="192.168.1.4 56041 22"
declare -x SSH_CONNECTION="192.168.1.4 56041 192.168.1.5 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="xterm"
declare -x USER="root"
[root@redhat6 ~]# tty
/dev/pts/0
[root@redhat6 ~]# shutdown –help
Usage: shutdown [OPTION]… TIME [MESSAGE]
Bring the system down.
Options:
-r reboot after shutdown
-h halt or power off after shutdown
-H halt after shutdown (implies -h)
-P power off after shutdown (implies -h)
-c cancel a running shutdown
-k only send warnings, don't shutdown
-q, –quiet reduce output to errors only
-v, –verbose increase output to include informational messages
–help display this help and exit
–version output version information and exit
hwclock -s 系統時鐘變更為硬件時鐘
hwclock -w 硬件時鐘變更為系統時鐘
date +%D 當前日期
+%F 當前日期
+%Y 年份(四位數)
+%y 年份(兩位數)
+%M 分鐘
+%m 月份
五、在linux系統上獲取命令的幫助信息,并描述man文檔章節的劃分方式
1、內部命令:
# help COMMAND
2、外部命令:
(1) # COMMAND –help
# COMMAND -h
(2) 使用手冊(manual)
# man COMMAND
(3) 信息頁
# info COMMAN
Man命令
代號 |
代表內容 |
1 |
使用者可以操作的指令或可執行檔 |
2 |
系統核心可呼叫的函數與工具等 |
3 |
一些常用的函數(function)與函式庫(library) |
4 |
裝置檔案的說明 |
5 |
設定檔或者是某些檔案的格式 |
6 |
游戲(games) |
7 |
慣例與協定等,例如 Linux 標準檔案系統、 網絡協定、ASCII code 等等的說明內容 |
8 |
系統管理員可用的管理指令 |
9 |
跟 kernel 有關的文件 |
1. Executable programs or shell commands
2. System calls (functions provided by the kernel)
3. Library calls (functions within program libraries)
4. Special files (usually found in /dev)
5. File formats and conventions eg /etc/passwd
6. Games
7. Miscellaneous (including macro packages and conven-tions), e.g. man(7), groff(7)
8. System administration commands (usually only for root)
9. Kernel routines [Non standard]
代號 |
內容說明 |
NAME |
簡短的指令、資料名稱說明 |
SYNOPSIS |
簡短的指令下達語法(syntax)簡介 |
DESCRIPTION |
較為完整的說明,這部分最好仔細看看! |
OPTIONS |
針對 SYNOPSIS 部分中,有列舉的所有可用的參數說明 |
COMMANDS |
當這個程序(軟件)在執行的時候,可以在此程序(軟件)中下達的指令 |
FILES |
這個程序或資料所使用或參考或連結到的某些檔案 |
SEE ALSO |
可以參考的,跟這個指令或資料有相關的其他說明! |
EXAMPLE |
一些可以參考的范例 |
BUGS |
是否有相關的臭蟲! |
在man page中才可以使用
按鍵 |
進行工作 |
空白鍵 |
向下翻一頁 |
[Page Down] |
向下翻一頁 |
[Page Up] |
向上翻一頁 |
[Home] |
去到第一頁 |
[End] |
去到最后一頁 |
/string |
向『下』搜尋 string 這個字符串,如果要搜尋 vbird 的話,就輸入 /vbird |
?string |
向『上』搜尋 string 這個字符串 |
n, N |
利用 / 或 ? 來搜尋字符串時,可以用 n 來繼續下一個搜尋 (不論是 / 或 ?) ,可以利用 N 來進行『反向』搜尋。舉例來說,我以 /vbird 搜尋 vbird 字符串, 那么可以 n 繼續往下查詢,用 N 往上查詢。若以 ?vbird 向上查詢 vbird 字符串, 那我可以用 n 繼續『向上』查詢,用 N 反向查詢。 |
q |
結束這次的 man page |
六、Linux發行版的基礎目錄名稱命名法則及功用規定
/bin 二進制可執行命令
/dev 設備特殊文件
/etc 系統管理和配置文件
/etc/rc.d 啟動的配置文件和腳本
/home 用戶主目錄的基點,比如用戶user的主目、錄就是/home/user,可以用~user表示
/lib 標準程序設計庫,又叫動態鏈接共享庫,作用類似windows里的.dll文件
/sbin 系統管理命令,這里存放的是系統管理員使用的管理程序
/tmp 公用的臨時文件存儲點
/root 系統管理員的主目錄(呵呵,特權階級)
/mnt 系統提供這個目錄是讓用戶臨時掛載其他的文件系統。
/lost+found 這個目錄平時是空的,系統非正常關機而留下“無家可歸”的文件(windows下叫什么.chk)就在這里
/proc 虛擬的目錄,是系統內存的映射。可直接訪問這個目錄來獲取系統信息。
/var 某些大文件的溢出區,比方說各種服務的日志文件
/usr 最龐大的目錄,要用到的應用程序和文件幾乎都在這個目錄。其中包含:
/usr/X11R6 存放X window的目錄
/usr/bin 眾多的應用程序
/usr/sbin 超級用戶的一些管理程序
/usr/doc linux文檔
/usr/include linux下開發和編譯應用程序所需要的頭文件
/usr/lib 常用的動態鏈接庫和軟件包的配置文件
/usr/man 幫助文檔
/usr/src 源代碼,linux內核的源代碼就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的庫
原創文章,作者:Lionel,如若轉載,請注明出處:http://www.www58058.com/23410
寫的很好,排版還可以在漂亮一點,加油