linux基礎入門之一

一、計算機的組成與功能

計算機由硬件和軟件組成

  • 硬件: 
    按馮·洛伊曼體系劃分 
    1、CPU:包括運算器、控制器、寄存器、緩存,對數據控制和計算 
    2、存儲器:內部存儲器、外部存儲器,對數據提供存儲功能 
    3、輸入設備:具有下指令,提供數據輸入 
    4、輸出設備:輸出數據加工的結果

  • 軟件: 
    1、低級語言:匯編語言,匯編器;寫驅動. 
    2、高級語言: 
    系統級:C , C++ ,對性能要求較高的服務類程序 
    應用級:Java,Python,ruby, 應用程序


二、Linux發行版及聯系與區別

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

  • RedHat
    RedHat Enterprise Linux

    RHEL CentOS

    Fedora

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:唯一一個沒有商業公司運作,只有社區

    ubuntu mint

    knopix

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:

    S.u.S.E OpenSUSE SLES

Slackware與其他的發行版本(Red Hat、Debian、Gentoo、SuSE、 Mandriva、Ubuntu等)不同的道路,它力圖成為“UNIX風格”的Linux發行版本。只吸收穩定版本的應用程序,并且缺少其他linux版本中那些為發行版本定制的配置工具。在當今systemd大勢所趨的情況下,Slackware仍然堅持BSD啟動風格。 
SUSELinux原是以Slackware Linux為基礎,并提供完整德文使用界面的產品。1992年 Peter McDonald成立了Softlanding Linux System(SLS)這個發行版。這套發行版包含的軟件非常多,更首次收錄了X Window及TCP/IP等套件。Slackware就是一個基于SLS的發行版。 
SUSE于1992年末創辦,目的是成為UNIX技術公司,專門制為德國人推出量身訂作的SLS/Slackware軟件及 UNIX/Linux說明文件。1994年,他們首次推出了SLS/Slackware的安裝光碟,命名為S.u.S.E. Linux 1.0。其后它綜合了Florian La Roche的Jurix distribution(也是一個基于Slackware的發行版),于1996年推出一個完全自家打造的發行版 – S.u.S.E. Linux 4.2。其后SUSE Linux采用了不少Red Hat Linux的特質。


三、Linux的哲學思想

  • 一切皆文件

    表現之一:硬件設備也通過文件表示 
    例如:終端程序對應的系統文件 
    物理終端:/dev/console 
    虛擬終端:/dev/tty# [1,6] 
    串行終端:/dev/ttyS# 
    偽終端: /dev/pts/#

  • 功能單一

    由眾多功能單一的程序組成,一個程序只做一件事,組合小程序完成復雜任務,以保證Linux內核的高效運行。

  • 避免用戶與系統交互

    Linux開源,且管理權限強大,可自殺。易于以編程的方式實現自動化任務

  • 所有配置文件都是文本文件

    無論什么配置修改都只需修改其配置文件即可,配置文件時文本形式的只需任意一款文本編輯器修改即可。存儲空間存儲的一段流式數據,對數據可以做到按名存取

  • 以倒置樹形結構組織文件

    /:原始起點,代表根目錄


四、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

ehco #顯示文本

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

  示例:echo 'xx'

tty #顯示終端機連接標準輸入設備的文件名稱

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

  示例:tty

startx #可進入圖形操作界面

   示例:startx &

export #設置或顯示環境變量

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

  示例:export

pwd #顯示工作目錄

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

  示例:pwd

history #列出bash保存的所有歷史命令

   語法:history  [選項]

  示例:history  

shutdown #系統關機命令

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

  示例:shuntdown -r +5

poweroff #關機

   示例:poweroff

reboot #重啟

   示例:reboot    

hwclock #用來查詢和設置硬件時鐘

   示例:hwclock   

date #取一個特定時間的linux時間戳

   示例:date

五、如何在Linux系統上獲取命令的幫助信息,如何劃分man文檔的章節

獲取命令的幫助信息: 
內部命令: help COMMAND 
外部命令:

  • 命令自帶簡要格式的使用幫助 
    ~]# COMMAND –help/-h 

  • 使用手冊: 
    manual 
    位置:/usr/share/man 
    man [man1,man2,man3……….] 不同man下按類型放不同的命令 
    1 – commands 普通的命令 
    2 – system calls 系統調用,如open,write之類的 
    3 – library calls 庫函數,如printf,fread 
    4 – special files 特殊文件,也就是/dev下的各種設備文件 
    5 – file formats and convertions 指文件的格式,比如passwd, 就會說明這個文件中各個字段的含義 
    6 – games for linux 給游戲留的,由各個游戲自己定義 
    7 – macro packages and conventions 附件還有一些變量,比如向environ這種全局變量在這里就有說明 
    8 – system management commands 系統管理用的命令,這些命令只能由root使用 
    9 – 其他

