計算機組成及Linux初識

拼一載春秋,搏一生無悔


1. 計算機簡介
2. Linux發行版簡介
3. Linux哲學思想簡介
4. Linux系統上獲取命令幫助
5. Linux「12」個基礎命令簡介
6. Linux發行版基礎目錄及功能簡介

1.計算機簡介

電子計算機(英語:computer),亦稱電腦,是一種利用「電子學」原理,根據一系列指令對數據進行處理的工具
計算機種類繁多,但實際來看,計算機總體上是處理信息的工具。計算機在組成上形式不一,早期計算機的體積足有一間房屋的大小,而今天某些嵌入式計算機可能比一副「撲克牌」還小。當然,即使在今天依然有大量體積龐大的巨型計算機為特別的[科學]計算或面向大型組織的事務處理需求服務。比較小的,為個人應用而設計的稱為「微型計算機」(Personal Computer,PC),在中國地區簡稱為“微機”。我們今天在日常使用“計算機”一詞時通常也是指此,不過現在計算機最為普遍的應用形式卻是嵌入式,嵌入式計算機通常相對簡單、體積小,并被用來控制其它設備—無論是「飛機」、「工業機器人」還是「數碼相機」等

計算機的組成

完整的計算機系統包括硬件和軟件兩大部分,硬件是指計算機系統中的各種物理裝置。軟件是指計算機運行所以需要的各種程序

馮·諾伊曼結構

馮·諾伊曼結構這個詞出自「約翰·馮·諾伊曼」, 于1945年6月30日。馮·諾依曼由于在曼哈頓工程中需要大量的運算,從而使用了當時最先進的兩臺計算機Mark I和ENIAC,在使用Mark I和ENIAC的過程中,他意識到了存儲程序的重要性,從而提出了存儲程序邏輯架構
從理論上講,計算機的硬件系統主要由運算器、存儲器、控制器、輸入設備和輸出設備五大部分組成,這種劃分方式稱為“馮諾依曼體系結構

  • 運算器
    運算器(Datapath),其主要功能是對數據進行運算的加工處理操作,包括加、減、乘、除等數學算術運算和與、或、非等邏輯運算。運算器主要由運算邏輯單元(ALU)和寄存器兩部分元件組成,其中寄存器用于提供參與運算的數據或臨時保存運算結果。通常情況下運算器集成于CPU中央處理器中

  • 控制器
    控制器(Control),是整個計算機的控制中心,主要用來協調計算機各個組件的工作,完成程序信息的處理和數據的輸入/輸出。它一般由指令寄存器、狀態寄存器、指令編碼器、時序電路和控制電路組成。簡而言之,控制器就是協調指揮計算機各個部件工作的組件。通常情況下控制器集成于CPU中央處理器中

  • 存儲器
    存儲器(Memory),其主要功能用于存放程序與數據(程序是計算機操作的依據,數據是計算機操作的對象),程序和數據在存儲器中以二進制的方式表示,每8位二進制數碼劃分為一個存儲單元,必須通過地址來訪問該單元,地址其實就是這個存儲單元的編號

  • 輸入設備
    輸入設備(Input System),輸入設備是計算機的重要外部設備,其主要作用是將程序、原始數據、文字、字符、控制命令或現場采集的數據等信息輸入到計算機,并轉換為二進制格式保存在內存中。常見的輸入設備有鍵盤、鼠標等

  • 輸出設備
    輸出設備(Output System),輸出設備是計算機的重要外部設備,其主要作用是將計算機的運算中間結果或最終結果、機內的各種數據符號及文字或各種控制信號等信息展示給用戶。常見的輸出設備有顯示器、打印機、音箱、投影儀等

軟件系統

軟件的分類方式有很多種,通常把軟件分為「系統軟件」「應用軟件」

  • 系統軟件
    「系統軟件」負責管理計算機系統中各種獨立的硬件,使得它們可以協調工作,提供基本的功能,并為正在運行的應用軟件提供平臺

  • 應用軟件
    「應用軟件」是為了某種特定的用途而被開發的軟件。它可以是一個特定的程序,比如一個圖像瀏覽器

