首頁 > 運維 > linux運維 > 最新的Linux指令大全

最新的Linux指令大全

PHP中文网
發布: 2017-06-20 10:50:48
原創
2272 人瀏覽過

自助指令:ls --help   man ls  info ls

檔案屬性:ls -al  顯示目前目錄下檔案/目錄擁有者,所屬組,其他人的寫讀執行權限 檔案或目錄下屬檔案數 擁有者 群組 內容大小(byte) 最後修改日期 檔案/目錄名稱  注意:目錄,如何沒有x權限,則進不去目錄 【顯示別的目錄下的檔案:ls -al /,表示顯示根目錄下的檔案 】

改變群組權限:chgrp eg>chgrp users -R test.txt  【-R表示遞歸持續更新,users組應在/etc/group裡存在】

改變擁有者:chown eg>chown [-R] 帳號名[:組名] 文件或目錄  【帳號名稱在/etc/passwd裡,cp複製指令會將檔案或目錄的屬性權限一起複製,這時就需要更改權限】

改變檔案權限:chmod eg>chmod [-R ] 777 檔案或目錄,或chmod u=rwx,go=rx 檔案或目錄,或chmod a+w【rwx分別對應數字421,a+w表示對所有人提供讀取權限】

新建目錄:mkdir 【-p建立多層目錄,-m修改目錄屬性eg:mkdir -m 755 test】

新空白檔案:touch【新隱藏文件,在文件名前加.】【修改文件日期eg touch -d "2 days ago" 文件名。或touch -t 201706091111 檔名】

刪除檔案: rm 【如果檔案名稱前有-,則刪除應該用rm ./test】

#刪除目錄:rmdir [-p] 【刪除空目錄,要刪除有內容的目錄:rm -r】

移動檔案:mv 【常作更名】

複製檔案或目錄:cp 【-s 複製為捷徑,-p 常做備份複製屬性,而非預設屬性,-a 複製所有屬性,-u 當兩個檔案不同時才複製】

目前目錄:. 或./ 【在執行shell腳本時,通常用./run.sh 其實是指定該目錄下的run文件】

上一層目錄:.. 或../

#前一個工作目錄:-

#目前使用者的家目錄:~ 【~root,表示該帳號的家目錄】

顯示目前目錄:pwd 【對於連結文件,採用pwd -P,可以定位實際目錄結構】

得到路徑的檔案名稱:basename 檔案路徑

得到路徑的目錄名稱:dirname 目錄路徑

檢視檔案內容:

  cat:從第一行開始顯示 -n顯示行號包含空白行,-b 顯示不包含空白行號

  tac:從最後一行開始顯示

  nl:顯示時輸出行號,不顯示空白行行號,-b可以顯示空白行號,【nl可以對行號進行設計eg:nl -b a     -n rz -w 3 test,行號顯示為001,002...】

  more:##more

:一頁一頁顯示 空白鍵下方翻一頁,enter鍵下方翻一行,/要搜尋的字串,q退出顯示,b往上翻頁,:f顯示檔案名稱及顯示的行數

  less

:一頁一頁顯示並可往前翻頁 pageup上翻頁,pagedown下翻頁,空格鍵下翻頁,/字符串 向下查找,?字串向上查找,n查找下一個,N反向查找下一個,g到第一行,G到最後一行,q退出less

  head

:只看頭幾行-n接數字,表示顯示幾行

  tail

:只看最後幾行 常用在查看不斷更新的日誌,-n接數字,表示顯示幾行,-f持續顯示,按Ctrl+c停止

  od

:以二進位形式讀取 讀取資料格式的檔案或二進位文件,-t後接資料型別【a 預設字元輸出,c 用ASCII輸出,d 十進制,o 八進制,x 十六進制,f 浮點數】

   eg

顯示test檔的第11行到20行

    head -n 20 test | tail -n 10 【|管線:前面的輸出要經過後面的指令才顯示】 eg echo pwd | od -t oCc,將pwd以八進位的ASCII碼輸出

檔案種類:

  -:普通文件:透過cat讀取文件,但資料格式檔案(如一些登入日誌檔案),應該用last去讀

  d:目錄

#  l:快捷鍵

  設備與裝置檔案

    b:區塊裝置(如硬碟)

    c:字元設備(如鍵盤滑鼠)

    c:字元設備(如鍵盤滑鼠)

  s:

#」資料:編號介面檔案

  p:資料傳輸檔案

檔案副檔名:

  .sh shell腳本語言######  .Z,.tar,.tar.gz ,.zip,.tgz 壓縮檔案######檔案與目錄的預設權限:###

  umask:查看当前用户新建文件或目录时权限,如0022 对应为u=rwx g=rx o-rx 【nmask -S将得到这种结果】,对于新建文件对应的默认权限为 -rw-r--r--【文件默认拿掉x权限,然后当前用户查到的默认权限为022,即组和其他人拿掉为2的读权限】,对于新建目录,对应的默认权限是drwxr-xr-x【目录默认有x权限,同样拿掉了为2的读权限】

