1. 程式人生 > >shell命令基本知識點

shell命令基本知識點

shell基本知識

命令歷史

# cat /root/.bash_history //存放歷史命令的地方

# history //查看命令歷史的條數

# echo $HISTSIZE //查看可以保存的條數

# vim /etc/profile //改變變量HISTSIZE的值 “/HISTSIZE” 去搜索

# source /etc/profile //這樣才能使我們剛剛修改的值生效

# vim /etc/profile →在HISTSIZE下增加 HISTTIMEFORMAT=”%Y/%m/%d %H:%M:%S “ 改變輸出歷史的格式,例如: 923 2017/06/28 17:56:42 source /etc/profile

包括什麽時間輸入的都可以顯示!!!

# chattr +a ~/.bash_history //永久保存輸入的歷史(a權限,只允許增加,不允許刪除)

# !! //執行上一條命令

#!761 //查找命令第761條命令,在命令歷史中!

命令補全

參數補全,安裝bash-completion

自定義經常使用的命令,來提高效率:例如:

# alias resnet=‘systemctl restart network.service‘ //但是這樣僅僅是保存在內存當中,我們要是需要長久使用,就要寫在配置文件中,家目錄下的 # .bashrc

通配符

# ls *.txt //查看所有以.txt

結尾的文件

# ls 1* //查看以1開頭的所有文件

# ls ?.txt //一個字符且.txt的文件

# ls ??.txt //兩個字符且.txt的文件

# ls [0-3].txt //包含0.txt 1.txt 2.txt 3.txt

# ls [123].txt //包含1.txt 2.txt 3.txt

輸入輸出重定向

“>” //重定向 “>>” //追加內容

# cat 12.txt > 22.txt //查看12.txt的內容並重定向到22.txt

# cat 12.txt >> 22.txt //查看12.txt的內容並追加(之前的內容不刪除)到22.txt

“2>” //錯誤重定向 “2>>” //錯誤追加重定向

後期寫shell腳本的時候會經常用到的一個命令:

# ls [12].txt txzzz.txt(沒有這個文件) >1.txt 2>b.txt //把正確的輸出,輸出到1.txt,錯誤的輸出輸出到b.txt

管道符、作業控制

管道符:把一個命令結果的輸出傳遞到後面一個命令;

# cat 1.txt |wc -l ; //查看1.txt 的內容 並交給後面查看有多少行 輸出~

# cat 1.txt |grep ‘aaa’ //查看1.txt 的內容 並交給後面grep 查找 aaa

# find ./ -type f | wc -l //查看當前目錄下有多少個文件,然後統計輸出

案例:假如現在正在配置IP地址,當你進入vim之後,發現忘記IP地址了,然後使用“ctrl+z”去臨時返回到命令行,fg 返回到任務,也許有時候,後臺任務比較多,可以使用 jobs 來查看,然後恢復某個任務使用 fg+id ,或者把某個任務放到後臺去繼續執行 bg+id,一次性的把一個命令放到後臺去執行,# sleep 1000 & ,可以用jobs去查看。

系統內置變量

# env //查看系統變量

# set //查看系統自設的變量+用戶設置的變量

自定義變量:

# zhdy=winner //設置自定義的變量

# set | grep zhdy //查詢自定義變量中的zhdy

# unset zhdy //取消自定義的變量

# 變量名規則:字母、數字下劃線,首位不能為數字

# 變量值有特殊符號時需要用單引號括起來

# a=’a$bc’ # echo $a # a$bc

# a=1;b=2 #echo $a$b # 12

# echo $SSH_TTY //查看自己在哪個TTY下面

#export zhdy=linux //制作一個全局的環境變量,

環境變量配置文件

系統層次的環境變量(千萬別去更改,除非特殊要求):

/etc/profile 用戶環境變量,交互登錄才執行

/etc/bashrc 用戶不用登錄,執行shell就生效

用戶層次的環境變量(僅限於當前用戶):

~/.bashrc //自定義一些別名alias

~/.bash_profile //自定義一些變量。例:HISTSIZE=2000

~/.bash_history //自定義歷史相關配置

~/.bash_logout //自定義退出後所執行的動作

profile:用戶登錄的時候會使用到

bash:系統或者用戶執行一些shell

[root@zhdy-02 ~]# echo $PS1 //輸出左邊的一個格式

[\u@\h \W]\$

[[email protected] ~]# PS1=‘[\u@\h \w]\$’ //更改格式為絕對路徑

[[email protected] ~]#cd /etc/sysconfig/network-scripts/

[[email protected] /etc/sysconfig/network-scripts]# //已經顯示為絕對路徑了!!!

# PS1=’\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$ ‘ //帶顏色的格式

當然這只是暫存在內存中,要是想要永久修改,一定要進入 # vim /etc/bashrc 去修改!


本文出自 “老七Linux運維管理” 博客,請務必保留此出處http://asd9577.blog.51cto.com/4291946/1943326

shell命令基本知識點