Jerry首作_linux基礎

一、計算機的組成及其功能

硬件

馮·洛伊曼體系

  1. 控制器(Control):是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等。

  2. 運算器(Datapath):運算器的功能是對數據進行各種算術運算和邏輯運算,即對數據進行加工處理。

  3. 存儲器(Memory):存儲器的功能是存儲程序、數據和各種信號、命令等信息,并在需要時提供這些信息。

  4. 輸入(Input system):輸入設備是計算機的重要組成部分,輸入設備與輸出設備合稱為外部設備,簡稱外設,輸入設備的作用是將程序、原始數據、文字、字符、控制命令或現場采集的數據等信息輸入到計算機。常見的輸入設備有鍵盤、鼠標器、光電輸入機、磁帶機、磁盤機、光盤機等。

  5. 輸出(Output system):輸出設備與輸入設備同樣是計算機的重要組成部分,它把外算機的中間結果或最后結果、機內的各種數據符號及文字或各種控制信號等信息輸出出來。微機常用的輸出設備有顯示終端CRT、打印機、激光印字機、繪圖儀及磁帶、光盤機等。

軟件

低級語言:

匯編語言,匯編器;寫驅動

高級語言:

系統級:C,C++,對性能要求較高的服務類程序 應用級:Java,Python,Ruby

二、Linux 發行版有數百種之多,主要分三個主流分支

RedHat Enterprise Linux

Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所謂的Redhat Advance Server,收費版本)、Fedora Core(由原來的Redhat桌面版本發展而來,免費版本)、CentOS(RHEL的社區 克隆版本,免費)。Redhat是在國內使用人群最多的Linux版本,甚至有人將Redhat等同于Linux。所以這個版本的特點就是使用人群數量大,資料非常多,言下之意就是如果你有什么不明白的地方,很容易找到人來問,而且網上的一般Linux教程都是以Redhat為例來講解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分發方式是編譯好的二進制文件。穩定性方面RHEL和CentOS的穩定性非常好,適合于服務器使用,但是Fedora Core的穩定性較差,最好只用于桌面應用。

CentOS 是一個基于Red Hat Linux 提供的可自由使用源代碼的企業級Linux發行版本。每個版本的 CentOS都會獲得十年的支持(通過安全更新方式)。新版本的 CentOS 大約每兩年發行一次,而每個版本的 CentOS 會定期(大概每六個月)更新一次,以便支持新的硬件。這樣,建立一個安全、低維護、穩定、高預測性、高重復性的 Linux 環境。CentOS是Community Enterprise Operating System的縮寫。CentOS 是RHEL(Red Hat Enterprise Linux)源代碼再編譯的產物,而且在RHEL的基礎上修正了不少已知的 Bug ,相對于其他 Linux 發行版,其穩定性值得信賴。

Debian:只有社區的發行版

Debian系列,包括Debian和Ubuntu等。Debian是社區類Linux的典范,是迄今為止最遵循GNU規范的Linux系統。Debian最早由Ian Murdock于1993年創建,分為三個版本分支(branch): stable, testing 和unstable。其中,unstable為最新的測試版本,其中包括最新的軟件包,但是也有相對較多的bug,適合桌面用戶。testing的版本都經過unstable中的測試,相對較為穩定,也支持了不少新技術(比如SMP等)。而stable一般只用于服務器,上面的軟件包大部分都比較過時,但是穩定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其實Redhat的YUM也是在模仿Debian的APT方式,但在二進制文件發行方式中,APT應該是最好的了。Debian的資料也很豐富,有很多支持的社區,有問題求教也有地方可去。Debian是包括Ubuntu在內許多發行版的上游,而Ubuntu又是Linux Mint及其他發行版的上游。Debian在服務器和桌面電腦領域都有著廣泛的應用。Debian是一個純開源計劃并著重在一個關鍵點上,穩定性。它同時也提供了最大的和完整的軟件倉庫給用戶。

Ubuntu是基于Debian的unstable版本加強而來,可以這么說,Ubuntu就是一個擁有Debian所有的優點,以及自己所加強的優點的近乎完美的 Linux桌面系統。根據選擇的桌面系統不同,有三個版本可供選擇,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的Xubuntu。特點是界面非常友好,容易上手,對硬件的支持非常全面,是最適合做桌面系統的Linux發行版本。

