Linux基礎入門

Linux基礎入門

1、Linux發行版及哲學思想

1.1 Linux發行版

         Linux發行版(Linux Distribution,也被叫做GUN/Linux發行版),為一般用戶預先集成好的Linux操作系統及各種應用軟件。Linux發行版通常包含了包括桌面環境、辦公包、媒體播放器、數據庫等應用軟件。這些操作系統通常由Linux內核、以及來自GUN計劃的大量的函數庫,和基于X Window的圖形界面。有些發行版考慮到容量大小而沒有預裝X Window,而使用更加輕量級的軟件。

       目前有超過300Linux發行版,大部分正處于活躍的開發中,不斷的改進。

                                              基于打包方式.jpg

    1.2 linux哲學思想

      1.2.1 一切皆文件

               把幾乎所有資源,包括硬件設備都組織為文件格式;

      1.2.2 由眾多單一目的小程序組成;一個程序只實現一個功能,而且要做好

               組合小程序完成復雜任務;

      1.2.3 盡量避免跟用戶交互

               目標:實現腳本編程,以自動完成某些功能;

      1.2.4 使用純文本文件保存配置信息

               目標:一款使用的文本編輯器即能完成系統配置工作;

2、Linux獲取命令幫助詳解

2.1 Linux命令的分類(Shell的內部命令和外部命令)

     Linux命令的執行必須依賴于Shell命令解釋器。Shell實際上是在Linux系統中運行的一種特殊程序,它位于操作系統內核與用戶之間,負責接受用戶輸入的命令并進行解釋,將需要執行的操作傳遞給系統內核執行,Shell在用戶和內核之間充當了一個“翻譯官”的角色。當用戶登陸到Linux系統時,會自動加載一個Shell程序,以便給用戶提供可以輸入命令的操作環境。

Bash是Linux系統中默認使用的Shell程序,文件位于/bin/bash。根據Linux命令與Shell程序的關系,一般分為以下兩種類型:

內部命令:指的是集成于Shell解釋器程序(如Bash)內部的一些特殊指令,也成為內建(Built-IN)指令。內部命令屬于Shell的一部分,所以并沒有單獨對應的系統文件,只要Shell解釋器被運行,內部指令也就自動載入內存了,用戶可以直接使用。內部命令無需從硬盤中重新讀取文件,因此執行效率更高。

外部命令:指的是Linux系統中能夠完成特定功能的腳本文件或二進制程序,每個外部命令對應了系統中的一個文件,是屬于Shell解釋器程序之外的命令,所以稱為外部命令。Linux系統必須知道外部命令對應的文件位置,才能夠由Shell加載并執行。

 

 

區別外部命令內部命令的方法:

1、使用 type 命令 。

$ type cd

cd is a shell builtin

$ type cat

cat is /bin/cat

2、使用whereis或者which

    2.2 內部命令獲取幫助

     # help  COMMAND

    2.3 外部命令獲取幫助

2.3.1 # COMMAND –help

2.3.2 使用手冊(manual)

                      # man COMMAND

2.3.3 信息頁

                      #info COMMAND

2.3.4 程序自身的幫助文檔

                      程序自身的幫助文檔一般位于/usr/share/doc/COMMAND-VERSION

2.3.5 程序官方文檔

2.3.6 發行版的官方文檔

                      以redhat為例,其發行版的官方文檔:http://www.redhat.com/docs

2.3.7 Google

3Linux常用的系統基礎命令

3.1目錄相關的命令

             cd: 切換目錄

