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
下一篇 2016-09-27

相關推薦

  • 8.10作業

    1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。 echo  "your host is `hostname` " echo  "ip address is `ifconfig | sed -n…

    Linux干貨 2016-08-15
  • linux開機啟動流程

    linux開機啟動流程:   一、BIOS 加電自檢 當你按電源開關開機時,電腦會首先去啟動BIOS(基本輸入輸出系統),BIOS一般是集成在主板上的. BIOS 的工作 1.檢測連接硬件,比如顯卡,內存,磁盤等等,檢測的目的是以后把這些設備信息提供給操作系統 2.尋找啟動磁盤,每一種BIOS都會有開機啟動菜…

    Linux干貨 2016-09-19
  • Linux基礎知識(六)

    本問主要講述Linux的基礎知識,具體包一下內容: 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; cp /etc/rc.d/rc.sysinit /tmp sed "s/^[[:space:]]\?/#/g" /tmp/rc.sysini…

    Linux干貨 2016-10-30
  • Linux 基礎知識(六.二)

    1、復制/etc/rc.d/rc.sysinit至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加# [root@server01 tmp]# cp /etc/rc.d/rc.sysinit /tmp/ [root@server01 tmp]# sed -n "s@^[[:space:]]\+@#&@…

    Linux干貨 2016-11-14
  • RAID詳解

    1、什么是RAID RAID:獨立硬盤冗余陣列,舊稱廉價磁盤冗余陣列,簡稱磁盤陣列。其基本思想就是將多個相對便宜的硬盤結合起來,成為一個磁盤陣列,是性能達到甚至超過一個昂貴、容量巨大的硬盤,根據選擇的版本不同,RAID比單顆硬盤有以下一個或多個方面的好處:增強數據集成度,增強容錯功能,增加處理量或容量。目前應用較多的有RAID0,RAID1,RAID4,RA…

    Linux干貨 2017-01-03
  • linux基礎之lvm操作流程

    linux基礎之lvm基本操作流程    LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,它由Heinz Mauelshagen在Linux 2.4內核上實現,目前最新版本為:穩定版1.0.5,開發版 1.1.0-rc2,以及LVM2開發版。Linux用戶安裝L…

    2017-03-19
欧美性久久久久