Slackware Linux

Slackware Linux是由Patrick Volkerding開發的GNU/Linux發行版。與很多其他的發行版不同,它堅持KISS(Keep It Simple Stupid)的原則。一開始,配置系統會有一些困難,但是更有經驗的用戶會喜歡這種方式的透明性和靈活性。 Slackware 很多特性體現出了KISS原則,最為有名的一些例子就是不依賴圖形界面的文本化系統配置、傳統的服務管理方式和不解決依賴的包管理方式。它的最大特點就是安裝靈活,目錄結構嚴謹,版本力求穩定而非追新。Slackware的軟件包都是通常的tgz(tar/gzip) 或者txz(xz) 格式文件再加上安裝腳本。Tgz/Txz 對于有經驗的用戶來說,比RPM更為靈活,并避免了APT 之類管理器可能帶來的的依賴地獄。

作為開源軟件,Slackware與商業版本的關系并不大,但與幾家提供付費支持的廠商一直保持的合作關系。作為最早的可用版本之一,Slackware Linux是由Patrick Volkerding開發的GNU/Linux發行版。與很多其他的發行版不同,它堅持KISS(Keep It Simple Stupid)的原則,就是說盡量不依賴配置系統的圖形界面工具。其安裝程序也是一些Dialog界面的shell腳本寫成,你可以在安裝的任何時候跳到任何安裝步驟,而且這些腳本在安裝之后也可以很方便的使用

Slackware與其他的發行版本(Red Hat、Debian、Gentoo、SuSE、 Mandriva、Ubuntu等)不同的道路,它力圖成為“UNIX風格”的Linux發行版本。只吸收穩定版本的應用程序,并且缺少其他linux版本中那些為發行版本定制的配置工具。在當今systemd大勢所趨的情況下,Slackware仍然堅持BSD啟動風格。

Slackware主要為x86 PC開發,從2005年起開始出現針對System/390架構的官方移植。同時ARM、DEC Alpha、SPARC和PowerPC也存在一些非官方的移植。Slackware官方維護著一個開發版本(Slackware Current),不斷有新的軟件被加入到這個源,用戶可以實現類似Archlinux的滾動升級,等到一個開發版本足夠穩定,便會發布一個穩定版。Slackware是支持x86、amd64(即x86_64)、ARM、Alpha、SPARC、PowerPC的一套GNU/Linux操作系統,其正式發布由PatrickVolkerding 負責。

Linux發行版匯總

Jerry首作_linux基礎

Linux各發行版的聯系與區別:

聯系:

  1. 各發行版本均采用Linux的內核(kernel);

  2. 各發行版本均遵守GPL版權協定;

  3. 各發行版本均遵循 Linux Standard Base (LSB)等標準來開發;

  4. 各發行版本均遵循FHS(File system Hierarchy Standard)標準規范;

區別:

  1. 不同的發行版采用的軟件包管理方式不同;最有名的是 debain 的 deb 包,redhat 的 rpm 包,slackware 等的 tgz 包。

  2. 發行初衷不同,導致特點也不同,見下圖:

Jerry首作_linux基礎

三、Linux的哲學思想

  1. 一切皆文件

  2. 由眾多的單一的程序完成一件比較復雜的工作,一個程序只做一件事,并且做好他。

  3. 盡量避免與用戶交互

  4. 使用文本文件保存配置信息

  5. 提供機制(可選的策略、是一種框架),而非策略,提供做大的靈活性。

四、Linux系統上常用命令的使用格式

命令的語法通用格式:

COMMAND OPTIONS ARGUMENTS

COMMAND說明

發起命令時將請求內核將某個二進制程序運行為一個進程,命令本身是一個可執行的程序文件,二進制格式的文件有可能會調用共享庫文件。[遵循ELF格式規范]

多數系統命令程序文件都存放在:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin,它們又分為普通命令和管理命令。

普通命令:存放在/bin,/usr/bin,/usr/local/bin

管理命令:存放在/sbin,/usr/sbin,/usr/local/sbin