~:用戶的主目錄

                     cd cd ~: 回當前用戶的主目錄

                     cd ~USERNAME: 切換至指定用戶的主目錄

                     cd -: 在上一個目錄和當前目錄之間來回切換

                     .

                     ..

                     相關的環境變量:

                            PWD:保存了當前目錄路徑;

                            OLDPWD:上一次所在目錄路徑;

             pwd: 顯示當前目錄

             ls: list顯示指定路徑下的文件列表;

                            ls [OPTION]… [DIR]…

                            -a, –all: 顯示所有文件,包括隱藏文件;

                            -l: 長格式

                                   -rw-r–r– 1 root root 44800 Aug 14 14:32 install.log

                                          -rw-r–r–:

                                                 最左側的第一位:文件類型

                                                        -, d, l, b, c, p, s

                                                 后面的9位:訪問權限,perm

                                          1:文件被硬鏈接的次數;

                                          root: 文件的owner

                                          root: 文件的group

                                          44800:文件的size

                                          Aug 14 14:32 : 文件的最近一次被修改的時間

                                          install.log 文件名

                            -h, –human-readable:單位換算

                            -d: 顯示目錄自身的相關屬性;通常要與-l一起使用;

                            -r, –reverse: 逆序顯示

                            -R, –recursive: 遞歸

              stat /PATH/TO/SOMEFILE:獲取指定文件的元數據

3.2文件查看命令:cat, tac

                            cat [OPTION]… [FILE]…

                            -E: 顯示行結束符$

                            -n: 對顯示出的每一行進行編號

3.3文件內容類型查看命令:file

                            file  /PATH/TO/SOMEWHERE

3.4系統管理類命令:

                   關機:

                     halt, poweroff, shutdown, init 0

              重啟:

                     reboot, shutdown, init 6

              跟用戶登錄相關:

                     who, whoami, w

3.5回顯命令:echo

                            -n: 禁止自動添加換行符號;

                     -e: 允許使用轉義符;

                            \n: 換行

                            \t: 制表符

                     echo "$VAR_NAME": 變量會替換,雙引號表弱引用

                     echo '$VAR_NAME': 變量不會替換,強引用

3.6 which:顯示命令對應的程序文件路徑

                            which [OPTION] COMMAND

                            –skip-alias:禁止顯示別名

                     whatis: whatis數據庫中搜索單詞

4、Linux 文件系統基礎

4.1 首相來了解下什么是文件系統

          計算機的文件系統是一種存儲和組織計算機數據的方法。從系統角度來啦嗎,文件系統對文件存儲設備的空間進行組織和分配,負責文件存儲并對存入的文件進行保護和檢索的系統。

        文件系統不僅包含著文件中的數據而且還有文件系統的結構,所有Linux用戶和程序看到的文件、目錄、軟連接及文件保護信息等都存儲在其中。

        不同Linux發行版之間的文件系統差別很少,主要表現在系統管理的特色工具以及軟件包管理方式的不同,文件目錄的基本結構都是一樣的。

 

文件系統有多種類型:

?   ext2 : 早期Linux中常用的文件系統。

?   ext3 : ext2的升級版,帶日志功能。

?   RAMFS : 內存文件系統,速度很快。

?   Iso9660 : 光盤或光盤鏡像。

?   NFS : 網絡文件系統,由SUN發明,主要用于遠程文件共享。

?   MS-DOS : MS-DOS文件系統。

?   FAT : Windows XP操作系統采用的文件系統。

?   NTFS : Windows NT/XP操作系統采用的文件系統。

4.2 Linux發行版的常見目錄

目錄

功能

/

根目錄,只能包含目錄,不能包含具體文件。

/bin

供所有用戶使用的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序

/sbin

管理類的基本命令,不能關聯之獨立分區,OS啟動即會用到的程序

/lib

基本共享庫文件,以及內核模塊文件(/lib/modules)

/lib64

專用于x86_64系統上的輔助共享文件存放位置

/etc

配置文件目錄(純文本文件)

/home/username

普通用戶家目錄

/root

管理員的家目錄

/media

便攜式移動設備掛載點(cdrom|usb)

/mnt

臨時文件系統掛載點

/dev

設備文件及特殊文件存儲位置(b: block device隨機訪問)(c:character   device線性訪問)

/opt

第三方應用程序的安裝位置

/srv

系統上運行的服務用到的數據

/tmp

臨時文件存儲位置

/usr

Universal shared, read-only data

/usr/bin

保證系統擁有完整功能而提供的應用程序

/usr/sbin

非必要的二進制標準系統文件

/usr/lib

用于編程和包的庫

/usr/lib64

/usr/include

C程序的頭文件(header files)

/usr/share

結構化獨立的數據,例如docman

/user/local

第三方應用程序的安裝位置

/var

Variable data files

/var/cache

應用程序緩存數據目錄

/var/lib

應用程序狀態信息數據

/var/local

專用于為/usr/local下的應用程序存儲可變數據

/var/lock

鎖文件

/var/log

日志目錄及文件

/var/opt

專用于為/opt下的應用程序存儲可變數據

/var/run

運行中的進程相關的數據;通常用于存儲進程的pid文件

/var/tmp

保存系統兩次重啟之間產生的臨時數據

/proc

用于輸出內核與進程信息相關的虛擬文件系統

/sys

用于輸出當前系統上硬件設備相關信息的虛擬文件系統

/selinux

Security enhanced linux,selinux相關的安全策列等信息存儲位置0

 

4.3 Linux應用程序的常見組成部分

?   二進制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin

?   庫文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64

?   配置文件:/etc, /etc/DIRECTORY, /usr/local/etc

?   幫助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc

4.4 Linux下的文件類型

?   – (f):普通文件;

?   d: 目錄文件;

?   b: 塊設備;

?   c: 字符設備;

?   l: 符號鏈接文件;

?   p: 管道文件;

?   s: 套接字文件;socket;

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

(1)
Daniel-WDaniel-W
上一篇 2016-02-28
下一篇 2016-02-28

相關推薦

  • grep,find用法-2

    1、顯示當前系統上root、fedora或user1用戶的默認shell; grep -E “^(root|fedora|user1)>” /etc/passwd | cut -d: -f1,7 [root@bogon Desktop]# grep -E “^(root|fedora|user1)\>” /etc/pass…

    Linux干貨 2017-08-04
  • 關于grub的一些實驗

    關于grub的一些實驗 手動引導進入系統 也就是寫 grub.conf文件 改grub界面圖片 1、進入/root/grub目錄發現里面有很多東西,查看grub.conf可以知 2、我們查看下圖片的格式 這是一個gzip壓縮的圖片文件 用vim可以查看開頭經查得知這是一個640*480的文件而且只支持14色 3、自定義圖片 先照一張圖片用工具改成這種想要的格…

    Linux干貨 2016-09-16
  • 利用heartbeat構建高可用http

    一、實驗準備:  1)實驗環境:          2)同步時間;確??梢允褂弥鳈C名通信;確??梢允褂胹sh秘鑰方式進行彼此登錄;由于是兩臺設備,需要仲裁;  確??梢允褂弥鳈C名通信 web1修改hosts文件如下: 172.16.2.12 web1.linux.com…

    Linux干貨 2015-07-08
  • linux的tty

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://jeffyyko.blog.51cto.com/28563/140012 最近做了一個小測試,得到了以下結論 測試linux發行版本:rhel AS4.0 環境:VMware 5.0 目的:修改 vi /etc/initt…

    Linux干貨 2015-03-26
  • 從shell眼中看世界–展開和引用

    這篇博客的目的在于加深對于展開和引用的理解,闡釋展開和引用之間聯系。 ‘ ‘ :強引用,其中的變量引用不會被替換為變量值,而保持原字符串       ” “:弱引用,其中的變量引用會被替換為變量值    如果之前對于’ …

    Linux干貨 2017-04-16

評論列表(2條)

  • stanley
    stanley 2016-02-28 12:06

    文章寫的不錯。仍有提升空間,可參考置頂推薦的文章

    • Daniel-W
      Daniel-W 2016-02-28 15:52

      @stanleythanks~

欧美性久久久久