Linux的基礎命令

来源:http://www.cnblogs.com/learnjfm/archive/2017/06/19/7051048.html
-Advertisement-
Play Games

1.linux的目錄結構 bin:(binaries)存放二進位可執行文件 sbin(super user binaries)存放二進位可執行文件 etc:(etcetera)存放系統配置文件 usr(unix shared resources)用於存放共用的系統資源 home存放用戶文件的根目錄 ...


1.linux的目錄結構

  bin:(binaries)存放二進位可執行文件
  sbin(super user binaries)存放二進位可執行文件
  etc:(etcetera)存放系統配置文件
  usr(unix shared resources)用於存放共用的系統資源
  home存放用戶文件的根目錄
  root超級用戶目錄
  dev(devices)存放設備文件
  lib(library)存放跟文件系統中的程式運行所需要的共用庫及內核模塊
  mnt(mount)系統管理員安裝臨時文件系統的安裝點
  boot存放用於系統引導時使用的各種文件
  tmp(temporary)用於存放各種臨時文件
  var(variable)用於存放運行時需要改變數據的文件

2.切換目錄命令cd

  cd test 切換到test目錄
  cd .. 切換到上級目錄
  cd / 切換到系統跟目錄
  cd ~ 切換到用戶主目錄
  cd - 切換到上一個所在目錄

3.目錄的操作命令(增刪改查)

增加目錄:

  mkdir 目錄名稱

mkdir test 就是在當前目錄下產生一個test目錄

查看目錄:

  ls

ls:就是在當前目錄下的所有目錄和文件

ls -a:可以看到該目錄下的所有文件和目錄,包括隱藏的

ls -l:可以縮寫成ll,可以看到該目錄下的文件的詳細信息

查詢目錄:

  find 目錄 參數

find/root -name '*test*':查找/root下的與test相關的目錄文件

修改目錄名稱:

  mv目錄名稱 新目錄名稱

mv oldTest newTest:在當前目錄下將oldTest目錄的名字改為newTest

註意:mv的語法不僅可以對目錄進行重命名而且也可以對各種文件,壓縮包進行重命名操作

移動目錄的位置(剪切):

   mv 目錄名稱 目錄的新位置

mv newTest /usr:將當前目錄下的newTest文件剪切到usr目錄下

拷貝目錄:

  cp -r 目錄名稱 目錄拷貝的目標位置(r代表遞歸拷貝)

cp -r /usr/newTest /test:將usr下的newTest文件拷貝到test目錄下

註意:cp命令不僅可以拷貝目錄還可以拷貝文件,壓縮包.拷貝文件和壓縮包時不用寫-r遞歸

刪除目錄: 

  rm -rf 目錄

rm -rf newTest/:刪除當前目錄下的newTest文件和它裡面的所有文件,並且 不需要詢問


4.文件的操作命令

文件的創建

  touch 文件名稱(空文件)

touch a.txt:在當前目錄下創建一個名為a.txt的空文件

文件的查看

  cat/more/less/tail 文件

使用cat只能顯示最後一屏的內容
使用more可以顯示百分比,回車可以向下一行,空格可以向下一頁,q可以退出查看
使用less可以使用鍵盤上的PgUp和PgDn向上和向下翻頁,q結束查看
使用tail -f 文件 可以對某個文件進行動態監控,就像tomcat的日誌文件,會隨著程式的運行,日誌會變化.

修改文件的內容

  vim 文件

vim的啟動命令:vim filename 打開vim並創建一個名為filename的文件

文件命令
打開單個文件 vim file
同時打開多個文件:vim file1,file2......
在vim視窗打開一個新文件:open file
在新視窗中打開文件:split file
切換到下一個文件:bn
切換到上一個文件:bp
查看當前打開的文件列表,當前正在編輯的文件會用[]括起來:args
打開遠程文件,比如ftp或者share folder

  :e ftp://192.168.10.76/abc.txt
  :e \\qadrive\test\1.txt

