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

最新的Linux指令大全

Jun 20, 2017 am 10:50 AM
linux 命令 常用 詳解

自助指令: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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

vscode需要什麼電腦配置 vscode需要什麼電腦配置 Apr 15, 2025 pm 09:48 PM

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

vscode終端使用教程 vscode終端使用教程 Apr 15, 2025 pm 10:09 PM

vscode 內置終端是一個開發工具,允許在編輯器內運行命令和腳本,以簡化開發流程。如何使用 vscode 終端:通過快捷鍵 (Ctrl/Cmd ) 打開終端。輸入命令或運行腳本。使用熱鍵 (如 Ctrl L 清除終端)。更改工作目錄 (如 cd 命令)。高級功能包括調試模式、代碼片段自動補全和交互式命令歷史。

vscode 無法安裝擴展 vscode 無法安裝擴展 Apr 15, 2025 pm 07:18 PM

VS Code擴展安裝失敗的原因可能包括:網絡不穩定、權限不足、系統兼容性問題、VS Code版本過舊、殺毒軟件或防火牆干擾。通過檢查網絡連接、權限、日誌文件、更新VS Code、禁用安全軟件以及重啟VS Code或計算機,可以逐步排查和解決問題。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

vscode 可以用於 mac 嗎 vscode 可以用於 mac 嗎 Apr 15, 2025 pm 07:36 PM

VS Code 可以在 Mac 上使用。它具有強大的擴展功能、Git 集成、終端和調試器,同時還提供了豐富的設置選項。但是,對於特別大型項目或專業性較強的開發,VS Code 可能會有性能或功能限制。

See all articles