第一周博客作業-N31-初識Linux

本篇文章主要圍繞計算機的組成及其功能以及Linux的基礎命令、目錄等進行相關闡述

1、計算機的組成及其功能

計算機,通俗簡易的來說,稱為電腦,在大多數人眼中,電腦的功能是辦公,休閑、娛樂。而有那么一群人不僅僅滿足于使用它們,更深入的去研究它們,從而衍生了一類人,IT工作者。

計算機,其組成主要由硬件(hardware)和軟件(software)兩部分組成。其中,硬件主要由CPU(運算器和控制器)、存儲器、輸入設備(Input)、輸出設備(Output)幾大部分組成,軟件則由內核(Kernel)和應用(Application)兩大部分組成。

  1. CPU用于接收外來指令并解析。
  2. 存儲器用于存儲各類信息。
  3. 輸入設備,顧名思義,輸入信息的設備,如鍵盤。
  4. 輸出設備,顧名思義,輸出信息的設備,如顯示器。
  5. 內核,由于CPU只能處理二進制信息,故有一群大牛研發出一套工具將人們通過輸入設備輸入的信息自動轉換成CPU可以解讀的二進制數據。
  6. 應用,最終人們可以用來處理事務的軟件。

2、Linux的發行版

Linux主要有三大主流發行版:Debian、Slackware、RedHat,而其中Debian之后又衍生出兩個主流版本Ubuntu、Knopix,Slackware衍生出S.u.S.E后又衍生出OpenSUSE,RedHat則衍生出Fedora、CentOS兩個主流版本,除此之外還有Gentoo、Archlinux等等上百種LInux的發行版,而這些發行版之間有聯系卻也有不同之處。以下盜了兩站圖對以上內容進行闡述。

linux發行版圖集linux發行版之間的聯系和區別

3、Linux的哲學思想

每件事物都可以上升到一個哲學境界,Linux自然也有它的哲學思想。

1、一切皆文件,把幾乎所有資源統統抽象為文件形式;包括硬件設備,甚至通信接口等;其實這樣相當于把復雜的事情簡單化,更易于操作,漏洞更少。

2、由眾多功能單一的程序組成;一個程序只做一件事,并且做好;組合小程序完成復雜任務;這個道理就和做事情一樣,將一件事情分成若干個步驟來完成,這樣每個步驟都能相對簡單輕松,出錯更少,更好的完成,直到最后完成整件事情。磨刀不誤砍柴工,就是這么個道理。

3、盡量避免跟用戶交互;目標:易于以編程的方式實現自動化任務;用戶就是上帝,很多的用戶業務能力很強,但是計算機專業能力卻很差,如果不能將復雜的代碼轉換成簡潔易懂的程序,那么這個產品就是失敗的。

4、使用文本文件保存配置信息;說實話,我不知道這個算啥哲學思想,合理的利用資源達到最好的效果,嗯,大概是這么個意思。

4、Linux系統命令

命令的通用格式為 # COMMAND OPTION ARGUMENTS(以下內容為摘抄)

COMMAND:
發起一命令:請求內核將某個二進制程序運行為一個進程;
程序 –> 進程
靜態 –> 動態(有生命周期)

命令本身是一個可執行的程序文件:二進制格式的文件,有可能會調用共享庫文件;
多數系統程序文件都存放在:/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
32bits的庫:/lib, /usr/lib, /usr/local/lib
64bits的庫:/lib64, /usr/lib64, /usr/local/lib64

注意:并非所有的命令都有一個在某目錄與之對應的可執行程序文件

命令必須遵循特定格式規范:exe, msi, ELF(Linux)
~]# file /bin/ls

命令分為兩類:
由shell程序的自帶的命令:內置命令(builtin)
獨立的可執行程序文件,文件名即命令名:外部命令

shell程序是獨特的程序,負責解析用戶提供的命令;
環境變量:
PATH:從哪些路徑中查找用戶鍵入的命令字符串所對應的命令文件;
~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

查找次序:自左而右;

查看命令類型:
type COMMAND

OPTIONS:
指定命令的運行特性;