2.Linux發行版簡介

什么是Linux發行版?
Linux 發行版(英語:Linux distribution,也被叫做GNU/Linux 發行版),它一般是由一些組織、團體、公司或者個人制作并發行的,為一般用戶預先集成好的Linux操作系統及各種應用軟件,一般不需要用戶進行重新編譯,在安裝之后,可以通過一定的設置就可以使用,通常以「軟件包管理系統」來進行應用軟件的管理「Linux內核+軟件(自由or專有)」

目前可供用戶下載使用的Linux發行版有超過300種之多
劃分為三大系:Debian GNU / Linux系,Red Hat Linux系,Slackware Linux系

  • Debian 
    Debian是由GPL和其他自由軟件許可協議授權的自由軟件組成的操作系統,通過社區方式進行維護,Debian以穩定性聞名,所以很多服務器都使用Debian作為其操作系統,對比Ubuntu、Fedora、Centos等Linux發行版,Debian stable(穩定版)以三年為更新周期,故對新上市硬件支持較差(雖然有testing,unstable但極不穩定,與Debian理念不符,且遜色于Archlinux,gentoo等滾動更新發行版 ),但極注重穩定性,低于現在Windows主流配置1到2年的PC到很好的支持。

    • Linux Mint 是一種基Ubuntu或Debian開發出的Linux發行版,是對用戶友好而功能強大的操作系統。Linux Mint的理想之一,以簡單的方式呈現先進技術給用戶,以此來成為最優秀的操作系統

    • Elementary OS 是一種基于Ubuntu的Linux發行版,界面酷炫「新生代,值得一試」

    • Ubuntu 是以桌面應用為主的Linux發行版,Ubuntu是基于Debian發行版和GNOME桌面環境,每6個月會發布一個新版本,每2年發布一個LTS長期支持版本

    • Kanotix 是一種基于Debian的Linux發行版

  • Red Hat 
    RPM軟件包格式可以說是Linux社區的一個事實標準,被廣泛使用于其他Linux發行包中

    • CentOS 它是來自于「RHEL」依照「開放源代碼」規定發布的源代碼所編譯而成。由于出自同樣的源代碼,因此有些要求高度穩定性的服務器以CentOS替代商業版的Red Hat Enterprise Linux使用「'免費'RHEL」「主要Linux學習對象」

    • Fedora 由Fedora項目社區開發、紅帽公司贊助,目標是創建一套新穎、多功能并且自由「開放源代碼」的操作系統,「更新速度快,新軟件、特性成熟之后可能加入到RHEL中」

    • Red Hat 9.0 1.0版本于1994年11月3日發行,2004年4月30日,Red Hat公司正式停止對Red Hat 9.0版本的支持,全部力量集中在服務器版的開發上,也就是Red Hat Enterprise Linux版

    • Red Hat Enterprise Linux 由 Red Hat開發的商業市場導向的 Linux 發行版,紅帽公司從 Red Hat Enterprise Linux 5 開始對企業版 LINUX 的每個版本提供 10 年的支持,通常非官方稱呼「RHEL」,大約 3 年發布一個新版本

  • Slackware
    走了一條與其他的發行版本,([Red Hat]、[Debian]、[Gentoo]、[SuSE])、[Mandriva]、[Ubuntu]等)不同的道路,它力圖成為“[UNIX]風格”的Linux發行版本

    • S.U.S.E SUSE Linux原是以Slackware Linux為基礎,并提供完整德文使用界面的產品

    • openSUSE 前身為SUSE Linux和SuSE Linux Professional,是一個Linux發行版與項目,由SUSE與其他公司贊助。openSUSE在全世界,尤其是在德國被廣泛使用。它的開發重心是為軟件開發者和系統管理者創造適用的開放源代碼的工具,并提供易于使用的桌面環境和功能豐富的服務器環境。openSUSE針對桌面環境進行了一系列的優化,對Linux新手較為友好。「后起之秀」

