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中第數字條的命令

?。。荷弦粭l命令

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

!$:執行上個命令中的最后一個參數: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命令進行,以防止網絡抖動時候造成的網絡中斷

原創文章,作者:~微風~,如若轉載,請注明出處:http://www.www58058.com/28240

(0)
~微風~~微風~
上一篇 2016-08-04
下一篇 2016-08-04

相關推薦

  • 文本處理sed的使用

    語法:sed【option】、、、‘script’ inputfile、、、 選項:         -n:不輸出模式空間內容到屏幕,即不自動打印        -e: 多點編輯        -f:/PATH/SCRIPT_FILE: 從…

    Linux干貨 2017-05-01
  • Shell 變量類型及用法

    一、      什么是變量          變量源于數學,在計算機語言中能儲存計算機結果或能表示值的抽象概念,變量可以由變量名訪問,在指令語言中,變量通常是可變的。Linux是一個多用戶的操作系統。每個用戶登錄系統后,都會有一個…

    Linux干貨 2016-08-12
  • 探究PHP底層

    1、PHP是什么? PHP 指的是我們從外面看到的一套完整的系統。這聽起來有點糊涂,但其實并不復雜(PHP4 內部結構圖)。從功能上來分:我們可以分為三部分: 1、 解釋器部分(Zend 以引擎),負責對輸入代碼的分析、翻譯和執行;2、 功能性部分(PHP功能函數以及擴展),負責具體實現語言的各種功能(比如它的函數等等);3、 接口部分(SAPI),負責同 …

    Linux干貨 2015-04-10
  • N21_第7周_磁盤及文件系統管理

    N21_第7周_磁盤及文件系統管理 作業題目: 1、創建一個10G分區,并格式為ext4文件系統;    (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;    (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳…

    Linux干貨 2016-09-26
  • 安裝Redmine

    Redmine是一個開源的、基于Web的項目管理和缺陷跟蹤工具。它用日歷和甘特圖輔助項目及進度可視化顯示。同時它又支持多項目管理。Redmine是一個自由開放源碼軟件解決方案,它提供集成的項目管理功能,問題跟蹤,并為多個版本控制選項的支持。雖說像IBM Rational Team Concert的商業項目調查工具已經很強大了,但想堅持一個自由和開放源碼的解決…

    Linux干貨 2016-12-01
  • N25第5周作業(grep和find使用)

    顯示當前系統上root, fedora 或user1的默認shell 找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello(); 使用echo命令輸出一個絕對路徑,使用grep取出基名,擴展取出其路徑名 找出IFCONIFG命令結果的1-255之間的數字 挑戰題:寫一個模式,能匹配出合理的IP地址 挑戰題…

    Linux干貨 2016-12-30
欧美性久久久久