計算機和linux基礎

計算機的組成及其功能

計算機硬件主要由5部分組成:運算器 、控制器、存儲器、input、output。

但是這和我們平時見到的計算機不一樣?我們平時見到的計算機有CPU,內存,硬盤,顯示器,鼠標鍵盤,顯卡、主板等。
這些東西也都歸在以上五類設備中。下面我們簡單介紹一下計算機這五個組成部分。

運算器:

運算器是計算機中做運算的部分,可以執行各種指令,加減乘除,與或非等,是真正用來計算的部分。
運算器處在計算機的CPU中,是CPU 的重要組件。CPU的運算能力是計算機的重要指標。

控制器

控制器主要是用來控制總線的使用權限,完成控制內存的訪問等。

存儲器

存儲器對應的就是計算機組成部分中的內存,臨時存放正在運行的數據和指令用的。
也叫RAM(randon access memory) ,因為是臨時存儲器,斷電后所有數據會消失。

Input

Input并不是計算機運行的核心部件,只是為了方便人類生產生活環境,適應人類操作計算機的
方式而出現的輸入設備。包括硬盤,鼠標,鍵盤,掃描儀,攝像機等,都是輸入設備。

Output

Output并不是計算機運行的核心部件,只是為了方便人類生產生活環境,適應人類操作計算機的方式而出現的輸入設備。
包括硬盤,顯示器,音箱等,都是輸出設備。

PC常見硬件理解

CPU:
一個CPU中包含了計算機的2個部分,運算器和控制器,同時CPU中還包含了寄存器和緩存。
剛剛我們已經講過運算器和控制器的功能。
那寄存器和緩存又是干什么用的呢?寄存器和緩存都是用來存儲數據的,
存取速度,
因為計算機的處理速度很快,而數據的輸入輸出會成為計算機運算的瓶頸,
所以可以提前把可能要用的數據
先放在緩存和寄存器中,這樣方便運算器運算的時候直接讀取,而不需要再到內存中取。
所以我們可以知道寄存器,緩存,內存、硬盤的速度應該是逐漸下降的,
寄存器運行速度最快。這2個家伙只是加速用的,不是核心部件。

內存:內存對應的就是計算機組成部分中的存儲器,存放正在執行數據。

硬盤,鼠標鍵盤等:

這些都是input設備,包括掃描機等,這些就不是計算機的核心部件了,只是人類為了輸入數據或指令而發明的input設備。
據而已,斷電也還在,不像RAM。所以他是input/output設備。

顯示器,音箱等:

這些都是output設備,這些就不是計算機的核心部件了,只是人類為了輸出數據不同形式而發明的output設備。

主板

為了更好的連接各個組成部分而制造的一塊電路板。

顯卡
是一個CPU+內存的集合體,只是因為各項指標更適合圖形處理,主要處理圖形任務??梢钥闯蒔C里的另一套計算系統。

Linux發行版本

Linux雖然提供kernel源代碼,但是大部分人無法將其編譯并拼湊成
操作系統,同樣也不會安裝任何應用程序
。所以就有公司或組織將其源代碼和GNU組織的應用程序打包編譯成二進制可執行文件,這就是linux的發行版。
到現在為止Linux已經存在數百個發行版本,主流的有三種Debian,Slackware,Red Hat

Debian

目前唯一一個還以網絡社區方式運行的發行版本,這個發行版本限制更少,更開放,當然使用難度也更大。
Debian的發行及其軟件源有五個分支:舊穩定分支(oldstable)、
穩定分支(stable)、測試分支(testing)、不穩定分支(unstable)、實驗分支(experimental)。
Debian以穩定性聞名,所以蠻多點服務器使用Debian作為其操作系統。

  • Ubuntu:Debian的衍生版本,主要在用戶界面努力,希望統一個人桌面和手機桌面
    他的衍生版本還有mint,在圖形化界面的優化也比較優秀。主要用戶群體在歐洲。

  • knopix:Debian的二次發行版。Knoppix的硬件支援極佳,即使是較新的產品,很多時都可以正常運用。
    但是Knoppix對中日韓環境的支援極差,在系統預建的漢字字型檔里,錯字、缺字連篇,字體比例亦不成比例。

  • kali:Debian的二次發行版,集成了很多滲透工具,黑客必玩。

