導航:首頁 > 操作系統 > 取消行號linux

取消行號linux

發布時間:2023-03-09 11:39:58

『壹』 在linux中,如何顯示、取消行號

不知道你說的是不是vi里的顯示行號,如是的話可以用下面方法:
:set number。關於這個linux系統的學習,我一直看《linux就該這么學》。

『貳』 Linux下vim編輯器命令大全

vim可以分為三種狀態,分別是 命令行模式(command mode) 、 輸入模式(Insert mode) 和 底行模式(last line mode) ,這 3 種工作模式可隨意切換,如下圖所示。

使用vim編輯文件時,默認處於命令行模式。此模式下,可使用方向鍵(上、下、左、右鍵)或 k、j、h、i 移動游標的位置,還可以對文件內容進行復制、粘貼、替換、刪除等操作。

下圖所示是vim處於命令行模式的狀態示意圖。

在輸入模式下,vim可以對文件執行寫操作,類似於在Windows系統的文檔中輸入內容。

使vim進行輸入模式的方式是在命令模式狀態下輸入 i 、 I 、 a 、 A 、 o 、 O 等插入命令(各指令的具體功能下表所示),當編輯文件完成後按 esc 鍵即可返回命令模式。

下圖所示為vim處於輸入模式模式下的示意圖。

底行模式用於對文件中的指定內容執行保存、查找或替換等操作。

使vim切換到底行模式的方法是在 命令行模式 狀態下按 : 鍵(注意是英文符號),此時vim窗口的左下方出現一個 : 符號,這是就可以輸入相關指令進行操作了。

指令執行後vim會自動返回命令行模式。如想直接返回命令行模式,按 esc 即可。

下圖所示為vim進入底行模式後的狀態。

對於新手來說,經常不知道自己處於什麼模式。不論是自己忘了,還是不小心切換了模式,都可以按一次 esc 鍵返回命令行模式。如果你多按幾次 esc 鍵後聽到"嘀————"的聲音,則代表你已經處於命令行模式了。

打開文件

打開文件時游標處於文件尾部

打開文件時,游標定位到第幾行

字元移動

這些移動鍵都可以加上數字(5h:向左移動5個字元格)

單詞移動

行內跳轉

行間移動

在底行模式下,直接給出行號,實現跳轉

用法:起始地址,結束地址 s @要替換內容@替換後內容@gi(@分隔符)

例 :1,$s/a/A/g 把文件中全部的a換替換成A,全局替換

顯示取消行號

設定自動縮進(寫腳本時)

查找到的文本高亮顯示

語法高亮

/etc/vimrc :全局配置文件,永久有效
~/.vimrc :個人配置文件,每個用戶的家目錄中,若不存在,手動創建

對於第一次用vim的童鞋,有幾點需要提醒一下:

『叄』 Linux相關使用介紹

Linux命令分為內部命令(shell自帶的命令)和外部命令(不是shell自帶的命令,由用戶安裝),怎麼鑒別是內部命令和外部命令呢?可以通過type命令來鑒別
什麼是shell呢?shell是一個程序,常用的有bash shell,平時我們通過用戶名和密碼登錄到linux,其實就是登錄到bash shell程序,通過bash shell來操作linux內核

命令執行流程

那豈不是說使用外部命令效率會很慢嗎?
其實一點都不慢,它會去PATH環境變數設置的一堆目錄中查找

cd is a shell builtin 表示內部命令
ifconfig is hashed (/usr/sbin/ifconfig) 表示外部命令

cd命令切換文件夾
現在我們cd /usr/sbin

通過cat命令查看文件內容
通過cat ifconfig來查看ifconfig,發現是亂碼文件

file命令查看文件類型
輸入file ifconfig

從輸出信息可以看出它是一個二進制可執行文件

whereis命令查看文件位置

find / -name jdk

echo命令用戶列印信息,相當於java中的system.out.println

可以使用回車查看下一行、空格查看下一頁、q退出

一般使用man查看外部命令,help查看內部命令

查看linux下的應用和應用的進程號

當我們在這個窗口中輸入kill -9 1593的話,另外一個正在編輯文件的進程就會退出

在前面我們已經講過,bash shell程序在執行命令的一個過程及原理,對於外部命令,它會去PATH這個環境變數中查找執行命令所在的路徑,當然在去PATH中尋找之前會先去hash表中查找這個命令有沒有執行過,執行過的話會記錄在hash表中,則此次查找只需從hash表中就可以很方便的找到

查看分區信息 -h 表示文件大小後面會顯示文件大小

查看文件的使用情況

使用man ls 查看ls命令的相關介紹
-a:可以查看隱藏文件
-l:以長列表的形式展示文件列表信息

第一位 -:表示文件,d表示文件夾,b表示塊設備文件,c表示字元設備文件,p表示命令管道文件,s表示套接字文件, 從第二位開始往後數九位表示屬主許可權(每三位一組 rwx:讀、寫、執行),第11位表示的點表示分隔符,點後面的數字表示文件有幾個硬連接,第一個root代表屬主名,第二個root代表這個第一個root所在的組織,接下來的5表示文件大小,5後面的日期表示文件最後一次修改的時間, 1.txt代表的文件或文件夾的名稱
小結:

切換文件目錄
cd 文件路徑
cd:切換到家目錄
cd ~:回到家目錄(也就是家目錄)
cd ..:回到上一級目錄

創建目錄
mkdir 目錄名
mkdir -p 目錄名,級聯創建目錄