文件或目录的隐藏属性:

  chattr: +/-a   +/-i 【+i可以让一个文件不被更改,只能root用户能设定,+a让文件只能增加内容,不能更改原有内容】

  lsattr:显示文件或目录的隐藏属性

查看文件类型:file 文件名

指令和文件搜索命令:

  which:搜索命令位置

  whereis:找特定目录下的文件,-l 列出可以查找的目录,-b找二进制文件

  locate:利用Linux內建数据库查找 -i:忽略大小写,-c输出找到文件数量,-l输出几行,如-l 5,-r接正则表达式【locate查找的为/var/lib/mlocate】

  find:直接搜索硬盘【很慢】,可以用*通配符,find [路径] [操作] [状态] eg  find / -mtime 0 【找当天内更改过的文件】 find / -mtime +1 【找大于等于一天前的更改过的文件】 find / -mtime -1【找小于等于1天前的更改过的文件】,find /home -user 用户名 【找某个路径下某位用户的文件】find -size [+/-] 大小【找符合大小的文件】,find -name analysisTeleInfo -exec ls -l {} \;【加了额外动作的find,find -name analysisTeleInfo会输出该文件所在的路径,然后exec 以ls -l(不支持别名)执行该路径】

eg:有两位开发人员,在不同的群组,现在要一起开发一个项目,要求该项目内的人员都有开发权,但其他人不能进入查阅

  首先新增群组:groupadd project

  将这两位开发人员加入该群组:useradd -G project name1  useradd -G project name2

  建立项目的开发环境:mkdir /svn/ahome

  更改该环境所在的群组:chgrp project /svn/ahome

  更改所在环境的权限:chmod 770 /svn/ahome  【错误:因为即使这样分配权限,当name1进入工作目录,新建的文件是以自己所在组的,不是项目所在组,顾,权限应该为2770,即给予工作目录SGID权限,这样,name1和name2新建的文件都是以所在工作组为组名的,具有共同开发的权限。补充SUID,表示该文件在被另一个拥有执行权但不能访问的人在访问时,可以暂时拥有该文件拥有者的权限】

linux文件系统类型:EXT2,是一种索引式文件系统,window现在基本为NTFS

linux压缩命令:

  *.Z compress程序压缩

  *.zip zip程序压缩

  *.gz gzip程序压缩(常用)

    压缩后源文件会被删除,如果原文件是文本文件,可用zcat/zmore/zless读取,解压缩:gzip -d *.gz,搜索压缩文件中的关键字字符串:zgrep -n 'String' *.gz,-c 输出压缩数据到屏幕

  *.bz2 bzip2程序压缩(常用,是gzip的升级,-k 保留源文件)

  *.xz xz程序压缩(常用,-k 保留源文件),可以查看压缩文件压缩前后的容量,

  *.tar tar程序打包,并没有压缩(常用)

    压缩:tar -jpcv -f filename.tar.bz2 文件/目录

    查询:tar -jtv -f filename.tar.bz2

    解压缩:tar -jxv -f filename.tar.bz2 [-C 解压缩目录]

  *.tar.gz tar程序打包,经过gzip压缩

  *.tar.bz2 tar程序打包,经过bzip2压缩

  *.tar.xz tar程序打包,经过xz压缩

 eg:备份某时间后更新的数据

    tar -jcv -f ./filename.tar.bz2 . --newer-mtime='2017/06/13' . 表示打包并压缩当前目录下20170613000000时间后更改的文件成filename.tar.bz2文件

  备份时不希望备份某个文件或目录,用--exclude=目录(可用通配符*)

  备份工具:dd if='input_file' of='output_file' bs='block_size' count='number',eg:dd if=/test of=/test2.back

  备份工具:cpio -ovcB > file/device 备份

       cpio -ivcdu < file/device 还原

       cpio -ivct < file/device 查看


