Linux基礎

計算機組成和功能

按照Von Neumann的理解 [1],計算機分為以下幾部分:

    輸入 (Input Device, 用于提供給計算機待處理的數據)

        e.g. 鍵盤,…

    CPU (Central Processing Unit, 用于處理輸入數據)

        控制單元 (Control Unit, IR+PC, 存放當前系統狀態)

        運算邏輯單元 (Arithmetic/Logic Unit, 算數)

    記憶 (存1和0的)

        e.g. 硬盤,RAM, …

    輸出 (輸出系統狀態或運算結果等)

        顯示器,紙帶, …

 

實際上的計算機需要其他輔助硬件組件,如供電模塊,主板等。具體可參見Wikipedia [2]

 

[1] Von Neumann architecture, https://en.wikipedia.org/wiki/Von_Neumann_architecture

[2] Computer hardware, https://en.wikipedia.org/wiki/Computer_hardware

Linux發行版

debian

    Knoppix

        便攜式OS, 提供較廣的硬件支持

    ubuntu (African word, "humanity to others", 更好的語言支持)

        Mint 更注重用戶體驗,提供多媒體解碼支持,等

Gentoo

    有叫 Portage 的軟件包管理系統

slackware (Goal: 方便使用,穩定)

    openSUSE (Software und System-Entwicklung, 提供更好的開發者體驗)

    Arch

        pacman 軟件包管理系統

        ABS, arch build system

