linux學習介紹

由於非linux系統開發和管理員,只做了基礎的學習及實際工作中經常使用的命令整理

linux是基於uninx重新開發而來,開源之後,自動演變了很多版本。
目前比較流行的版本red hat,fedora,ubuntu等都是由最初的演變版本中的分支。
具體歷史可以看看(linux寶典 christopher negus),挺有意思的。學習內容也是來源於此書。

1、SHELL

用來解釋和管理命令的程序;不同的linux版本包含的shell可能不同,大多數發行版本都包括Bash shell並將其視爲一個標準。
啓動:linux中可以有三種方式啓動shell

  1. shell提示符,linux系統輸入賬號密碼登錄進去,的後臺輸入命令的地方
    $ 表示普通用戶,# 表示管理員用戶
  2. terminal窗口
    對於桌面的linux,會有這個功能
  3. 虛擬控制檯

可以通過CTRL+ALT+F1~F6 打開多個虛擬控制檯啓動shell
語法:

  1. 關於-和–的區別
    -表示命令選項是單個字符,即使是多字符,也會解析成單字符
    –表示命令選項是多字符。
    比如:ls -lat 等同於 ls -l -a -t
    hostname --help 就需要使用–
  2. 帶參數選項
    如果選項是單字符,對參數使用空格
    如果選項是多字符類型,對參數使用=
    比如:ls --hide=config
    tar -cvf aaa.tar /home/aaa
  3. 命令內容
    • 以文本或常規字符開頭:表示命令,別名或函數
    • $ 開頭:表示變量
    • ~ 開頭:表示用戶
    • @ 開頭:表示主機名
  4. 管道符|
    一個命令的輸出,到另一個命令的輸入
    cat /etc/passwd | sort | less
    將passwd文件內容發給sort命令排序,將排序結果發給less命令顯示
  5. 連續命令 ;
    一個命令執行完,連續執行下一個命令,使用;
    date;mail -s “test command” [email protected]
    輸出日期,併發送郵件
  6. 後臺命令 &
    如果命令執行時間較長,不想shell佔用命令等待完成,可以在命令結尾加上& 使其在後臺執行
  7. 擴展命令 $(command)
    一條命令的標準輸出,變成另一條命令的一個參數
    vi $(find /home | grep aaa)
  8. 擴展算數表達式 $(expression) / $[expression]
    echo “我已經 $[2020-1994] 歲了”
    echo “文件列表 : $(ls | wc -w)”
  9. 擴展變量
    使用shell變量
    ls -l $BASH
    echo $USER

命令查找:

  1. 直接指定路徑運行命令
    /bin/ls
  2. 命令的位置
    將命令目錄加到PATH中
    echo $PATH 打印path內容
    大多數命名在/bin(當前用戶),/user/bin,/user/local/bin(所有用戶都可用);/sbin/,/usr/sbin包含管理命令
    path路徑順序很重要,如果存在相同命令,優先最左邊的目錄中的命令
    除了path中,還有一些內置於shell中的命令
    shell檢查所輸入命令的順序:
    1. 別名 alias設置的
    2. shell保留字
    3. 函數
    4. 內置命令
    5. 文件系統命令(path)
    通過type關鍵字可以檢查命令出處:如 type tar
  3. 歷史記錄
    shell history 是一個以前所有輸入命令的列表,通過history命令查看;歷史記錄保存在.bash_history中,默認保存1000條。
    ctrl+L 清屏
    利用歷史記錄,可使命令行重複執行
    通過!+歷史記錄編號,可以重複執行命令:!202

創建和使用別名,通過別名執行命令:

alias查看定義的別名
新增別名
$ alias p=‘pwd ; ls -CF’

shell配置:

1、/etc/profile 用戶級環境變量,首次登錄執行(root用戶)
2、/etc/bashrc 每次打開一個bash shell執行(root用戶)
3、~/.bash_profile 用戶登錄執行
4、~/.bashrc 特定於bash shell的信息,打開新shell執行
5、~/.bash_logout 註銷時執行

環境變量添加:

PATH=$PATH:/bin/aaa;export PATH
表示在原path下增加目錄,並導出path

問題記錄:

$’\r’: command not found
windows下編寫的腳本會出現此問題
可以直接替換:sed -i ‘s/\r//’ export.sh

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章