Linux用戶登錄以及命令執行原理

linux登錄介紹,初識shell

目錄

一、用戶分類… 1

二、登錄界面… 1

1、交互式接口… 1

2、界面切換… 3

3、免密登錄Linux. 4

三、通過文本界面了解本機硬件… 4

1、查看當前CentOS版本… 4

2、查看內核版本… 5

3、查看cpu參數… 5

4、查看內存… 5

5、查看硬盤情況… 5

6、查看網卡… 6

四、shell的介紹… 6

1、Linux中常用的shell種類… 6

2、在shell中可執行的命令類… 7

3、判斷命令… 7

4、命令別名… 8

5、命令讀取流程… 9

Linux用戶登錄以及命令執行原理

一、用戶分類

Linux的用戶分為兩類

1、root用戶

  • 一個特殊的管理賬戶
  • 接近完整的系統控制
  • 無窮大的權力

2、普通用戶

  • 權力有限
  • 對系統造成不可恢復損害能力低

二、登錄界面

1、交互式接口

啟動終端后,在終端設備附加一個交互式應用程序

? ? ? GUI:Graphic User Interface(圖形用戶接口)。

他提供了很多桌面環境系統,像Windows一樣,有窗口、圖標和菜單。常見

的有一下三種

  • GNOME (C,圖形庫gtk)

1

  • KDE (C++,圖形庫qt),下圖為CentOS6.10的KDE界面

2

  • XFCE (輕量級桌面)

PS: 如果用戶需要用到圖形處理小工具,需要查看圖形工具支持的圖形庫,選擇對應的GUI,否則小工具無法使用。

? ? CLICommand Line Interface(文本模式)

?登錄畫面

3

[root@hai 6~]#

~表示在家目錄中?? #管理員??? $普通用戶

PS:下圖第一,第二行的內容來自/etc/issue這個文件,可修改,步驟如下

  • cat /etc/issue查看文件格式

4

  • 方法一、通過man pam_issue查看各參數含義
  • 方法二、whitis issue? 查看幫助文件章節
  • man issue? 得到也可以看看 agetty(8)? mingetty(8)因為8是管理類的命令,所以直選這兩個;

    man 8 agetty 查詢;

    搜索hostname,得到參數說明。

  • 英文看傻了。。。堅持習慣,試著修改

2、界面切換

Linux預設情況下會提供六個terminal(終端)來讓使用者登錄,切換的方式為[Ctrl]+[alt]+[F1]~[F6]的組合鍵,系統會將[F1]~[F6]命名為tty1~tty6。

  • [Ctrl]+[alt]+[F2] ~[F6]:文字接口登錄tty2~tty6
  • [Ctrl]+[alt]+[F2] : 圖形接口(桌面)

 

 

PS:如果你的Linux預設使用的純文本界面,那么tty1~tty6就都會被文本界面占用

  • echo $ {shell}查看當前使用的shell

5

  • cat /etc/shells查看系統有的shell

6

3、免密登錄Linux

學習階段,我們要不停的在個版本Linux之間切換,可以考慮使用免密登錄,工作中切不可這么操作。

使用nano命令編制文本ect/gdm/custom.conf如下圖所示,在[daemon]下面輸入AutomaticLoginEnable=true;AutomaticLogin=root(其中ALE為大寫)保存,退出,重新登錄實驗一下。

7

三、通過文本界面了解本機硬件

1、查看當前CentOS版本

  • ????使用cat命令查看文件/etc/centos-release

8

  • lsb_release –a也可以查看

9

2、查看內核版本

  • uname –r

10

3、查看cpu參數

  • lscpu(圖很長,簡略了)

11

4、查看內存

  • free [-kmgh]分別以k、M、G、易懂,單位表示

12

5、查看硬盤情況

  • lsblk

13

 

6、查看網卡

  • dmesg 查看啟動的硬件
  • dmesg |grep eth 查看網卡

15

四、shell的介紹

實際上Shell是一個命令解釋器,它解釋由用戶輸入的命令并且把它們送到內核。不僅如此,Shell有自己的編程語言用于對命令的編輯,它允許用戶編寫由shell命令組成的程序。

1、Linux中常用的shell種類

  • sh

是一個快捷方式,已經被/bin/bash所取代。

  • csh

C shell 使用的是“類C”語法,csh是具有C語言風格的一種shell,其內部命令有52個,較為龐大。目前使用的并不多,已經被/bin/tcsh所取代

  • tcsh

tcsh是csh的增強版,與 C shell 完全兼容。

  • bash

大多數Linux系統默認使用的shell,bash shell 是 Bourne shell 的一

個免費版本,它是最早的 Unix shell,bash還有一個特點,可以通過help

命令來查看幫助。包含的功能幾乎可以涵蓋shell所具有的功能,所以一般

的shell腳本都會指定它為執行路徑。

  • zsh