某些命令在多個章節下都有 例如:man passwd ;這個是在man1中的 
man 5 passwd man5中也有。【頻中是這樣,但是我自己在centos7中測試man5中沒有,centos6中有】 
~]# whatis COMMAND 這個能查詢在哪些章節中有 

  • info COMMAND: 
    獲取命令的在線文檔; 

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

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

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

  • 搜索引擎: 
    google 
    ·keyword filetype:pdf 
    ·keyword site:domain.tld


六、Linux發行版的基礎目錄名稱命名法則及功用規定

獲取命令的幫助信息:

1、命名規則: 
(1)嚴格區分字符大小寫 
(2)目錄也是文件,在同一路徑下,兩個文件不能同名 
(3)支持使用除/以外的任意字符 
(4)最長不能超過255個字符 
(5)以 . 開頭的文件為隱藏文件 
. 當前目錄 
..當前目錄上一級

2、基礎目錄及功用:

/bin:所有用戶可用的基本命令程序文件 
/sbin:供系統管理使用的工具程序 
/boot:引導加載器必須用到的各種靜態文件:kernel,initramfs(initrd),grub等 
/dev:存儲特殊文件或設備文件 
/etc:系統程序的配置文件,只能為靜態的,不能為二進制 
/home:普通用戶的家目錄的集中位置,可獨立掛載分區 
/root:管理員的家目錄 
/lib:為系統啟動或根文件系統上的應用程序(/bin,/sbin等)提供共享庫,以及為內核提供內核模塊 
/lib64:64位系統特有的存放64位共享庫的路徑 
/media:便攜式設備掛載點,cdrom,floppy等 
/mnt:其他文件系統的臨時掛載點 
/opt:附加應用程序的安裝位置,可選路徑 
/srv:當前主機為服務提供的數據 
/tmp:為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄,可供所有用戶執行寫入操作,有特殊權限 
/usr:全局共享的只讀數據路徑

  • lib,lib64

  • include:c程序頭文件

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

  • local:另一個層級目錄

  • X11R6:x-window程序的安裝位置

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

/usr/local:讓系統管理員安裝本地應用程序,也通常用于安裝第三方程序 
/var:存儲常發生變化的數據的目錄 
/proc:基于內存的虛擬文件系統,用于為內核及進程存儲其相關信息,它們多為內核參數,例:net.ipv4.ip_forward,虛擬為net/ipv4/ip_forward,存儲于/proc/sys,因此其完整路徑為/proc/sys/net/ipv4/ip_forward 
/sys:sysfs虛擬文件系統提供了一種比proc更為理想的訪問內核數據的途徑,其主要作用在于為管理Linux設備提供一種統一模型的接口

原創文章,作者:Night's Watch,如若轉載,請注明出處:http://www.www58058.com/45787

(0)
Night's WatchNight's Watch
上一篇 2016-09-19 12:03
下一篇 2016-09-19 13:47

相關推薦

  • 馬哥教育網絡班20期+第四周博客作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@llww3317 ~]# cp -r /etc/skel /home [root@llww3317 ~]# mv /home/ske…

    Linux干貨 2016-07-05
  • http協議基礎(一)

    web服務:      Apache      Nginx      LVS      http協議 網站運維:      web站點      游戲網站web服務 高性能,高可用…

    Linux干貨 2017-04-18
  • RAID磁盤陣列

    什么是RAID?    RIAD(Redundant Array of Independent Disk,獨立冗余磁盤陣列)技術是加州大學伯克利分校1987年提出,最初是為了組合小的廉價磁盤來代替大的昂貴磁盤,同時希望磁盤失效時不會使對數據的訪問受損失而開發出一定水平的數據保護技術。RAID就是一種由多塊廉價磁盤構成的冗余陣列,在操作系統下是作為一個獨立的大…

    Linux干貨 2016-12-13
  • 計算機組成與Linux基礎

    一 計算機組成 馮諾依曼體系 計算機處理數據和指令一律用二進制表示 指令和數據不加混合存儲在同一存儲器中 順序執行程序每一條指令 計算機硬件由運算器、控制器、存儲器、輸入設備以及輸出設備組成 計算機組成部分 CPU:含有指令集,對程序進行運算和判斷并分為兩個主要單元分別為算術邏輯單元和控制單元。其中算術邏輯單元主要負責程序運算與判斷,控制單元負責協調組件與個…

    Linux干貨 2017-07-30
  • Nginx相關實戰案例

    Nginx相關實戰案例: Nginx在實際生產中極為重要,先來看一下Nginx配置文件nginx.conf中文詳解 #定義Nginx運行的用戶和用戶組 user www www; #nginx進程數,建議設置為等于CPU總核心數。 worker_processes 8; #全局錯誤日志定義類型,[ debug | info | notice | warn |…

    Linux干貨 2017-06-19
  • linux基礎(第二天)

    一、終端:ternimal     COMMAND:tty     串行終端:/dev/ttyS#      物理終端:/dev/console 鍵盤顯示器 單一用戶     虛擬終端:/d…

    Linux干貨 2016-07-26

評論列表(1條)

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

    寫的很好,排版也很漂亮,加油

欧美性久久久久