您好,登錄后才能下訂單哦!
這篇文章主要介紹shell中常用的vi編輯命令有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
1、常用的vi編輯命令
模式切換
搜索:進入尾行模式, /關鍵詞 回車自動匹配 按N鍵找尋下一個
行號設置 :進入尾行模式 設置行號:set nu 取消行號:set nonu
命令行模式常見的快捷鍵:
dd:刪除當前行
dG:刪除光標當前及以下的所有行
ndd:刪除光標當前及以下的n行
gg:跳轉到第一行的第一個字母
G:跳轉到最后一行的第一個字母
shift+$ 行尾
注意:剛進行命令行模式想進行粘貼文件內容時,一點要先按 i 鍵后再進行粘貼,否則會丟失文件內容;
注意:編輯或者調優配置文件前,一定要進行備份
2、系統命令
查看磁盤
[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
查看內存 (擴展內容: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
查看負載
[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
案例:負載控制
[root@hadoop ~]# top top - 23:04:17 up 14 min, 2 users, load average: 0.04, 0.01, 0.00
注意:負載均衡的數值不能超過10,即:load average: 0.04, 0.01, 0.00,后面這三個值別超過10,超過10表示當前機器繁忙
舉例:
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這個進程是做什么
1777 root 20 0 0 0 0 S
3908% 80% 0:34.13 hbase regionserver
上面案例描述中有兩個問題
(1)如果某服務長期占用cpu或者men,去檢查這個進程是在做什么
(2)如果cpu飆升3000%以上,夯住 ,代碼級別,如果不是自己編寫的代碼,大概率硬件級別-->內存條壞了
排查其他都沒問題,重啟機器吧
3、查看進程、查看端口號
查看進程:ps -ef 查看這臺服務器后臺所運行的進程,可以使用管道符進行篩選,最后一條記錄表示的當前的查詢進程
[root@hadoop ~]# ps -ef | grep ssh #進程用戶 進程的pid 父id 進程用戶的內容(進程所屬的目錄) 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
過濾掉自己當前查詢的進程: -v表示過濾
[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
查看端口號:netstat -nlp 查詢所有的端口號,結合grep篩選自己想要的端口號
[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 #沒有顯示代表沒有端口號 [root@hadoop ~]# netstat -nlp |grep 2081 #端口號: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 ~]#
通過pid找port(端口號):因一個服務沒有端口號都能運行
1: 啟動一個進程 ps 必須
2: 可能啟動一個port netstat 不是必須
在centos部署大數據組件,發現一個錯誤 Connection refused
(1)防火墻 web iptables
(2)ping ip 測試ip
(3)telnet ip port 測試ip和端口號 (注:在Windows7 中telnet要單獨部署,下面介紹命令部署)
部署telnet命令
window cmd黑窗口 不帶 telnet命令 ,需要去安裝一下 重啟電腦
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 生產配置文件 100行 保存==》 cp xxx.xml xxx.xml20191117
kill -9
kill -9 進程pid kill -9 進程pid 進程pid 進程pid kill -9 $(pgrep -f 匹配關鍵詞)
ps 進程 xxx,top命令查詢夯住的 / 刪除xxx進程 殺進程之前,先ps 找到相關的進程,搞清楚,哪些是你要殺的,不然造成生產事故
5、安裝yum軟件
yum search xxx #查找 yum install -y xxx-yyy #安裝 -y代表遇到判斷yes/no 詢問是 默認判斷是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 #強制卸載,不校驗,直接刪除
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
大數據組件的壓縮包幾乎都是后綴 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.
補充:清空這個內容
cat /dev/null > xxx.log 完美
echo '' > xxx.log 存在1個字節
以上是“shell中常用的vi編輯命令有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。