目前Linux里最龐大的一種shell:zsh。它有84個內部命令,使用起來也比較復雜。一般情況下,不會使用該shell。

PS: CentOS默認使用的是bash,bash兼容sh,還有一種nologin的shell是給

底層計算機使用的。

 

2、在shell中可執行的命令類

1內部命令:自己內建的命令集,開機時加載到內存中。

  • Help 可以列出所有的內部命令用法幫助
  • enable cmd ?????啟用內部命令
  • enable –n cmd ??禁用內部命令
  • enable –n ????查看所有禁用的內部命令
  • hexdump –c ????查看二進制碼

2外部命令:在文件系統下有對應的可執行程序文件。系統通過變量PATH(代表一堆文件夾的集合)去搜索,執行搜索到的第一個文件。

另外,外部命令在第一次執行后,會放到hash里,在下一次執行時,shell解析器首先會查看hash表,存在將執行,常見hash用法如下

  • hash 顯示hash緩存
  • hash -p path name 顯示hash緩存
  • hash -d name 清除name緩存
  • hash -r 清除緩存
  • hash -l 顯示hash緩存,可作為輸入使用

3、判斷命令

  • type cmd

1716

  • type –a cmd顯示所有存放位置

4、命令別名

在管理和維護Linux系統過程中,將會有一些很長的命令或用法經常被用到,這時候可以使用命令別名來簡化。

? 1? 系統定義的別名

通常情況下,系統中已經定義了一些別名,要查看已經定義的命令別名,可以使用alias命令,從下圖可以看出使用cp命令時,系統會用cp –i代替cp。

  • alias 顯示當前shell所有可用的命令別名

18

2? 用戶自定義別名

使用命令alias將cd /etc/sysconfig/network-scripts重新命名為cdnet后,在執行cdnet時,系統會自動用cd /etc/sysconfig/network-scripts將其替代。

  • alias 別名=“原名”

20

 

3? 取消定義的別名

  • unalias name 刪除定義的別名
  • unalias –a 刪除所有別名

4? 保存別名設置

Linux想要永久保存,就要修改文件,可以在系統別名目錄中添加別名配置文件。

定義某個用戶想要定義自己的命令別名,可以將命令添加到.bashrc中,重新注銷或者..bashrc,就可以生效了。

PS: ..bashrc前面的.相當于source命令重讀文件。

定義全局別名,通常將命令添加到/etc/bashrc中,不建議定義全部用戶。

21

5忽略別名

  • \aliasname
  • “aliasname”
  • ?? ‘aliasname’
  • command aliasname
  • /path/commmand

5、命令讀取流程

  • 判斷路徑:是否以路徑的方式輸入,是的話直接執行
  • 檢查別名:別名的優先級要高于內部命令,優先執行
  • 判斷命令類型:是內部命令直接執行
  • hash /bin/cat: 從hash中提取已用過的外部命令,有就執行
  • PATH變量查找: has中沒有,系統通過變量PATH查找

 

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

(3)
你的微笑像茉莉你的微笑像茉莉
上一篇 2018-07-22
下一篇 2018-07-22

相關推薦

  • 一鍵編譯安裝apche腳本—適用于Centos6 和 Centos 7

    此腳本可實現apache,httpd-2.2.34適用于Centos6,和 httpd-2.4.25適用于Centos7,的一鍵編譯安裝。
    同時可實現在Centos6 和Centos7 上實現網絡遠程安裝!

    2018-04-23
  • LVS虛擬服務器相關實驗

    本節內容主要是是lvs相關性實驗,及lvs健康性檢查工具Ldirectord

    2018-07-05
  • 關于shell腳本編程的基礎知識理解介紹

    shell: ? ? Shell 是一個用 C 語言編寫的程序,它是用戶使用 Linux 的橋梁。Shell 既是一種命令語言,又是一種程序設計語言。 shell腳本:是一種為shell編寫的腳本程序,其編輯風格可以分為過程式和對象式。 過程式:是以指令為中心且數據服務于指令。 對象式:是以數據為中心且指令服務于數據。 shell基本編程概念和環境: She…

    2018-04-16
  • linux系統修復報錯的方法 . 3

    stage1如果丟失怎么辦
    stage1.5如果丟失怎么辦
    后有centos6的啟動流程

    2018-05-12
  • TCP/IP

    TCP/IP不是一個協議,而是一個協議族的統稱。里面包括IP協議、IMCP協議、TCP協議。 TCP/IP分層: 這里有幾個需要注意的知識點: 互聯網地址:也就是IP地址,一般為網絡號+子網號+主機號 域名系統:通俗的來說,就是一個數據庫,可以將主機名轉換成IP地址 RFC:TCP/IP協議的標準文檔 端口號:一個邏輯號碼,IP包所帶有的標記 Socket:…

    Linux筆記 2018-05-05
  • 文本三劍客之sed

    簡要概括sed

    Linux筆記 2018-04-29
欧美性久久久久