溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

shell中常用的vi編輯命令有哪些

發(fā)布時(shí)間:2021-11-08 13:36:33 來(lái)源:億速云 閱讀:410 作者:小新 欄目:建站服務(wù)器

這篇文章主要介紹shell中常用的vi編輯命令有哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

1、常用的vi編輯命令

  • 模式切換

    shell中常用的vi編輯命令有哪些

  • 搜索:進(jìn)入尾行模式, /關(guān)鍵詞 回車(chē)自動(dòng)匹配  按N鍵找尋下一個(gè)

  • 行號(hào)設(shè)置 :進(jìn)入尾行模式  設(shè)置行號(hào):set nu  取消行號(hào):set nonu

  • 命令行模式常見(jiàn)的快捷鍵:
    dd:刪除當(dāng)前行
    dG:刪除光標(biāo)當(dāng)前及以下的所有行
    ndd:刪除光標(biāo)當(dāng)前及以下的n行
    gg:跳轉(zhuǎn)到第一行的第一個(gè)字母
    G:跳轉(zhuǎn)到最后一行的第一個(gè)字母
    shift+$ 行尾

  • 注意:剛進(jìn)行命令行模式想進(jìn)行粘貼文件內(nèi)容時(shí),一點(diǎn)要先按 i 鍵后再進(jìn)行粘貼,否則會(huì)丟失文件內(nèi)容;

  • 注意:編輯或者調(diào)優(yōu)配置文件前,一定要進(jìn)行備份

2、系統(tǒng)命令

  • 查看磁盤(pán)