Fedora

    RHEL

    CentOS (免費版,國內用得多

 

各發行版詳細信息: http://distrowatch.com/

Linux發行版大圖: https://en.wikipedia.org/wiki/Linux_distribution

Linux哲學思想并描述

  • 一切皆文件

    IO設備有對應文件,RAM有對應文件,就連進程都有對應文件(夾)。一切皆文件意味著OS運行更透明,定制更靈活

  • 由眾多功能單一程序組成

    高復用性

    減少重復開發

  • 盡量避免與用戶交互(自動化)

    程序設計時避免用戶交互,以后需要交互可再加。但若是開始就搞成需要用戶交互,之后想自動化往往會變得很丑陋

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

    方便用簡單腳本讀寫

    高可讀性

Linux系統上命令的使用格式, 常用指令

使用格式:

    [path]command [parameters]

        e.g. /bin/ls -l

    [path]為命令所在路徑名,若command在$PATH (echo "$PATH") 中可省略

ifconfig

    查看本機網絡接口信息(ip, MAC, etc)

[root@CentOS68 1]# ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:0C:29:71:B3:79 
              inet addr:192.168.153.128  Bcast:192.168.153.255  Mask:255.255.255.0
              inet6 addr: fe80::20c:29ff:fe71:b379/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:52659 errors:0 dropped:0 overruns:0 frame:0
              TX packets:101141 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:11545520 (11.0 MiB)  TX bytes:9622411 (9.1 MiB)
     
    lo        Link encap:Local Loopback 
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:10 errors:0 dropped:0 overruns:0 frame:0
              TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:512 (512.0 b)  TX bytes:512 (512.0 b)

echo

    輸出參數到標準輸出

[root@CentOS68 1]# echo "PATH=$PATH"
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

tty

    輸出當前terminal

[root@CentOS68 1]# tty
/dev/pts/0

startx

    打開圖形界面

    [root@CentOS68 1]# startx & 就不試了

export

    管理環境變量

[root@CentOS68 1]# export some_var=123
[root@CentOS68 1]# export -p | grep some_var #-p 顯示所有
declare -x some_var="123"
[root@CentOS68 1]# export -n some_var #-n 刪除
[root@CentOS68 1]# export -p | grep some_var
[root@CentOS68 1]#

pwd

    顯示當前路徑

[root@CentOS68 ~]# pwd
/root
[root@CentOS68 ~]# cd ..
[root@CentOS68 /]# pwd
/

history

    管理最近運行過的指令歷史

[root@CentOS68 /]# history
    1  help history
    2  history
[root@CentOS68 /]# history -d 1 #刪除第一條歷史記錄
[root@CentOS68 /]# history
    1  history
    2  history -d 1
    3  history
[root@CentOS68 /]# history -c #清空加載的歷史記錄
[root@CentOS68 /]# history
    1  history

shutdown

    關機 重啟等

[root@CentOS68 /]# shutdown -r 5 'System will shut down after 5min'& #五分鐘后重啟機器
[1] 4600
[root@CentOS68 /]#
Broadcast message from root@CentOS68
        (/dev/pts/0) at 10:33 ...
 
The system is going down for reboot in 5 minutes!
System will shut down after 5min
 
[root@CentOS68 /]# shutdown -c
shutdown: Shutdown cancelled
[1]+  Done                    shutdown -r 5 'System will shut down after 5min'
[root@CentOS68 /]# shutdown -r 5 'System will shut down after 5min'&
[1] 4605
[root@CentOS68 /]#
Broadcast message from root@CentOS68
        (/dev/pts/0) at 10:34 ...
 
The system is going down for reboot in 5 minutes!
System will shut down after 5min
 
[root@CentOS68 /]# shutdown -c 'no way' #取消
shutdown: Shutdown cancelled
[1]+  Done                    shutdown -r 5 'System will shut down after 5min'
[root@CentOS68 /]#
Broadcast message from root@CentOS68
        (/dev/pts/0) at 10:34 ...
 
no way
[root@CentOS68 /]#

poweroff / reboot

    關機/重啟

hwclock 管理硬件時鐘
date 管理系統時鐘
[root@CentOS68 /]# date
Sun Sep 25 10:40:22 PDT 2016
[root@CentOS68 /]# date 09260940 #改系統時間
Mon Sep 26 09:40:00 PDT 2016
[root@CentOS68 /]# hwclock #不影響硬件時鐘
Sun 25 Sep 2016 10:42:35 AM PDT  -0.173872 seconds
[root@CentOS68 /]# hwclock -s #設置系統時間為硬件時鐘
[root@CentOS68 /]# date #變回來了
Sun Sep 25 10:42:47 PDT 2016
[root@CentOS68 /]# hwclock --set --date="9/22/16 09:00:00" #改硬件時鐘
[root@CentOS68 /]# hwclock #硬件時鐘變了
Thu 22 Sep 2016 09:00:05 AM PDT  -0.094523 seconds
[root@CentOS68 /]# date #不影響系統時間
Sun Sep 25 10:44:49 PDT 2016
[root@CentOS68 /]# hwclock -w #設置硬件時鐘為系統時間
[root@CentOS68 /]# hwclock #變回來了
Sun 25 Sep 2016 10:44:59 AM PDT  -0.266375 seconds

Linux幫助信息

內置命令: help <command>

外部命令:

    <command> –help

    man <command>

        文檔儲存在/usr/share/man

        壓縮格式的文件,有章節之分

        /usr/shared/man/man1, man2, …

            1: 用戶命令 (ls

            2: 系統調用 (open, read

            3: C庫調用 (exec

            4: 設備文件及特殊文件 (mouse, console

            5: 文件格式 (/etc/crontab

            6: 游戲使用幫助

            7: 雜項 (ISO…

            8: 管理工具 (arp

    info <command>

    在線文檔

    /usr/share/doc/command-version/

    有時存有些許文檔

Linux發行版基礎目錄命名法和功能規定

/
├── bin #一般命令
├── boot #開機相關
├── dev #設備
├── etc #配置
├── home #一般用戶home folder
├── lib #庫
├── lib64 #64位庫
├── media #掛載的移動存儲
├── mnt #其他掛載點
├── opt #Optional軟件
├── proc #系統進程相關 基于內存的文件系統
├── root #root用戶home folder
├── sbin #系統命令
├── srv #服務數據
├── sys #設備相關 基于內存的文件系統
├── tmp #臨時文件
├── usr #全局共享只讀文件
│   ├── local #一般用于安裝本地第三方文件
└── var #可變文件
    ├── log #日志
    ├── www #本地靜態頁面

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

(0)
b_stickb_stick
上一篇 2016-09-27 16:55
下一篇 2016-09-27 20:30

相關推薦

  • 程序包管理

    什么是程序包管理器?     顧名思義,就是將編譯好的應用程序的各組成文件打包成一個或多個程序包文件,從而更方便地實現程序包的安裝、升級、卸載還有查詢等管理操作。 那么一個程序包又由哪些部分組成呢? 程序包的組成清單:   文件清單(每個程序包都單獨實現):       安裝或卸載時運行的腳本,有如下四類:     preinstall : 安裝過程開始之前…

    Linux干貨 2016-12-16
  • RAID簡述和Linux軟RAID配置

    RAID簡述和Linux軟RAID配置 PS:僅為課程練習,原理和配置可能有誤,僅供參考,謝謝; 1.RAID功能簡述     RAID,全稱(Redundant Arrays of Inexpensive Disk或Redundant Arrays of Independent Disk),現在一般多用于后面那個稱呼,獨立磁盤冗余陣列。RAID的基礎概念大…

    Linux干貨 2016-07-17
  • rpm軟件包管理

    一:二進制應用程序組成部分 二進制文件(which command)、庫文件(ldd `which command`)、配置文件(.conf)、幫助文件(.README)等 二:rpm包文件的組成 rpm文件、rpm元數據(如名稱、依賴性關系等)、安裝或卸載時運行的腳本 三:rpm包數據庫: 1.組成部分(通過 ls /var/lib/rpm 來查…

    2017-08-13
  • linux初步

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 文件管理命令 文件管理有哪些命令:ls, cd, pwd, mkdir, rmdir, cp, rm, mv, touch, cat, more, less, head, tail等,下面我們就來詳細的說一下(只說常用的,不是命令全部) (1). ls 命令 1 2 3 4 5 6…

    Linux干貨 2017-01-22
  • MySQL常見備份與恢復方案

    MySQL常見備份方案有以下三種:        mysqldump + binlog        lvm + binlog          xtrabac…

    Linux干貨 2015-10-01
  • 常見RAID介紹

    RAID簡介 獨立硬盤冗余陣列(RAID, Redundant Array of Independent Disks),舊稱廉價磁盤冗余陣列(Redundant Array of Inexpensive Disks),簡稱磁盤陣列。主要目的是把多塊硬盤組合起來提高數據處理能力、容錯功能等 根據實現方式分為硬件和軟件兩種  硬件RAID:通過RAID…

    2016-04-12
欧美性久久久久