0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

10个LINUX命令 超好用

Linux爱好者 来源:Linux爱好者 作者:陈皓 2020-11-17 18:19 次阅读

下面可能是你不曾用过后十个Linux的命令。相当的有用。

1)pgrep

pgrep名字前有个p,我们可以猜到这和进程相关,又是grep,当然这是进程相关的grep命令。不过,这个命令主要是用来列举进程ID的。如:

$pgrep-uhchen 22441 22444

这个命令相当于:

ps-ef|egrep'^hchen'|awk'{print$2}'

2)pstree

这个命令可以以树形的方式列出进程。如下所示:

[hchen@RHELSVR5~]$pstree init-+-acpid |-auditd-+-python |`-{auditd} |-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 ||-ata/0 ||-ata/1 ||-ata_aux ||-cqueue/0 ||-cqueue/1 ||-kacpid ||-kauditd ||-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---run] ||-supervise---qmail-send-+-qmail-clean |||-qmail-lspawn ||`-qmail-rspawn |`-2*[supervise---tcpserver] |-syslogd |-udevd |-watchdog/0 |-watchdog/1 `-xinetd

3)bc

这个命令主要是做一个精度比较高的数学运算的。比如开平方根等。下面是一个我们利用bc命令写的一个脚本(文件名:sqrt)

#!/bin/bash if[$#-ne1] then echo'Usage:sqrtnumber' exit1 else echo-e"sqrt($1) quit "|bc-q-i fi

于是,我们可以这样使用这个脚本进行平方根运算:

[hchen@RHELSVR5]$./sqrt36 6 [hchen@RHELSVR5]$./sqrt2.0000 1.4142 [hchen@RHELSVR5]$./sqrt10.0000 3.1622

4)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:35LF_ai

文件合并只需要使用简单的合并就行了,如:

[hchen@RHELSVR5]#catLF_*>largefile.tar.gz

5)nl

nl命令其它和cat命令很像,只不过它会打上行号。如下所示:

[hchen@RHELSVR5include]#nlstdio.h|head-n10 1/*DefineISOCstdioontopofC++iostreams. 2Copyright(C)1991,1994-2004,2005,2006FreeSoftwareFoundation,Inc. 3ThisfileispartoftheGNUCLibrary. 4TheGNUCLibraryisfreesoftware;youcanredistributeitand/or 5modifyitunderthetermsoftheGNULesserGeneralPublic 6LicenseaspublishedbytheFreeSoftwareFoundation;either 7version2.1oftheLicense,or(atyouroption)anylaterversion. 8TheGNUCLibraryisdistributedinthehopethatitwillbeuseful,

6)mkfifo

熟悉Unix的人都应该知道这个是一个创建有名管道的系统调用或命令。平时,我们在命令行上使用竖线“|”把命令串起来是使用无命管道。而我们使用mkfifo则使用的是有名管道。下面是示例:

下面是创建一个有名管道:

[hchen@RHELSVR5~]#mkfifo/tmp/hchenpipe [hchen@RHELSVR5~]#ls-l/tmp prw-rw-r--1hchenhchen005-1018:58hchenpipe

然后,我们在一个shell中运行如下命令,这个命令不会返回,除非有人从这个有名管道中把信息读走。

[hchen@RHELSVR5~]#ls-al>/tmp/hchenpipe

我们在另一个命令窗口中读取这个管道中的信息:(其会导致上一个命令返回)

[hchen@RHELSVR5~]#head/tmp/hchenpipe drwx------8hchenhchen409605-1018:27. drwxr-xr-x7rootroot409603-0500:06.. drwxr-xr-x3hchenhchen409603-0118:13backup -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.php

7)ldd

这个命令可以知道你的一个可执行文件所使用了动态链接库。如:

[hchen@RHELSVR5~]#ldd/usr/bin/java linux-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.txt

9)xmlwf

这个命令可以让你检查一下一个XML文档是否是所有的tag都是正常的。如:

[hchen@RHELSVR5~]#curl'https://coolshell.cn/?feed=rss2'>cocre.xml %Total%Received%XferdAverageSpeedTimeTimeTimeCurrent DloadUploadTotalSpentLeftSpeed 1006488206488200864550------------2073k [hchen@RHELSVR5~]#xmlwfcocre.xml [hchen@RHELSVR5~]#perl-i-pe's@@
@g'cocre.xml [hchen@RHELSVR5~]#xmlwfcocre.xml cocre.xml:13:23:mismatchedtag

10)lsof

可以列出打开了的文件。