Slackware

Slackware其實是SLS的分支,但是SLS曇花一現,后期主要衍生版本由Slackware衍生。它力圖成為“UNIX風格”的Linux發行版本,
只吸收穩定的應用程序。設計理念“KISS”,Keep it Simple, Stupid。

  • S.u.S.E:SlackWare的發行版。OpenSUSE是其衍生版本。openSUSE在全世界
    ,尤其是在德國被廣泛使用。它的開發重心是為軟件開發者和系統管理者創造適用的開放源代碼的工具,
    并提供易于使用的桌面環境和功能豐富的服務器環境。
    openSUSE針對桌面環境進行了一系列的優化,對Linux新手較為友好。

Red Hat

主要由Red Hat公司發行,非常主流。 Red Hat Enterprise Linux:Red Hat的二次發行版,服務費昂貴。 Centos:基于RHEL的二次發行版本,完全兼容RHEL,現在被紅帽收購。

其他主流發行版

Gentoo,Archlinux,Fedora

Linux的哲學思想

  • 一切皆文件:linux系統將所有資源抽象為文件,硬件設備,通信接口等也通過文件表示。這樣管理整個系統或修改配置系統
    其實就變成的文件管理工作。

  • 一個程序只做一件事情:linux系統由眾多功能單一的小程序組成,復雜任務通過程序組合完成。
    這樣帶來的好處是:1小程序不容易出錯  2大程序出錯時很容易排查,你可以分析每一部分過程。

  • 程序啟動盡量不和人交互:希望以編程的方式實現自動化,另一個是人總是比機器容易出錯,盡量減少人的參與。

  • 文本保存配置信息:用最基本的編輯工具就能完成。備份,閱讀都比較方便。熟悉配置之后就能快速部署。

Linux命令使用格式

linux命令的基本格式: COMMAND [OPTION] [FILE] [string]

linux命令最左側為命令本身。并由空格隔開。

[OPTION]選項為命令運行的可調整項??梢愿鄠€選項,有些選項需要跟參數,
參數可能是文件,也可能是字符串。

命令后可能需要跟參數,也可能不跟參數。參數可能是文件,也可能是字符串。

基本命令介紹

ifconfig

這個命令是用來配置和查看網卡信息用的。