cp 被拷貝的文件(可以是路徑加文件名) 拷貝到哪個位置

復制目錄使用
cp -r 被拷貝的目錄 目標位置

移動命令
mv 被移動的文件 目標位置+目標文件名

rm 文件名(此中方式的刪除需要再輸入 yes)
rm -f 文件名,無提示直接刪除
rm -rf 文件夾

ln命令默認創建的是硬連接

ln profile a:將a硬連接到profile文件上,他們底層共用一個文件,刪除他們之中任何一個
對另外一個沒有影響,同時你也可以使用 ll -i命令查看文件編號

ln -s profile a:將a軟連接到profile文件,當你訪問a的時候會去訪問profile,profile再訪問底層文件,當將profile刪除了之後a就無法訪問了

一致時間、創建新文本
touch 已存在的文件:會將文件的訪問時間、更新時間、改變時間(即上面stat中介紹的三個時間)變成一致
touch 不存在的文件:會創建一個新的文本

cat命令查看文件內容
cat 1.txt:查看單個文件內容
cat 1.txt 2.txt:查看多個文件

more 1.txt:以分頁的形式查看文件內容,按空格:下一頁,回車:下一行(注意它不能回看,回看的話只能用滑鼠回輪)

less 1.txt:使用空格下一頁, b看上一頁, 回車看下一行
注意less的話會把整個文件內容載入到內存,如果文件比較大的話,建議使用more命令查看

head命令默認查看文件前10行內容, head 1.txt
head -5 1.txt:查看文件前5行的內容

tail命令默認查看文件後10行的內容 tail 1.txt
tail -5 1.txt:查看文件後5行內容
tail -f 1.txt:實時查看文件增量內容

cat b.txt | head -3:管道左邊的命令會以輸出流的形式交給管道右邊的命令,管道右邊以輸入流的形式接收並且拼到命令的右邊

注意:ls -l 不能接受前面的輸出流,這個怎麼辦呢?可以通過xargs命令

vi文本編輯器末行模式的操作

set nu(number的縮寫): 設置行號
set nonu(nonumber的縮寫):取消行號
set readonly:設置為只讀

n:往下查找
N:往上查找

n:往上查找
N:往下查找

一般我們會在/etc/profile文件中設置一些環境變數,但是在設置的時候可能沒有記住目錄,這時候我們可以使用如下方式

效果

格式 :s/str1/str2/gi
/ : 臨近s命令的第一個字元邊界字元,也可以是 @或#
g : 一行內全部替換
i : 忽略大小寫

范圍
n:行號
. :當前游標行
+n :偏移n行
-3
%:全文

全部刪除 1,$d

刪除前三行

刪除倒數第2行

游標挪到最後一行 按下小寫的p
效果圖

正則表達式是對字元串操作的一種邏輯公式,就是用事先定義好的一些特殊字元、及這些特定字元的組合組成一個"規則字元串",這個"規則字元串"用來表達對字元串的一種過濾邏輯。

\ :轉義字元
. :匹配任意單個字元
[1249a] :匹配中括弧中任意字元
[^12] :匹配中括弧中任意非1和2的字元
[a-k] :匹配中括弧中任意a~k中的一個字元
^ :行首
$ :行尾
<abc> :單詞首尾邊界(匹配單詞abc)
| :連接操作符
(,) : 選擇操作符
\n :反向引用

? :匹配0到1次

在Linux中通過grep命令使用正則表達式來匹配信息

f :選擇顯示的列
s :不顯示沒有分隔符的行
d :自定義分隔符

n :按數值排序
r :倒序
t :自定義分隔符
K :選擇排序列
u :合並相同行
f :忽略大小寫

sed:行編輯器,以行為單位進行處理,可以將數據進行替換、刪除、新增、選取等特定工作

sed [options] 'Command' file ...

-n :靜默模式,不再默認顯示模式空間(內存)中的內容
-i :直接修改原文件
-e SCRIPT :可以同時執行多個腳本
-f /PATH/TO/SED_SCRIPT
-r :表示使用擴展正則表達式

d :刪除符合條件的行
p :顯示符號條件的行
a \string :在指定的行後面追加新行,內容為string
\n :可以用於換行
i \string :在指定的行前面添加新行,內容為string
c :取代,c的後面可以接字元串
s /pattern/string/修飾符:查找並替換。默認只替換每行中第一次被模式匹配到的字元串
g :行內全局替換
i :忽略字元大小寫
s///:s###,s@@@
(),\1,\2

sed "2p" ctxt
但是在執行下面的操作的時候文本中的內容都顯示出來了,它的原理是,列印匹配的行,以及文本中所有的內容

注意:它刪的是內存中的數據,而不是目標文件

sed -i "3d" ctxt

它的原理是先把內存中的第3行數據刪除,然後再把內存中的數據寫回原文件,這時原文件中的第三行就沒有了

使用變數的形式

awk是一個強大的文本分析工具。
相對於grep的查找,sed的編輯,awk在其對數據分析並生成報告時,顯得尤為強大。
簡單來說awk就是把文件逐行的讀入,(空格,製表符)為默認分隔符將每行切片,切開的部分再進行各種分析處理。

