1、環境變量
2、幫助
3、時間
4、引用
5、命令歷史
6、FHS
7、命令別名
8、Globbing文件名通配
9、命令,路徑補全
10、快捷鍵
============================================
shell:是用戶和linux(或者kernel)之間的接口程序,你在提示符下輸入的每個命令都先由shell解釋(命令語言解釋器)然后傳給linux kernel,
shell分類:sh,bash,csh,ksh,zsh等,常用為bash.
shell啟動:在你成功登錄系統后啟動,并始終作為你與kernel交互手段,直到你退出系統,每個用戶都有一個缺省的shell,在/etc/passwd中查看
bash:
1、環境變量:
我理解是系統啟動之后初始化系統為各類程序運行提供默認運行環境(參數或變量),比如PATH,PS等
set:查看當前系統所設定的環境變量
修改環境變量,以PATH為例:
echo $PATH //查看當前shell下,二進制程序要執行時,所搜索的路徑,其他變量都可以以echo $變量名 這樣的方式顯示
[root@neolinux ~]# echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/mysql/bin:/usr/local/apache/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
臨時修改:export
[root@neolinux ~]# export PATH=/usr/local/apache/bin:/usr/local/apache/sbin:$PATH [root@neolinux ~]# echo $PATH /usr/local/apache/bin:/usr/local/apache/sbin:/usr/lib64/qt-3.3/bin:/usr/local/mysql/bin:/usr/local/apache/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
永久修改:將export 命令直接寫入家目錄.bashrc文件中,~/.bashrc,或者/etc/profile等文件中
#命令學習:echo,export,basename(取路徑基名),dirname(取路勁目錄名)
2、獲取幫助
shell命令分為內置命令和外部命令
內置命令:在shell程序中實現的命令
外部命令:在文件系統上,某位置有一個與命令名稱對應的可執行程序
內置命令:#help Command
外部命令:#Command –help或者使用手冊#man Command
man的使用機制:
翻屏
空白鍵:向文件尾部翻一屏
b鍵:向文件首部翻一屏
回車鍵:向文件尾部翻一行
k鍵:向文件首部翻一行
Ctrl+d:向文件尾部翻半屏
Ctrl+u:向文件首部翻半屏
文本搜索:
/搜索關鍵字:向文件尾部搜索
?搜索關鍵字:向文件首部搜索
n:與搜索命令相同的方向,搜索下一個
N:與搜索命令相反的方向,搜索上一個
q:退出man幫助
#命令學習:type,which,hash
3、時間
查看當前系統時間date
%y:兩個數字顯示年份(00...99),測試命令#date +%y %Y:四個數字顯示年份,#date +%Y %m:兩位數字顯示月份 #date +%m %M:顯示分鐘 #date +%M %d:顯示當日號數 #date +%d %H:顯示小時(00..23) #date +%H %S:顯示秒數 #date +%S %F:顯示日期 #date +%F 2016-06-01 等于#date +%Y-%m-%d //常用+%F-%H-%M-%S
linux有兩個時鐘:
硬件時鐘:類似在主板上,由電池維持工作。
軟件時鐘:開啟時讀取硬件時鐘
hwclock:
-s:以硬件時鐘為準
-w:以軟件時鐘為準
#命令學習:shutdown,reboot,halt,poweroff,mkdir,pwd
#mkdir 創建目錄
-p:創建多級目錄時,先創建父目錄,在創建子目錄
-v:顯示創建目錄的過程
4、引用:
' ':單引號,表示強引用,單引號范圍內變量不會進行替換,
[root@neolinux ~]# echo '$PS1' //直接顯示$PS1這四個字符 $PS1 [root@neolinux ~]#
" ":雙引號,表示弱引用,雙引號范圍內能夠執行變量替換
[root@neolinux ~]# echo "$PS1" //顯示PS1環境變量的賦值 [\u@\h \W]\$ [root@neolinux ~]#
“:反引號,拼音輸入法模式下,波浪線那個按鍵,命令替換,引用命令的執行結果
[root@neolinux ~]# echo `pwd` //先執行pwd命令,在將命令的執行結果給echo輸出 /root [root@neolinux ~]#
5、命令歷史
bash保存了過去曾經執行過的命令列表,使用上下箭頭可以翻看此前曾經執行過的命令。
當前shell保存歷史命令在用戶家目錄.bash_history
查看歷史命令:
#history //查看歷史命令
-d #:刪除第#號個命令
-c :清空歷史命令
#~/.bash_history
快速調用之前執行過的命令,(常用):
!!:執行上一條命令
!Command:執行上一次執行Command命令
!$:引用上一個命令的最后一個參數,或者按ESC鍵松開,在按.
HISTSIZE:命令歷史中可以保存的命令個數
echo $HISTSIZE //顯示,export或者配置文件修改
HISTFILE:命令歷史文件
HISTFILESIZE:命令歷史文件中可以保存命令的個數
HISTCONTROL:控制命令的生成
6、FHS(Filesystem Hierarchy Standard)文件系統目錄標準
/bin:所有用戶可執行的程序 /usr/bin /usr/local/bin /sbin:管理員可執行的程序 /usr/sbin /usr/local/bin /boot:存儲系統引導文件:內核,ramfs文件,bootloader(grub) /dev:設備文件目錄 /etc:配置文件目錄 /home:普通用戶目錄,在此目錄下,有與用戶名同名的目錄作為用戶家目錄 /root:管理員家目錄 /lib,/lib64:庫文件目錄 /proc:偽文件系統,內核參數的映射 /sys:偽文件系統,
linux文件類型:
普通文件 | 目錄文件 | 鏈接文件 | 字符設備 | 塊設備 | 管道文件 | 套接字文件 |
– or f | d | l | c | b | p | s |
srwxrwxrwx 1 mysql mysql 0 Jun 1 17:29 mysql.sock
s | rwxrwxrwx | 1 | mysql | mysql | 0 | Jun 1 17:29 | mysql.sock |
文件類型(套接字文件) | 權限(屬主,屬組,其他人) | 硬鏈接數 | 屬主 | 屬組 | 文件大小 | 文件最后一次修改時間 | 文件名 |
#命令學習:ls,cd,cat,tac.head,tail,more,less,cp,mv,rm,touch,stat,file
7、命令別名
為一個命令與參數起另外一個名字
#alias 別名='命令' #alias cdnet='cd /etc/sysconfig/network-scripts/'
#unalias 別名 取消命令別名
8、Globbing文件名通配
* | ? | [] | [:upper:] | [:lower:] | [:digit:] | [:alpha:] | [:alnum:] | [:space:] | [:punct:] | [^] |
任意長度任意字符(也包括空) | 任意單個字符 | 指定字符范圍內的任意單個字符 | 所有單個大寫字母 | 所有單個小寫字母 | 0~9中一個數字 | 所有單個大小寫字符 |
所有單個大小寫字母或者數字 |
單個空白字符 | 單個特殊字符 | 范圍外任意單個字符 |
注意:?*表示至少有單個字符,例如:a?*b,匹配不到ab
9、路徑,命令
shell當你在輸入命令的一部分或者路徑的一部分,他就猜測到你是大概需要什么,可以通過按Tab顯示或者補全,類似配置網絡設備的命令補全,多按Tab就對了
10、快捷鍵
Ctrl+a | Ctrl+e | Ctrl+u | Ctrl+k | Ctrl+l | Ctrl+c | Ctrl+z |
切換光標至行首 | 切換光標至行尾 | 刪除光標至行首內容 | 刪除光標至行尾的內容 | 清屏(clear) | 取消或終止執行 | 暫停目前工,fg切回 |
原創文章,作者:nice_neo_linux,如若轉載,請注明出處:http://www.www58058.com/16917