7.22_Linux入門和幫助文件的使用

Linux系統登錄的兩種方式


GUI:圖形界面 Graphic User Interface


默認在Linux下面有三種可用的圖形界面程序可選,分別爲

1.gnome(c,圖形庫gtk)

2.kde(c++,圖形庫qt)

3.xface(輕量級桌面)

每一種圖形界面下面開發的軟件並不兼容,因爲它們開發時候所用的開發語言也各不相同


啓動方式:cli模式下面輸入 startx 或者 init 5


CLI:命令行界面 Command Line Interface


Linux的CLI模式下默認的命令解析器是Shell


Shell是Linux系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。它接收用戶輸入的命令並把它送入內核去執行。

 

Shell是一種高級程序設計語言


Linux下面有多種可用的Shell語言可選擇,包括

1.sh    bourne 

2.csh   c語言版本

3.tcsh  c語言加強版

4.ksh   商業版本,如AIX

5.bash  bourne again shell ,linux默認SH

6.zsh   等等

也可以輸入命令 cat /etc/shells 查看系統系統裏面的所有shell

可通過輸入 echo $SHELL 來查看當前系統的默認shell

其中nologin給系統一些不需要登陸的程序用的


GUI和ClI命令行可以自由切換,不同系統版本之間的不同


通過物理按鍵切換

ctrl+alt+F1-6 字符, F7 圖形界面,centos5

ctrl+alt+F1   圖形,F2-F7字符  , centos6 7


可以通過命令輸入進行切換

chvt x (x=1-7)


注意,通過startx和init 5來啓動的圖形界面方式是有所有不同的

startx啓動的圖行界面,當通過ctrl + F1切換到界面時候,可以看到界面裏面有很多命令輸入的信息,而再通過按ctrl + F7的時候纔會正確顯示圖形界面,可以判斷爲這種方式啓動的圖形界面並不是直接啓動圖形界面的

init 5啓動的圖形界面,按ctrl + F1的時候,能正常切換到圖形界面,可以判斷爲這種方式是直接啓動圖形界面,而不依靠其他程序。

不過在大家學習的過程中,建議大家還是使用CLI命令模式吧,shell用默認的bash即可。

CentOS在安裝桌面之後,將圖形界面設置爲默認模式,給PC內存帶來較大壓力,所以希望修改系統的默認啓動模式爲命令號界面,而不啓動圖形界面。方法如下:


CentOS6的方法

1.以 root用戶登錄系統;或者 用su切換到超級用戶模式;

 2.修改/etc/inittab 文件:

         vim /etc/inittab

    將最後一句:

        id:5:initdefault:

     修改爲:

        id:3:initdefault:

     保存退出,重啓系統即可。

wKioL1eV8c_A6f20AAB2GjgQmDY367.png

CentOS7的方法

在CLI下面輸入

wKiom1eV8buzs3feAAAJpDqAuNw693.png


系統登錄界面

Linux登錄的用戶分爲兩種

  1. root用戶,超級管理員,提示符是# ,如[root@localhost~]#

  2. 普通用戶,權限有限制,提示符是$ ,如[w@localhost ~]$


[root@localhost~]這個稱爲PS1,靠環境變量定義

用戶的PS1命令提示符是有格式的,輸入 echo $PS1可以查看現在用戶的命令提示符格式

wKiom1eV61HDTY9VAAAJhrvLE3M912.png

例如 \u 表示用戶

     \h 表示主機名

     \W 表示當前位置

還有其他參數,暫時就不一一詳說


系統登陸歡迎界面


當我們進入系統看見的歡迎登陸界面,如下圖

wKiom1eV9X-Cks8yAAAFnV9WXuE062.png


該文件在 /etc/issue 裏面,而且CentOS6和CentOS7也有點不一樣


這是CentOS 6

wKiom1eV9mbxclWuAAANCMggV0Q437.png

這是CentOS 7

wKiom1eV9meRKJbgAAAKaqGnQC0170.png


這裏裏面可以看到,文檔裏面的數據跟我們看到的數據不一致,是因爲文檔裏面的是參數,這些參數又調用了其他地方的參數,所以我們看起來就不一樣了


還有的是我們可以cat /etc/redhat-release的文檔也同樣可以查看到系統的信息

wKioL1eV9-OiSCAhAAAQHGg20_I299.png


還有注意一點的就是,這個登陸提示信息嚴禁welcome之類字眼,以免被黑以後打官司對自己不利的事


SHELL的命令類型


SHELL的命令分爲兩種


內部命令:

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

enable命令可以啓用或禁用內部命令

wKiom1eV-omQqWQAAAAIUlBf_MU006.png


外部命令:

在當前系統的某文件系統路徑下有對應的可執

wKiom1eV-onRwxxNAAAJhzPG_HY277.png


系統裏面執行的命令是有對應路徑的,系統通過變量PATH可以知道外部命令的路徑

wKioL1eV_q7TwZx1AAAMlAG10ts063.png


命令還有命令別名,如下圖

wKiom1eV_yWCsxRbAAA4IYOomDc920.png


別名可以通過alias COMMAND ='COMMAND -參數'之類格式實現


不需要別擰,也可以通過 unalias COMMAND 來刪除別名


而且別名的優先級都是最高的


可以通過如\ls、‘ls’、/usr/bin/ls 等方法取消使用已定義的別名


別名的命令都是存儲在內存裏面,開機自動加載到內存裏面


這些命令的優先級爲


別名命令>內部命令>緩存命令>外部命令


其他相關命令:

type COMMAND:查看命令的類型