[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:32:B0:C8  
          inet addr:192.168.17.128  Bcast:192.168.17.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe32:b0c8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5710 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4259 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:536342 (523.7 KiB)  TX bytes:765653 (747.7 KiB)
          Interrupt:67 Base address:0x2024 

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:3454 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3454 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:5223176 (4.9 MiB)  TX bytes:5223176 (4.9 MiB)

[root@localhost ~]#

echo

回顯命令

-n:回顯不進行換行
-e:讓轉譯符生效,\n換行,\t制表符

    [root@localhost ~]# echo "hello world"
    hello world
    [root@localhost ~]# echo -n "hello world"
    hello world[root@localhost ~]# 
    [root@localhost ~]# echo -e "hello world"
    hello world
    [root@localhost ~]# echo -e "hello \nworld"
    hello 
    world
    [root@localhost ~]# echo -e "hello \tworld"
    hello   world
    [root@localhost ~]# echo "hello \tworld"
    hello \tworld
    [root@localhost ~]# echo $SHELL
    /bin/bash
    [root@localhost ~]#

tty

查看登錄信息。

物理終端返回:/dev/console

虛擬終端返回:/dev/tty#[1-6]

串行終端返回:/dev/pts/#

[root@localhost ~]# tty
/dev/pts/1
[root@localhost ~]#

startx

切換至GUI接口

export

用于設置或顯示環境變量。

[root@localhost ~]# export -p
declare -x CVS_RSH="ssh"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="localhost.localdomain"
declare -x INPUTRC="/etc/inputrc"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD="/home/gentoo"
declare -x PATH="/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
declare -x PWD="/root"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
declare -x SSH_CLIENT="192.168.17.1 65424 22"
declare -x SSH_CONNECTION="192.168.17.1 65424 192.168.17.128 22"
declare -x SSH_TTY="/dev/pts/1"
declare -x TERM="vt100"
declare -x USER="root"
[root@localhost ~]# export SHLVL="7"
[root@localhost ~]# export -p
declare -x CVS_RSH="ssh"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="localhost.localdomain"
declare -x INPUTRC="/etc/inputrc"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:"
declare -x MAIL="/var/spool/mail/root"
declare -x OLDPWD="/home/gentoo"
declare -x PATH="/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
declare -x PWD="/root"
declare -x SHELL="/bin/bash"
declare -x SHLVL="7"
declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
declare -x SSH_CLIENT="192.168.17.1 65424 22"
declare -x SSH_CONNECTION="192.168.17.1 65424 192.168.17.128 22"
declare -x SSH_TTY="/dev/pts/1"
declare -x TERM="vt100"
declare -x USER="root"
[root@localhost ~]#

pwd

顯示當前目錄

[root@localhost ~]# pwd
/root
[root@localhost ~]#

history

顯示歷史命令信息。

[root@localhost ~]# history 10
  659  who -a
  660  who -r
  661  clock
  662  w
  663  man w
  664  w -v
  665  w -V
  666  w -h
  667  w -s
  668  history 10
[root@localhost ~]# 
[root@localhost ~]#

相關環境變量:

  • HISTSIZE:命令保存命令的數量

  • HISTFILE:命令的保存路徑,只有用戶登出事才會保存

  • HISTFILESIZE:文件的大小,說明只能保存1000條,超出的會將之前的頂掉

-c:清空內存中的歷史狀態

-d offset N:批量刪除N個指定歷史命令 history -d 676 5

-r:從history文件中讀回到內存

-a: 從內存中寫到history文件

-w:把歷史列表中的命令追加到歷史文件中

History N:顯示最近N條命令

!#再一次執行第#條命令

??!再一次執行上一條命令

!STRING再一次執行命令列表中往前追溯以STRING開頭的命令

shutdown

關閉算計。

SYNOPSIS:/sbin/shutdown [-t sec] [-arkhncfFHP] time [warning-message]

-h:halt

-r:reboot

-c:cancel

TIME:
   now
   hh:mm
   +m

WALL

[root@localhost ~]# shutdown 20:00 "warnning"

Shutdown cancelled.
[root@localhost ~]#

poweroff

關閉計算機。

reboot

重啟計算機。

hwclock

查看或設定硬件時鐘。

    [root@localhost ~]# hwclock --set --date="9/14/16 14:21:30"
    [root@localhost ~]# 
    [root@localhost ~]# hwclock 
    Wed 14 Sep 2016 02:21:37 PM PDT  -0.016205 seconds
    [root@localhost ~]# hwclock -s 
    [root@localhost ~]# date
    Wed Sep 14 14:22:24 PDT 2016
    [root@localhost ~]# hwclock -s 
    [root@localhost ~]# hwclock 
    Wed 14 Sep 2016 02:22:30 PM PDT  -0.016007 seconds
    [root@localhost ~]#

date

顯示和設置系統時間
SYNOPSIS

date [OPTION]… [+FORMAT]                    顯示時間

date [MMDDhhmm[[CC]YY][.ss]]             設定時間,月日時分年秒

    [root@localhost ~]# date
    Tue Sep 13 23:08:39 PDT 2016
    [root@localhost ~]# date 091414102016.45
    Wed Sep 14 14:10:45 PDT 2016
    [root@localhost ~]# date
    Wed Sep 14 14:10:49 PDT 2016
    [root@localhost ~]#

如何在linux上獲取幫助

  • help COMMAND命令可以獲取幫助,但是只能查詢內建命令。

  • COMMAND –help命令可以查外部命令。

  • man COMMAND手冊查詢

  • whatis COMMAND 命令能顯示在man哪里找,但是并不一定所有命令都能用,需要手動更新數據庫,通過makewhatis

  • info COMMAND獲取在線文檔

man文件內容分布

  • 第一章用戶命令

  • 第二章系統調用

  • 第三章C庫調用

  • 第四章設備文件&特殊文件

  • 第五章文件格式(配置文件格式說明)

  • 第六章游戲說明

  • 第七章雜項

  • 第八章管理工具和守護進程說明

linux發行版基礎目錄

  • /bin:供所有用戶使用的基礎命令程序文件。

  • /sbin:供管理員使用的命令程序文件。

  • /boot:引導加載器必須用到的各種靜態文件:kernel,initramfs(initrd),grub等。

  • /dev:存儲特殊文件或設備文件;設備有2種類型,字符設備(也叫線性設備,如鍵盤)和塊設備(也叫隨機設備,如硬盤)

  • /etc:主機特有配置文件,大部分都是文本文件。不能為二進制文件。至少有/opt子目錄。

  • /home:是可選目錄,普通用戶家目錄的集中位置。每個普通用戶的家目錄默認與用戶名同名。

  • /root:管理員的家目錄,可選。

  • /lib:為系統啟動或根文件上的應用程序(bin/sbin)提供共享庫,為內核提供內核模塊。

    ld*:運行時鏈接器/加載器;

    ibc.so.* 動態鏈接C庫;

    modules: 用于存儲內核模塊的目錄;

  • /lib64: 64位系統特有存放64位共享庫的路徑。

  • /media: 為便攜性設備提供掛載點。cdrom

  • /mnt: 其他文件系統的臨時掛載點。

  • /opt:附加應用程序的安裝位置;可選路徑;

  • /srv:主機特有的為服務提供的數據。

  • /tmp:為那些會產生臨時文件的程序提供用于存儲零時文件的目錄

  • /usr:獨立層級結構,全局共享的只讀數據路徑。其下目錄文件有:

    bin

    include:C程序頭文件

    lib(lib64)

    local:獨立層級結構,用戶真正安裝本地應用的路徑。其下也有bin,sbin,man,share……

    sbin

    share:命令手冊也和自帶文檔等架構特有的文件存儲位置。

    X11R6:X-Window程序安裝位置。

    src:程序源碼文件的存儲位置。

  • /var:存儲常發生變化的數據的目錄。其下目錄文件有:

    cache: application cache data

    lib: Variable state information

    local: variable data for /usr/local

    lock: lock file

    log: log files and directories

    opt: variable data for /opt

    run: Data relevant to running processes

    spool: Application spool data

    tmp: Temporary files preserved between system reboots

Edit By MaHua

原創文章,作者:Theo,如若轉載,請注明出處:http://www.www58058.com/46745

(0)
TheoTheo
上一篇 2016-09-16
下一篇 2016-09-16

相關推薦

  • Linux 發展史

    摘要:     Linux是一款基于Unix的服務端操作系統,目前已廣泛應用于國內外的服務器端操作系統領域,其開源性是其獲得及其快速的發展,目前至少已有數百種發行版本。 本文主要講述了linux的系統簡介、發展歷程和Linux的發行版;     1、Linux的哲學思想:    &nbsp…

    Linux干貨 2016-10-19
  • 進程及任務管理

    進程概念 內核的功用:進程管理、文件系統、網絡功能、內存管理、驅動程序、安全功能等 Process: 運行中的程序的一個副本,是被載入內存的一個指令集合     進程ID(Process ID,PID)號碼被用來標記各個進程     UID、GID、和SELi…

    Linux干貨 2016-09-09
  • 程序包管理之編譯安裝apache

    編譯就是講開發者提供的源代碼,通過編譯器,匯編器,連接器轉換成可以直接在操作系統上運行的二進制指令的過程。C/C++源碼的編譯通常包括以下幾個過程:     預處理(Preprocessing)     編譯(Compilation)    &nbs…

    Linux干貨 2016-08-24
  • python裝飾器1

    簡單介紹裝飾器(注意格式)

    Linux干貨 2017-10-22
  • 聊聊CentOS6的啟動過程

    前言:     作為一個合格的運維人員,系統的啟動過程我們需要牢記在心,此文不深入探討,只求大致理解CentOS6的啟動過程。 一張圖帶你了解CentOS6的啟動過程 注意:圖片放大查看效果更佳 上圖各階段詳解 POST:計算機開機時BIOS對其各硬件的簡單測試,測試各硬件的完整性 BootSqunce:加電自檢后根據…

    Linux干貨 2016-03-14
  • 第十一周

    1、詳細描述一次加密通訊的過程,結合圖示最佳。 2、描述創建私有CA的過程,以及為客戶端發來的證書請求進行辦法證書。 CA 服務器端: (1)生成 CA 服務器的私鑰 (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096) (2)生成 CA服務器自謙證書 openssl req …

    Linux干貨 2017-03-30

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-20 10:37

    看的出來,很認真的在做了,希望可以繼續保持

欧美性久久久久