選項有兩種表現形式:
短選項:-C, 例如-l, -d
注意:有些命令的選項沒有-;
如果同一命令同時使用多個短選項,多數可合并:-l -d = -ld
長選項:–word, 例如–help, –human-readable
注意:長選項不能合并;

注意:有些選項可以帶參數,此稱為選項參數;

ARGUMENTS:
命令的作用對象;命令對什么生效;

注意:不同的命令的參數;有些命令可同時帶多個參數,多個之間以空白字符分隔;

例如:ls -ld /var /etc(摘抄完畢)

下面將詳解闡述本人對一些命令的理解

  • ? ? ifconfig

此命令為必記(不得不記、想忘也忘不掉)命令,查詢配置當前計算機的網絡配置。

ifconfig

如上圖所示,該計算機網絡地址(IPADDR)為192.169.10.20,子網掩碼(NETMASK)為255.255.255.0。

  • ? ? echo

回顯命令,顯示輸入內容的結果,如輸入“echo $SHELL”返回的為/bin/bash,輸入“echo? “hello everyone” ”,實例如下圖所示。

echo

 

  • ? ? tty

顯示連接標準輸入的終端的文件名,如在SecureCRT上輸入“tty”,得到的結果為“/dev/pts/2”,在虛擬機上輸入“tty”,得到的結果為“/dev/pts/1”,實例如下圖所示。

tty1tty2

  • startx

初始化一個X會話

  • export

所提供的名稱被標記為自動導出到隨后執行的命令的環境中。

  • pwd(print working derictory)

顯示工作目錄

  • history

可查詢當前用戶下使用過的命令歷史

bash的基礎特性之一:

命令歷史:shell進程會其會話中保存此前用戶提交執行過的命令;
~]# history
定制history的功能,可通過環境變量實現:
HISTSIZE:shell進程可保留的命令歷史的條數;
HISTFILE:持久保存命令歷史的文件;
.bash_history
HISTFILESIZE:命令歷史文件的大??;

命令用法:
history [-c] [-d 偏移量] [n]
或 history -anrw [文件名]
或 history -ps 參數 [參數…]

-c: 清空命令歷史;
-d offset:刪除指定命令歷史
-r: 從文件讀取命令歷史至歷史列表中;
-w:把歷史列表中的命令追加至歷史文件中;
history #:顯示最近的#條命令;

調用命令歷史列表中的命令:
!#:再一次執行歷史列表中的第#條命令;
!!:再一次執行上一條命令;
!STRING:再一次執行命令歷史列表中最近一個以STRING開頭的命令;

注意:命令的重復執行有時候需要依賴于冪等性;

調用上一條命令的最后一個參數:
快捷鍵:ESC, .
字符串:!$

控制命令歷史記錄的方式:
環境變量:HISTCONTROL
ignoredups:忽略重復的命令;
ignorespace:忽略以空白字符開頭的命令;
ignoreboth:以上兩者同時生效;

修改變量的值:
NAME=’VALUE’

  • shutdown

關機操作,可結合相關參數進行定時關機,關機通知等操作

  • poweroff

關機操作,可結合相關參數進行定時關機,關機通知等操作

  • reboot

重啟功能,可結合相關參數進行定時重啟,重啟通知等操作

  • hwclock

hwclock, clock:硬件時鐘
顯示或設定硬件時鐘
-s, –hctosys:以硬件為準,把系統調整為與硬件時間相同;
-w, –systohc:以系統為準,把硬件時間調整為與系統時鐘相同;

  • date

date:系統時鐘
顯示日期時間:date [OPTION]… [+FORMAT]
FORMAT:格式符
%F
%T
%Y
%m
%d
%H
%M
%S
%s: 從1970年1月1號(unix元年)0點0分0秒到命令執行那一刻經過的秒數;

設定日期時間:date [MMDDhhmm[[CC]YY][.ss]]

 

5、如何在Linux系統上獲取命令的幫助信息

獲取命令的使用幫助:
內部命令:
help COMMAND
外部命令:
(1) 命令自帶簡要格式的使用幫助
# COMMAND –help
(2) 使用手冊:manual
位置:/usr/share/man
# man COMMAND