which COMMAND:查看命令文件位置

hash 已經加載到內存的外部命令

whereis COMMAND:查看文件路徑及其幫助文件等路徑     


命令的區別:


內部命令,系統開機自動加載,不表示爲單獨文件


外部命令,表示爲一個單獨文件,可以用ls的命令查看到相應文件


命令的格式

    

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

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

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

長選項:--word,例如:--all, --human-readable

參數:命令的作用對象,比如文件名,用戶名等

注意:

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

2、取消和結束命令執行:Ctrl+c,Ctrl+d

3、多個命令可以用;符號分開

4、一個命令可以用\分成多行


一般的寫命令的順序是 命令 +選項 +參數,其他順序可能會有問題


中斷命令的方法,ctrl+c


命令補全


命令+ '\' 表示換行寫命令,不過使用的時候注意不要漏了空格之類


可以用:號隔開同時輸入多個命令,如 ls:cd:who


命令補全


內部命令:

外部命令:bash根據PATH環境變量定義的路徑,自左而右在每個路徑搜尋以給定命令名命名的文件,第一次找到的命令即爲要執行的命令

用戶給定的字符串只有一條惟一對應的命令,直接補全

否則,再次Tab會給出列表

路徑補全

把用戶給出的字符串當做路徑開頭,並在其指定上級目錄下搜索以指定的字符串開頭的文件名

如果惟一:則直接補全

否則:再次Tab給出列表


centos7系統上面支持長選項的命令補全,6或者以前版本都不可以,這個主要是由於bash版本的問題


幫助文件的使用方法


幫助文件的獲取途徑

whatis 

command --help

man and info

本地幫助文檔/usr/share/doc

官網在線文檔

其他網站和搜索


內部命令查找幫助的方法:

#help COMMAND

#man bash


外部命令查找幫助的方法:

(1) # COMMAND --help

# COMMAND -h

(2) 使用手冊(manual)

# man COMMAND

(3) 信息頁

# info COMMAND

(4) 程序自身的幫助文檔

README

INSTALL

ChangeLog

(5) 程序官方文檔

官方站點:Documentation

(6) 發行版的官方文檔

(7) Google


whatis命令:


whatis幫助文檔,要系統安裝以後過一段時間才能完全安裝,如果一定需要用的話,可使用命令makewhatis命令


whatis = man -f


man命令:

    提供命令幫助的文件

    手冊頁存放在/usr/share/man

    幾乎每個命令都有man的“頁面”

    man頁面分組爲不同的“章節”

    統稱爲Linux手冊

    man [章節] 命令

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

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

    # man -M/PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手冊頁並顯示


man命令有9個章節,其中重點關注1、4、5、8章節

    1: 用戶命令

    4: 設備文件及特殊文件

    5: 配置文件格式

    8: 管理類的命令


bash的快捷鍵

    Ctrl+l 清屏,相當於clear命令

    Ctrl+c取消命令的執行

    Ctrl-a 會移動到命令行的最前面

    Ctrl-e 會移動到命令行的最後面

    Ctrl-u 會刪除到行首

    Ctrl-k 會刪除到行尾

    arrow ctrl-b ctrl-f會向左或向右移動一個字符

    Esc-b左移一個單詞

    Esc-f右移一個單詞


其他中重要命令整理:

date 顯示當前系統時間

date MMDDhhmm[cc]YY.ss 

date[+FORMAT]

    %Y:四位年份

    %y:兩位年份

    %m:月

    %M:分鐘

    %d:日

    %h:英文簡寫的月

    %H:時

    %S:秒

    %s:現在距離1970年1月1號0點0分(unix元年)的秒數,timestamp(時間戳)

    %D:月/日/年

    %F:年-月-日

    %T:時:分:秒


clock,hwclock

  -s:以硬件時鐘爲準 --hctosys

  -w:以軟件時鐘爲準 --systohc

Linux有兩個時鐘

硬件時鐘:

軟件時鐘:開機時讀取硬件時鐘


cal 顯示日曆


echo命令:

    -n 不在字符的最後自動換行

    -e 若字符串中出現以下字符,則特別加以處理,而不會將它當成一般文字輸出:


""中間                只是變量引用

''最傻的強引用,字符竄引用

``最聰明的         命令引用


history命令:查看命令歷史

    -d 數字 刪除第數字條記錄

    -c 清空history列表

    -a:追加當前回話的命令到歷史列表中去

    -n:讀取所有在回話列表中的 但是不在當前回話列表中


history靈活用法:

!數字:執行history中第數字條的命令

!!:上一條命令

!-數字:表示執行命令列表中的倒數第數字條命令

!$:執行上個命令中的最後一個參數:ESC,.

!string:執行命令列表中的最近一次以string開頭的命令


命令歷史相關的環境變量

HISTSIZE:歷史命令中可以保存的個數

HISTFILE: 歷史命令保存的文件

HISTFILESIZE:歷史文件中可以保存的命令個數

HISTCONTROL:控制命令歷史的生成機制

ignoredups:忽略記錄重複的命令,連續的相同命令

ignorespace:以空格開頭的命令不會被記錄

ignoreboth:同時具有上面兩種特性


screen命令:一個遠程的同步命令

打開新的screen:

screen –S [SESSION]

加入會話:

screen –x [SESSION]

退出並關閉screen:

exit

剝離當前screen:

Ctrl+a,d

顯示所有已經打開的screen:

screen -ls

恢復某screen

screen -r [SESSION]


建議在生產環境中遠程備份數據的時候,用screen命令進行,以防止網絡抖動時候造成的網絡中斷

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章