shell的特性shell
~/.bash_history命令歷史存放文件,登出後保存。 bash
$HISTSIZE命令歷史條數,容許~/.bash_history文件存儲的命令條數,默認1000.ssh
!!:上一條命令ide
!$:上一條命令的最後一個參數spa
!命令標號:執行history輸出中的對應的命令orm
*:通配符,任意個任意字符;?:通配符,一個任意字符 it
在當前shell定義的alias只在當前shell生效class
>輸出重定向 >>追加劇定向 <輸入重定向 2>錯誤重定向 2>>錯誤追加劇定向登錄
輸入重定向是使用符號後文件的內容做爲輸入後臺
錯誤重定向只記錄錯誤信息
shell變量
變量分爲系統預設變量和用戶自定義變量
變量規則:
變量名=變量內容
=號兩邊不得有空格
變量名只能由字母、數字、下劃線組成,而且不能以數字開頭
當變量內容中含有特殊字符時,應使用單引號''
當變量內容中須要引用命令的運行結果,應使用反單引號``
當變量內容中須要引用其它變量值時,應使用雙引號""
當變量內容中含有單引號時,可以使用雙引號""
總結:單引號會將特殊字符做爲普通字符,雙引號不會消除特殊字符的意義。(上列最後一條除外)
env:顯示系統預設的環境變量
set:顯示全部的變量,系統預設和用戶自定義
export:在子shell中聲明變量
unset 變量名:取消聲明變量
交互式模式就是shell等待你的輸入,而且執行你提交的命令。非交互式模式,在這種模式下,shell不與你進行交互,而是讀取存放在文件中的命令,而且執行它們。
當第一個用戶登陸時(login交互式shell),執行/etc/profile和~/.bash_profile;當運行bash shell時(nologin交互式shell),執行~/.bashrc。/etc/profile調用/etc/profile.d目錄下的配置文件;~/.bash_profile會調用~/.bashrc;~/.bashrc會調用/etc/bashrc。
~/.bash_logout登出時執行一些清理任務
在當前shell定義的alias只在當前shell生效
因此若是要全局聲明別名或者變量的話:變量寫在/etc/profile.d/目錄下,別名寫在/etc/bashrc下
ssh user@hostname command:只向系統發送一條指令並不登錄系統
shell中的特殊符號
#:註釋符,忽略後面的內容 \:脫意字符,消除特殊字符的做用,使其成爲普通字符
~:用戶的家目錄 &:將命令放到後臺運行 [ ]:字符組合,匹配中括號內任意一個字符