SECTION:
NAME:功能性說明
SYNOPSIS:語法格式
DESCRIPTION:描述
OPTIONS:選項
EXAMPLES:使用示例
AUTHOR: 作者
BUGS: 報告程序bug的方式
SEE ALSO: 參考

SYNOPSIS:
[]:可選內容;
<>:必須提供的內容;
a|b|c:多選一;
…:同類內容可出現多個;

使用手冊:壓縮格式的文件,有章節之分;
/usr/share/man
man1, man2, …

1:用戶命令;
2:系統調用;
3:C庫調用;
4:設備文件及特殊文件;
5:文件格式;(配置文件格式)
6:游戲使用幫助;
7:雜項;
8:管理工具及守護進行;

~]# man CHAPTER COMMAND

注意:并非每個COMMAND在所有章節下都有手冊;
查看:
~]# whatis COMMAND

注意:其執行過程是查詢數據庫進行的;
手動更新數據庫:
~]# makewhatis

man命令打開手冊以后的操作方法:
翻屏:
空格鍵:向文件尾翻一屏;
b: 向文件首部翻一屏;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
回車鍵:向文件尾部翻一行;
k: 向文件首部翻一行;
G:跳轉至最后一行;
#G: 跳轉至指定行;
1G:跳轉至文件首部;

文本搜索:
/keyword:從文件首部向文件尾部依次查找;不區分字符大小寫;
?keyword:從文件尾部向文件首部依次查找;
n: 與查找命令方向相同;
N: 與查找命令方向相反;

退出:
q: quit

選項:
-M /PATH/TO/SOMEDIR:到指定目錄下查找命令手冊并打開之;

練習:獲取useradd命令的用法
(1) 添加用戶gentoo;
# useradd gentoo
# id gentoo
(2) 添加用戶slackware,要求指定其所用的shell為/bin/tcsh;
# useradd -s /bin/tcsh slackware
# tail -1 /etc/passwd

(3) info COMMAND
獲取命令的在線文檔;

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

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

(6) 程序官方的文檔:
官方站點上的“Document”

(7) 搜索引擎
google

keyword filetype:pdf
keyword site:domain.tld

書籍的出版社:
O’Reiley
Wrox
機械工業、電子工業、人郵、清華大學、水利水電

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

Linux文件系統:

Linux:glibc

程序編譯方式:
動態鏈接
靜態編譯

進程的類型:
終端:硬件設備,關聯一個用戶接口

與終端相關:通過終端啟動
與終端無關:操作引導啟動過程當中自動啟動

操作系統的組成:
靜態:kernel, application

文件系統:層級結構

FHS:
Filesystem Hierarchy Standard
/bin:所有用戶可用的基本命令程序文件;
/sbin:供系統管理使用的工具程序;
/boot:引導加載器必須用到的各靜態文件:kernel, initramfs(initrd), grub等;
/dev:存儲特殊文件或設備文件;
設備有兩種類型:字符設備(線性設備)、塊設備(隨機設備);
/etc:系統程序的配置文件,只能為靜態;
/home:普通的家目錄的集中位置;一般每個普通用戶的家目錄默認為此目錄下與用戶名同名的子目錄,/home/USERNAME;
/root:管理員的家目錄;可選;
/lib:為系統啟動或根文件系統上的應用程序(/bin, /sbin等)提供共享庫,以及為內核提供內核模塊
libc.so.*:動態鏈接的C庫;
ld*:運行時鏈接器/加載器;
modules:用于存儲內核模塊的目錄;
/lib64:64位系統特有的存放64位共享庫的路徑;
/media:便攜式設備掛載點,cdrom, floppy等;
/mnt:其它文件系統的臨時掛載點;
/opt:附加應用程序的安裝位置;可選路徑;
/srv:當前主機為服務提供的數據;
/tmp:為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄;可供所用戶執行寫入操作;有特殊權限;
/usr:usr Hierarchy,全局共享的只讀數據路徑;
bin, sbin
lib, lib64
include:C程序頭文件;
share:命令手冊頁和自帶文檔等架構特有的文件的存儲位置
local:另一個層級目錄;
X11R6:X-Window程序的安裝位置
src:程序源碼文件的存儲位置
/usr/local:Local hierarchy,讓系統管理員安裝本地應用程序;也通常用于安裝第三方程序;
/var:/var Hierarchy,存儲常發生變化的數據的目錄;
cache Application cache data
lib Variable state information
local Variable data for /usr/local
lock Lock files
log Log files and directories
opt Variable data for /opt
run Data relevant to running processes
spool Application spool data
tmp Temporary files preserved between system reboots