awk -F '{pattern + action}' {filenames}
支持自定義分隔符,默認是以空格分隔的
支持正則表達式匹配
支持自定義變數,數組 a[1] a[tom] map(key)
支持內置變數
ARGC 命令行參數個數
ARGV 命令行參數排列
ENVIRON 支持隊列中系統環境變數的使用
FILENAME awk瀏覽的文件名
FNR 瀏覽文件的記錄數
FS 設置輸入域分隔符,等價於命令行 -F選項
NF 瀏覽記錄的域的個數
NR 已讀的記錄數
OFS 輸出域分隔符
ORS 輸出記錄分隔符
RS 控制記錄分隔符
支持函數
print、split、substr、sub、gsub
支持流程式控制制語句
if、while、do/while、for、break、continue

練習題
passwd文件內容解讀:
passwd文件中每行由7個欄位組成,欄位與欄位之間由:分隔,第一個欄位代表用戶名,第二個欄位表示用戶對應的加密後的密碼,第三個欄位表示userId,第四個欄位表示groupId,第五個欄位表示對用戶的描述,第六個欄位表示用戶的家目錄,第七個欄位表示的是這個用戶默認使用的shell

其中$0表示整行

統計報表:合計每人1月工資, 0:manager,1:worker

將awk後面的內容封裝到一個文件中(封裝的腳本要遵循一定的格式)

qqq文件的內容格式

『肆』 Linux命令

命令格式: 命令 [-選項] [參數]

如:ls -la /usr

**說明: **

大部分命令遵從該格式

多個選項時,可以一起寫 eg:ls –l –a à ls –la

簡化選項與完整選項(註:並非所有選項都可使用完整選項) eg:ls –all à ls –a

作用:切換用戶身份

語法:su [選項] 用戶名

-c 僅執行一次命令,而不切換用戶身份

$ su – root

env

$ su – root –c 「useradd longjing」

文件或目錄的CRUD

英文:change directory 命令路徑:內部命令 執行許可權:所有用戶

作用: 切換目錄

語法:cd [目錄] / 切換到根目錄

.. 回到上一級目錄

. 當前目錄

