學點Linux命令沒壞處(常用的內建命令)

語言: CN / TW / HK

攜手創作,共同成長!這是我參與「掘金日新計劃 · 8 月更文挑戰」的第11天,點選檢視活動詳情

前言

linux作業系統提供了一些內建的命令,掌握這些有利於我們日常對linux的使用,以及shell指令碼的開發維護。下面簡單瞭解幾個常用的

內建命令

  • help:用來檢視linux中其他命令的使用方式,這個在我們日常使用中最為頻繁,當忘記命名的具體引數時可以是使用help + 命令 [[email protected] ~]# help eval eval: eval [arg ...] Execute arguments as a shell command.
  • alias:用來設定命令的別名,這個能方便我們日常開發,例如我們可以設定簡稱來處理一些較長的命令
  • unalias: 用來接觸alias設定的別名 ``` alias gpull="git pull"

- bg/fg/jobs:linux中的任務管理也是高頻操作,分別用來檢視當前的任務,後臺任務狀態更新,前後臺任務轉換, - bg:當我們前臺執行一些服務時候,案件ctrl+z可以轉入後臺,但是我們檢視任務狀態是停止,這是可以使用bg來執行 - fg:jobs檢視到的bg狀態可以使用fg使後臺任務轉到前臺 - jobs:用來檢視**當前終端**(這個很關鍵)放入後臺的工作。 [[email protected] ~]# nc -l 12345 ^C [[email protected] ~]# jobs [[email protected] ~]# nc -l 12345 ^Z [1]+ Stopped nc -l 12345 [[email protected] ~]# jobs [1]+ Stopped nc -l 12345 [[email protected] ~]# bg [1]+ nc -l 12345 & [[email protected] ~]# jobs [1]+ Running
[[email protected] ~]# fg nc -l 12345 ^C [[email protected] ~]# ``` - break/continue:在shell語法中我們會用到for迴圈

  • eval:官方說明可讀取一連串的引數,而後再依引數自己的特性來執行。個人理解可以把字串引數轉換成命令執行,shell指令碼中常用來執行一些動態命令 [[email protected] ~]# eval "ls;ll" anaconda-ks.cfg init.sh mysql57-community-release-el7.rpm name.json nohup.out nps.log total 44 -rw-------. 1 root root 1257 Apr 10 21:34 anaconda-ks.cfg -****
  • export:export命令用於檢視或設定全域性變數。export + -p可以檢視所有的全域性變數,在我們一些後臺語言中經常用來區分所部署的不同環境 ``` declare -x XDG_SESSION_ID="1745" [[email protected] ~]# export -p declare -x HISTCONTROL="ignoredups"

``` - exit:作為最常用的命令之一,用來退出Shell命令列。也可以使用ctrl + D來實現

  • history:個人認為這個命令有兩個方便之處:
  • 當機器共用時候你可以檢視他人的操作記錄,可以根據操作記錄來判斷伺服器的故障原因
  • 操作一些複雜的命令後想要還原之前的操作
  • history + nubmer檢視前number條輸入的命令
  • history -d + number可以刪除指定編號的歷史命令
  • history -c 可以清楚所有的歷史記錄 [[email protected] ~]# history 10 1012 help***
  • type: type命令用於判斷指定命令的型別。Linux中命令總共有三種,builtin(內建命令)file(普通命令) alias(別名) [[email protected] ~]# type read read is a shell builtin
  • unset:清空變數,可以用來清楚export設定的變數 [[email protected] ~]# export NAME_RS=zk [[email protected] ~]# export -p | grep NAME_RS declare -x NAME_RS="zk" [[email protected] ~]# unset NAME_RS [[email protected] ~]# export -p | grep NAME_RS

總結

瞭解linux的基礎命令能給我日常工作帶來很多的便捷,提升工作效率,能有更多的時間摸魚,好好的學習一下準沒錯。這是Linux命令系列的最後一章,後續分享下實踐應用。 - 參考文件:跟老男孩學Linux運維