用到的庫文件都存放在:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64,它們分為32位和64位的庫文件,32位使用于32位的操作系統,64位使用于64位的操作系統,64位兼容32位,而32不兼容64

32位庫:存放在/lib,/usr/lib,/usr/local/lib

64位庫:存放在/lib64,/usr/lib64,/usr/local/lib64

命令分為兩類:

由shell自帶的命令,叫作內嵌命令(builtin)

獨立的可執行程序文件,文件名即命令名,叫作外部命令

查看命令的內容的類型:

file命令:

例:~]# file /bin/ls

查看命令的類型:

type命令:

例:~]# type COMMAND

注意:并非所有的命令都有一個在某目錄與之對應的可執行程序文件

OPTIONS說明:

指定命令的運行特性,有兩種表現形式:

短選項:-C,例如 ls -l ,-d 注:有的命令選項沒有 – ,同一命令同時使用多個短選項可合并:ls -ld

長選項:–word,例如 ls –help,有時候選項也帶參數,例:du -h –max-depth=1 注:長選項不能合并

ARGUMENTS說明:

參數:命令的作用對象,命令對什么生效,例:ls /etc ,作用在/etc 。注:有些命令可以可同時帶多個參數,以空白分隔

常用命令示例:

ifconfig

作用:顯示和配置網絡信息

語法:ifconfig [網絡設備] [參數]

示例:ifconfig -a

echo

作用:顯示文本

語法:echo [-ne][字符串]或 echo [–help][–version]

示例:echo 'Hello World'

tty

作用:顯示終端機連接標準輸入設備的文件名稱

語法:tty [-s][–help][–version]

示例:tty

startx

作用:進入圖形操作界面

示例:startx &

export

作用:設置或顯示環境變量

語法:export [-fnp][變量名稱]=[變量設置值]

示例:

export JAVA_HOME = /home/myuser/jdk1.7.0_03
export PATH = $JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

pwd

作用:顯示當前工作目錄

語法:pwd[–help][–version]

示例:pwd

history

作用:列出bash保存的所有歷史命令

語法:history [選項]

示例1:history

示例2:使用HISTTIMEFORMAT環境變量在歷史中顯示TIMESTAMP

命令:
export HISTTIMEFORMAT='%F %T '

history

輸出如下:
642  2016-10-25 17:05:46 ll
643  2016-10-25 17:05:46 rm 333 
644  2016-10-25 17:05:46 ll /etc/fstab 
645  2016-10-25 17:05:51 history --help
646  2016-10-25 17:05:59 history -h
647  2016-10-25 17:06:14 man history
648  2016-10-25 17:07:53 history 
649  2016-10-25 17:07:57 export HISTTIMEFORMAT='%F %T '
650  2016-10-25 17:07:59 history

shutdown

作用:系統關機命令

語法:shutdown [-cfFhknr][-t 秒數][時間][警告信息]

示例:shuntdown -r +5

poweroff

作用:關機

語法:這個命令還說啥語法啊,生產環境上不要隨便執行這個命令,否則會被捆綁、滴蠟、爆菊啊~~~~~

示例:poweroff

reboot

作用:重啟

語法:運維常用作死命令之一,最好在頭腦清醒的前提下執行。

示例:reboot

hwclock

作用:用來查詢和設置硬件時鐘

語法:

 -r, --show        讀取并打印硬件時鐘(read hardware clock and print result )
 -s, --hctosys     將硬件時鐘同步到系統時鐘(set the system time from the hardware clock )
 -w, --systohc     將系統時鐘同步到硬件時鐘(set the hardware clock to the current system time )

示例:

[root@centos ~]# hwclock -r
2016年10月25日 星期二 17時32分28秒  -0.671802 seconds

date

作用:取一個特定時間的linux時間戳

語法:date [參數]… [+格式]

示例:

[root@centos ~]# date
2016年 10月 25日 星期二 17:33:17 CST

五、如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節時如何劃分的

獲取命令的使用幫助:

    內部命令:
        help COMMAND
    外部命令:
        (1) 命令自帶簡要格式的使用幫助
            # COMMAND –help
        (2) 使用手冊:manual
            位置:/usr/share/man
            # man COMMAND