~ 當前用戶的宿主目錄(eg:# cd ~用戶名 進入某個用戶的家目錄)

英文:list 命令路徑:/bin/ls 執行許可權:所有用戶

作用:顯示目錄文件

語法:ls [-alrRd] [文件或目錄]

-a all 顯示所有文件,注意隱藏文件,特殊目錄.和..

-l(long) 顯示詳細信息

-R(recursive) 遞歸顯示當前目錄下所有目錄

-r (reverse) 逆序排序

-t(time) 按修改時間排序(降序)

英文:print working directory 命令路徑:/bin/pwd 執行許可權:所有用戶

作用:顯示當前工作目錄

語法:pwd [-LP]

-L 顯示鏈接路徑,當前路徑,默認

-P 物理路徑

eg:# cd /etc/init.d

英文:make directories 命令路徑:/bin/mkdir 執行許可權:所有用戶

作用:創建新目錄

語法:mkdir [-p] 目錄名

-p 父目錄不存在情況下先生成父目錄 (parents)

eg: mkdir linux/test 如果目錄linux不存在,則報錯,使用參數-p即可自動創建父目錄。

命令路徑:/bin/touch 執行許可權:所有用戶

作用:創建空文件或更新已存在文件的時間

語法:touch 文件名

eg:touch a.txt b.txt touch {a.txt,b.txt} 同時創建多個文件

創建帶空格的文件 eg:touch "program files" 在查詢和刪除時也必須帶雙引號

注意:生產環境中,文件名,一定不要加空格

英文: 命令路徑:/bin/cp 執行許可權:所有用戶

作用:復制文件或目錄

語法:cp [–rp] 源文件或目錄 目的目錄

-r -R recursive 遞歸處理,復制目錄

-p 保留文件屬性 (原文件的時間不變)

eg:

1,相對路徑 cp –R /etc/* . cp –R ../aaa ../../test/

2,,絕對路徑 cp –R / ect/service /root/test/aa/bb

英文:move 命令路徑:/bin/mv 執行許可權:所有用戶

作用:移動文件或目錄、文件或目錄改名

語法:mv 源文件或目錄 目的目錄

英文:remove 命令路徑:/bin/rm 執行許可權:所有用戶

作用:刪除文件

語法: rm [-rf] 文件或目錄

-r (recursive)刪除目錄,同時刪除該目錄下的所有文件

-f(force) 強制刪除文件或目錄 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認

注意:工作中,謹慎使用rm –rf 命令。

擴展點 :刪除亂碼文件

一些文件亂碼後使用rm -rf 依然無法刪除

此時,使用ll -i 查找到文件的inode節點

然後使用find . -inum 查找到的inode編號 -exec rm {} -rf ;

就能順利刪除了

英文:concatenate 命令路徑:/bin/cat 執行許可權:所有用戶

作用:顯示文件內容

語法:cat [-n] [文件名]

-n 顯示行號

eg:cat /etc/services

命令路徑:/bin/more 執行許可權:所有用戶

作用:分頁顯示文件內容

語法:more [文件名]

空格或f 顯示下一頁

Enter鍵 顯示下一行

q或Q 退出

命令路徑:/usr/bin/head 執行許可權:所有用戶

作用:查看文件前幾行(默認10行)

語法:head [文件名]

-n 指定行數

eg:head -20 /etc/services head –n 3 /etc/services

命令路徑:/usr/bin/tail 執行許可權:所有用戶

作用:查看文件的後幾行

語法:tail [文件名]

-n 指定行數

-f (follow) 動態顯示文件內容

獲取一個大文件的部分文件,可使用head或tail命令

head -n 100 /etc/services >config.log

英文: link 命令路徑:/bin/ln 執行許可權:所有用戶

作用:產生鏈接文件

語法:

ln -s [源文件] [目標文件] 創建軟鏈接 源文件 使用 絕對路徑

ln [源文件] [目標文件] 創建硬鏈接

eg:ln -s /etc/service ./service.soft

創建文件/etc/service的軟鏈接service.soft

eg:/etc/service /service.hard

創建文件/etc/service的硬鏈接/service.hard

軟連接類似於windows下的快捷方式

軟連接文件格式:

lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service -> /etc/services

1 硬鏈接數量,如果該文件沒有硬鏈接,就只有本身一個硬鏈接。

13鏈接文件的長度

格式解析(特徵):

1, 軟連接的文件類型是 l(軟連接),軟連接文件的許可權 都是 lrwxrwxrwx

2,-> 箭頭指向到源文件

真正的許可權取決於對源文件的許可權

時間值為創建軟連接的時間

軟連接可以跨文件系統生成

硬鏈接特徵

1,相當於 cp -p +同步更新

2,通過i節點識別,與源文件有相同的inode節點

3,硬鏈接不能跨分區,ln /home/test/issuels /boot/test (錯誤)

4,不能針對目錄使用 ln /tmp/ aa.hard (無法將目錄/tmp 生成硬鏈接)

刪除軟連接

rm -rf symbolic_name

英文:manual 命令路徑:/usr/bin/man 執行許可權:所有用戶

作用:獲取命令或配置文件的幫助信息

語法:man [命令/配置文件]

eg:man ls man services

(查看配置文件時,不需要配置文件的絕對路徑,只需要文件名即可)

調用的是more命令來瀏覽幫助文檔,按空格翻下一頁,按回車翻下一行,按q退出。

使用/加上關鍵的參數可直接定位搜索, n 查找下一個,shift+n 查找上一個

eg: /-l 直接查看-l的介紹

擴展:man的級別 (幫助文檔的類型, 了解1 5即可)

man man-pages 查看每一種類型代表的含義 man文檔的類型(1~9)

1是命令,5是配置文件 man優先顯示命令,可指定幫助類型

eg:man 5 passwd (5代表配置文件級別)

[圖片上傳失敗...(image-6718d2-1624438708895)]

help 查看shell內置命令的幫助信息

eg:help cd

內置命令,使用whereis,which,man都不能查看

type 命令 查看內部命令還是外部命令

命令名 --help 列舉該命令的常用選項

eg: cp --help

命令路徑:/bin/find 執行許可權:所有用戶

作用:查找文件或目錄

語法:find [搜索路徑] [匹配條件]

如果沒有指定搜索路徑,默認從當前目錄查找

find命令選項

-name 按名稱查找 精準查找

eg:find /etc -name 「init」 在目錄/etc中查找文件init

-iname 按名稱查找

find查找中的字元匹配:

*:匹配所有

?:匹配單個字元

eg:find /etc -name 「init???」 在目錄/etc中查找以init開頭的,且後面有三位的文件

模糊匹配的條件,建議使用單引號或雙引號括起來。如果*被轉義,可使用 單雙引號括住查詢條件,或者使用*。

eg: # find . –name *g

-size ****按文件大小查找

以block為單位,一個block是512B, 1K=2block +大於 -小於 不寫是等於

eg:find /etc -size -204800 在etc目錄下找出大於100MB的文件

100MB=102400KB=204800block

**-type ** 按文件類型查找

f 二進制文件l 軟連接文件 d 目錄 c 字元文件

eg: find /dev -type c

find****查找的基本原則

佔用最少的系統資源,即查詢范圍最小,查詢條件最精準

eg:

如果明確知道查找的文件在哪一個目錄,就直接對指定目錄查找,不查找根目錄/

命令路徑:/bin/grep 執行許可權:所有用戶

作用:在文件中搜尋字串匹配的行並輸出

語法:grep [-cinv] '搜尋字元串' filename

選項與參數:

-c :輸出匹配行的次數(是以行為單位,不是以出現次數為單位)

-i :忽略大小寫,所以大小寫視為相同

-n :顯示匹配行及行號

-v :反向選擇,顯示不包含匹配文本的所有行。

eg:grep ftp /etc/services

eg:#grep -v ^# /etc/inittab 去掉文件行首的#號

eg:# grep -n 「init」/etc/inittab 顯示在inittab文件中,init匹配行及行號

eg:# grep -c「init」/etc/inittab 顯示在inittab文件中,init匹配了多少次

命令路徑:/usr/bin/which 執行許可權:所有用戶

作用: 顯示系統命令所在目錄(絕對路徑及別名)

which命令的作用是,在PATH變數指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令

alias ls='ls --color=auto'

/bin/ls

/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)

命令路徑:/usr/bin/whereis 執行許可權:所有用戶

作用:**搜索命令所在目錄 配置文件所在目錄 及幫助文檔路徑 **

eg: which passwd 和 whereis passwd

eg:查看/etc/passwd配置文件的幫助,就用 man 5 passwd

英文:GNU zip 命令路徑:/bin/gzip 執行許可權:所有用戶

作用:壓縮(解壓)文件,壓縮文件後綴為.gz

gzip只能壓縮文件,不能壓縮目錄;不保留原文件

語法:gzip 文件

-d將壓縮文件解壓(decompress)

解壓使用gzip –d或者 gunzip

命令路徑:/usr/bin/bzip2 執行許可權:所有用戶

作用: 壓縮(解壓)文件,壓縮文件後綴為.bz2

語法:bzip2 [-k] [文件]

-k:產生壓縮文件後保留原文件(壓縮比高)

-d 解壓縮的參數(decompress)

解壓使用bzip2 –d或者 bunzip2

命令路徑:/usr/bin/zip 執行許可權:所有用戶

作用: 壓縮(解壓)文件,壓縮文件後綴為.zip

語法:zip 選項[-r] [壓縮後文件名稱] [文件或目錄]

-r壓縮目錄

eg:zip services.zip /etc/services 壓縮文件;

zip -r test.zip /test 壓縮目錄

如果不加-r選項,壓縮後的文件沒有數據。

解壓使用unzip

命令路徑:/bin/tar 執行許可權:所有用戶

作用:文件、目錄打(解)包

語法:tar [-zcf] 壓縮後文件名 文件或目錄

-c 建立一個壓縮文件的參數指令(create),後綴是.tar

-x 解開一個壓縮文件的參數指令(extract)

-z 以gzip命令壓縮/解壓縮

-j 以bzip2命令壓縮/解壓縮

-v 壓縮的過程中顯示文件(verbose)

-f file 指定文件名,必選項

1, 單獨的打包 ,解包 tar –cf tar –xf

2, 打包之後,進行壓縮 gzip bzip2

3, 一步到位 tar –zcvf tar -zxvf

tar -cf -xf 單獨 壓縮 解壓縮

tar -z 以gzip打包目錄並壓縮 文件格式.tar.gz(.tgz)

tar -j 以bzip2打包目錄並壓縮 文件格式.tar.bz2

eg:tar -zcvf dir1.tar.gzdir1 使用gzip將目錄dir1壓縮成一個打包並壓縮文件dir1.tar.gz

eg: tar -cvf bak.tar . 將當前目錄的文件打包為bak.tar

eg: tar -xvf bak.tar 解壓

eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar使用gzip將打包文件bak.tar壓縮為bak.tar.gz

eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2將打包文件bak.tar壓縮為bak.tar.bz2

eg: tar -rvf bak.tar /etc/password 將/etc/password追加文件到bak.tar中(r)

eg:tar -cjvf test.tar.bz2 test 生成test.tar.bz2的壓縮文件

eg:tar -xjf test.tar.bz2 解壓

最常用: tar + gzip

tar –zcvf 壓縮

tar –zxvf 解壓

補充:

1,文件路徑, 壓縮包帶文件路徑

2,源文件是保留的,不會被刪除

**shutdown **[選項] 時間

選項: -c: 取消前一個關機命令

-h:關機

-r:重啟

eg:

shutdown -h now 立即關機 shutdown -h 20:30 定時關機

其他關機命令 halt poweroff init 0

其他重啟命令

**reboot **重啟系統 reboot -h now立即重啟

init 6

注意:生產環境中,關機命令和重啟命令謹慎執行。

善於查看man help等幫助文檔

利用好Tab鍵 自動補全

掌握好一些快捷鍵

ctrl + c(停止當前進程)

ctrl + z 掛起當前進程,放後台

ctrl + r(查看命令歷史) history

ctrl + l(清屏,與clear命令作用相同)

方向箭頭 上 下 可以查看執行過的命令

ctrl + a 行首 ctrl + e 行尾

ctrl + k 清除 ctrl+ w 清除單詞

vim/vi是Unix / Linux上最常用的文本編輯器而且功能非常強大。

只有命令,沒有菜單。

《大碗》編輯器版

周圍的同事不是用VI就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什麼插件呀、語法高亮呀、拼寫檢查呀,能給它開的都給它開著,就是一個字:酷!你說這么牛X的一東西,怎麼著學會也得小半年吧。半年!?入門都遠著呢!能學會移動游標就不錯了,你還別說耗不起,就這還是左右移動!!!

:

[圖片上傳失敗...(image-a08366-1624438708894)]

命令模式:又稱一般模式

編輯模式:又稱底行模式,命令行模式

|

命令

|

作用

|
|

a

|

在游標後附加文本

|
|

A(shift + a)

|

在本行行末附加文本 行尾

|
|

i

|

在游標前插入文本

|
|

I(shift+i)

|

在本行開始插入文本 行首

|
|

o

|

在游標下插入新行

|
|

O(shift+o)

|

在游標上插入新行

|

|

命令

|

作用

|
|

:set nu

|

設置行號

|
|

:set nonu

|

取消行號

|
|

gg

G

|

到第一行

到最後一行

|
|

nG

|

到第n行

|
|

:n

|

到第n行

|

|

命令

|

作用

|
|

:w

|

保存修改

|
|

:w new_filename

|

另存為指定文件

|
|

:w >> a.txt

|

內容追加到a.txt文件中 文件需存在

|
|

:wq

|

保存修改並退出

|
|

shift+zz(ZZ)

|

快捷鍵,保存修改並退出

|
|

:q!

|

不保存修改退出

|
|

:wq!

|

保存修改並退出(文件所有者可忽略文件的只讀屬性)

|

不保存並退出:

1, 有修改,但是修改後的內容是不保存的

2, 有突發情況,導致窗口退出。修改文件之後,直接刪除同名的.swp文件

|

命令

|

作用

|
|

x

|

刪除游標所在處字元 nx 刪除游標所在處後n個字元

|
|

dd

|

刪除游標所在行,ndd刪除n行

|
|

:n1,n2d

|

刪除指定范圍的行(eg :1,3d 刪除了123這三行)

|
|

dG

|

刪除游標所在行到末尾的內容

|
|

D

|

刪除從游標所在處到行尾

|

|

命令

|

作用

|
|

yy、Y

|

復制當前行

|
|

nyy、nY

|

復制當前行以下n行

|
|

dd

|

剪切當前行

|
|

ndd

|

剪切當前行以下n行

|
|

p、P

|

粘貼在當前游標所在行下 或行上

|

|

命令

|

作用

|
|

r

|

取代游標所在處字元

|
|

R(shift + r)

|

從游標所在處開始替換字元,按Esc結束

|
|

u

|

undo,取消上一步操作

|
|

ctrl+r

|

redo,返回到undo之前

|

|

命令

|

作用

|
|

/string

|

向後搜索指定字元串 搜索時忽略大小寫 :set ic

|
|

?string

|

向前搜索指定字元串

|
|

n

|

搜索字元串的下一個出現位置,與搜索順序相同

|
|

N(Shift + n)

|

搜索字元串的上一個出現位置,與搜索順序相反

|
|

:%s/old/new/g

|

全文替換指定字元串

|
|

:n1,n2s/old/new/g

|

在一定范圍內替換指定字元串

|

% 指全文,s 指開始,g 指全局替換

eg: :41,44/yang/lee/c 從41行到44行,把yang替換為lee,詢問是否替換

eg: :41,44/yang/lee/g 同上,不詢問,直接替換

使用替換命令來添加刪除注釋

:% s/^/#/g 來在全部內容的行首添加 # 號注釋

:1,10 s/^/#/g 在1~10 行首添加 # 號注釋

vi裡面怎麼查命令??

:!which cp

vi裡面怎麼導入命令的結果?

:r !which cp

v 可視字元模式

V****(shift+v) 可視行模式,選擇多行操作

**ctrl+v **可視塊模式(列模式),操作列

I或者O進入插入模式。

1,圖形化界面

2,setup 命令虛擬界面

3,修改配置文件(以網路方式為NAT示例)

vi /etc/sysconfig/network-scripts/ifcfg-eth0

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.2.129

NETMASK=255.255.255.0

GATEWAY=192.168.2. 2 #網段2任意,IP地址2固定,網段為vmnet8的設置的IP網段

DNS1=114.114.114.114

DNS2=8.8.8.8

重啟網路生效:

service network restart

命令路徑:/bin/ping 執行許可權:所有用戶

作用:測試網路的連通性

語法:ping 選項 IP地址

-c 指定發送次數

ping 命令使用的是icmp協議,不佔用埠

eg: # ping -c 3 127.0.0.1

英文:interface configure 命令路徑:/sbin/ifconfig 執行許可權:root

作用:查看和設置網卡網路配置

語法:ifconfig [-a] [網卡設備標識]

-a:顯示所有網卡信息

ifconfig [網卡設備標識] IP地址 修改ip地址

英文:network statistics 命令路徑:/bin/netstat 執行許可權:所有用戶

作用:主要用於檢測主機的網路配置和狀況

-a all顯示所有連接和監聽埠

-t (tcp)僅顯示tcp相關選項

-u (udp)僅顯示udp相關選項

-n 使用數字方式顯示地址和埠號

-l (listening) 顯示監控中的伺服器的socket

eg:# netstat -tlnu 查看本機監聽的埠

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN

協議 待收數據包 待發送數據包 本地ip地址:埠 遠程IP地址:埠

netstat –antpl

臨時生效:

hostname 主機名

[圖片上傳失敗...(image-ceed36-1624438708893)]

永久生效:修改配置文件

vi /etc/sysconfig/network

[圖片上傳失敗...(image-2b9d9e-1624438708893)]

修改主機名和ip地址之間的映射關系

vi /etc/hosts

192.168.2.120 node-1.e.cn node-1

可配置別名

[圖片上傳失敗...(image-ec86cf-1624438708893)]

進程和程序的區別:

1、程序是靜態概念,本身作為一種軟體資源長期保存;而進程是程序的執行過程,它是動態概念,有一定的生命期,是動態產生和消亡的。

2、程序和進程無一一對應關系。一個程序可以由多個進程共用;另一方面,一個進程在活動中有可順序地執行若干個程序。

進程和線程的區別:

進程: 就是正在執行的程序或命令,每一個進程都是一個運行的實體,都有自己的地址空間,並佔用一定的系統資源。

線程: 輕量級的進程;進程有獨立的地址空間,線程沒有;線程不能獨立存在,它由進程創建;相對講,線程耗費的cpu和內存要小於進程。

進程管理的作用?

判斷伺服器的健康狀態

查看系統所有的進程

殺死進程

作用:查看系統中的進程信息

語法:ps [-auxle]

常用選項

查看系統中所有進程

ps應用實例 # ps -u or ps -l 查看隸屬於自己進程詳細信息

作用: 查看當前進程樹

語法:pstree [選項]

-p 顯示進程PID

-u 顯示進程的所屬用戶

作用:查看系統健康狀態

顯示當前系統中耗費資源最多的進程,以及系統的一些負載情況。

語法:top [選項]

-d 秒數,指定幾秒刷新一次,默認3秒(動態顯示)

作用:關閉進程

語法:kill [-選項] pId

kill -9 進程號(強行關閉) 常用

kill -1 進程號(重啟進程)

添加用戶

語法:useradd [選項] 用戶名

修改密碼命令

語法:passwd [選項] [用戶名]

用戶密碼:生產環境中,用戶密碼長度8位以上,設置大小寫加數字加特殊字元,要定期更換密碼。

ys^h_L9t

刪除用戶

-r 刪除賬號時同時刪除宿主目錄(remove)

作用:用於查看Linux文件系統的狀態信息,顯示各個分區的容量、已使用量、未使用量及掛載點等信息。看剩餘空間

語法:df [-hkam] [掛載點]

-h(human-readable)根據磁碟空間和使用情況 以易讀的方式顯示 KB,MB,GB等 -k 以KB 為單位顯示各分區的信息,默認

-M 以MB為單位顯示信息 -a 顯示所有分區包括大小為0 的分區

作用:用於查看文件或目錄的大小(磁碟使用空間)

語法: [-abhs] [文件名目錄]

-a 顯示子文件的大小

-h以易讀的方式顯示 KB,MB,GB等

-s summarize 統計總佔有量

eg:
-a(all) /home 顯示/home 目錄下每個子文件的大小,默認單位為kb

-b /home 以bytes為單位顯示/home 目錄下各個子目錄的大小

-h /home 以K,M,G為單位顯示/home 文件夾下各個子目錄的大小

-sh /home 以常用單位(K,M,G)為單位顯示/home 目錄的總大小 -s summarize

df命令和命令的區別:

df命令是從文件系統考慮的,不僅考慮文件佔用的空間,還要統計被命令或者程序佔用的空間。

命令面向文件,只計算文件或目錄佔用的空間。

作用:查看內存及交換空間使用狀態

語法: free [-kmg]

選項:

-k: 以KB為單位顯示,默認就是以KB為單位顯示

-m: 以MB為單位顯示

-g: 以GB為單位顯示

清理緩存命令:

echo 1 > /proc/sys/vm/drop_caches

『伍』 在linux中使用vi 打開文件時,能顯示行號嗎

可以的

操作步驟如下:

1、在windows下,打開git bash

『陸』 5. Linux的vi/vim使用及常用快捷鍵

命令行下,輸入vim xxx.c就會進入vim一般模式,並開始編輯這個xxx.c的文件。

    使用vim xxx.c就會默認進入vim一般模式。

    在一般模式下,按下i鍵就會進入編輯模式,也稱INSERT MODE(插入模式)。

    編輯模式中,按ESC鍵會退出編輯模式回到一般模式。

    按下:鍵就會進入命令模式。

    按下ESC鍵回到一般模式。

    命令模式下,輸入

        :wq 這個命令再按回車鍵就會保存並退出vim(write and quit)

        :q 退出vim(不會保存)

        :q! 強制退出vim(不會保存)

    yy 拷貝當前行

    5yy 拷貝當前行及下面一共5行

    p 粘貼

    dd 刪除當前行

    4dd 刪除當前行及下面一共4行

    G 定位到最後一行

    gg 定位到第一行

    快速定位到指定行號:輸入一個數字然後按下G(shift+g)

    u 撤銷前一個操作

    /xx 按下回車就會在文件中查找xx,查到會高亮第一個字元,按n會查找下一個xx

    :set nu 顯示行號

    :set nonu 取消顯示行號

    

『柒』 linux命令全

linux基本命令:(其他的太多了,自己去網路吧)
ls:
-l:顯示詳細信息
-a:顯示隱藏文件和其他所有文件(以.開頭的為隱藏文件)
-t:安時間排序
-h:以KB MB 等單位顯示
-d:只列出目錄名,不列出其他內容
-R:遞歸顯示所有目錄及子目錄
-lath:選項可以合並

pwd:顯示當前所在位置

cd:轉換目錄
cd ..:返回上一級目錄
cd -:回到上一次操作的目錄

mkdir: 建目錄
-v:顯示所建目錄,相同可用{}:mkdir -v dir{1,2,3}
-p:創建多級目錄

rmdir:刪除空目錄

rm:刪除
-f:強制刪除無提示
-r:可刪除目錄

mv:移動 重命名

touch:建立空文件
file:驗證文件或目錄的類型

cp:復制,粘貼 ()改名
cp 原文件 目標文件
-r:可復制目錄
ssh 192.168.1.33 遠程登錄
跨機拷貝:scp -r /root/Server/ 192.168.1.253:/dcw

man 命令:幫助

alias:查看是否有別名
去掉別名用完整路徑
eg:
#which cp
#/bin/cp a.text b.text 或 \cp a.text b.text
或 在 /root/.bashrc 中去掉#alias cp='cp -i',後#unalias cp

查看某文件前4行內容並顯示文件路徑和文件名
[/usr/local/nagios]#ls /etc/vsftpd/vsftpd.conf && head -n 4 /etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.

linux tee 命令詳解
功能說明:讀取標准輸入的數據,並將其內容輸出成文件。

語法:tee [-ai][--help][--version][文件...]

補充說明:tee指令會從標准輸入設備讀取數據,將其內容輸出到標准輸出設備,同時保存成文件。

參數:
-a或--append 附加到既有文件的後面,而非覆蓋它.
-i-i或--ignore-interrupts 忽略中斷信號。
--help 在線幫助。
--version 顯示版本信息。
cat /etc/sysconfig/network
-n:查看行號信息

more:空格翻頁 回車換行

less:上下鍵翻頁 可以反復看(可以回翻頁)

head:顯示前幾行
head -5 install.log 顯示前5行

tail:顯示後幾行
tail -f 動態更新

grep:查看文件中包含關鍵字的一行
#grep --color=tty mp intstall.log 彩色顯示
正則表達式:^root 以root為開頭(^)
root$,以root結尾($)
-v:不包括的幾行(取反)
grep -n -v ^# /etc/vsftpd/vsftpd.conf
:r /root/install.log 追加讀入一個文件
:e 讀入文件
:e! 重新讀入
:q 不保存 :q!強制退出
:w 保存 :qw保存退出 :wq! 強制保存退出
在未寫入狀態時:
h 左 k 上 j下 l 右
shift+4($) 游標移到行尾 shift+6(^) 游標移到行頭
:50 來到50行
#vim /root/install.log +50(n)來到50行
:set nu 顯示行號
:set nonu 取消行號
shift+g 來到行尾
n(無顯示)+G:直接來到n行
shift+a:自動來到行尾輸入
:50,100 w bb.txt 保存50到100行的內容到bb.txt中
r :替換單個字元 R:替換全行
shift+o:向上插入 o:向下插入
yy 復制 p 粘貼
(n)2yy 復制前兩行
y^:復制從游標位置到開頭 y$:復制從游標位置到結尾
d:剪貼一行
dd:剪貼兩行
ndd:多行
d^:剪貼到開頭 d$:剪貼到結尾
:g/^$/d 去掉空行
:g/^\s*$/d 去空格
向左移動25個字元:25+l
:/ 查找 自上而下
:? 查找自下而上
n 下一個
替換:
:s/old/new 把舊的換為新的 單個
:s/old/new/g 整行替換
:%s/old/new/g 整個文件替換
:%s/old/new/gc 整個文件替換並詢問
u:替換上次命令
ctrl+r 重做

ctrl+^ 兩個切換
打開多個文件
vim a.txt b.txt c.txt
:args 可選
:next
:prev
:last

vim diff a.txt b.txt
ctrl+w+w 跳到第二個文件
:wqa

使用vimtutor工具聯系vim使用。
vimtutor工具使用方法:
vimtutor zh
如果出現亂馬,使用下面命令解決(只能執行一次)
cd /usr/share/vim/vim70/tutor
mv tutor.zh.euc tutor.zh.euc.bak
iconv -f gb2312 -t utf-8 tutor.zh.euc.bak > tutor.zh.euc
vimtutor zh

locate :空間換時間
updatedb
locate passwd

find [路徑] [參數] [表達式]
find /usr/share/doc -name filename
-user:根據文件擁有者尋找文件
-group:根據文件所屬組尋找文件
-name:根據文件名尋找文件
-perm:根據文件許可權尋找
-size:根據文件大小尋找
-type:根據文件類型尋找文件,參數對應c b l f d
find 的表達式使用通配符時需要使用「」圈界
find 目錄 條件 條件
[root@localhost ~]# find / -name "pass*"
當前目錄:.
find . -name "*ss*"
find . -type f(文件)
find . -type d(目錄)
[root@localhost ~]# find . -nouser(文件無屬主)
[root@localhost ~]# find . -nogroup(文件無屬組)
[root@localhost ~]# find /home/ -user/group user1
-exec
[root@localhost ~]# find . -nouser -exec rm {} \;
{}代表文件和目錄
\轉義字元
-ok
find . -nogroup -ok rm -rf {} \;有提示刪除

[root@localhost ~]# stat a
File: 「a」
Size: 0 Blocks: 0 IO Block: 4096 一般空文件
Device: 803h/2051d Inode: 261796 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2011-04-02 14:23:25.000000000 +0800(創建時間:-atime)
Modify: 2011-04-02 14:23:25.000000000 +0800(修改時間:-mtime)
Change: 2011-04-02 14:23:25.000000000 +0800(改變屬組屬主會變:-ctime)

find /root -mtime -5(5天以內) 5(5天時) +5(5天前)

find . -perm 400:要求許可權全部匹配,精確匹配
find . -perm +600(wr):有w,r中任意許可權的都會列出,即會列出200 400 600 的許可權
find . -perm -600 :要求許可權完全滿足 許可權大於等於600

-name -type
-name -user
-perm -type
-nouser
-nogroup
-mtime
-exec
-ok
-rgex(正則表達式)

閱讀全文

與取消行號linux相關的資料

熱點內容
gcc編譯消耗內存過多 瀏覽:279
昌邑網站製作源碼 瀏覽:127
單片機的反向編譯 瀏覽:463
subsample演算法 瀏覽:899
蘋果免費看書app哪個最好 瀏覽:885
c語言加密怎麼弄 瀏覽:842
c語言編譯的錯誤提示 瀏覽:767
驗機蘋果app哪個最好 瀏覽:666
光遇國際服安卓如何購買禮包 瀏覽:55
163app怎麼下載 瀏覽:247
電腦程序員下場 瀏覽:45
編譯原理ll1文法判斷 瀏覽:727
qt用vs2015編譯 瀏覽:553
結婚日子最好的演算法 瀏覽:794
安卓怎麼把數據傳到蘋果里 瀏覽:504
編譯器標識 瀏覽:792
編程珠璣第三章 瀏覽:785
windows如何開啟tftp伺服器 瀏覽:110
歐姆龍plc編程指令表 瀏覽:189
程序員遠程收入不穩定 瀏覽:863