一些有用的Linux命令和Vim使用總結

常見Linux命令##

文件復制,移動,刪除,創建

  • 復制:cp -v 源文件路徑 目標文件路徑
  • 移動:mv -v 源文件路徑 目標文件路徑
  • 刪除:

    • rm -v 文件路徑
  • rmdir -v 文件夾路徑(文件夾要為空)
  • rm -rv 文件夾路徑(遞歸刪除文件夾及其子文件)
  • 創建:

    • 創建文件夾:mkdir -v 文件夾名字(在當前目錄創建文件夾)

    • 創建文件:touch 文件路徑(創建一個空文件)

當前路徑相關

  • 顯示當前所在目錄: pwd
  • 切換目錄: cd 要切換的目錄
  • 顯示某個文件夾下文件:ls 文件夾路徑
  • 顯示某文件夾及其下面文件占用空間: du -sh 文件夾路徑

進程相關

  • 查看進程: ps -aux |grep 關鍵字(用于過濾查看,不然顯示太多)
  • 查看內存使用率:free -mh
  • 像win的任務管理器:top(這個命令會不斷刷新,按q可以退出)
  • 干掉進程:
  • kill 進程號
  • killall 進程名字 查看系統最近壓力:uptime(數字越小越好)

文件內容相關

  • 輸出文件所有內容:cat 文件路徑(請注意,如果文件內容太多,直接輸出,那就很尷尬了),cat命令簡單的說,有兩種:讀和寫

    • cat 接普通文件名,會把文件內容打印到屏幕;

    • cat > file,這個可以向文件“file”寫入內容,最后按 Ctrl + D 結束輸入,會將你輸入的數據保存到文件。

  • 輸出文件開頭幾行:head -n 輸出行數 文件路徑
  • 輸出文件結尾幾行:tail -n 輸出行數 文件路徑
  • 翻頁查看文件:more 文件路徑(只能不停往下翻頁)
  • 翻頁查看文件:less 文件路徑(可以上下翻頁)
  • 文件編輯:vim 文件路徑(這是神器也,具體用法自己查資料咯,實在太多功能了,三言兩語無法言盡)

軟件安裝

  • ubuntu: apt-get命令

  • centos:yum命令

Vim命令合集

命令歷史

:/開頭的命令都有歷史紀錄,可以首先鍵入:/然后按上下箭頭來選擇某個歷史命令。

啟動vim

在命令行窗口中輸入以下命令即可

  • vim 直接啟動vim
  • vim filename 打開vim并創建名為filename的文件

文件命令

  • 打開單個文件 vim file
  • 同時打開多個文件 vim file1 file2 file3 ...
  • 在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或Ctrl+[進入) 左下角顯示文件名或為空
  • 插入模式(按i鍵進入) 左下角顯示--INSERT--
  • 可視模式(不知道如何進入) 左下角顯示--VISUAL--

導航命令

  • % 括號匹配

插入命令

  • i 在當前位置生前插入
  • I 在當前行首插入
  • a 在當前位置后插入
  • A 在當前行尾插入
  • o 在當前行之后插入一行
  • O 在當前行之前插入一行

查找命令

  • /text  查找text,按n健查找下一個,按N健查找前一個。
  • ?text  查找text,反向查找,按n健查找下一個,按N健查找前一個。
  • vim中有一些特殊字符在查找時需要轉義  .*[]^%/?~$
  • :set ignorecase  忽略大小寫的查找
  • :set noignorecase  不忽略大小寫的查找
  • 查找很長的詞,如果一個詞很長,鍵入麻煩,可以將光標移動到該詞上,按*或#鍵即可以該單詞進行搜索,相當于/搜索。而#命令相當于?搜索。
  • :set hlsearch 高亮搜索結果,所有結果都高亮顯示,而不是只顯示一個匹配。
  • :set nohlsearch  關閉高亮搜索顯示
  • :nohlsearch  關閉當前的高亮顯示,如果再次搜索或者按下n或N鍵,則會再次高亮。
  • :set incsearch  逐步搜索模式,對當前鍵入的字符進行搜索而不必等待鍵入完成。
  • :set wrapscan  重新搜索,在搜索到文件頭或尾時,返回繼續搜索,默認開啟。

替換命令

  • ra 將當前字符替換為a,當期字符即光標所在字符。
  • s/old/new/ 用old替換new,替換當前行的第一個匹配
  • s/old/new/g 用old替換new,替換當前行的所有匹配
  • %s/old/new/ 用old替換new,替換所有行的第一個匹配
  • %s/old/new/g 用old替換new,替換整個文件的所有匹配
  • :10,20 s/^/ /g 在第10行知第20行每行前面加四個空格,用于縮進。
  • ddp交換光標所在行和其下緊鄰的一行。

移動命令

  • h 左移一個字符
  • l 右移一個字符,這個命令很少用,一般用w代替。
  • k 上移一個字符
  • j 下移一個字符