/proc:基于內存的虛擬文件系統,用于為內核及進程存儲其相關信息;它們多為內核參數,例如net.ipv4.ip_forward, 虛擬為net/ipv4/ip_forward, 存儲于/proc/sys/, 因此其完整路徑為/proc/sys/net/ipv4/ip_forward;
/sys:sysfs虛擬文件系統提供了一種比proc更為理想的訪問內核數據的途徑;其主要作用在于為管理Linux設備提供一種統一模型的的接口;

參考:https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/

Linux系統上的文件類型:
-:常規文件;即f;
d: directory,目錄文件;
b: block device,塊設備文件,支持以“block”為單位進行隨機訪問
c:character device,字符設備文件,支持以“character”為單位進行線性訪問
major number:主設備號,用于標識設備類型,進而確定要加載的驅動程序
minor number:次設備號,用于標識同一類型中的不同的設備;
8位二進制:0-255
l:symbolic link,符號鏈接文件;
p: pipe,命名管道;
s: socket,套接字文件;

 

以上基礎知識由于時間關系全部摘抄于馬哥筆記,有時間會再次整理

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/102670

(2)
孫
上一篇 2018-07-11
下一篇 2018-07-12

相關推薦

  • 第二周筆記

    ### 4 月2日筆記 – #### IO重定向“`I:input指的是標準輸入 描述符用0表示O:output指的是標準輸入 描述符用1表示標準錯誤 描述符用2表示“`一般文件或者命令的標準輸入是指的鍵盤,標準輸出是值得終端窗口。我們用重定向來改變他們的方向大于號> 表示標準輸出:把輸出內容定向到一個文件中&#82…

    Linux筆記 2018-04-01
  • 計算機組成及其功能

    計算機主要有兩個組成,硬件和軟件; 硬件主要分為主機和外部設備; 主機: 主板:主板是電腦中各個部件工作的一個平臺,它把電腦的各個部件緊密連接在一起,各個部件通過主板進行數據傳輸。也就是說,電腦中重要的“交通樞紐”都在主板上,它工作的穩定性影響著整機工作的穩定性。 CPU:CPU即中央處理器,是一臺計算機的運算核心和控制核心。其功能主要是解釋計算機指令以及處…

    Linux筆記 2018-05-10
  • Linux-文本工具

    文件查看 文件查看命令: cat,tac,rev cat [OPTION]… [FILE]… -E: 顯示行結束符$ -n: 對顯示出的每一行進行編號 -A:顯示所有控制符 -b:非空行編號 -s:壓縮連續的空行成一行 tac???? 行號反轉 rev???? 同行反轉   抽取文本的工具 文件內容:less和 cat 文件…

    2018-04-08
  • 網絡模型與linux資源管理工具

    osi七層網絡模型
    TCP/iP五層網絡模型
    htop
    vmstat
    dstat
    ip命令
    ss命令

    2018-07-24
  • 隨堂筆記1

    記馬哥Linux運維課程第一周知識點(持續更新中) CPU 中央處理單元ROM 只讀 不可變 只能使用,不能修改RAM 易失性 運行內存 處理的數據皆為0、1 內部轉換為二進制 obase=2 output ibase=2 input 輔助存儲器 硬盤 倉庫 主存儲器 車間 處理數據 機架式Rack服務器 1U=1.75英寸=44.45mm C/S結構 cl…

    Linux筆記 2018-07-22

評論列表(3條)

  • 忽然之間
    忽然之間 2018-07-13 15:41

    很好很詳細,還通俗易懂,繼續加油哦

  • 馬哥教育
    馬哥教育 2018-09-19 09:21

    總結的還是比較詳細的,需要注意的是第1個題:計算機的組成部分按5部分來描述。繼續加油。

欧美性久久久久