vi 编辑器:

  使用vi新建或開啟一個檔案:vi filename  【有可能vi要帶上絕對路徑,如user/vi filename】

  進入編輯模式:按i /o /a等

  退出編輯:esc

  儲存檔案:wq 【強制儲存:wq! 】,不儲存:q

  vi開啟檔案常用操作:hjkl分別代表上下左右鍵,也可以用方向鍵,配合數字,可以一次移動多行或多列遊標eg 3+k三移至左移三位,PgDn下移一頁,PgUp上移一頁,0/home移動到該列的第一列,$/end移動到最後一列,gg移動到第一行,Gd移動到最後一列,gg移動到第一行,G_字串向下查找字串,?字串向上查找字串,帶上n表示一直查找,N反向查找,:1,$s/字串1/字串2/g 全文取代字串1為字串2,:1,$s/字串1/字串2/gc 全文詢問替換,:n1,n2s/字串1/字串2/g  替換你行到n2行之間的字串,X 刪除遊標前的字符, x刪除遊標後的字符,nx 連續刪除多個字符,dd刪除整行,ndd遊標往下刪n行,yy複製遊標所在行,nyy複製遊標將複製遊標將複製的資料在遊標下一行貼上,P在遊標下上一行貼上,u 重複前一個動作,Ctrl+r 重做前一個動作,. 重複前一個動作

  vi進入編輯常用操作:i /I定位在當前遊標處/該行口頭,r /R 進入替換模式,r替換遊標處字元一次,R替換多次

  vi編輯完離開常用操作::w寫入文件,:q離開(有更改時,離不開),: q!強制離開,:wq存完離開,ZZ未改動直接離開,改動保存離開,:w filename 另存為filename,:r filename 將filename裡的資料追加到遊標後面,:n1,n2 w filename 將n1行到n2行儲存到filename,:set nu 顯示行號,:set nonu 取消行號

查看目前vi是否為vim:alias 會出現alias vi='vim', 【指令別名: alias,取消別名unalias

  vi單一選擇和區塊選擇:用vi開啟檔案後,v字元選擇,V行選擇,ctrl+v區塊選擇,可以結合上下左右完成選擇,y複製選擇,p貼上選擇,d刪除選擇

  vi多文件編輯:vi test.txt test2.txt 同時開啟多個文件,將test.txt中複製4行(4yy),然後:n,回車,編輯test2.txt,p粘貼,:file查看當前vi打開的文件,:n編輯下一個文件,:N編輯上一個文件

  vi多窗口查看:gg到文件第一行,然後:sp,G到文件最後一行,此時的文件會顯示上下兩個窗口,上面是文件末尾數據,下面是文件開頭數據,:sp filename 表示當前窗口加一個filename視窗,Ctrl+w+↑進入上一個視窗

  vi自動補全功能:ctrl+x  + ctrl+n 選取目前檔案中的字串作為提示訊息

   ctrl+f 以目前檔案名稱為提示訊息

          ctrl+x  + ctrl+o 以該檔案的副檔名的語法為提示訊息,style=”bctrl+x ctrl+o會出現很多提示訊息

  vi中環境設定:可以新建 ~/.vimrc環境設定文件,set backspace=2 "用退格鍵刪除,set autoindent 自動縮排,set nu 顯示行號,syntax on語法檢查顏色顯示

  中文編碼問題:1,linux預設語系,2,檔案編碼,3,啟動的終端介面要統一

  window和linux下回車換行符的問題:window是 \n\r(換行回車)結束一行,linux是\n結束一行,所以,window轉linux時,回車\r可能會顯示為^M符號,linux轉window時,顯示為一行,需要用dos2nuix 或nuix2dos轉換下


bash:Bourne Again SHell簡稱bash。

  bash shell:1.指令儲存功能,可上下翻閱已輸入的指令

        2.安裝bash-completion可在使用tab鍵時進行選項/參數補齊

        3.命令別名設定alias lm='ls -al'

      〠……腳本

        6.通配符eg ls -l /usr/bin/X*

查詢指令是否為bash shell內建指令:type ls 不是, type cd 是

指令換行 /enter 

快速編輯指令:ctrl+u 遊標處向前刪除整個指令串  ctrl+k向後刪除,ctrl+a遊標到指令串開頭,ctrl+e遊標到指令串結尾

#shell 

變數:  變數設定與修改 name=Myname

