别不信!掌握好这23个Linux命令常用项,可加薪30%
运维工程师(Operations)在国内又称为运维开发工程师(Devops),在国外称为 SRE(SiteReliability Engineering)。负责维护并确保整个服务的高可用性,同时不断优化系统架构、提升部署效率、优化资源利用率提高整体的ROI。
作为工作几年的Linux运维老司机,总结了Linux命令行的常用的一些用法,希望对您有所收获。
在vi和vim中如果打开一个很大的文件,不容易找到对应的内容,可以使用自带的搜索关键字进行搜索定位:
在vi和vim界面中输入:"/"(反斜杠),之后会出现一个输入框让你输入,当你输入的关键字在文件中存在就会以高亮的形式显示出来,之后按回车就确定定位到当前高亮位置,如果不是你要找的,则可以按:"n",意即寻找下一个输入关键字的内容。
(1) 在vi和vim中如果不小心误删除了一些东西,想要恢复怎么办?
首先要退出编辑状态,即按Esc键,之后再按u撤销之前的修改的内容。
(2) 在用vi或vim打开一个文件的时候,如果有些地方出现一些特殊符号或是乱码,可以通过以下命令尝试:
vim -b mytest.php(其中-b一般是用来查看对应的二进制文件的)
上面的意思是:将查询出来的内容交给管道后面的命令装饰之后再展示出来
例如:cat install.log | more (more的意思是将一屏放不下的内容以分页的形式显示)
ls -l /etc | more
如果想看上一页的内容,可以通过:Shift + PageUp 来查看
管道配合grep(过滤)可以达到很好用的组合例如:
cat -n hello.txt | grep "hello" (查看hello.txt文件内容,并过滤出来带有hello的内容) ,-n 表示显示出来第几行的内容
应用案例:
清空8月份的日志文件:
rm -rf `ll -ht | awk '/8月/ {print6,6,NF}' | awk '{print $NF}'`
说明:awk '/pattern/action'--> awk '/8月/{print6,6,NF}',只显示第六行与最后一行的内容且只保留8月的列表内容显示。
ls中文件颜色的显示代表的意义为:
1.蓝色--> 目录
2.绿色--> 可执行文件
3.红色--> 压缩文件
4.浅蓝色--> 链接文件
5.灰色--> 其他文件
lsof 文件名
useradd redis
passwd redis
如果是Ubuntu系统则需要使用如下命令:
useradd openstack -m -s /bin/bash
userdel -r openstack
查看当前系统存在的用户组和用户
/etc/group文件包含所有组
/etc/shadow和/etc/passwd系统存在的所有用户名
查看内存使用情况: free -m (m为MB,g为GB)
查看对应磁盘使用情况: df -lh
查看对应CPU使用情况: cat /proc/cpuinfo
会有32个大致相同的内容展示(下标是从0开始的),这就说明该服务器为8核操作系统
或者有更牛逼的命令:
cat /proc/cpuinfo | grep "model name" | head -1(只显示一行对应的CPU型号以及其他信息)
cat /proc/cpuinfo | grep "model name"(系统有几个核就会显示几行)
cat /proc/cpuinfo | grep "model name" | wc -l(统计出一共有多少核)
查看对应服务器版本当前操作系统发行版信息: cat /etc/issue 或 cat /etc/redhat-release
查看更为底层的版本信息: cat /proc/version (例如:CentOS实际最根源为RetHat,此命令将会显示所采用RetHat的版本)
如果想查看某个文件夹当前所占用的空间使用:
如果想查看当前目录下的所有文件各个大小
<1. jstat -gc pid 可以看到对应各个内存大小、使用状况以及GC处理情况
<2. jmap -heap [pid] 查看内存分布
<3. jstat -gcutil [pid] 1000 每隔1s输出java进程的gc情况
chown -R solr:solr /home/solr/lib
意思是将 /home/solr/lib 文件夹及其里面内容的用户所属权限修改为solr用户所属权限
netstat -nlap | grep -i est | grep -i 6379 | awk '{print $4}'
netstat -nlap | grep -i est | grep -i 1121 | wc -l
平时使用总结,使用此命令如果实在记不住后面参数有哪些,那么直接记住为:-nlap 即可,大部分情况都可以满足我们的需求
netstat常见参数如下:
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
grep -i(i表示忽略大小写)
awk '{print $4}'(表示只打印第4列)
grep -i est(est表示:ESTABLISHED,即只显示ESTABLISHED即连接状态的端口)
grep命令最后的那个显示出来的结果以它进行标红,即最后一个grep为:grep -i 6379, 那么打印出来的结果其中的6379标红,结果如下如所示:
ntpdate pool.ntp.org
将这个命令启用为定时脚本执行,具体如下所示:
1 */2 * * * ntpdate pool.ntp.org
修改vim /etc/sysconfig/sshd_config文件,增加一行:AllowUsers solr,具体如下所示:
使其生效运行如下命令:
常用系统级配置总结:
1. 限制登录:/etc/ssh/sshd_config 修改后需重启:service sshd restart
2. 用户配置:/etc/passwd
3. sudo权限:/etc/sudoers
1.JAVA_HOME=/usr/java/jdk1.7.0_55
2.CLASSPATH=.:$JAVA_HOME/lib.tools.jar
3.PATH=$JAVA_HOME/bin:$PATH
4.exportJAVA_HOME CLASSPATH PATH
redis-cli info | grep 'redis_version'
tomcat版本需要进入到安装目录下的 bin/ 文件夹:
./version.sh 或者 sh version.sh
本文转载自博客园,作者为星火燎原智勇,感谢作者的辛苦付出。