1. 程式人生 > >Linux自學筆記——計算機基礎以及命令幫助的獲取

Linux自學筆記——計算機基礎以及命令幫助的獲取

linux man


計算機基礎知識:

計算機的主要組成部分:

運算器、控制器、存儲器、輸入設備、輸出設備

CPU:運算器,控制器

bus:總線

memory: 編址存儲設備

IO:與外部部件交互

程序的運行模式:

用戶空間:user space,us

內核空間:system space

POS:Portable OperationSystem

POSIX

API:編程接口;

運行程序格式:

Windows:EXE,dll(dynamic link library)

Linux

:ELF,so(shared object)

程序:指令+數據

指令:只讀

數據:讀寫

程序:算法+數據結構

庫調用,系統調用:允許被調用的程序;

Malloc():申請內存空間;

Free():釋放內存空間;

編程語言:

匯編語言:微碼編程

系統中某些與硬件相關的特有代碼、驅動程序開發;

高級語言C, C++:

系統級應用、驅動程序

高級應用java, python, php:

應用程序

Linux的發行版:

Slackware

Suse

Opensuse

Debian

Ubutu

Mint

Redhat

Rhel:Redhat enterprise linux 每十八個月發行一個新版本;

Centos:兼容rhel的格式

Fedora:每六個月發行一個新版本;

Archlinux

Gentoo

LFS:linux from scratch

Android:kernel+busybox+java虛擬機

程序包管理器:

Rpm

Rhel,Fedora,suse,centos

Dpt

Debian,ubuntu

Linux哲學思想:

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

2、由眾多單一目的小程序組成;一個程序只實現一個功能,而且要做好;組合小程序完成復雜任務;

3、盡量避免跟用戶交互;目標:實現腳本編程,以自動完成某些功能;

4、使用純文本文件保存配置信息;目標:一款使用的文本編程器即能完成系統配置工作;

如何獲取CentOS的發行版:

http://mirrors.aliyun.com

http://mirrors.sohu.com

http://mirrors.163.com

終端:

用戶與主機交互,必然用到的設備;

物理終端:直接接入本機的顯示器和鍵盤設備:/dev/console

技術分享

虛擬終端:附加在物理終端之上的以軟件方式虛擬實現的終端,centos6默認啟動6個虛擬終端

Ctrl+Alt+F#: [1,6]

圖形終端:附加在物理終端之上的以軟件方式虛擬實現的終端,但額外會提供桌面環境;

設備文件路徑;/dev/tty#

模擬終端:

圖形界面下打開的命令行接口,基於ssh協議或telnet協議等遠程打開的界面

設備文件:/dev/pts/# [0,oo )

技術分享

查看當前終端設備:tty

技術分享

交互式接口:啟動終端後,在終端設備附加一個交互式應用程序

GUI

X protocol,Windows manager,desktop

Desktop

GNOME(C,gtk)

KDE(c++,qt)

XFCE(輕量級桌面)

CLI

shell程序:

sh (bourn)

csh

tcsh

ksh (korn)

bash (bourn again shell), GPL

zsh

顯示當前使用的shell:

技術分享

顯示當前系統使用的所有shell:

技術分享

命令提示符:prompt

[[email protected] ~]# [[email protected] ~]$

管理員:#

普通用戶:$

命令::

輸入命令,回車;

提請shell程序找到鍵入命令所對應的可執行程序或代碼,並由其分析後提交給內核分配資源將其運行起來

在shell中可執行的命令有兩種;

內建命令:由shell自帶的,而且通過某命令形式提供;

外部命令:在當前系統的某文件系統路徑下有對應的可執行程序文件;

which,whereis

技術分享

區別內部和外部命令:

#type COMMAND

技術分享

運行命令:

命令格式:

COMMAND [OPTIONS...] [ARGUMENTS...]

選項:用於啟用或關閉命令的某個或某些功能;

短選項:-c,例如:-l, -h

多個短選項可命令使用,例如-l -h, 可寫作-lh;

長選項:--word,例如:--long, --human-readable 一般不能合並

參數:命令的作用對象

向明留給你提供數據;

