shell中常用的vi编辑命令有哪些
这篇文章主要介绍shell中常用的vi编辑命令有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
1、常用的vi编辑命令
模式切换
搜索:进入尾行模式, /关键词 回车自动匹配 按N键找寻下一个
行号设置 :进入尾行模式 设置行号:set nu 取消行号:set nonu
命令行模式常见的快捷键:
dd:删除当前行
dG:删除光标当前及以下的所有行
ndd:删除光标当前及以下的n行
gg:跳转到第一行的第一个字母
G:跳转到最后一行的第一个字母
shift+$ 行尾注意:刚进行命令行模式想进行粘贴文件内容时,一点要先按 i 键后再进行粘贴,否则会丢失文件内容;
注意:编辑或者调优配置文件前,一定要进行备份
2、系统命令
查看磁盘
[root@hadoop ~]# df -hFilesystem 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 cachedMem: 1.9G 691M 1.3G 256K 46M 74M-/+ buffers/cache: 570M 1.4G Swap: 3.9G 0B 3.9G
查看负载
[root@hadoop ~]# toptop - 23:04:17 up 14 min, 2 users, load average: 0.04, 0.01, 0.00Tasks: 150 total, 1 running, 149 sleeping, 0 stopped, 0 zombieCpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%stMem: 2039008k total, 707992k used, 1331016k free, 47688k buffersSwap: 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 ~]# toptop - 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/sshdroot 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/1root 2534 2369 0 23:38 pts/0 00:00:00 grep ssh
过滤掉自己当前查询的进程: -v表示过滤
[root@hadoop ~]# ps -ef | grep ssh | grep -v greproot 2081 1 0 22:49 ? 00:00:00 /usr/sbin/sshdroot 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 greproot 2081 1 0 22:49 ? 00:00:00 /usr/sbin/sshdroot 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 #端口号:22tcp 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 telnetLoaded plugins: fastestmirror, refresh-packagekit, securitySetting up Install ProcessLoading mirror speeds from cached hostfile * base: mirrors.cn99.com * extras: mirrors.cn99.com * updates: mirrors.163.combase | 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 进程pidkill -9 进程pid 进程pid 进程pidkill -9 $(pgrep -f 匹配关键词)
ps 进程 xxx,top命令查询夯住的 / 删除xxx进程杀进程之前,先ps 找到相关的进程,搞清楚,哪些是你要杀的,不然造成生产事故
5、安装yum软件
yum search xxx #查找yum install -y xxx-yyy #安装 -y代表遇到判断yes/no 询问是 默认判断是yesyum remove xxx-yyy #卸载
6、rpm包管理
[root@hadoop ~]# rpm -qa | grep http #查看httpd-tools-2.2.15-69.el6.centos.x86_64httpd-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、压缩解压
压缩
zipzip -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编辑命令有哪些"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!