計算機的組成及其各部分的功能
現代計算機的基本結構是由匈牙利-美國科學家馮· 諾依曼于1946年提出的。迄今為止所有進入實用的電子計算機 都是按馮· 諾依曼提出的結構體系和工作原理設計制造的,故又統稱為“馮·諾依曼型計算機".
根據馮.諾依曼原理:計算機由運算器、控制器、存儲器、輸入設備、輸出設備所組成.
運算器: 進行算術與邏輯運算.
控制器: 從內存中依次取出命令,產生控制信號,向其它部件發出指令,指揮整個運算過程.
運算器,控制器,緩存,寄存器組成CPU.
存儲器: 分為內部存儲和外部存儲 .內部存儲包括ROM(只讀)和RAM(隨機); 外部存儲包括硬盤,軟盤,磁帶機,光盤.
輸入設備:鍵盤,鼠標和掃描儀。主要功能:下指令,提供數據等.標準輸入設備(鍵盤)
輸出設備:顯示器,打印機和繪圖儀。主要功能:輸出數據加工的結果.標準輸入設備(顯示器)
Linux 主要發行版及各版本的區別與聯系
Linux發行版有數百種之多,這里介紹最主要的幾種:
—Debian, Slackware, RedHat,Gentoo, ArchLinux
Debian: ubuntu,knopix,mint
Debian是社區類Linux的典范,最遵循GNU規范。 特點是界面非常友好,對硬件的支持非常全面,最適合做桌面系統的Linux發行版.
Slackware:S.u.S.E, OpenSUSE
OpenSUSE 最可定制的發行版
RedHat: Fedora ,CentOS
RHEL Red Hat系列:包括RHEL、Fedora Core、CentOS.可以說是國內使用最多的Linux發行版.
穩定性方面RHEL和CentOS的穩定性非常好,適合于服務器使用,但是Fedora Core的穩定性較差,只好用于桌面應用.
Arch Linux 最好的企業級系統;
Gentoo: 是一個基于 Linux 或 FreeBSD 的自由操作系統,它幾乎能為任何應用程序或需求自動地作出優化和定制.
對極限的配置、性能的追求,以及頂尖的用戶和開發者社區,都是 Gentoo 的顯著特點.
聯系:都基于linux 內核
Linux 哲學思想
1、一切皆文件:
把幾乎所有資源統統抽象為文件形式;包括硬件設備,甚至通信接口等;
和操作一般意義上的文件一樣,linux中對文件的操作只需要五個基本的函數:
open(), read(), write(), close(), delete(), create()
文件系統的第一級目錄稱為“根目錄”,用 / 表示,所有其他的文件或目錄都包含在其下,
并且一層一層組織成樹型結構.
2、 由眾多功能單一的程序組成;一個程序只做一件事,并且做好;
組合小程序完成復雜任務;可以通過管道等把各小程序組合起來,完成復雜任務.
3、 盡量避免跟用戶交互;
目標:易于以編程的方式實現自動化任務;
4、使用文本文件保存配置信息(只需要一個簡單的文本編輯器就可以操作整個系統)
Linux系統上命令的使用格式和常見的幾個命令
命令的語法通用格式:
# COMMAND OPTIONS ARGUMENTS
COMMAND:
發起一命令:請求內核將某個二進制程序運行為一個進程;
程序 –> 進程
靜態 –> 動態(有生命周期)
命令本身是一個可執行的程序文件:二進制格式的文件,有可能會調用共享庫文件;
命令分為兩類:
由shell程序的自帶的命令:內置命令(builtin)
獨立的可執行程序文件,文件名即命令名:外部命令
例: [root@localhost ~]# type cd
cd is a shell builtin
[root@localhost ~]# type ls
ls is aliased to `ls –color=auto'
[root@localhost ~]# which ls
alias ls='ls –color=auto'
/usr/bin/ls
[root@localhost ~]# which –skip-alias ls
/usr/bin/ls
–skip-alias 過濾掉別名
shell程序是獨特的程序,負責解析用戶提供的命令;
環境變量:
PATH:從哪些路徑中查找用戶鍵入的命令字符串所對應的命令文件;
~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
查找次序:
查看命令類型:
type COMMAND
OPTIONS:
指定命令的運行特性;
選項有兩種表現形式:
短選項:-C, 例如-l, -d
注意:有些命令的選項沒有-;
如果同一命令同時使用多個短選項,多數可合并:-l -d = -ld
長選項:–word, 例如–help, –human-readable
注意:長選項不能合并;
注意:有些選項可以帶參數,此稱為選項參數;
ARGUMENTS:
命令的作用對象;命令對什么生效;
注意:不同的命令的參數;有些命令可同時帶多個參數,多個之間以空白字符分隔;
ifconfig: – configure a network interface 配置網絡接口;
1) 查看IP接口信息:
~]# ifconfig或ip addr list或ip addr show (CentOS 7):查看活動接口的ip地址:
-a display all interfaces which are currently available, even if down
顯示所有接口信息;即使接口處于關閉狀態;
例: ~]#ifconfig -a
-s display a short list (like netstat -i)
例: [root@localhost ~]# ifconfig -s
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eno16777 1500 660 0 0 0 520 0 0 0 BMRU
lo 65536 392 0 0 0 392 0 0 0 LRU
virbr0 1500 0 0 0 0 0 0 0 0 BMU
CentOS 5和 CentOS 6 查看的接口名稱是eth0 ,CentOS 7上表現為eno16777736
具體查看哪個接口聽信息,例:~]# ifconfig eno16777736
2)修改網卡的IP地址,子網掩碼:(當不指定子網掩碼時,將使用IP地址所在分類的默認子網掩碼)
以CentOS 7為例:
~]# ifconfig eno16777736 192.168.1.50/24 或 ifconfig eno16777736 192.168.1.50 netmask 255.255.255.0
此命令重啟系統后失效,永久生效只能修改配置文件,CentOS 7為例: 完整路徑如下 /etc/sysconfig/network-scripts/ifcfg-eno16777736
3)禁用,激活網絡接口:
需要臨時禁用或重新激活指定的網絡接口時,需要結合 "down", "up" 選項。網絡接口被禁用以后,將無法使用該網絡接口與其他主機進行連接。例: 執行以下操作將會禁用網卡eno16777726
~]# ifconfig eno16777736 down
4) 為網卡綁定虛擬接口:
在對服務器網絡進行測試時,有時需要臨時在同一個網卡上使用一個新的IP地址,但又不能覆蓋原有的IP地址,而導致服務器程序不可用。這時可以為網卡綁定一個虛擬的網絡接口,然后再為虛擬接口設置新的IP地址(相當于一塊網卡配多個IP)
以CentOS 7 為例:
~]# ifconfig eno16777736:0 172.16.16.1
echo: NAME (回顯)
echo – display a line of text
SYNOPSIS
echo [SHORT-OPTION]… [STRING]…
-n: 不進行換行;
-e:讓轉義符生效;
\n:換行
\t:制表符
\b: 退格
例: [root@localhost ~]# echo "hello world"
hello world
[root@localhost ~]# echo -n "hello world"
hello world[root@localhost ~]# echo -e "hello \tworld"
hello world
[root@localhost ~]# echo -e "hello \bworld"
helloworld
[root@localhost ~]# echo -e "hello \nworld"
hello
world
tty: NAME
tty – print the file name of the terminal connected to standard input
例: [root@localhost ~]# tty
/dev/pts/1
[root@localhost ~]# tty -s (–quiet print nothing, only return an exit status)
[root@localhost ~]# tty –help
-s, –silent
–help
–version
startx: – initialize an X session
startx命令用來啟動X Window,實際上啟動X Window的程序為xinit.
export: 功能說明:設置或顯示環境變量.
語 法:export [-fnp][變量名稱]=[變量設置值]
補充說明:在shell中執行程序時,shell會提供一組環境變量。export可新增,修改或刪除環境變量,供后續執行的程序使用。export的效力僅及于該此登陸操作。
-
[root@localhost ~]# !echo
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# export PATH=$PATH:/opt/au1200_rm/build_tools/bin
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/au1200_rm/build_tools/bin
重新打開一個終端登錄:
Last login: Tue Sep 13 17:59:34 2016
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
可以驗證: export的效力僅及于該此登陸操作
2.#vi /etc/profile
在適當位置添加 PATH=$PATH: /opt/au1200_rm/build_tools/bin(注意:= 即等號兩邊不能有任何空格)
這種方法最好,除非你手動強制修改PATH的值,否則將不會被改變
[root@localhost ~]# !echo
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# vim /etc/profile
[root@localhost ~]# !echo
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
3.#vi ~/.bash_profile
修改PATH行,把/opt/au1200_rm/build_tools/bin添加進去
這種方法是針對用戶起作用的
注意:第2,3種方法若想改變PATH,必須重新登陸才能生效,以下方法可以簡化工作:
如果修改了/etc/profile,那么編輯結束后執行source profile(source /etc/profile) 或 執行點命令 ./profile,PATH的值就會立即生效了。
這
個方法的原理就是再執行一次/etc/profile shell腳本,注意如果用sh
/etc/profile是不行的,因為sh是在子shell進程中執行的,即使PATH改變了也不會反應到當前環境中,但是source是在當前
shell進程中執行的,所以我們能看到PATH的改變。
[root@localhost ~]# source /etc/profile
[root@localhost ~]# !echo
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/au1200_rm/build_tools/bin
pwd: NAME 顯示工作目錄
pwd – print name of current/working directory
[root@localhost ~]# pwd
/root
history:命令歷史:
shell進程會其會話中保存此前用戶提交執行過的命令;
~]# history
定制history的功能,可通過環境變量實現:
HISTSIZE:shell進程可保留的命令歷史的條數;
HISTFILE:持久保存命令歷史的文件;
.bash_history
HISTFILESIZE:命令歷史文件的大?。?br /> [root@localhost ~]# history
1 history
2 vim .bash_history
…
178 history
[root@localhost ~]# history -c
[root@localhost ~]# history
1 history
清空了歷史命令
[root@localhost ~]# echo $HISTSIZE
1000
[root@localhost ~]# cat -n .bash_history
1 history
2 vim .bash_history
…
[root@localhost ~]# history -r
[root@localhost ~]# history
1 history
….
實現了從文件讀取命令歷史到歷史列表中
命令用法:
history [-c] [-d 偏移量] [n]
或 history -anrw [文件名]
或 history -ps 參數 [參數…]
-c: 清空命令歷史;
-d offset:刪除指定命令歷史
-r: 從文件讀取命令歷史至歷史列表中;
-w:把歷史列表中的命令追加至歷史文件中;
history #:顯示最近的#條命令;
調用命令歷史列表中的命令:
!#:再一次執行歷史列表中的第#條命令;
!!:再一次執行上一條命令;
!STRING:再一次執行命令歷史列表中最近一個以STRING開頭的命令;
注意:命令的重復執行有時候需要依賴于冪等性;
調用上一條命令的最后一個參數:
快捷鍵:ESC, .
字符串:!$
控制命令歷史記錄的方式:
環境變量:HISTCONTROL
ignoredups:忽略重復的命令;
ignorespace:忽略以空白字符開頭的命令;
ignoreboth:以上兩者同時生效;
[root@localhost ~]# echo $HISTCONTROL
ignoredups
[root@localhost ~]# echo HISTCONROL=ignoreboth
HISTCONROL=ignoreboth
[root@localhost ~]# !echo $
echo HISTCONROL=ignoreboth $
HISTCONROL=ignoreboth $
修改變量的值:
NAME='VALUE'
shutdown: NAME
shutdown – Halt, power-off or reboot the machine
SYNOPSIS
shutdown [OPTIONS…] [TIME] [WALL…]
-H, –halt
-P, –poweroff
-r, –reboot
-k
just write wall message.
–no-wall
Do not send wall message before halt, power-off, reboot.
-c
Cancel a pending shutdown. 打開另一個終端輸入shutdown -c,可取消關機命令
poweroff: NAME
halt, poweroff, reboot – Halt, power-off or reboot the machine
reboot:NAME
halt, poweroff, reboot – Halt, power-off or reboot the machine
shutdown,poweroff,reboot都能實現關機,重啟,定時關機等操作.
關機命令:
CentOS 7:
~]# systemctl poweroff
~]# systemctl reboot
*:
~]# poweroff
~]# halt
~]# reboot
hwclock ,clock:
顯示或設定硬件時鐘
-s, –hctosys:以硬件為準,把系統調整為與硬件時間相同;
-w, –systohc:以系統為準,把硬件時間調整為與系統時鐘相同;
Linux將時鐘分為系統時鐘(System Clock)和硬件(Real Time Clock,簡稱RTC)時鐘兩種。系統時間是指當前Linux Kernel中的時鐘,而硬件時鐘則是主板上由電池供電的那個主板硬件時鐘,這個時鐘可以在BIO的"Standard BIOS Feture"項中進行設置.
date 命令查看的是系統時鐘,hwclock查看的是硬件時鐘;
原創文章,作者:oranix,如若轉載,請注明出處:http://www.www58058.com/47140
寫的很好,看得出來很用心,在注意一下排版會更好,加油