以上四個命令可以配合數字使用,比如20j就是向下移動20行,5h就是向左移動5個字符,在Vim中,很多命令都可以配合數字使用,比如刪除10個字符10x,在當前位置后插入3個!,3a!<Esc>,這里的Esc是必須的,否則命令不生效。

  • w 向后移動一個單詞(光標停在單詞首部),如果已到行尾,則轉至下一行行首。此命令快,可以代替l命令。
  • b 向前移動一個單詞 2b 向后移動2個單詞
  • e,同w,只不過是光標停在單詞尾部
  • ge,同b,光標停在單詞尾部。
  • ^ 移動到本行第一個非空白字符上。
  • 0(數字0)移動到本行第一個字符上,
  • <HOME>移動到本行第一個字符。同0健。
  • $ 移動到行尾 3$ 移動到下面3行的行尾
  • gg移動到文件頭。 = [[

-G(shift + g) 移動到文件尾。 = ]]

  • f(find)命令也可以用于移動,fx將找到光標后第一個為x的字符,3fd將找到第三個為d的字符。
  • F 同f,反向查找。

跳到指定行,冒號+行號,回車,比如跳到240行就是 :240回車。另一個方法是行號+G,比如230G跳到230行

  • Ctrl + e向下滾動一行
  • Ctrl + y 向上滾動一行
  • Ctrl + d 向下滾動半屏
  • Ctrl + u 向上滾動半屏
  • Ctrl + f 向下滾動一屏
  • Ctrl + b 向上滾動一屏

撤銷和重做

  • u 撤銷(Undo)
  • U 撤銷對整行的操作
  • Ctrl + r 重做(Redo),即撤銷的撤銷。

刪除命令

  • x 刪除當前字符
  • 3x 刪除當前光標開始向后三個字符
  • X 刪除當前字符的前一個字符。X=dh
  • dl 刪除當前字符, dl=x
  • dh 刪除前一個字符
  • dd 刪除當前行
  • dj 刪除上一行
  • dk 刪除下一行
  • 10d 刪除當前行開始的10行。
  • D 刪除當前字符至行尾。D=d$
  • d$ 刪除當前字符之后的所有字符(本行)
  • kdgg 刪除當前行之前所有行(不包括當前行)
  • jdG(jd shift + g) 刪除當前行之后所有行(不包括當前行)
  • :1,10d 刪除1-10行
  • :11,$d 刪除11行及以后所有的行
  • :1,$d 刪除所有行
  • J(shift + j)  刪除兩行之間的空行,實際上是合并兩行。

拷貝和粘貼

  • yy 拷貝當前行
  • nyy 拷貝當前后開始的n行,比如2yy拷貝當前行及其下一行。
  • p 在當前光標后粘貼,如果之前使用了yy命令來復制一行,那么就在當前行的下一行粘貼。
  • shift+p 在當前行前粘貼
  • :1,10 co 20 將1-10行插入到第20行之后。
  • :1,$ co $ 將整個文件復制一份并添加到文件尾部。

正常模式下按v(逐字)或V(逐行)進入可視模式,然后用jklh命令移動即可選擇某些行或字符,再按y即可復制

  • ddp 交換當前行和其下一行
  • xp 交換當前字符和其后一個字符

剪切命令

正常模式下按v(逐字)或V(逐行)進入可視模式,然后用jklh命令移動即可選擇某些行或字符,再按d即可剪切

  • ndd 剪切當前行之后的n行。利用p命令可以對剪切的內容進行粘貼
  • :1,10d 將1-10行剪切。利用p命令可將剪切后的內容進行粘貼。
  • :1, 10 m 20 將第1-10行移動到第20行之后。

退出命令

:wq 保存并退出

ZZ 保存并退出

:q!強制退出并忽略所有更改

:e!放棄所有修改,并打開原來文件。

窗口命令

  • :splitnew打開一個新窗口,光標停在頂層的窗口上
  • :split file:new file用新窗口打開文件
  • split打開的窗口都是橫向的,使用vsplit可以縱向打開窗口。
  • Ctrl+ww 移動到下一個窗口
  • Ctrl+wj 移動到下方的窗口
  • Ctrl+wk 移動到上方的窗口

關閉窗口

  • :close 最后一個窗口不能使用此命令,可以防止意外退出vim。
  • :q如果是最后一個被關閉的窗口,那么將退出vim。
  • ZZ 保存并退出。

關閉所有窗口,只保留當前窗口

  • :only

錄制宏

  • 按q鍵加任意字母開始錄制,再按q鍵結束錄制(這意味著vim中的宏不可嵌套),使用的時候@加宏名,比如qa。。。q錄制名為a的宏,@a使用這個宏。

執行shell命令

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

注釋命令