還有很多非常優秀的Linux發行版:Gentoo,ArchLinux,Kali,Yellow Dog ……

不同Linux發行版之間聯系與區別

聯系:所有Linux發行版都使用了Linux內核,不同的Linux發行版使用的Linux內核版本可能不同

區別:從技術方面來說,Linux發行版的不同之處在于支持的硬件設備和系統或者軟件包配置不同。由于歷史原因,不同的組織也會導致不同的發行版。其他的原因有安全性方面的,如安全更新的頻率;軟件包管理的易用性;可用軟件包的數量
個人理解:各Linux發行版采用了不同的軟件包管理工具,比如,Debian 的 apt、openSUSE 的 zypp、Fedora的 dnf、Slackware 的 slackpkg、Archlinux 的 pacman、Gentoo 的 emerge、等等

3.Linux哲學思想簡介

Linux的哲學思想:

  • 一切皆文件

     [root@localhost ~]# fdisk -l /dev/sda 
     Disk /dev/sda: 128.8 GB, 128849018880 bytes, 251658240 sectors
     Units = sectors of 1 * 512 = 512 bytes
     Sector size (logical/physical): 512 bytes / 512 bytes
     I/O size (minimum/optimal): 512 bytes / 512 bytes
     Disk label type: dos
     Disk identifier: 0x0005c90f
     Device Boot      Start         End      Blocks   Id  System
     /dev/sda1   *        2048     1026047      512000   83  Linux
     /dev/sda2         1026048   251658239   125316096   8e  Linux LVM

查看磁盤分區/dev/sda使用情況,

  • 由眾多功能單一的程序組成;一個程序只做一件事

      [root@localhost tmp]# date
      Thu Oct 27 11:09:22 CST 2016
      [root@localhost tmp]# mkdir `date`
      [root@localhost tmp]# ls
      11:09:27  2016  27  CST  Oct  Thu

date默認只能顯示系統時鐘,結合其他命令可以產生新的功能

  • 盡量避免跟用戶交互

      [root@localhost ~]# cp /etc/fstab /tmp/issue 
      cp: overwrite ‘/tmp/issue’?

    可以通過編程的方式避免用戶參與操作

  • 使用文本文件保存配置信息

      [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777736
      TYPE=Ethernet  #BOOTPROTO=dhcp
      BOOTPROTO=static
      #DEFROUTE=yes
      IPADDR=172.16.8.110
      NETMASK=255.255.255.0

查看網卡的配置文件

4.Linux系統上獲取命令幫助

命令分為「內部命令」「外部命令」

內部命令
~]#help COMMAND

 [root@localhost ~]# help cd
 cd: cd [-L|[-P [-e]]] [dir] Change the shell working directory.

外部命令
~]#COMMAND –help

  • 命令自帶簡要格式的使用幫助

    [root@localhost ~]# ls --helpUsage: ls [OPTION]... [FILE]...
    List information about the FILEs (the current directory by default).
    Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
  • 使用手冊
    位置:/usr/share/man
    ~]# man COMMAND

      [root@localhost ~]# man ls
  • 獲取命令的在線文檔
    ~]#info COMMAND

  • 程序自帶幫助文檔
    位置:/usr/share/doc/APP-VERSION

  • 主流發行版官方文檔
    例如:http://www.redhat.com/doc

  • 程序官方的文檔,官方站點上的“Document”

  • google