先執行type COMMNAD 識別是內部命令還是外部命令

        (3) info COMMAND
            獲取命令的在線文檔;

        (4) 很多應用程序會自帶幫助文檔:/usr/share/doc/APP-VERSION
            README:程序的相關的信息;
            INSTALL: 安裝幫助;
            CHANGES:版本迭代時的改動信息;

        (5) 主流發行版官方文檔
            http://www.redhat.com/doc

        (6) 程序官方的文檔:
            官方站點上的“Document”

        (7) 搜索引擎
            google、baidu 

            keyword filetype:pdf   (輸入文章類型更有針對性)
            keyword site:domain.tld

man 文檔章節如何劃分

使用手冊:壓縮格式的文件,有章節之分; /usr/share/man man1, man2, …

                    1:用戶命令;  (普通用戶和管理員)
                    2:系統調用;
                    3:C庫調用;
                    4:設備文件及特殊文件;
                    5:文件格式;(配置文件格式)
                    6:游戲使用幫助;
                    7:雜項;
                    8:管理工具及守護進行;

請羅列Linux發行版的基礎目錄名稱命名法則及其功用規定

FHS:

FHS:全稱Filesystem Hierarchy Standard

/ 下面的各個目錄應該要放什么數據:

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

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

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

/dev:存儲特殊文件或設備文件;設備有兩種類型:字符設備(線性設備)例如:鍵盤、顯示器;塊設備(隨機設備)例如:硬盤、內存;

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

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

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

/lib:為系統啟動或根文件系統上的應用程序(/bin,/sbin等)提供共享庫,以及為內核提供的內核參數模塊; libc.so.:動態鏈接的C庫; ld:運行時鏈接器/加載器; modules:用于存儲內核模塊的目錄;

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

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

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

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

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

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

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

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

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

(0)
N24_JerryN24_Jerry
上一篇 2016-10-25 17:01
下一篇 2016-10-25 22:18

相關推薦

  • CA服務器的搭建以及證書簽署、dropbear的編譯安裝

    CA服務器的搭建以及證書簽署、dropbear的編譯安裝 一、CA Server和Client: 1、CA server:創建私鑰CA (1)   openssl的配置文件:/etc/pki/tls/openssl.conf   如果Client端的申請是來自不同的國家,則需要將下圖中紅色框內的三項,由“match”改為“opt…

    Linux干貨 2016-09-23
  • 馬哥教育網絡班21期+第7周課程練習

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;(2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; [root@itop ~]# fdisk /dev/sda&nbsp…

    Linux干貨 2016-08-30
  • gdisk用法

    gdisk用法   gdisk  – Interactive GUID partition table (GPT) manipulator GPT  fdisk (aka gdisk) is a text–mode menu–driven program for creation and ma…

    Linux干貨 2017-04-24
  • N25-第四周作業

    1、復制/etc/skel目錄為/home/tuse1,要求/home/tuse1及其內部文件的屬組和其它用戶均沒有任何訪問權限。   cp -r /etc/skel /home/tuser1;chmod go= /home/tuse1 2、編輯/etc/group文件,添加組hadoop    vi /et…

    Linux干貨 2016-12-27
  • 文件查找find與壓縮

    1.locate:   locate是查詢系統上預建的文件索引數據庫    /var/lib/mlocate/mlocate.db   依賴于事先構建的索引   索引的構建是在系統較為空閑時自動進行(周期性任務),管理 員手動更新數據庫(updatedb)    缺點:索引構建過…

    Linux干貨 2016-08-18
  • DNS配置

     DNS配置 基本的配置準備 1.安裝bind 2.開啟named服務 一、正向解析庫 1、修改/etc/named.conf配置文件 vim /etc/named.conf 修改如下行 listen-on port 53 { 10.1.44.2; } allow-query     { any; } recursion no;…

    Linux干貨 2016-10-09

評論列表(2條)

  • N24_澀味
    N24_澀味 2016-10-26 14:47

    很棒,贊一個~

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

    加入了一些自己的理解,不錯,希望可以熟知這些基礎知識,加油,加油!

欧美性久久久久