[root@RHELSVR5~]#lsof|grepTCP httpd548apache4uIPv614300967TCP*:http(LISTEN) httpd548apache6uIPv614300972TCP*:https(LISTEN) httpd561apache4uIPv614300967TCP*:http(LISTEN) httpd561apache6uIPv614300972TCP*:https(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)

责任编辑:xj

原文标题:10个你可能不曾用过却很有用的 LINUX 命令

文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内核
    +关注

    关注

    3

    文章

    1309

    浏览量

    39846
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206734
  • 命令
    +关注

    关注

    5

    文章

    638

    浏览量

    21849

原文标题:10个你可能不曾用过却很有用的 LINUX 命令

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux基本命令总结

    都说Linux命令多,实际工作中我们又有多少命令会接触用到呢?本文跟大家分享Linux运维工作中常用的600个命令,可以说这些
    的头像 发表于 01-11 10:32 578次阅读

    如何在Linux中使用htop命令

    本文介绍如何在 Linux 中使用 htop 命令
    的头像 发表于 12-04 14:45 551次阅读
    如何在<b class='flag-5'>Linux</b>中使用htop<b class='flag-5'>命令</b>

    linux的正常关机命令可以是什么

    正常关机是指在Linux系统下安全地关闭计算机或服务器,以防止数据丢失或损坏。通常,在执行关机命令之前,用户需要先保存所有的工作并确保系统处于一个稳定的状态。以下是Linux系统中常用的几个正常关机
    的头像 发表于 11-17 11:18 509次阅读

    linux重启命令有哪些

    Linux是一种自由和开放源代码的操作系统,被广泛应用于服务器和嵌入式设备。在Linux中,有多种命令用于重启系统。在本文中,我们将详细介绍常用的Linux重启
    的头像 发表于 11-17 09:49 1143次阅读

    linux命令和shell编程有什么联系

    Linux命令和Shell编程之间存在密切的联系。 首先,Shell是Linux命令行下的解释器,它提供了一个用户界面,使用户能够与Linux
    的头像 发表于 11-08 10:53 412次阅读

    shell命令linux命令一样吗

    Shell命令Linux命令并不完全一样。 首先,Shell是一种命令行解释器,它是用来解释和执行用户输入的命令的。Shell既是一种
    的头像 发表于 11-08 10:51 1375次阅读

    Linux模块相关命令 Linux驱动模块的编写与挂载

    Linux模块相关命令 Linux驱动模块的编写与挂载
    发表于 10-01 12:20 197次阅读
    <b class='flag-5'>Linux</b>模块相关<b class='flag-5'>命令</b> <b class='flag-5'>Linux</b>驱动模块的编写与挂载

    嵌入式Linux命令总结

    嵌入式Linux命令总结
    发表于 09-19 16:30 278次阅读

    常用Linux命令要记牢!

    linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,
    的头像 发表于 08-07 15:31 445次阅读

    介绍一些实用的Linux命令

    作为一名软件开发人员,掌握 Linux 命令是必不可少的技能。即使你使用 Windows 或 macOS,你总会遇到需要使用 Linux 命令的场合。例如,大多数 Docker 镜像都
    发表于 08-01 16:12 189次阅读
    介绍一些实用的<b class='flag-5'>Linux</b><b class='flag-5'>命令</b>

    分享几个有趣的Linux命令

    Linux当中有很多比较有趣的命令,可以动手看看,很简单的。
    发表于 07-10 14:22 288次阅读
    分享几个有趣的<b class='flag-5'>Linux</b><b class='flag-5'>命令</b>

    常用linux网络排查命令

    今天浩道跟大家分享linux网络运维中常见的命令,掌握好这些命令,在排查故障时将会游刃有余!
    发表于 06-25 10:49 520次阅读

    Linux系统中的10个常用的文本查看命令

    当你需要查看Linux系统中的文本文件时,使用文本编辑器可能会比较繁琐,特别是当你只需要查看文件的内容时。这时,你可以使用Linux命令行下的文本查看工具来快速准确地查看文件。下面介绍了10
    的头像 发表于 06-24 11:44 9678次阅读

    恒讯科技分享:如何使用linux删除目录命令

    学习如何使用Linux命令行对于所有Linux用户和系统管理员来说都是必不可少的。创建文件、导航到文件夹或移动文件等简单的维护任务都可以通过它完成。由于Linux是用于虚拟服务器托管的
    的头像 发表于 06-20 17:27 1360次阅读

    嵌入式Linux命令总结

    今天,带来一篇 Linux 命令总结的非常全的文章,也是我们平时工作中使用率非常高的操作命令命令有点多,建议小伙伴们可以先收藏后阅读。
    发表于 06-13 15:15 288次阅读