5.Linux「12」個基礎命令簡介

  • ifconfig

        命令功能:ifconfig 命令用來查看和配置網絡設備。當網絡環境發生改變時可通過此命令對網絡進行相應的配置

        命令格式:ifconfig 「interface」參數
        -a 顯示全部接口信息
        -s 顯示摘要信息
        -up 啟動指定網絡設備/網卡
        -down 關閉指定網絡設備/網卡

       [root@localhost ~]# ifconfig
       eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       inet 172.16.8.110  netmask 255.255.255.0  broadcast 172.16.8.255
       inet6 fe80::20c:29ff:fee9:940  prefixlen 64  scopeid 0x20<link>
       ether 00:0c:29:e9:09:40  txqueuelen 1000  (Ethernet)
       RX packets 10670  bytes 762914 (745.0 KiB)
       RX errors 0  dropped 424  overruns 0  frame 0
       TX packets 2169  bytes 310274 (303.0 KiB)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        inet IPv4地址信息
        netmask 子網信息
        broadcast 廣播地址

  • echo
    命令功能:在顯示器上顯示'用戶輸入內容'
    命令格式:echo [SHORT-OPTION]… [STRING]…
    -n: 不進行換行
    -e:讓轉義符生效
    \n:換行
    \t:制表符
    STRING可以使用引號,單引號和雙引號均可用
    單引號:強引用,變量引用不執行替換
    ~]# echo '$SHELL'
    雙引號:弱引用,變量引用會被替換
    ~]# echo "$SHELL"

    [root@localhost ~]# echo helloworld
    helloworld
    [root@localhost ~]# echo -n 'hello wolrd'
    hello wolrd[root@localhost ~]# 
    [root@localhost ~]# echo -e 'hello \nwolrd'
    hello 
    wolrd
    [root@localhost ~]# echo -e 'hello \twolrd'
    hello     wolrd
    [root@localhost ~]# echo '$PATH'
    $PATH
    [root@localhost ~]# echo "$PATH"
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
  • tty
    命令功能:查看當前的終端設備
    命令格式:tty [OPTION]…

      [root@localhost ~]# tty
      /dev/pts/0
  • startx
    命令功能:用來啟動X Window,「開啟圖形界面」
    命令格式:startx

  • export
    命令功能:設置或顯示環境變量
    命令格式:export [-fn] [name[=value] …]
    -n:刪除指定的變量

      [root@localhost ~]# export PATH=$PATH:/tmp/test
      declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/test"

新增環境變量

  • pwd
    命令功能:顯示工作目錄
    命令格式:pwd

      [root@localhost ~]# pwd
      /root
      [root@localhost network-scripts]# pwd
      /etc/sysconfig/network-scripts
  • history
    命令功能:顯示已使用過命令
    命令格式:history [-c] [-d 偏移量] [n]
    -c:清空命令歷史
    -d offset:刪除指定命令歷史
    -r: 從文件讀取命令歷史至歷史列表中
    -w:把歷史列表中的命令追加至歷史文件中
    history #:顯示最近的#條命令

      [root@localhost ~]# history
        441  cd    442  history 
      [root@localhost ~]# history -c
      [root@localhost ~]# history 
          1  history 
      [root@localhost ~]# history -r
        365  file /usr/bin/ls    366  history
  • shutdown
    命令功能:系統關機指令
    命令格式:hutdown [OPTIONS…] [TIME] [WALL…]
    -h:關機后關閉電源
    -r:重啟計算機
    -c:取消目前正在執行的關機程序

      [root@localhost ~]# shutdown -h 10  10分鐘后關機
      [root@localhost ~]# shutdown -h now  立即關機
      [root@localhost ~]# shutdown -c  取消關機
  • poweroff
    命令功能:系統關機指令
    命令格式:poweroff

      [root@localhost ~]# poweroff
  • reboot
    命令功能:系統重啟指令
    命令格式:reboot

      [root@localhost ~]# reboot
  • hwclock
    命令功能:顯示硬件時鐘
    命令格式:hwclock [option…]
    -s, –hctosys:以硬件為準,把系統調整為與硬件時間相同
    -w, –systohc:以系統為準,把硬件時間調整為與系統時鐘相同

      [root@localhost ~]# hwclock -s
  • date
    命令功能:顯示系統時鐘
    命令格式:date [OPTION]… [+FORMAT]
    FORMAT:格式符
    %F
    %T
    %Y
    %m
    %d
    %H
    %M
    %S
    %s:
    設定日期時間:date [MMDDhhmm[[CC]YY][.ss]]

       [root@localhost ~]# date +%F
      2015-10-10
      [root@localhost ~]# date +%T
      03:04:45
      [root@localhost ~]# date +%m
        10
      [root@localhost ~]# date +%d
        10
      [root@localhost ~]# date +%H
        03
      [root@localhost ~]# date +%M
        05
      [root@localhost ~]# date +%S
        40
      [root@localhost ~]# date +%s
        1444417542
      [root@localhost ~]# date +%Y
        2015
      [root@localhost ~]# date 101003032015
        Sat Oct 10 03:03:00 CST 2015