#

    規定:=兩邊不能有空格,內容中不能有空格【可用“可以存變量”,‘不能存變量,以字符形式顯示’】,變量名不能以數字開頭。

    用法:用跳脫字元/表示特殊字元如 $,` ,空格,用反單引號包含內容中的指令 eg name=`ls -l` echo $name,變數內容增加:"$ name"直接接新加內容,或${name}直接接新加內容,將此變數當作環境變數:export name,取消該變數:unset name

    eg:個人化工作目錄

      將自己常用的工作目錄設為變數work:work="servser/analysis",然後在~/.bashrc檔案中加入個人化設定:work="servser/analysis"   export work ,下次登入系統,可用 cd $work 直接進入工作目錄

  變數的取用echo $name  或 ${name}

  環境變數:nuv 或   環境變數:nuv

 或 

export 查看所有環境變量

       

set

 查看所有的環境變量和自定義變量

    生成0~9間的隨機數:declare -i number=$RANDOM* 10/32768; echo $number

    

變量,只與上一個指令有關,上一個指令執行成功,則echo $? 輸出0,否則輸出錯誤碼

    

locale

  查看linux下預設語系,-a查看linux下支援的語系

    變數的讀取與申明:

      

read 變數  將使用者輸入的內容作為此變數的內容, -p -p -t 接等待時間秒數      declare

 或 

typeset 

#列出所有的變數與內容

 ,-i 變量 為整數類型,-x 將變量改為環境變量,-r 設定變量為唯讀,且不能unset,+x為取消環境變量設置,數組設定:var[index]=content

ulimit 

限製檔案與程式

  ulimit [-SHacdfltu] 配額【單位為k】,-a 查看目前使用者的限制情況

#歷史指令:

history 

列出目前記憶體中所有的指令歷史,接n 查最近n個指令, -c 清除歷史指令,-w 更新記錄檔

   ! number 執行第number個指令,! !執行上一個指令,! al 執行以al開頭的最近的指令

linux的開機歡飲介面設定:cat /etc/issue,開機提示訊息:/etc/motd檔案讀入環境設定檔:source

 設定檔名 或 

檔名

終端機的環境設定:linux下的文字介面終端機即tty1~tty6

  

stty:-a 列出所有的setting tty 內容,intr 中斷,quit退出,erase向後刪除,kill刪除指令Ctrl+u,eof 結束輸入,start 重新啟動程式的outputCtrl+q, stop 停止螢幕輸出Ctrl+s,susp給予定時停止,可以結合按鍵來變更這些終端指令。

  

set

:設定終端機輸入輸出環境,set -u 使用未定義的變數時,顯示錯誤訊息

通匹配與特殊符號:

  * 0到多個字元

  ?一定有

  [abcd] abcd任一個

  [0-9] 0-9之間任一個

  [^abc] 非abc的任一個

  # 批次符號

  \ 跳脫符號,將特殊字元或通匹符還原成一般字元

  | 管線

  ;

#  ~ 用戶家目錄

  $ 取變數

  & 工作控制符,將指令變成在後台工作

  !邏輯運算中的非

  / 目錄符號

  > ,>> 資料流重導向,表示取代,累加

  <,<< 資料流重導向,表示取代,累加

  <,<< 資料流重導向,輸入導向

  ' ' 單引號,不具有變數置換功能

  「 」 雙引號,具有變數置換功能

  ` ` 反引號,可以執行指令

  ( ) 中間為shell的開始於結束

  { } 命令區塊

資料流重導向:把應該出現在螢幕上的資料重導向到其他位置

  分為:標準輸入  <,<<,標準輸出>,>>,標準錯誤輸出:2>,2>>

###  linux 下的垃圾回收站:/dev/null 匯入此檔案的資料將會自動清除######  2>&1 或 &>! 將正確的輸出和錯誤輸出同時導向至一個檔案###

  資料寫入:eg cat > test

    鍵盤寫入123,按ctrl+d結束寫入,然後cat test有剛才輸入的內容

#test cat  cat 〔長;< "return"  輸入到return時自動結束輸入

    eg: 將echo 「message」 為標準錯誤輸出

      echo "「&\」21">

##強制將快取區資料更新到磁碟:

sync

指令執行判斷:;,&&,||

  ; eg sync;shutdown -h now 關機前強制同步資料

  指令1 && 指令2 前面正確執行($?=0),後面才執行。

  指令1 || 指令2 前面執行正確,2不執行,前面錯誤,執行2

  eg:指令1 && 指令2 || 指令3 常作為判斷用,即指令1成功執行指令2,否則執行指令3

管線指令:

  eg:ls -al /etc

| less 將管線前的輸出(錯誤的輸出不處理)作為管線後指令的輸入

  截取指令:

cutgrep  (以行為單位)

    eg:echo $PATH | cut - d ":" -f 5 取path變數中以:分割的第五個,取多個,-f 3,5

      export | cut -c 12- 取export列印出的變數中第12個字元後的內容

      

last | cut -d " " -f 1 取最近登入情況中的使用者名稱

    eg:grep [-acinv] [-acinv] -color=auto] '要搜尋的字串' filename

      -a 將二進位檔案以text檔案的方式搜索,-c 計算搜尋到的次數,忽略顯示行號,-v 反向搜索,--color=auto加顏色顯示

排序指令:

sortwcuniq

  sort:-f 忽略大小寫,-b 忽略前面的空格,-M 以月份排序,-n 以數字排序,-r 反向排序,-u 排序後相同的資料中只出現一行,-t分隔符,-k 以哪個區間來排序

  uniq:去重,-i 忽略大小寫,-c 計數

  wc:-l  顯示檔案列數,-w 顯示字數, -m 顯示字元數 直接wc 依序顯示這三個

以上是最新的Linux指令大全的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板