当前位置: 首页 > 科技观察

别相信!掌握这23条Linux常用命令,可获得30%的薪资涨幅

时间:2023-03-14 12:53:37 科技观察

负责维护和保证整个服务的高可用,同时不断优化系统架构,提高部署效率,优化资源利用率,提高整体ROI。作为一名从业数年的Linux运维老手,总结了一些Linux命令行的常用用法,希望对大家有所收获。1.搜索如果在vi和vim中打开一个大文件,不容易找到相应的内容,可以使用内置的搜索关键词进行搜索定位:输入:“/”(反斜杠),然后输入一个会出现框让你输入,当你输入的关键字在文件中存在时,会以高亮的形式显示,然后回车确认当前高亮的位置,如果不是你要找的,可以按:“n”,表示查找下一个输入关键词的内容。2、vim恢复和乱码(1)vi和vim中不小心删了东西,想恢复怎么办?首先必须退出编辑状态,即按Esc键,再按u可以撤销之前的修改内容。(2)用vi或vim打开文件时,如果某些地方出现一些特殊符号或乱码,可以试试下面的命令:vim-bmytest.php(其中-b一般用于查看对应的二进制文件3、管道命令,即上面的竖线-->'|'的意思是:将查询内容提交给管道后面的命令进行装饰,然后显示。例如:catinstall.log|more(more表示显示以分页的形式放不下一个屏幕的内容)ls-l/etc|more想看上一页的内容可以用:Shift+PageUp查看管道grep(filter)实现一个很有用的组合例如:cat-nhello.txt|grep"hello"(查看hello.txt文件内容,过滤掉带hello的内容),-n表示显示的第4行内容搜索文件或目录find/home-namehello*(查找home目录下的文件名或者目录是hello)find/-nameh?m*(在下面的目录中查找h开头的第二个字符是任意的,第三个是m,然后是任意字符)find/-size+1000000k(表示查找大于1000000K的文件)根目录)5字符串替换命令:s/well/good/将当前行第一个孔替换为good:s/well/good/g将当前行所有孔替换为good:n,$s/well/good/将第n行到最后一行每行第一个孔替换为good:n,$s/well/good/g将第n行到***行每行所有孔替换掉。如果n是数字,如果n是.,表示从当前行到***行:%s/well/good/(相当于:g/well/s//good/)替换第一个wellin每行用good:%s/well/good/g(相当于:g/well/s//good/g)在每一行中替换所有的孔都用good特殊符号转义:你可以使用#作为分隔符,并且出现在中间的/将不会被用作分隔符:s#well/#good/#   将当前行中的第一个well/替换为good/:%s#/usr/bin#/bin#g可以把所有的文件都放在将路径/usr/bin替换为/bin6。重定向命令ls-l/etc/希望ls-l/etc>/home/myback.txt(覆盖重定向)将显示的结果覆盖到/home/myback.txt去ls-l/etc>>/home/myback.txt(追加重定向),将显示的结果追加到/home/myback.txt七、删除多行删除多行的步骤如下:1、先显示从哪一行可以知道对应的行数要删除哪一行:setnu2。按Esc键退出,在命令行中输入:190,6233d(即[190,6233]被删除)如果你想要整个文件内容的情况,直接运行如下命令:清空文件内容:>log.txt8.行定位直接定位到***行:按Esc键退出,在命令行中输入:G直接定位到***行:按Esc键退出,在命令中输入line:1G直接定位到某行:(第17行)按Esc键退出,在命令行输入:17G9。复制一行或多行<1。复制一行yy   复制当前行p   paste<2.复制多行7yy  copy7linesfromthecurrentlinep   paste10.linuxpython-V或python--version11查看python的版本。grep<1的用法。显示匹配的n行(之后)grep-An<2。显示匹配的前n行(before)grep-Bn<3。显示匹配前后n行(context)grep-Cn<4。忽略grep-istr12的大小写。ll或ls显示描述ll-ht(h会自动按照标准格式转换大小,即:456M、1.2G等,t表示显示内容按时间倒序排列)应用案例:清除日志8月的文件:rm-rf`ll-ht|awk'/August/{print6,6,NF}'|awk'{print$NF}'`Description:awk'/pattern/action'-->awk'/August/{print6,6,NF}',只显示第六行和***行的内容,只保留August的列表内容ls中文件显示颜色的含义是:1.蓝色-->目录2.绿色-->可执行文件3.红色-->压缩文件4.淡蓝色-->链接文件5.灰色--->其他文件13.通过lsof文件名查看某个文件被哪个进程占用14.创建用户,查看当前用户useraddredispasswdredis如果是Ubuntu系统,需要使用如下命令:useraddopenstack-m-s/bin/bashuserdel-ropenstack查看现有系统用户组和用户/etc/group文件包含存在于所有组/etc/shadow和/etc/passwd系统中的所有用户名。15、常用查看文件大小和查看内存占用的Linux系统命令:free-m(m为MB,g为GB)查看对应磁盘占用:df-lh查看对应CPU占用:cat/proc/cpuinfo会显示32大致相同的内容(下标从0开始),这意味着服务器是8核心操作系统可能有更强大的命令:cat/proc/cpuinfo|grep“型号名称”|head-1(只会显示一行对应的CPU型号等信息)cat/proc/cpuinfo|grep"modelname"(如果系统中有多个核心,会显示几行)cat/proc/cpuinfo|grep“型号名称”|wc-l(统计总共有多少核)查看当前对应服务器版本的操作系统发布版本信息:cat/etc/issue或cat/etc/redhat-release查看下级版本信息:cat/proc/version(例如:CentOS的实际根目录是RetHat,这个命令会显示使用的RetHat的版本)如果要查看某个文件夹的当前版本占用空间使用:du-hnode(cd/data/solr-4.8.0/)如果想查看当前目录下所有文件的大小du-sh*(cd/)16.查看内存状态<1.jstat-gcpid     可以看到对应的内存大小、使用状态和GC处理状态<2.jmap-heap[pid]  查看内存分布<3.jstat-gcutil[pid]1000每隔1s输出java进程的gc状态17.修改文件夹权限及其内容chown-Rsolr:solr/home/solr/lib意思是放/home/solr/lib文件夹把用户的权限和里面的内容改成solr用户的权限18、查看某个端口链接状态的连接数netstat-nlap|grep-iest|grep-i6379|awk'{print$4}'netstat-nlap|grep-iest|grep-i1121|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或-lgrep-i(i表示忽略大小写)awk'{print$4}'(表示只打印第4列)grep-iest(est表示:ESTABLISHED,即只显示ESTABLISHED,即处于连接状态的端口)grep命令显示的结果***被标红,即最后一次grep为:grep-i6379,则打印出来的结果是6379标记为红色,结果如下:19.同步服务器的时间ntpdatepool.ntp.org启用该命令作为定时脚本执行,如下:1*/2***ntpdatepool.ntp。组织20。不允许如何配置ssh登录修改vim/etc/sysconfig/sshd_config文件,添加一行:AllowUserssolr,如下:使其生效运行如下命令:servicesshdreloadcommonsystem-levelconfigurationsummary:1.限制登录:/etc/ssh/sshd_config修改后重启:servicesshdrestart2.用户配置:/etc/passwd3。Sudo权限:/etc/sudoers21.常用的JDK系统环境变量配置1.JAVA_HOME=/usr/java/jdk1.7.0_552.CLASSPATH=.:$JAVA_HOME/lib.tools.jar3.PATH=$JAVA_HOME/bin:$PATH4.exportJAVA_HOMECLASSPATHPATH22.查看Redis/Tomcat版本redis-cliinfo|grep'redis_version'tomcat版本需要进入安装目录下的bin/文件夹:./version.sh  或  shversion.sh23。如何查看Linux防火墙是否屏蔽了80端口?1iptables-vnL|grep":80"有返回内容说明启用,不返回内容说明被屏蔽。