Note:1、多選項,以及多參數和命令之間都應該使用空白字符分隔

2、取消命令執行:Ctrl+c

文件系統:

Windows:C:\Programfiles\office11\word\word.exe

Linux:/etc/sysconfig/network-scripts/ifcfg-eth0

文件有兩類數據:

元數據:metadata

數據:data

1. 文件名嚴格區分字符大小寫:file1,File1,兩個是不同的文件;

2. 文件名可使用除/以外的任意字符,不建議使用特殊字符;

/:根目錄,路徑分隔符;

3. 文件名長度最長不能超過255個字符;

4. 所有.開頭的文件,均為隱藏文件;

路徑:

絕對路徑:從根目錄起使的路徑;

相對路徑:對當前的位置起始的路徑;

當前位置的表示方式:

1)./: ./sysconfig/network-scripts

2)省略上述符號:sysconfig/network-scripts

..:表示當前目錄的上一級目錄

當前目錄:current directory, 也稱作working directory;

可以用pwd命令顯示當前工作目錄:

技術分享

Linux命令幫助的獲取

內部命令:

#help COMMAND

技術分享

外部命令:

1) #COMMAND --help

#COMMAND –h

2) 使用手冊(manual)

#man COMMAND

3) 信息頁

#info COMMAND

4) 程序自身的幫助文檔

README

INSTALL

ChangeLog

5) 程序官方文檔

官方站點:Documentation

6) 發行版的官方文檔

7) Google

內部命令的幫助:

#helpCOMMAND

hash命令:

shell搜尋到的外部命令的路徑結果會緩存至kv(key-value)存儲中;

history命令:

管理命令歷史:

登錄shell時,會讀取命令歷史文件中記錄下的命令:~/.bash_history

技術分享

登錄shell後新執行的命令只會記錄在緩存中;這些命令會在用戶退出時,追加至命令歷史文件中;

history

-a:追加本次會話新執行的命令歷史列表至歷史文件中;

技術分享

-d:刪除歷史中指定的命令;

技術分享

-c:清空命令歷史;

技術分享

快捷操作:

!#:調用歷史中第#條命令;

!string:調用歷史中最近一次以string開頭的命令;

!!:調用上一次命令

技術分享

外部命令幫助獲取:

man COMMAND

手冊頁:/usr/share/man

技術分享

man1 …man8

man1:用戶命令;

man2:系統調用;

man3:c庫調用;

man4:設備文件及特殊文件;

man5:配置文件格式;

man6:遊戲;

man7:雜項;

man8:管理類的命令;

Note:有些關鍵在不止一個章節中存在幫助手冊;

要查看指定章節中的手冊:man # COMMAND

man命令的配置文件:/etc/man.config

MANPATH/PATH/TO/SOMEWHERE:指明新的手冊文件搜索位置;

技術分享

到指定位置下搜索COMMAND命令的手冊頁並顯示之:

#man –M /PATH/TO/SOMEWHERE COMMAND

幫助手冊中的段落說明:

NAME:名稱

SYNOPSIS:概要

DESCRIPTION:描述

OPTIONS:選項

EXAMPLES:示例

AUTHOR:作者

REPORTING BUGS:漏洞報告

SEE ALSO:參考

SYNOPSIS

[]:可選內容

<>:必選內容

a|b:二選一

:同一內容可出現多次

man命令的操作方法;

Space, ^V, ^f, ^F: 向文件尾翻屏;

b, ^B: 向文件首部翻屏;

d, ^D: 向文件尾部翻半屏;

u,^U: 向文件首部翻半屏;

RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行;

yor ^Y or ^P or k or ^K:向文件首部翻一行;

q: 退出;

#:跳轉至第#行;

1G:回到文件首部;

G:翻至文件尾部

文本搜索:

/keyword

以keyword指定的字符串為關鍵字,從當前位置向文件尾部搜索:不區分大小寫;

n:下一個;

N:上一個

?keyword:

以KEYWORD指定的字符串為關鍵字,從當前位置向文件首部搜索;不區分字符大小寫;

n:下一個;

N:上一個


Linux自學筆記——計算機基礎以及命令幫助的獲取