基礎命令

1,對于Linux的實驗環境我們要用到虛擬機,往往每次上線都要登錄,這時候如果把用戶設為自動登錄就會方便許多,接下來就介紹下設置虛擬機的自動登錄

, /etc/gdm/custom.conf 這個就是設置自動登錄的一個配置文件,我們先來使用nano打開這個文件,如下

# GDM configuration storage

這是GDM的一個配置存儲

[daemon]

這個是守護程序的意思,在古希臘神話中也被翻譯成半神半人的精靈,

[security]

安全

[xdmcp]

X顯示監控協議

[greeter]

歡迎者

[chooser]

選擇器

[debug]

調試

 

我們就在這個被稱為精靈的[daemon] 下添加如下圖所示的內容

 

共和國環境

AutomaticLoginEnable=true

使自動登錄成為真的

AutomaticLogin=root

自動登錄為root

看到這想必大家已經明白了,至此咱們就設置完成了,Ctrl+x存盤,快去設置你的自動登錄吧

 

2.Shell概述

Echo $SHELL查看當前登錄用戶的shell 默認是/bin//bash,

/etc/shells 這個文件中存放著所有支持的shell

咱們通常執行一個命令時會輸入一個字符串,輸入的這個字符串就會發送到/bin/bash中去判斷它,如果是一個命令就執行,如果不是就會報錯 command not found… 提示命令沒發現

我們的命令又分為兩種內部命令跟外部命令

(1)內部命令:由shell自帶的, /bin/bash是一個可執行文件,默認的/bin/bash程序集成放置了很多內置命令,也就是所謂的內部命令,如 cd ,pwd ……

/bin/bash 在用戶開機時就會自動在后臺運行,所以它是緩存在內存中的,內存中的數據運行時非常快的,不需要再去磁盤中找文件 所以當你運行內部命令是非常快的

 

enable 這個命令就可以查看到當前bash的內部命令 它也同樣是一個內部命令

help ???????內部命令列表 也可以查看內部命令,還有內部命令的詳細用法

enable -n cmd? 是禁用內部命令

觀察下圖,命令前面帶*的就是被禁用的命令

21

enable cmd ???啟用內部命令

enable -n??? 查看所有禁用的內部命令

3

(2)外部命令:在文件系統路徑下有對應的可執行程序文件

查看的路徑:which -a | –skip-alias; whereis

大部分外部命令都在 /bin ?/sbin/ ?/usr/bin ?/usr/sbin 下 以/bin為例

4

這里只列出一部分

type command 可以用來區別一個命令是內部或是外部命令

5

6

執行type cd ?顯示是cd is a shell builtin ,告訴我們cd是一個內置的shell 命令

執行type cat ?顯示是cat is /usr/bin/cat , 這里是一個具體路徑也就是外部命令

 

在執行外部命令時由于它是一個磁盤文件,想想看如果我們在執行時它真要去找這個文件是不是效率會大打折扣會很慢,所以就給外部命令定義了一個PATH變量,通常在變量前有個$,$PATH表示它是一個變量

echo $PATH 查看PATH變量,如下

7

這里顯示的是一個個路徑

在我們執行一個命令時,首先會看你是不是一個內部命令,如果在bash中集成了這個?? 令就會直接執行,如果不是就會在PATH變量對應的路徑中從左至右一個個路徑中去找,找到就執行,如果還是沒有找到就會報錯 “命令沒有找到”

 

執行過一次的命令就會緩存在hash中

(3)hash緩存表

系統初始的hash表為空,當執行一個命令時會先去PATH變量中記錄的路徑去找,如果找到該命令就會執行并記錄在hash緩存表中,當下次要執行該命令時,首先會到hash表中尋找,如果hash表中存在就會執行,如果沒有,再去PATH變量中的路徑中去尋找。

利用hash表可以顯著的提高我們調用命令的效率

hash用法

hash? ????顯示hash緩存

hash -l??? 顯示hash緩存的詳細信息,可做輸入使用

hash -p path name ??將命令的全路徑path起別名為name

8

使用hash -p 命令將緩存表中的/usr/bin/ls 命名為a,執行a 就相當于執行ls這條命令

 

hash -t name???? ???打印緩存中name的路徑

hash -d name?????? 清除name 緩存

9

使用hash -d 來清除指定命令的緩存路徑,如上圖使用hash -d ls 命令將ls的緩存清除

hash -r?? 清除緩存(清除緩存表中的所有緩存

………

 

好了今天就給大家介紹這幾條命令如有需要改正之處請聯系小編 Bye!

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

(0)
liuyongweiliuyongwei
上一篇 2017-11-19
下一篇 2017-11-19

相關推薦

  • 第三周博客作業

    who useradd usermod groupadd

    Linux干貨 2017-12-17
  • 文本

    一,復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒 有任何訪問權限; cp -r /etc/skel/ /home/tuser1 chmod -R go= /home/tuser1 二,編輯/etc/group文件,添加組hadoop; vim /etc/group hadoop:x:100…

    Linux干貨 2016-11-20
  • MySQL Fabric 安裝部署

    MySQL Fabric  是一個用于管理 MySQL 服務器群的可擴展框架。該框架實現了兩個特性 — 高可用性 (HA) 以及使用數據分片的橫向擴展。這兩個特性既可以單獨使用,也可以結合使用。 環境: 安裝MySQL Fabric 配置MySQL Fabric MySQL Fabric 安裝管理數據庫fabric 啟動MySQL Fab…

    數據庫運維 2016-06-03
  • rsyslog將日志記錄于MySQL中,并用loganalyzer進行分析日志

    1、首先來安裝lamp環境的支持,與其相關的軟件包      # yum -y install rsyslog-mysql mariadb-server php php-mysql php-gd httpd       說明:rsyslog-mysql在數據庫中生成一個庫文件,但這個文件需…

    Linux干貨 2016-10-23
  • C語言結構體里的成員數組和指針

    單看這文章的標題,你可能會覺得好像沒什么意思。你先別下這個結論,相信這篇文章會對你理解C語言有幫助。這篇文章產生的背景是在微博上,看到@Laruence同學出了一個關于C語言的題,微博鏈接。微博截圖如下。我覺得好多人對這段代碼的理解還不夠深入,所以寫下了這篇文章。 為了方便你把代碼copy過去編譯和調試,我把代碼列在下面: final void&n…

    Linux干貨 2016-05-29
  • Linux boot分區意外格式化或清除之后…

    boot分區在沒有備份的情況下意外被清空,包括啟動引導信息也沒了。這時若Linux還在運行,那你是幸運的, 修復的方法: 1. cat  /etc/*release      #趕快先確定當前系統的具體版本。有ISO鏡像趕快掛載上來.   &nbsp…

    Linux干貨 2016-03-22
欧美性久久久久