6.Linux發行版基礎目錄及功能簡介

  • /bin:所有用戶可用的基本命令程序文件

  • /sbin:供系統管理使用的工具程序

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

  • /dev:存儲特殊文件或設備文件

  • /etc:系統程序的配置文件,只能為靜態

  • /home:普通的家目錄的集中位置;一般每個普通用戶的家目錄默認為此目錄下與用戶名同名的子目錄,/home/USERNAME

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

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

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

  • /media:便攜式設備掛載點,cdrom等

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

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

  • /srv:當前主機為服務提供的數據

  • /tmp:為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄;可供所用戶執行寫入操作;有特殊權限

  • /usr:usr Hierarchy,全局共享的只讀數據路徑

  • /usr/local:Local hierarchy,讓系統管理員安裝本地應用程序;也通常用于安裝第三方程序

  • /var:/var Hierarchy,存儲常發生變化的數據的目錄

  • /proc:基于內存的虛擬文件系統,用于為內核及進程存儲其相關信息

  • /sys:sysfs虛擬文件系統提供了一種比proc更為理想的訪問內核數據的途徑;其主要作用在于為管理Linux設備提供一種統一模型的的接口

原創文章,作者:N24-Akatsuki,如若轉載,請注明出處:http://www.www58058.com/54518

(0)
N24-AkatsukiN24-Akatsuki
上一篇 2016-10-27
下一篇 2016-10-27

相關推薦

  • 8.9作業

    刪除/etc/grub2.conf文件中所有以空白開頭的行,行首的空白字符 [root@English6 ~]# sed "s@^[[:space:]]\+@@" /etc/grub.conf  # grub.conf generated by an…

    Linux干貨 2016-08-11
  • Net25-第13周作業

    1、建立samba共享,共享目錄為/data,要求:(描述完整的過程) 1)共享名為shared,工作組為magedu; 2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名; 3)添加samba用戶gentoo,centos和u…

    Linux干貨 2017-05-15
  • 阿里云修改hostname主機名的一點小技巧

    CentOS 7以后修改主機名一般使用: hostnamectl set-hostname newhostname 如果仍然無效,使用vim打開/etc/cloud/cloud.cfg,將 preserve_hostname=fale 改為 preserve_hostname=true 即可。 以上在阿里云ECS上親測有效,使用了網上查閱…

    Linux干貨 2017-01-09
  • Shell腳本編程(上)

        Shell腳本編程基礎 Shell 腳本基礎:包含一些命令或聲明并符合一定格式的文本文件Shell 腳本用途:        1. 自動化常用命令        2. 執行系統管理和故障排除        3. …

    2017-04-16
  • N21天天第十六周課程練習

    1、源碼編譯安裝LNMP架構環境; 一、安裝Nginx 1、解決依賴 [root@localhost ~]# yum groupinstall 開發工具 服務器平臺開發 -y 2、安裝 [root@localhost ~]# tar xf pcre-8.37.…

    Linux干貨 2016-12-14
  • 初探linux

    計算機的組成及其功能: 存儲器:    實現記憶功能的部件用來存放計算程序及參與運算的各種數據 運算器:    負責數據的算術運算和邏輯運算即數據的加工處理 控制器:    負責對程序規定的控制信息進行分析,控制并協調輸入,輸出操作或內存訪問 輸入設備:    實現計算程序和原始…

    Linux干貨 2016-10-29

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-11-02 16:38

    總結的不錯,希望能熟知Linux的哲學思想,熟知基礎命令知識,加油!

欧美性久久久久