当前位置: 首页 > Linux

十个被遗忘的Linux命令,大海中的明珠,关键时刻能给你很大帮助

时间:2023-04-07 02:07:55 Linux

Linux作为一个由全世界程序员维护的开源系统,深受全世界程序员的喜爱,并且随着信息产业和大数据,随着人工智能的发展,服务器已经成为重要的资源,无论是运维还是开发,Linux都占据着越来越重要的地位。除了一个常用命令,这十个Linux命令你都知道吗?虽然不常用,但是在关键时候可以给你很大的帮助,提高你的工作效率,而且Linux的使用场景还是挺丰富的,尤其是在现在的互联网发展中。这里的文章主要从两个方向讲解1.10个不常用但很有用的Linux命令2.Linux使用场景1)pgreppgrep的名字前有一个p,我们可以猜到这跟进程有关,而且它就是grep,当然这是一个进程相关的grep命令。不过这个命令主要是用来列出进程ID的。如:$pgrep-uhchen2244122444这条命令相当于:ps-ef|egrep'^hchen'|awk'{print$2}'2)pstree命令可以以树的形式列出进程。如下所示:[hchen@RHELSVR5~]$pstreeinit-+-acpid|-auditd-+-python|\`-{automount}|-automount---4\*\[{automount}\]|-backup.sh---sleep|-dbus-daemon|-events/0|-events/1|-hald---hald-runner---hald-addon-acpi|-httpd---10\*\[httpd\]|-irqbalance|-khelper|-klogd|-ksoftirqd/0|-ksoftirqd/1|-kthread-+-aio/0||-aio/1||-数据/0||-数据/1||-ata\_aux||-c队列/0||-cqueue/1||-卡皮德||-审核||-kblockd/0||-kblockd/1||-kedac||-khubd||-6\*\[kjournald\]||-kmirrord||-kpsmoused||-kseriod||-kswapd0||-2\*\[pdflush\]||-scsi\_eh\_0||-scsi\_eh\_1||-xenbus|\`-xenwatch|-migration/0|-migration/1|-6\*\[mingetty\]|-3\*\[multilog\]|-mysqld\_safe---mysqld---9\*\[{mysqld}\]|-smartd|-sshd---sshd---sshd---bash---pstree|-svscanboot---svscan-+-3\*\[supervise---运行\]||-supervise---qmail-send-+-qmail-clean|||-qmail-lspawn||\`-qmail-rspawn|\`-2\*\[supervise--tcpserver\]|-syslogd|-udevd|-watchdog/0|-watchdog/1\`-xinetd3)bc命令主要是做一个精度比较高的数学运算,例如平方根提取。下面是我们使用bc命令写的脚本(文件名:sqrt)!bc-q-ifi所以,我们可以使用这个脚本来计算平方根:[hchen@RHELSVR5]$./sqrt366[hchen@RHELSVR5]$./sqrt2.00001.4142[hchen@RHELSVR5]$./sqrt10.00003。16224)split如果你有一个大文件并且你想将它拆分成更小的文件,那么这个命令就是为了这个。[hchen@RHELSVR5applebak]#ls-llargefile.tar.gz-rw-r--r--1hchenhchen43677477404-1702:00largefile.tar.gz[hchen@RHELSVR5applebak]#split-b50mlargefile.tar.gzLF_[hchen@RHELSVR5]#ls-lLF_*-rw-r--r--1hchenhchen5242880005-1018:34LF_aa-rw-r--r--1hchenhchen5242880005-1018:34LF_ab-rw-r--r--1hchenhchen5242880005-1018:34LF_ac-rw-r--r--1hchenhchen5242880005-1018:34LF_ad-rw-r--r--1hchenhchen5242880005-1018:34LF_ae-rw-r--r--1hchenhchen5242880005-1018:35LF_af-rw-r--r--1hchenhchen5242880005-1018:35LF_ag-rw-r--r--1hchenhchen5242880005-1018:35LF_ah-rw-r--r--1hchenhchen1734437405-1018:35仅合并LF_ai文件您需要使用简单的合并,例如:[hchen@RHELSVR5]#catLF_*>largefile.tar.gz5)nlnl命令类似于cat命令,只是它会标记行号。如下:[hchen@RHELSVR5include]#nlstdio.h|head-n101/\*在C++iostream之上定义ISOCstdio。2版权所有(C)1991,1994-2004,2005,2006FreeSoftwareFoundation,Inc.3此文件是GNUC库的一部分。4GNUC库是免费软件;您可以根据FreeSoftwareFoundation发布的GNULesserGeneralPublic6许可证的条款重新分发和/或5修改它;许可证的7版本2.1,或(由您选择)任何更高版本。8GNUCLibrary分发希望它有用,6)mkfifo熟悉Unix的人应该知道这是一个创建命名管道的系统调用或命令。通常,我们使用竖线“|”在命令行上将命令串在一起,也就是使用无生命的管道。而我们使用mkfifo来使用众所周知的管道。下面是一个示例:要创建命名管道:[hchen@RHELSVR5~]#mkfifo/tmp/hchenpipe[hchen@RHELSVR5~]#ls-l/tmpprw-rw-r--1hchenhchen005-1018:58hchenpipe然后,我们在shell中运行以下命令,除非有人从众所周知的管道中读取信息,否则该命令不会返回。[hchen@RHELSVR5~]#ls-al>/tmp/hchenpipe我们在另一个命令窗口读取这个管道中的信息:(会导致之前的命令返回)[hchen@RHELSVR5~]#head/tmp/hchenpipedrwx------8hchenhchen409605-1018:27.drwxr-xr-x7rootroot409603-0500:06..drwxr-xr-x3hchenhchen409603-0118:13备份-rw--------1hchenhchen72105-0522:12.bash_history-rw-r--r--1hchenhchen2402-2822:20.bash_logout-rw-r--r--1hchenhchen17602-2822:20.bash_profile-rw-r--r--1hchenhchen12402-2822:20.bashrc-rw-r--r--1rootroot1400203-0700:29index.htm-rw-r--r--1hchenhchen3146503-0123:48index.php7)ldd命令可以知道你的一个可执行文件使用的动态链接库。如:[hchen@RHELSVR5~]#ldd/usr/bin/javalinux-gate.so.1=>(0x00cd9000)libgij.so.7rh=>/usr/lib/libgij.so.7rh(0x00ed3000)libgcj.so.7rh=>/usr/lib/libgcj.so.7rh(0x00ed6000)libpthread.so.0=>/lib/i686/nosegneg/libpthread.so.0(0x00110000)librt.so.1=>/lib/i686/nosegneg/librt.so.1(0x009c8000)libdl.so.2=>/lib/libdl.so.2(0x008b5000)libz.so.1=>/usr/lib/libz.so.1(0x00bee000)libgcc\_s.so.1=>/lib/libgcc\_s.so.1(0x00aa7000)libc.so.6=>/lib/i686/nosegneg/libc.so.6(0x0022f000)libm.so.6=>/lib/i686/nosegneg/libm.so.6(0x00127000)/lib/ld-linux.so.2(0x00214000)8)col此命令允许您将man文件转换为纯文本文件。下面的例子:#PAGER=cat#manless|col-b>less.txt9)xmlwf命令可以检查一个XML文档中的所有标签是否正常。如:[hchen@RHELSVR5~]#curl'https://coolshell.cn/?feed=rss2'>cocre.xml%Total%Received%XferdAverageSpeedTimeTimeTimeCurrentDloadUploadTotalSpentLeftSpeed1006488206488200864550--:--:----:--:----:--:--2073k[hchen@RHELSVR5~]#xmlwfcocre.xml[hchen@RHELSVR5~]#perl-i-pe's@@@g'cocre.xml[hchen@RHELSVR5~]#xmlwfcocre.xmlcocre.xml:13:23:mismatchedtag10)lsof可以列出打开的文件[root@RHELSVR5~]#lsof|grepTCPhttpd548apache4uIPv614300967TCP*:http(监听)httpd548apache6uIPv614300972TCP*:https(监听)httpd561apache4uIPv614300967TCP*:http(监听)httpd561apache6uIPv614300972TCP*:(LISTEN)sshd1764root3uIPv64993TCP*:ssh(LISTEN)tcpserver8965root3uIPv4153795500TCP*:pop3(LISTEN)mysqld10202mysql10uIPv473819697TCP*:mysql(LISTEN)sshd10735root3uIPv6160731956TCP210.51.0.232:ssh->123.117.239.68:31810(ESTABLISHED)sshd10767hchen3uIPv6160731956TCP210.51.0.232:ssh->123.117.239.68:31810(ESTABLISHED)vsftpd11095root3uIPv4152157957TCP*:ftp(LISTEN)除了正常的Linux系统命令,更多的是Linux应用,类似于Nginx、微服务等,而这些技术也是未来开发行业在构建架构时应该考虑的趋势。不过,学习这些技术并不难,但说简单也不容易。另外,我也会给大家介绍几本书,让大家更好的学习如果想要这些书籍和技术提升,关注公众号:Java架构师联盟,回复“书籍”获取Nginx实战Nginx是一个lightweightwebserver/reverseproxyserverandemail(IMAP/POP3)proxy服务器,在BSD-like协议下发行,特点是内存少,并发性强。事实上,nginx的并发性确实优于其他同类型的web服务器。中国大陆使用nginx网站的用户有:百度、京东、新浪、网易、腾讯、淘宝等。Redis是一个远程内存数据库。它不仅具有强大的性能,而且具有复制特性和解决问题的独特数据模型。Redis提供了5种不同类型的数据结构,各种问题可以很自然地映射到这些数据结构上:Redis的数据结构是专门帮助用户解决问题的,不像其他数据库那样需要用户去解决问题。扭转问题以适应数据库。此外,通过复制、持久化和客户端分片等特性,用户可以轻松地将Redis扩展为一个可包含数百GB数据、每秒处理数百万次的服务器。要求的系统。Redis是一个高性能的键值数据库。redis的出现很大程度上弥补了memcached等keyvalue存储的不足,在某些场合可以对关系型数据库起到很好的补充作用。它提供了Python、Ruby、Erlang和PHP客户端,使用起来非常方便。面向接口的编程思想贯穿于整个系统应用。Spring是一个轻量级的Java开发框架,出现于2003年,由RodJohnson创建。简单地说,Spring是一个分层的JavaSE/EE全栈(一站式)轻量级开源框架。由RodJohnson开发的SpringFramework是一个非常强大的控制反转(IOC)框架,可帮助分离项目组件之间的依赖关系。深入剖析Spring源码作为Java开源界第一个开源框架,Spring已经成为事实上的JavaEE开发标准。近年来,Spring不仅得到了广泛的应用,还直接或间接地影响了许多JSR规范的制定。Spring的特性不仅覆盖了传统的JavaEE开发,还延伸到移动开发、大数据、应用集成等领域,成为VMware云战略的重要组成部分。Spring框架最根本的使命就是简化Java开发,因此学习、研究和掌握Spring框架已经成为每个Java开发者的必修课。而阅读源码是学习Spring最好的方式之一。优秀的开源代码是基于多年的经验和他人的长处。它们的意义是奇妙的。现在我们尝试将它们挖掘出来,以通俗易懂的形式呈现出来,让更多的开发者读者受益于SpringBoot的深度实践SpringBoot是Pivotal团队于2013年开发并发布的全新开源轻量级框架2014年4月第一个版本,基于Spring4.0设计,不仅继承了Spring框架原有的优良特性,还通过简化配置,进一步简化了整个Spring应用的构建和开发过程。另外,SpringBoot通过集成大量的框架,解决了依赖包的版本冲突和引用的不稳定问题。