[root@hadoop ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_hadoop-lv_root
                       50G  3.8G   43G   8% /
tmpfs                 996M     0  996M   0% /dev/shm
/dev/sda1             477M   42M  410M  10% /boot
/dev/mapper/vg_hadoop-lv_home
                       94G  2.3G   87G   3% /home
/dev/sr0              3.7G  3.7G     0 100% /mnt/cdrom
  • 查看內(nèi)存  (擴(kuò)展內(nèi)容:http://blog.itpub.net/30089851/viewspace-2131678/)

[root@hadoop ~]# free -h
             total       used       free     shared    buffers     cached
Mem:          1.9G       691M       1.3G       256K        46M        74M
-/+ buffers/cache:       570M       1.4G 
Swap:         3.9G         0B       3.9G
  • 查看負(fù)載

[root@hadoop ~]# top
top - 23:04:17 up 14 min,  2 users,  load average: 0.04, 0.01, 0.00
Tasks: 150 total,   1 running, 149 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   2039008k total,   707992k used,  1331016k free,    47688k buffers
Swap:  4095996k total,        0k used,  4095996k free,    76636k cached
   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                           
   866 root      20   0     0    0    0 S  4.7  0.0   0:01.14 vmmemctl                                                           
    21 root      20   0     0    0    0 S  0.3  0.0   0:00.55 events/2                                                           
     1 root      20   0 19364 1536 1228 S  0.0  0.1   0:01.28 init                                                               
     2 root      20   0     0    0    0 S  0.0  0.0   0:00.01 kthreadd                                                           
     3 root      RT   0     0    0    0 S  0.0  0.0   0:00.01 migration/0
  • 案例:負(fù)載控制

[root@hadoop ~]# top
top - 23:04:17 up 14 min,  2 users,  load average: 0.04, 0.01, 0.00

    注意:負(fù)載均衡的數(shù)值不能超過(guò)10,即:load average: 0.04, 0.01, 0.00,后面這三個(gè)值別超過(guò)10,超過(guò)10表示當(dāng)前機(jī)器繁忙

  • 舉例:

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
   177   root       20       0       0          0       0      S    50%      70%     0:34.13    xxxx   去看看xxx這個(gè)進(jìn)程是做什么
   1777  root      20       0       0          0       0      S   3908%   80%     0:34.13    hbase regionserver 

    上面案例描述中有兩個(gè)問(wèn)題

    (1)如果某服務(wù)長(zhǎng)期占用cpu或者men,去檢查這個(gè)進(jìn)程是在做什么

    (2)如果cpu飆升3000%以上,夯住 ,代碼級(jí)別,如果不是自己編寫(xiě)的代碼,大概率硬件級(jí)別-->內(nèi)存條壞了

              排查其他都沒(méi)問(wèn)題,重啟機(jī)器吧

3、查看進(jìn)程、查看端口號(hào)

  • 查看進(jìn)程:ps -ef  查看這臺(tái)服務(wù)器后臺(tái)所運(yùn)行的進(jìn)程,可以使用管道符進(jìn)行篩選,最后一條記錄表示的當(dāng)前的查詢(xún)進(jìn)程

[root@hadoop ~]# ps -ef | grep ssh
#進(jìn)程用戶(hù) 進(jìn)程的pid 父id            進(jìn)程用戶(hù)的內(nèi)容(進(jìn)程所屬的目錄)
root       2081      1  0 22:49 ?        00:00:00 /usr/sbin/sshd
root       2367   2081  0 22:50 ?        00:00:00 sshd: root@pts/0 
root       2395   2081  0 22:54 ?        00:00:00 sshd: hadoop [priv]
hadoop     2397   2395  0 22:54 ?        00:00:00 sshd: hadoop@pts/1
root       2534   2369  0 23:38 pts/0    00:00:00 grep ssh
  • 過(guò)濾掉自己當(dāng)前查詢(xún)的進(jìn)程: -v表示過(guò)濾

[root@hadoop ~]# ps -ef | grep ssh | grep -v grep
root       2081      1  0 22:49 ?        00:00:00 /usr/sbin/sshd
root       2367   2081  0 22:50 ?        00:00:00 sshd: root@pts/0 
root       2395   2081  0 22:54 ?        00:00:00 sshd: hadoop [priv]
hadoop     2397   2395  0 22:54 ?        00:00:00 sshd: hadoop@pts/1
  • 查看端口號(hào):netstat -nlp 查詢(xún)所有的端口號(hào),結(jié)合grep篩選自己想要的端口號(hào)

[root@hadoop ~]# ps -ef | grep ssh | grep -v grep
root       2081      1  0 22:49 ?        00:00:00 /usr/sbin/sshd
root       2367   2081  0 22:50 ?        00:00:00 sshd: root@pts/0 
root       2395   2081  0 22:54 ?        00:00:00 sshd: hadoop [priv]
hadoop     2397   2395  0 22:54 ?        00:00:00 sshd: hadoop@pts/1
[root@hadoop ~]# netstat -nlp |grep 2397   #沒(méi)有顯示代表沒(méi)有端口號(hào)
[root@hadoop ~]# netstat -nlp |grep 2081   #端口號(hào):22
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      2081/sshd           
tcp        0      0 :::22                       :::*                        LISTEN      2081/sshd           
[root@hadoop ~]# netstat -nlp |grep 2395
[root@hadoop ~]#

        通過(guò)pid找port(端口號(hào)):因一個(gè)服務(wù)沒(méi)有端口號(hào)都能運(yùn)行
        1: 啟動(dòng)一個(gè)進(jìn)程 ps 必須
        2: 可能啟動(dòng)一個(gè)port  netstat 不是必須

  • 在centos部署大數(shù)據(jù)組件,發(fā)現(xiàn)一個(gè)錯(cuò)誤 Connection refused 

    (1)防火墻 web  iptables

        (2)ping ip 測(cè)試ip

        (3)telnet ip port 測(cè)試ip和端口號(hào)   (注:在Windows7 中telnet要單獨(dú)部署,下面介紹命令部署)

  • 部署telnet命令

window  cmd黑窗口 不帶 telnet命令 ,需要去安裝一下 重啟電腦

shell中常用的vi編輯命令有哪些

  • Linux部署Telnet命令

[root@hadoop ~]# yum install -y telnet
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.cn99.com
 * updates: mirrors.163.com
base                                                               | 3.7 kB     00:00     
extras                                                             | 3.4 kB     00:00  
...
Installed:
  telnet.x86_64 1:0.17-48.el6                                                             
Complete!
[root@hadoop ~]# which telnet
/usr/bin/telnet

4、高危命令

  • rm -rf /

  • vi 生產(chǎn)配置文件 100行 保存==》 cp xxx.xml xxx.xml20191117

  • kill -9 

kill -9 進(jìn)程pid
kill -9 進(jìn)程pid 進(jìn)程pid 進(jìn)程pid
kill -9 $(pgrep -f 匹配關(guān)鍵詞)
ps 進(jìn)程 xxx,top命令查詢(xún)夯住的 / 刪除xxx進(jìn)程
殺進(jìn)程之前,先ps 找到相關(guān)的進(jìn)程,搞清楚,哪些是你要?dú)⒌?,不然造成生產(chǎn)事故

5、安裝yum軟件

yum search xxx  #查找
yum install -y xxx-yyy  #安裝  -y代表遇到判斷yes/no 詢(xún)問(wèn)是 默認(rèn)判斷是yes
yum remove xxx-yyy #卸載

6、rpm包管理

[root@hadoop ~]# rpm -qa | grep http   #查看
httpd-tools-2.2.15-69.el6.centos.x86_64
httpd-2.2.15-69.el6.centos.x86_64
[root@hadoop ~]# rpm -e httpd-tools-2.2.15-69.el6.centos.x86_64   #卸載
[root@hadoop ~]# rpm -e  --nodeps  httpd-tools-2.2.15-69.el6.centos.x86_64  #強(qiáng)制卸載,不校驗(yàn),直接刪除

7、wget下載安裝包

wget http://archive.cloudera.com/cdh6/cdh/5/hadoop-2.6.0-cdh6.16.2.tar.gz

8、壓縮解壓

  • 壓縮

zip
zip -r xxx.zip ./*  在文件夾里面 
zip -r ruozedata.zip ruozedata/* 在外面
  • 解壓

unzip ruozedata.zip
  • 大數(shù)據(jù)組件的壓縮包幾乎都是后綴 tar.gz

        tar -xzvf hadoop-2.6.0-cdh6.16.2.tar.gz

        tar -czvf hadoop-2.6.0-cdh6.16.2.tar.gz  hadoop-2.6.0-cdh6.16.2/*

Examples:
  tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.
  tar -tvf archive.tar         # List all files in archive.tar verbosely.
  tar -xf archive.tar          # Extract all files from archive.tar.

補(bǔ)充:清空這個(gè)內(nèi)容

cat /dev/null > xxx.log 完美
echo '' > xxx.log 存在1個(gè)字節(jié)

以上是“shell中常用的vi編輯命令有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI