第一周博客作業-Linux發行版歷史、哲學思想、FHS、命令格式、幫助等

All + All –

第一周作業

  • 1.計算機組成及功能

    • 計算機組成

      • 硬件

        • 馮諾依曼體系
        • CPU

          • 運算器

            • 對數據做算暖蘇運算和邏輯運算
          • 控制器
          • 寄存器等
          • 程序的運行,是CPU通過調用硬盤中的程序至內存中執行來實現的
        • 存儲器

          • 內存

            • ROM
            • RAM
          • 外存

            • 硬盤
            • 光盤
        • 輸入設備

          • 鼠標、麥克風等
          • 實現指令和參數的輸入
        • 輸出設備

          • 顯示器、打印機等
          • 實現結果數據的輸出
      • 軟件

        • 內核

          • 驅動底層硬件、監控調度資源互不干擾的工作
        • 應用程序

          • 二進制程序文件
          • 配置文件
          • 庫文件
          • 幫助文件

    2.Linux主流發行版

    • Debian

      • kali
      • knopix
      • Ubuntu
      • 純生態,輕巧,無商業化,黑客經常使用,使用門檻高
    • SlackWare

      • S.U.S.E

        • 界面華麗,在歐洲有廣泛的使用基礎
    • RedHat

      • Fedora
      • 企業版

        • RHEL:商業版
        • CentOS:社區免費版
        • 使用最廣泛
    • Gentoo

      • 需要邊安裝邊編譯,因此程序效率高,難度也高,適合骨灰級玩家
    • ArchLinux

      • 安裝需要專業的技術水平


    3.Linux的哲學思想

    • 軟件界的共產主義==開源
    • 1.一切皆文件(文件、目錄、字符設備、塊設備、通訊接口、套接字、管道等),有利于對資源使用統一的API接口(原子操作:read,write)。文件采用層級結構。
    • 2.簡單就是高效。讓每一個程序只做好一件事,然后眾多的小程序組成一個大的功能整體。各司其職,模塊組合。類似人類社會的專業大分工。
    • 3.盡量避免與用戶交互

      • 目標:高效、智能。方式:用編程手段實現無人干預的自動化,這是高效的前提,類似機器人流水作業。
    • 4.使用文本文件保持配置信息

    4.Linux系統上的命令使用格式


    • COMMAND [OPTIONS] ARGUMENTS

      • 命令

        • 請求內核把程序運行為進程

          • 程序是靜態的,保存在硬盤中
          • 進程是動態的,運行在內存中,一切動態都有生命周期,就像人生老病死

          命令可能調用共享庫

          命令有內外之分。

          • 內部命令–shell自帶命令
          • 外部命令–shell外的獨立可執行程序,依賴于環境變量
      • 選項

        • 命令的運行特性

          • 短選項:-
          • 長選項:–
          • 選項有時也有選項參數
      • 參數

        • 命令的作用對象

    • 常用命令的使用格式及示例

      • 1.常用命令

        • ifconfig

          • 命令功能:顯示和配置網卡接口

            命令使用格式:

            ifconfig [-v] [-a] [-s] [interface]

            ifconfig [-v] interface [aftype] options | address …

            命令示例:

            [root@localhost ~]# ifconfig -a

            顯示當前可用的所有接口(包括down的)

        • echo

          • 命令功能:回顯。shell內置命令

            命令使用格式:echo [SHORT-OPTION]… [STRING]…

            命令示例:

            [root@localhost ~]# echo “hello”

            hello

            回顯字符串hello

        • tty

          • 命令功能:查看當前虛擬終端

            命令使用格式: tty [OPTION]…

            命令示例:

            [root@localhost ~]# tty

            /dev/pts/0

            列出當前虛擬終端為0

        • startx

          • 命令功能:啟動xwindow
          • 命令使用格式:startx [ [ client ] options … ] [ — [ server ] [ display ] options … ]
        • export

          • 命令功能:設置或顯示環境變量。shell內置命令

            命令使用格式:export [-fn] [名稱[=值] …]

            命令示例:

            [root@localhost ~]# export

            列出當前環境變量信息

        • pwd

          • 命令功能:列出當前工作目錄(全路徑)。shell內置命令

            命令使用格式:pwd [OPTION]…

            命令示例:

            [root@localhost ~]# pwd

            /root

            列出當前工作目錄為/root

        • history

          • 命令功能:列出歷史命令。shell內置命令
          • 命令使用格式:history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 參數 [參數…]
        • shutdown

          • 命令功能:關機

            命令使用格式:shutdown [OPTIONS…] [TIME] [WALL…]

            poweroff:執行關機并關閉電源。poweroff=shutdown -P

            halt:執行關機,但不關閉電源。halt=shutdown -h

            reboot:過程和halt類似,只不過其實現的是重啟功能。reboot=shutdown -r

        • hwclock

          • 命令功能:顯示硬件時鐘

            命令使用格式:hwclock [function] [option…]

            命令示例:

            [root@localhost ~]# hwclock -s

            以硬件時鐘為準,同步系統時鐘。

        • date

          • 命令功能:顯示系統時鐘

            命令使用格式:date [OPTION]… [+FORMAT]

            命令示例:

            [root@localhost ~]# date +%F%T

            2017-07-0207:32:34

            顯示當前時間為2017年7月2日7點32分34秒

    5.Linux系統幫助

    • Linux命令的幫助路徑


      • 內部命令

        • help COMMAND

          • 示例:help export
      • 外部命令


        • 1.命令自帶的簡要幫助

          • ~]# COMMAND –help

            • 示例:~]# fdisk –help

        • 2.最常用的幫助是man

          • ~]# man COMMAND

        • 3.命令的在線幫助

          • ~]# info COMMAND

            • 示例:~]# info fdisk

        • 4.程序自帶的幫助文檔

          • 文檔路徑:/usr/share/doc/APP-VERSION

            • README

              • 程序的相關信息
            • INSTALL

              • 程序的安裝幫助
            • CHANGELOG

              • 版本迭代時的改進信息
        • 5.對應發行版的官方網站

          • 以centos為例,官網:https://www.centos.org

            • 官方手冊:https://www.centos.org/docs
            • wiki系統:https://wiki.centos.org

              • 如HOWTOs
            • maillist
        • 6.google搜索
        • 7.其他有用信息

          • 適用開發者:http://www.ibm.com/developerworks/cn/linux/

    • man文檔章節分類的含義

      • 默認情況下,絕大多數的手冊在/usr/share/man目錄下
      • man文件是均以.gz結尾的壓縮文件,常見的有8個章節

        • man1

          • 表示用戶命令
        • man2

          • 表示系統調用
        • man3

          • 庫函數調用
        • man4

          • /dev下的特殊文件(設備等)
        • man5

          • 文件的格式說明(如配置文件中的各字段含義說明)
        • man6

          • 游戲專用
        • man7

          • 雜項
        • man8

          • 系統管理命令(只有root可以使用)
      • 命令使用格式:~]# man CHAPTER COMMAND

        • 示例:~]# man 3 sort

          • 查看sort命令是如何調用C庫的

          并非每個COMMAND在所有章節下都有手冊。

          可通過~]# whatis COMMAND查詢命令的幫助位置

    6.Linux發行版的基礎目錄名稱命名規則、功能規定

    • Linux發行版的基礎目錄,遵循Filesystem Hierarchy Standard文件系統層級結構標準

      FHS

      • /bin

        • 所有用戶可用的基本二進制程序文件

        /boot

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

        /dev

        • 設備文件

        /etc

        • 程序的配置文件,它必須為靜態的非二進制文件
        • /opt
        • /X11
        • /sgml
        • /xml

        /lib

        • 系統啟動和根文件系統命令(為/bin和/sbin下的程序提供的)需要的共享庫文件
        • libc.so.*

          • 動態鏈接C庫(可選)
        • ld*

          • 運行時鏈接器/加載器(可選)
        • /modules

          • 用于存儲內核模塊的目錄

        /media

        • 便攜式設備掛載點,如光驅、軟盤

        /mnt

        • 文件系統的臨時掛載點

        /opt

        • 附加應用程序的安裝位置(可選)

        /sbin

        • 供系統管理員使用的二進制程序文件

        /srv

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

        /tmp

        • 臨時文件目錄

        /usr

        • /之外的第二個重要的層級目錄(二級),存放可共享的只讀數據,可在不同的系統間提供共享,只是目前很少這樣做。
        • /bin
        • /sbin
        • /lib
        • /lib64
        • /include

          • C程序頭文件
        • /share

          • 命令手冊頁和命令自帶文檔等架構特有的文件
        • /local

          • 另一個層級目錄(三級),用于本地應用程序或第三方程序使用

            /bin

            /sbin

            /lib

            /lib64

            /etc

            /include

        • /X11R6

          • X-Window程序
        • src

          • 程序源碼文件

        /var

        • 存放變量數據文件(如后臺打印文件和目錄、管理和日志數據、臨時文件)
        • /cache

          • 變量緩存
        • /lib

          • 變量狀態數據
        • /local
        • /lock
        • /log

          • 日志
        • /opt
        • /run
        • /spool
        • /tmp

        /home

        • 普通用戶的家目錄(可選)

        /root

        • 管理員的家目錄(可選)

        /lib64

        • 64位系統特有的基礎共享庫

        /proc

        • 基于內存(關機就沒了)的虛擬文件系統。用于為內核及進程存儲相關信息:它們多為內核參數,例如net.ipv4.ip_forward,虛擬為net/ipv4/ip_forward,存儲在/proc/sys/下,因此其完整路徑為/proc/sys/net/ipv4/ip_forward

        /sys

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

            在Linux2.6內核以后,才有sys這個目錄。

        調優主要是通過/proc和/sys這2個目錄來實現的。     

原創文章,作者:N27_悟空,如若轉載,請注明出處:http://www.www58058.com/79270

(0)
N27_悟空N27_悟空
上一篇 2017-07-02
下一篇 2017-07-02

相關推薦

  • 教你如何在Fedora,CentOS,RHEL中檢查RPM包的依賴性

    我們都知道,在基于紅帽的Linux系統中,一個RPM包,需要把先將它依賴的其他包安裝好才能正常的工作。對于終端用戶,RPM的安裝、更新、刪除中存在的依賴關系已經被工具透明化了(如 yum或 DNF等)。但如果你是系統管理員或者RPM包的管理員,你需要諳熟RPM包的依賴關系,以便及時更新、刪除適當的包來保證系統的正常運行。 在本教程中,我將教大家如何檢查RPM…

    Linux干貨 2015-02-10
  • 10月18日作業–hash,history

    1 生產環境發現一臺服務器系統時間產生偏差,造成服務異常,請幫忙校正。 1、使用ntpdate對時間進行同步,然后hwclock -w;并再建立Crontab每小時進行一次時間同步。 2 生產有一個數據同步腳本需要執行很長時間,怎樣做到無人值守,在管理工具退出的情況下,腳本依然能正常運行。 1、載光盤 2、進入/mnt/Packages 安裝共享screen…

    Linux干貨 2016-10-19
  • linux文件基本權限講解

    linux文件基本權限講解 Linux系統是一種典型的多用戶系統,不同的用戶處于不同的地位,擁有不同的權限。為了保護系統的安全性,Linux系統對不同的用戶訪問同一文件(包括目錄文件)的權限做了不同的規定。 Linux系統中一切都是文件,文件和目錄的所屬與權限——來分別規定所有者、所有組、其余人的讀,寫,執行權限。 在Linux中我們可以使用ll或者ls –…

    Linux干貨 2016-09-05
  • 關于until循環在shell腳本中的實際應用

    Until循環在shell腳本中的實際應用 1、每隔3秒鐘到系統上獲取已經登錄的用戶的信息;如果發現用戶hacker登錄,則將登錄時間和主機記錄于日志/var/log/login.log中,并提示該用戶退出系統 2、隨機生成10以內的數字,實現猜字游戲,提示比較大或小,相等則退出 3、編寫腳本,求100以內所有正整數之和 4、編寫腳本,通過ping命令探測1…

    Linux干貨 2016-08-18
  • 程序包管理:rpm、yum以及(make)源代碼編譯安裝

    程序包管理:rpm、yum以及(make)源代碼編譯安裝 在Linux上安裝程序一般都有三種方法:源代碼編譯安裝,rpm包安裝和rpm包的前端安裝yum, (rpm,和yum程序包管理器是針對CentOS6平臺的) 程序包管理方式都大同小異:  源代碼–>目標二進制格式(二進制程序、庫文件、配置文件、幫助文件)–&gt…

    Linux干貨 2017-01-10
  • 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
欧美性久久久久