perl程序中#開始的行為注釋,所以要注釋某些行,只需在行首加入#

  • 3,5 s/^/#/g 注釋第3-5行
  • 3,5 s/^#//g 解除3-5行的注釋
  • 1,$ s/^/#/g 注釋整個文檔。
  • :%s/^/#/g 注釋整個文檔,此法更快。

幫助命令

  • :help or F1 顯示整個幫助
  • :help xxx 顯示xxx的幫助,比如 :help i, :help CTRL-[(即Ctrl+[的幫助)。
  • :help 'number' Vim選項的幫助用單引號括起
  • :help <Esc> 特殊鍵的幫助用<>擴起
  • :help -t Vim啟動參數的幫助用-
  • :help i_<Esc> 插入模式下Esc的幫助,某個模式下的幫助用模式_主題的模式
    幫助文件中位于||之間的內容是超鏈接,可以用Ctrl+]進入鏈接,Ctrl+o(Ctrl + t)返回

其他非編輯命令

  • . 重復前一次命令
  • :set ruler? 查看是否設置了ruler,在.vimrc中,使用set命令設制的選項都可以通過這個命令查看
  • :scriptnames  查看vim腳本文件的位置,比如.vimrc文件,語法文件及plugin等。
  • :set list 顯示非打印字符,如tab,空格,行尾等。如果tab無法顯示,請確定用set lcs=tab:>-命令設置了.vimrc文件,并確保你的文件中的確有tab,如果開啟了expendtab,那么tab將被擴展為空格。

Vim教程

  • 在Unix系統上 $ vimtutor
  • 在Windows系統上 :help tutor
  • :syntax 列出已經定義的語法項
  • :syntax clear 清除已定義的語法規則
  • :syntax case match 大小寫敏感,int和Int將視為不同的語法元素
  • :syntax case ignore 大小寫無關,int和Int將視為相同的語法元素,并使用同樣的配色方案

在git bush中如何退出vim編輯器

git bash創建文件和文件夾的命令如下:

  • 創建文件 vi
  • 創建文件 touch
  • 拷貝文件 cp
  • 移動文件 mv
  • 創建文件夾 mkdir
  • 另外還有好多命令能夠創建文件,之要該命令能夠重定向輸出到一個不存在的#文件,就會創建文件。例如tail -f -n 200 /usr/local/tomcat/logs/catalina.out > /tmp/tomcatlog.log

但是git bush使用vi命令創建文件時進入到vim編輯器后,我不知道怎么退出,查了下發現一個方法:


方法:一直按住esc ,再連續按大寫的z兩次就退出來了


但實際上,我發現,只要你按住shift鍵盤,下面的這些命令都可以用:

  • 如果你想編輯某個文檔 可以直接編輯的如你有文檔AA 可以用**vi AA **【注意:必須在AA所在的目錄下】
  • 如果沒有文檔而且你又想編輯就可以直接編輯vi aa【名字你可以隨便命名】
  • 也可以先建立一個文檔touch aa 然后再編輯vi aa
  • 編輯器有三種模式
    • 1 命令行模式
    • 2 末行模式
    • 3 輸入模式
  • Esc就可以進入命令行模式也是系統默認模式
  • 輸入模式可以按 o i a 都可以進入 退出可以進入末行和命令行模式
  • 末行模式可以按ctrl+;它的主要功能是退出編輯器 也可以保存退出文檔
  • q! 【強制退出不保存】 q【退出不保存】 wq【退出并保存后面也可以加個!】
  • 在輸入模式和命令行模式命令很多 如果你想具體知道哪些你可以在和我說
    如復制(yy)粘貼(p) 刪除(d)等等
  • 只是,用wq的時候,要先esc,然后按住shift鍵,出現下面這個界面時才可以輸入命令:
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 命令歷史 以:和/開頭的命令都有歷史紀錄,可以首先鍵入:或/然后按上下箭頭來選擇某個歷史命令。 啟動vim 在命令...
    im螞蟻閱讀 30,829評論 3 48
  • Ubuntu的發音 Ubuntu,源于非洲祖魯人和科薩人的語言,發作 oo-boon-too 的音。了解發音是有意...
    螢火蟲de夢閱讀 99,571評論 9 467
  • 1. vim 選擇文本,刪除,復制,粘貼 文本的選擇,對于編輯器來說,是很基本的東西,也經常被用到,總結如下:v ...
    路癡千行閱讀 3,324評論 0 0
  • vim 選擇文本,刪除,復制,粘貼 文本的選擇,對于編輯器來說,是很基本的東西,也經常被用到,總結如下: v 從...
    壹首簡單的歌閱讀 889評論 0 7
  • 第二天,喝了一晚上水的綠豆們,因為喝得太多水了,一個個把綠衣服都給撐破了,還露出了短短白白的小萌芽,太可愛了!
    小王子日記閱讀 249評論 0 1