vim的模式

  正常模式(按ESC+[鍵進入)左下角顯示文件或為空
  插入模式(按i鍵進入)左下角顯示--INSERT--
  可視模式:左下角顯示--VISUAL--

vim的插入命令 

  i:在當前位置前插入
  I:在當前行首插入
  a:在當前位置後插入
  A:在當前行尾插入
  o:在當前行之後插入
  O:在當前行之前插入

vim的查找命令

  /text 查找text,按n鍵查找下一個,按N鍵查找前一個
  ?text 查找text,反向查找,按n鍵查找下一個,按N鍵查找前一個
  :set ignorecase 忽略大小寫的查找
  :set noignorecase不忽略大小寫的查找
  :set hlsearch 高亮搜索結果,所有結果都高亮顯示,而不是只顯示一個匹配
  :set nohlsearch關閉高亮搜索顯示
  查找很長的詞,如果一個詞很長,鍵入麻煩,可以將游標移動到該詞上,按*或者#鍵

即可以該單詞進行搜索,相當於/搜索,而#命令相當於?搜索

vim的替換命令

  

  ra 將當前字元替換為a,當前字元即游標所在字元
  s/old/new/ 用old替換new,替換當前行的第一個匹配
  s/old/new/g 用old替換new,替換當前行的所有匹配
  %s/old/new/ 用old替換new,替換所有行的第一個匹配
  %s/old/new/g 用old替換new,替換整個文件的所有匹配
  ddp 交換游標所在行和其下緊鄰的一行

vim的移動命令

  h左移一個字元
  l右移一個字元(一般用w代替)
  k上移一個字元
  j下移一個字元

以上四個命令可以配合數字使用,比如20j就是向下移動20行

  w向前移動一個單詞,如果已到行尾,則轉至下一行行首,此命令塊,可以代替l命令
  b向後移動一個單詞,3b向後移動三個單詞
  ^移動到本行第一個非空白字元上
  0(數字0)移動到本行第一個字元上
  $移動到行尾
  gg移動到文件頭
  G移動到文件尾
  f(find)命令也可以用於移動,fx將找到游標後第一個x的字元,3fd將找到第三個為d的字元
  F,同f,反向查找
  :10+回車:就是跳轉到10行,10G跳轉到10行
  Ctrl + e向下滾動一行
  Ctrl + y向上滾動一行
  Ctrl + d向下滾動半屏
  Ctrl + u向上滾動半屏
  Ctrl + f向下滾動一屏
  Ctrl + b向上滾動一屏

vim的撤銷和重做

  u(Undo)撤銷
  U撤銷整行的操作
  Ctrl + r重做

vim的刪除命令

  x 刪除當前行
  3x 刪除當前游標開始向後三個字元
  X刪除當前字元的前一個字元
  dl刪除當前字元
  dh刪除當前一個字元
  dd刪除當前行
  dj刪除上一行
  dk刪除下一行
  10d刪除當前行開始的10行
  D刪除當前字元至行尾
  d$刪除當前字元之後的所有字元(本行)
  kdgg刪除當前行之前所有行(不包括當前行)
  jdG(jd+shift+g)刪除當前行之後的所有行
  :1,10d:刪除1-10行
  :11,$d:刪除11行以及後面的所有行
  :1,$d:刪除所有行
  J:合併兩行

vim的拷貝和粘貼

  yy拷貝當前行
  nyy拷貝當前行開始的n行
  p在當前游標後粘貼,如果之前使用了yy命令來複制一行,那麼就在當前行的下一行進行粘貼
  P在當前行前粘貼
  :1,10 co 20 將1-10行插入到第20行
  :1,$ co $將整個文件複製一份並添加到末尾
  ddp交換當前行和其下一行
  xp交換當前字元和其後一個字元

vim的剪切命令

  正常模式下按v(逐字)或V(逐行)進入可視模式,然後用jklh命令移動即可選擇某些行或字元,再按d即可剪切
  ndd剪切當前行之後的n行,利用p命令可以對剪切的內容進行粘貼
  :1,10d將1-10行剪切,利用p命令可將剪切後的內容進行粘貼
  :1,10 m 20將第1-10行移動到20行之後

vim退出命令

  :wq保存並退出
  :ZZ保存並退出
  :q!強制退出並忽略所有更改
  :e!放棄所有更改,並打開原來文件

vim的視窗命令

  :split或new 打開一個新視窗,游標在頂層的視窗上
  :split file或:new file 用新視窗打開文件
  split打開的視窗都是橫向的,使用vsplit可以縱向打開視窗
  Ctrl + ww 移動到下一個視窗
  Ctrl + wj 移動到下方的視窗
  Ctrl + wk 移動到上方的視窗
  :close 最後一個視窗不能使用此命令,可以防止意外退出vim
  :q 如果是最後一個被關閉的視窗,那麼將退出vim

vim執行shell命令

  :!ls 列出當前目錄 下文件
  :!perl -c script.pl 檢查perl腳本語法,可以不用退出vim
  :!perl scrip.pl 執行perl腳本,可以不用退出vim
  :suspend或Ctrl + Z 掛起vim,回到shell,按fg可以返回vim

vim的註釋命令

  perl程式中#開始的行為註釋,所以要註釋某些行,只需在行首加入#
  3,5 s/^/#/g 註釋第3-5行
  3,5 s/^/#//g 解除3-5行的註釋
  1,$ s/^/#/g 註釋整個文檔
  :%s/^/#/g 註釋整個文檔,

vim的幫助命令

  :help or F1 顯示整個幫助
  :help xxx 顯示xxx的幫助
  :help 'number' vim選項的幫助用單引號括起
  :help<Esc> 特殊鍵的幫助用<>擴起
  :help -t vim啟動參數的幫助用-

vim其他非編輯命令

  .重覆前一次命令
  :set ruler? 查看是否設置了ruler,在.vimrc中,使用set命令設置的選項都可以通過這個命令查看
  :scriptnames 查看vim腳本文件的位置,比如.vimrc文件,語法文件及plugin等.
  :set list 顯示非列印字元,如tab,空格,行尾,如果tab無法顯示,請確定用set
  :syntax 列出已經定義的語法項
  :syntax clear 清除已定義的語法規則
  :syntax case match 大小寫敏感,int和Int將視為不同的語法元素
  :syntax case ignore 大小寫無關,int和Int將視為相同的語法元素,並使用同樣的配色方案

5.打壓文件的操作命令

  linux中的打包文件一般是以.tar結尾的,壓縮的命令一般是以.gz結尾的,而一般情況下打包和壓縮是一起進行的,
打包並壓縮後的文件的尾碼名一般.tar.gz

  tar -zcvf 打包壓縮後的文件名 要打包壓縮的文件,z代表用gzip壓縮命令進行壓縮,c代表打包文件,v顯示運行過程,f代表指定文件名
tar -zcvf xxx.tar.gz a.txt b.txt:打包當前目錄下的a.txt和b.txt文件成名為xxx.tar.gz壓縮文件

  解壓壓縮包:tar -xvf,x代表解壓,
  tar -xvf xxx.tar.gz:將當前目錄下名為xxx.tar.gz的壓縮文件解壓
  tar -xvf xxx.tar.gz -C/usr,C代表指定解壓的位置,這段代表將這個文件解壓到usr文件下

6.其他命令

  pwd:顯示當前所在位置

  grep要搜索的字元串,要搜索的文件

grep to test.conf:搜索當前目錄下的test.conf文件中的包含字元串to的行

  | 將前一個命令的輸出作為本次目錄的輸入

ps -ef | grep system :代表乍看當前系統中所有的進程中包括system字元串的進程

  ps -ef 查看當前系統中運行的進程

  kill -9 進程的pid 殺死進程

7.網路通信命令 

  查看當前系統的網卡信息:ifconfig
  查看與某台機的連接情況:ping
  查看當前系統的埠使用:netstat -an

8.linux的許可權命令

  每個文件/目錄等都具有許可權,通過ls -|命令我們可以查看某個目錄下的文件或目錄的許可權
  r讀取權
  w寫入權
  x執行權
  -無操作權
  最前面的符號:d代表目錄,-代表文件,|代表連接(可以認為是window中的快捷方式)

chmod u=rwx,g=rw,o=r aaa.txt:代表修改當前目錄下aaa.txt文件的許可權為屬主有全部許可權,屬組所在的組有讀寫許可權,其他用戶為只讀


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這個標題夠直接了吧,夠坦誠了吧,也許你在項目里這三個東西都沒有用到,但這三個東西在未來的兩年裡將成為最HOT的技術,它們不是什麼框架,也不是什麼設計模式,而是做為程式和環境快速部署而設計出來的,為的就是解決未來超級複雜的開發環境的部署工作,對於這三個東西,大叔最近也在研究與實踐,並現時會總結出一些東 ...
  • 在UNIX系統中,僵屍進程是指完成執行(通過exit系統調用,或運行時發生致命錯誤或收到終止信號所致)但在操作系統的進程表中仍然有一個表項(進程式控制制塊PCB),處於”終止狀態“的進程。這發生於子進程需要保留表項以允許其父進程讀取子進程的exit status:一旦退出態通過wait系統調用讀取,僵屍 ...
  • 一、GIT的定義——分散式版本控制系統 二、Git的功能特性: 1、從一般開發者的角度來看,git有以下功能: 二、Git的功能特性: 1、從一般開發者的角度來看,git有以下功能: 二、Git的功能特性: 1、從一般開發者的角度來看,git有以下功能: [1]、從伺服器上克隆完整的Git倉庫(包括 ...
  • 1.掛載iOS鏡像(先打開VM 選擇虛擬機————>設置——>CD ————>使用ISO鏡像文件 用瀏覽打開) 2.開始界面選擇 3出現下麵的界面 這是提示你是否掃描文件的完整性 我們一般在這裡選擇skip (這裡用方向鍵選擇 回車確定 ) 4.這裡是一個歡迎界面 直接next 5.本次安裝使用中文 ...
  • 1.安裝web環境,使用LNMP一鍵安裝包具體安裝步驟參考https://lnmp.org/install.html 2.安裝完成後,安裝LNMP缺少的組件ionCube組件安裝進入lnmp解壓後的目錄,執行:./addons.sh install ionCube 回車確認後就會自動安裝ionCub ...
  • 昨天遇到一個很奇怪的事情,有一臺伺服器在使用su - root命令切換到root賬號時,老是報密碼不正確。但是root密碼完全是正確的,而且可以使用賬號密碼直接ssh登錄伺服器。很是納悶,如下所示: [oracle@DB-Server ~]$ more /etc/redhat-release Red... ...
  • 傳說:所有在“<>”里的東西都是要被替換的,例如:<文件名> > iLovePeanuts.txt 命令行里不要包含“=”號 “..”代表一條命令行可以作用於不止一個文件,例如:rm file.txt file2.txt movie.mov .. .. 基本命令行 CTRL L = 清空終端 CTR ...
  • 在進程列表的下麵,有個show processes in all sessions(顯示所有用戶的進程(U)),把它勾上就能看到了 ,就是這麼簡單。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...