1. 程式人生 > >計算機組成、linux發行版區別聯系和規則、linux思想、基礎命令及獲得幫助

計算機組成、linux發行版區別聯系和規則、linux思想、基礎命令及獲得幫助

出現 如何獲取 組成 基於 更新 slack 位置 shutdown 作者

1.計算機的組成和功能:
西方人設計的計算機很像一條流水線工廠,有著嚴密的控制運轉機制,他的組成如下:

  • 輸入端:負責接受各種類型數據傳給計算機
  • 存儲器:方便存儲管理輸入的數據
  • 控制器:以邏輯運算為基礎控制計算機的運行
  • 運算器:以數學運算為基礎模擬量變
  • 存儲器:存放及管理運算結果的數據
  • 輸出端:把運算的數據結果以一種自身的形式傳送出去

2.linux主流發行版區別和聯系

  • Debian系列:以社區為支撐,Ubuntu以Debian為基礎的二次開發,knopic也是二次開發,以安全著稱
  • RedHat系列:redhat enterprise企業版,CentOS相當與redhat企業版的翻版不過現在被redhat收購了,Fedora屬於個人桌面版系統
  • Slackware系列:S.u.S.E:Slackware的一個分支,OpenSUSE是S.u.S.E的一個分支

3.linux發行版其基礎名稱功能規定
為了管理每個發行版對文件系統目錄的統一,linux標準委員會制定了FHS標準,官方文檔可查,目前最新的是2.3版本,內容如下。
/bin:所有用戶使用的命令程序文件
/sbin:管理員使用的命令程序文件
/boot:靜態文件,引導加載器包括kernel,initramfs(initrd),grub等
/dev:存儲特殊文件或設備文件(字符設備如鍵盤線型、塊設備如硬盤隨機型)
/etc:一定是靜態文件,系統程序的配置文件
/etc/opt:for /opt
/home:用戶家目錄

/root:管理員家目錄,可選
/lib:庫文件,為系統啟動及/bin、/sbin等中程序提供共享庫,以及提供內核模塊
libc.so.:動態鏈接的C庫
ld
:運行時鏈接器/加載器
modules:存儲內核模塊
/lib64:64位系統特有的共享庫路徑
/media:便攜式設備掛載
/opt:附加程序的安裝位置,可選路徑
/srv:當前主機為服務提供的數據
/tmp:所有用戶有寫入權限的為程序存儲臨時文件,有特殊權限
/usr:遵循FHS標準的共享的只讀數據
/usr/bin:非系統運行必須的命令
/usr/sbin:非系統運行必須的管理員命令
/usr/lib:為/usr/bin、/usr/sbin提供支持的庫
/usr/include:C頭文件
/usr/share:命令手冊頁和自帶文檔架構特有的文件
/usr/src:程序源碼文件
/usr/local:讓系統管理員安裝本地的第三方應用,裝在此處可與/usr下同一軟件不同版本共存
/usr/X11R6:X-window程序安裝位置
/var:經常發生數據變化的文件,比如日誌
/var/cache:應用程序緩存數據
/var/lib:程序狀態數據
/var/local:/usr/local的變化數據
/var/lock:鎖文件
/var/log:日誌文件
/var/opt:/opt的數據
/var/run:運行中的進程的數據
/var/spool:應用程序暫存中數據
/var/tmp:系統重啟後依然需要留下的數據
/proc:基於內存的把內核參數虛擬抽象為文件,由內核輸出,存儲內核及進程相關信息
/sys:sysfs把/proc下的一部分分擔過來,更方便的查看內核參數及提供了統一管理設備模型的接口


4.linux哲學思想
(1)一切皆文件:不管什麽操作系統都是由數據控制運行的,linux為了能透明公開這種背後的控制細節,想方設法的把所有的背後內容以簡單的方式呈現並且還要讓人便於閱讀學習,把所有的問題統一成一種形式管理,我其實應該是計算機設計的本該走的路,但像windows這類系統為了保密屏蔽了背後的文件包裝成了不同形式封閉的鐵盒子。
(2)眾多功能單一的程序組成:實現功能的程序越小意味著更多可能的組合意味著組成的程序更加沒有限制的針對性和高效率,但這建立在能精通這些程序上,因為程序小就會多給學習和使用提高門檻。
(3)程序盡可能避免與用戶交互:所有的程序為了更高的效率當然要盡量做到這一步,人花更少的時間讓計算機做更多的事情。
(4)使用文本文件保存配置信息:因為文本是相當接近人類的語言,同時沒有花哨更有效率的與計算機溝通。


5.如何獲取命令幫助學習他們有且不限於如下方法
(1)COMMAND --help:簡要查看命令使用方法
(2)info COMMAND:獲得命令在線文檔
(3)程序自帶的幫助文檔如readme、install、changes等
(4)主流發行版的官方文檔
(5)程序官方文檔
(6)google
(7)man COMMAND,man使用信息如下:
{1}man的手冊文檔大多在/usr/share/man中,以類別分放在不同的章節中
man1:用戶命令
man2:系統調用
man3:C庫調用
man4:設備文件特殊文件
man5:配置文件格式
man6:遊戲使用幫助
man7:雜項
man8:管理工具及守護進程
whatis COMMAND命令可以根據whatid數據庫查詢命令的位置,如找不到命令,可用makewhatis更新數據庫,如果一個命令在多個章節中存在,要查看具體位置的那個時候使用命令:man chapter COMMAND
{2}man文檔中標註含義如下
name:名字
synopsis:語法格式
[]:可選格式
<>:必選內容
a|b|c:多選一
...:同類類容可出現多個
description:描述
options:選項
examples:使用實例
author:作者
bug:bug嘍
see also:參考
{3}界面使用操作
空格:後翻一屏
b:前翻一屏
回車:後翻一行
k:前翻一行
ctrl d:向後半屏
ctrl u:向後半屏
g:跳到最後一行
ng:跳到n行,1g表示跳到首行
/keyword:從前往後尋找關鍵詞,不區分大小寫
?keyword:從後向前尋找關鍵詞
n:關鍵詞搜索結果中按查找順序選擇下一個
N:關鍵詞搜索結果中按查找順序選擇上一個
q:退出


