Root用戶
終端
交互式接口(圖形化界面和命令行)
什麼是Shell(bash)
命令提示符
內部命令和外部命令 enable,hash
命令別名
命令格式
Nano(一個簡單的編輯器)
一些命令c++
權限:無限大
這是一個特殊的管理用戶,在Linux系統中,他擁有無限大的權限,大到能夠刪除系統自己,所以,這個帳號是至關危險的,通常使用者只能給他們普通用戶帳號,只有極個別必須使用root權限的時候,纔會賦予普通用戶部分root權限,而且用完當即收回root權限。shell
對於計算機來講,終端我給分紅了兩種,一種是輸入輸出設備,鍵盤、鼠標、顯示器等,咱們稱它們是終端設備。還有一種是計算機的控制接口,在Linux中,終端是咱們可以進行操控其操做系統的界面。包括:
物理終端:
/dev/consolewindows
當咱們切換到單用戶模式下的時候,咱們就能看到物理終端的提示符
虛擬終端:
tty(teletypewriters) /dev/tty/N N=1-6
虛擬終端依舊是在物理機上的端口,在Linux中,咱們可使用Ctrl+Alt+【F1-F6】之間進行切換虛擬終端,以方便咱們使用。緩存
圖形界面:
正如咱們所知道的,windows 和IOS 上,開機以後,咱們看到的是都是精美的界面,而不是黑乎乎的命令行。一樣的,Linux同樣也有圖像界面,而且,咱們能夠在圖形化界面和命令終端之間進行切換:startx,xwindows切換到圖形界面
串行終端:
如今咱們已經用不到串行終端,因此在這裏我就不在進行介紹
僞終端:
pty(pseudo-tty) /dev/pts/N N=number
就是咱們平時用的遠程鏈接方式,纔會顯示出僞終端,由於它不是真正的終端,只是因爲使用須要進行遠程控制的模擬終端bash
查看使用什麼終端:
命令:tty編輯器
GUI:Graphic User Interface
在Linux中咱們使用到的圖像化界面有:
GNOME(c,圖形庫gtk)
KDE(c++,圖形庫gt)
XFCE(輕量級桌面)工具
CLI:Command Line Interface
正以下圖所示的就是咱們做爲一個Linux工做者平時會使用到的交互式接口。因爲桌面環境會開啓一個程序,會佔用咱們的內存和CPU資源,更重要的是不少操做咱們沒法再桌面換將直接的看到,因此咱們幾乎都會採用CLI模式的交互式接口。
學習
Shell 是Linux系統的用戶界面, 提供了用戶與內核進行交互操做的一種接口。 它接收用戶輸入的命令並把它送入內核去執行
shell也被稱爲LINUX的命令解釋器(command interpreter)
shell是一種高級程序設計語言。做爲命令語言,它交互式解釋和執行用戶輸入的命令或者自動地解釋和執行預先設定好的一連串的命令;做爲程序設計語言,它定義了各類變量和參數,並提供了許多在高級語言中才具備的控制結構,包括循環和分支。
GNU Bourne-Again Shell(bash)是GNU計劃中重要的工具軟件之一, 目前也是 Linux標準的shell, 與sh兼容spa
顯示當前使用的shell:echo ${SHELL}
顯示當前系統使用的全部shell:cat /etc/shells操作系統
每次咱們在登陸機器以後,咱們就已經在使用SHELL了,在咱們如今使用的CentOS系統中,用的都是bash,如下是bash的優勢:
1. 經過上下方向鍵來調取過往執行過的Linux命令。
2. 命令或參數僅需輸入前幾位就能夠用tab鍵補全。
3. 強大的批處理腳本。
4. 實用的環境變量。
命令提示符是咱們在登陸上操做系統時看到的一個提示符:
命令提示符: prompt
[root@localhost ~]#
# 管理員
$ 普通用戶
顯示提示符格式
[root@localhost ~]#echo $PS1
修改提示符格式
PS1="[\u@\h \W]\\$ "
\h 主機名簡稱
\w 當前工做目錄
\t 24小時時間格式
\! 命令歷史數
\u 當前用戶
\H 主機名
\W 當前工做目錄基名
\T 12小時時間格式
\# 開機後命令歷史數
在CentOS中,bash會帶有一部分經常使用命令,這部分命令常駐在內存中,以便於在咱們使用時沒必要在從硬盤中進行查找,這部分經常使用的命令咱們一般稱爲內置命令,如:
可是內建命令並不表明在硬盤文件中不存在,他只是爲了方便使用而將部分經常使用的命令設爲內置命令了。因此內建命令在硬盤文件中依然存在。
判斷一個命令的類型:
type COMMAND。
外部命令查看路徑:
which -a |--skip-alias ; whereis
內部命令有啓用不啓用之分使用enable命令能夠對內建命令進行設置
顯示全部啓用的內部命令:enable
enable | wc -l 統計啓用的內部命令數量
enable COMMAND 啓動一個內部命令
enable -n COMMAND 禁用一個內部命令
enable –a 顯示全部內建命令(不管是否禁止)
enable -n 顯示全部被禁用的內部命令
enable -n |wc -l 統計被禁用的內部命令數量
外部命令是如何被使用的呢?我能知道,在系統中會有PATH,即路徑,咱們使用的全部外部命令都是按照路徑從左到右進行查找執行的,可是咱們先進行這樣的一個操做:
如今,咱們使用的是一個外部命令PWD,咱們使用一次PWD以後,顯示以下圖所示:
咱們發現和上面的圖片不同了,這是爲何呢?這是因爲當咱們使用一次外部命令之後,hash會將咱們使用過的命令路徑存放在hash表中,以便咱們在下次使用的時候提升所搜效率。下面是對hash表的操做:
hash 顯示當前被hash的外部命令、
-l 顯示當前被hash的外部命令,包含別名
-p /.../.... name 手動增長一個hash緩存
-d name 刪除一個hash
-r 清空全部的hash
在咱們的實際操做中,hash的執行優先級別是高於PATH中的命令的,下面是一個在操做中優先級別的排序:
alias > 內部命令> hash > PATH > command not find
顯示當前shell進程全部可用的命令別名:alias
定義別名NAME, 其至關於執行命令
alias NAME='VALUE'
在命令行中定義的別名, 僅對當前shell進程有效
若是想永久有效, 要定義在配置文件中
僅對當前用戶: ~/.bashrc
對全部用戶有效: /etc/bashrc
編輯配置給出的新配置不會當即生效
bash進程從新讀取配置文件
source /path/to/config_file
. /path/to/config_file
撤消別名: unalias
unalias [-a] name [name ...]
-a 取消全部別名
若是別名同原命令同名, 若是要執行原命令, 可以使用
「\COMMAND」
‘COMMAND’
/PATH/COMMAND: 外部命令
COMMAND [OPTIONS...] [ARGUMENTS...]
OPTIONS選項: 用於啓用或關閉命令的某個或某些功能
短選項: -c 例如: -l, -h
長選項: --word 例如: --all, --human-readable
參數: 命令的做用對象, 好比文件名, 用戶名等
注意:
多個選項以及多參數和命令之間使用空白字符分隔
取消和結束命令執行: Ctrl+c, Ctrl+d
多個命令能夠用;符號分開
一個命令能夠用\分紅多行
在Linux上有一個簡單的編輯器,可是咱們只作瞭解,知道有這麼一個編輯器就好了,由於以後咱們會學習更增強大的VIM,nano界面以下所示:
文件:
/etc/gdm/custom.conf 更改圖像化界面的自動化登陸
/etc/isue 顯示登陸前的信息
/etc/motd 顯示登錄後的信息
命令: rz 向內部拷文件 sz 向外部拷文件 wall 在本機登陸的用戶進行廣播 pwd 查看所在目錄 cat 查看文件內容 file查看文件類型 which 查看命令路徑 whereis 查看文件或命令的路徑