6.linxu基礎命令使用方法
tty
[root@localhost ~]# tty #顯示當前終端
一組查詢命令
[root@localhost ~]#which ls #查看ls命令的執行程序位置
[root@localhost ~]#whatis ls #ls命令對應的man手冊的位置
[root@localhost ~]#whereis ls #ls命令存放的位置
echo
[root@localhost ~]#echo "12345" #輸出 12345
[root@localhost ~]#echo $PATH #傳回$PATH這個變量的值,除非寫成‘$PSTH‘用單引號表示強制引用
[root@localhost ~]# echo -e "a\nb\nc" #-e 這個參數表示會啟動轉義符
a
b
c
export
[root@localhost ~]#export aaa #添加aaa變量
[root@localhost ~]#export bbb=8 #添加bbb變量並賦值8
[root@localhost ~]#export -p #顯示所有變量
[root@localhost ~]#export -n aaa bbb #刪除aaa、bbb兩個變量
pwd #PWD、#OLDPWD兩個變量分別保存了當前和上一次記錄的工作目錄
[root@localhost ~]#pwd #顯示當前的工作目錄
ifconfig
[root@localhost ~]# ifconfig #處於激活狀態的網絡接口
[root@localhost ~]# ifconfig -a #所有配置的網絡接口,不論其是否激活
[root@localhost ~]# ifconfig eth0 #顯示eth0的網卡信息
[root@localhost ~]# ifconfig eth0 down #關閉eth0網卡
[root@localhost ~]# ifconfig eth0 up #開啟eth0網卡
[root@localhost ~]# ifconfig eth0 192.168.1.56 #給eth0網卡配置IP地址
startx
[root@localhost ~]#startx #啟動圖形界面
history 登陸後shell執行的命令保存在緩存中,而登陸shell時,會讀取存放在~/.bash_history文件中記錄的內容
[root@localhost ~]# history #查看所有執行過的命令
1 ls
2 pwd
3 fc -l
4 history
[root@localhost ~]# history 5 #顯示最新的5條命令
[root@localhost ~]# history -a #添加本次會話新命令至歷史文件中
[root@localhost ~]# history -c #清空記錄命令歷史
[root@localhost ~]# !! #執行上次的命令
[root@localhost ~]# !n #執行歷史記錄中第n條命令
[root@localhost ~]# !string #執行記錄中以string開頭的命令
[root@localhost ~]# #上下鍵盤可以選擇記錄的命令
shutdown
[root@localhost ~]# shutdown -k 1 guanjile #告訴別人1分鐘後關機,其實不會關機
[root@localhost ~]# shutdown -h 3 zhenguanji #告訴別人3分鐘後真關機
[root@localhost ~]# shutdown -r 2 chongqi #告訴別人2分鐘後重啟計算機
[root@localhost ~]# shutdown -h 06:24 #06:24分關機
[root@localhost ~]# shutdown -c quxiao #取消運行中的shutdown進程並告訴別人
poweroff
[root@localhost ~]#poweroff #關機
reboot
[root@localhost ~]#reboot #重啟
clock
[root@localhost ~]#clock #顯示硬件時鐘
[root@localhost ~]#clock --hctosys #把硬件時鐘數據給系統時間
[root@localhost ~]#clock --systohc #把系統時間數據給硬件時間
[root@localhost ~]#clock --set --date="05/04/2013 14:30:01" #設置硬件時鐘時間
date
[root@localhost ~]#date #顯示系統時間
[root@localhost ~]#date -s "10:30:03 2006-10-09" #設置時間
cal
[root@localhost ~]#cal #當前月份月歷
[root@localhost ~]#cal 10 2017 #2017年10月份的月歷
cat
[root@localhost ~]#cat aaa bbb #將aaa、bbb兩個文件顯示出來
[root@localhost ~]#cat -n aaa bbb #將aaa、bbb兩個文件顯示並對行編號
file
[root@localhost ~]#file aaa #查看aaa文件類型
[root@localhost ~]#file * #查看目錄下所有文件類型
cd
[root@localhost ~]#cd /PATH/TO/SAME #切換到某個目錄
[root@localhost ~]#cd .. #切換到上一層目錄
[root@localhost ~]#cd ~ #切換到當前家目錄
[root@localhost ~]#cd ~USERNAME #切換到該用戶名的家目錄
[root@localhost ~]#cd - #切換至上一次目錄
[root@localhost ~]#cd -
ls
[root@localhost ~]#ls /PATH/TO/SAME #顯示該目錄下文件
[root@localhost ~]#ls -a /PATH/TO/SAME #顯示目錄下所有文件包括隱藏
[root@localhost ~]#ls -l /PATH/TO/SAME #長格式顯示文件元數據信息

計算機組成、linux發行版區別聯系和規則、linux思想、基礎命令及獲得幫助