0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Linux中幾個你不常用,但卻很有用的命令

Android編程精選 ? 來源:coolshell.cn ? 作者:coolshell.cn ? 2023-05-15 10:06 ? 次閱讀

下面可能是你不曾用過后十個Linux的命令。相當?shù)挠杏谩?/p>

1)pgrep

pgrep名字前有個p,我們可以猜到這和進程相關,又是grep,當然這是進程相關的grep命令。不過,這個命令主要是用來列舉進程ID的。如:

$pgrep-uhchen
22441
22444

這個命令相當于:

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

基于 Spring Boot + MyBatis Plus + Vue & Element 實現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC 動態(tài)權限、多租戶、數(shù)據(jù)權限、工作流、三方登錄、支付、短信、商城等功能。

項目地址:https://github.com/YunaiV/ruoyi-vue-pro

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

基于微服務的思想,構建在 B2C 電商場景下的項目實戰(zhàn)。核心技術棧,是 Spring Boot + Dubbo 。未來,會重構成 Spring Cloud Alibaba 。

項目地址:https://github.com/YunaiV/onemall

3)bc

這個命令主要是做一個精度比較高的數(shù)學運算的。比如開平方根等。下面是一個我們利用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的人都應該知道這個是一個創(chuàng)建有名管道的系統(tǒng)調(diào)用或命令。平時,我們在命令行上使用豎線“|”把命令串起來是使用無命管道。而我們使用mkfifo則使用的是有名管道。下面是示例:

下面是創(chuàng)建一個有名管道:

[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

這個命令可以知道你的一個可執(zhí)行文件所使用了動態(tài)鏈接庫。如:

[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文件轉(zhuǎn)成純文本文件。如下示例:

#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)

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11161

    瀏覽量

    208460
  • 命令
    +關注

    關注

    5

    文章

    663

    瀏覽量

    21956
  • spring
    +關注

    關注

    0

    文章

    335

    瀏覽量

    14277
  • grep
    +關注

    關注

    0

    文章

    22

    瀏覽量

    4708
  • GitHub
    +關注

    關注

    3

    文章

    461

    瀏覽量

    16324

原文標題:Linux中幾個你不常用,但卻很有用的命令

文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    不常見但是很有用的 gcc 命令行選項

    一些特殊的警告嗎?gcc 的很多命令行選項都不會經(jīng)常用到,但是它們在某些特定的情況下會變得非常有用,例如,當你在調(diào)試代碼的時候。所以在本文中,我們會介紹這樣的幾個選項,提供所有必要的細
    發(fā)表于 12-31 11:08

    Linux常用命令使用

    備注:在敲一些不常用linux命令時經(jīng)常會卡殼,所以在這里貼出來以供查詢,也為其他搜索linux命令的同學提供一個參考
    發(fā)表于 07-25 07:46

    常用Linux命令分享

    今天總結(jié)幾個非常常用Linux命令,其中有幾個在面試很可能問相關
    發(fā)表于 12-28 06:37

    Linux常用網(wǎng)絡命令

    Linux常用網(wǎng)絡命令 Linux常用網(wǎng)絡命令  計算機網(wǎng)絡的主要優(yōu)點是能夠?qū)崿F(xiàn)資源和信
    發(fā)表于 01-18 12:47 ?1167次閱讀

    Linux命令大全

    Linux命令大全,雖然不是每個命令都必須記住,有些命令不常用,作為一本很好的工具書,它可以做的有備無患!
    發(fā)表于 10-30 17:16 ?23次下載

    29條運維工程師必須知道的基本的Linux命令來供學習

    如果是一個新手,并嘗試使用命令行接口,我們收集了各種基本的Linux命令來供學習,幫你在各種Linu
    的頭像 發(fā)表于 04-17 15:57 ?4029次閱讀
    29條運維工程師必須知道的基本的<b class='flag-5'>Linux</b><b class='flag-5'>命令</b>來供<b class='flag-5'>你</b>學習

    linux常用命令你真的知道嗎?分享鮮為人知卻很有趣的Unix/Linux命令

    linux常用命令其中有一些命令有用已經(jīng)不足以形容她的可愛,希望各位朋友不要過于咬文嚼字。另外,回答的指令多達六七十個,當時實施過程
    發(fā)表于 07-26 12:00 ?1430次閱讀

    Vector聊天機器人:小巧但卻很有個性,可隨時與用戶進行互動

    據(jù)報道,Anki公司近日宣布將推出Vector聊天機器人。其是一款非常小巧但卻很有個性的機器人,它的外表就像《星球大戰(zhàn)》機器人一樣可愛,只有巴掌般那么大,它還可以陪你玩耍,聽你說話等等。
    發(fā)表于 08-14 09:20 ?2947次閱讀

    Linux命令行可以隨便使用嗎?了解Linux的10個危險命令嗎?

    Linux命令行佷有用、很高效,也很有趣,但有時候也很危險,尤其是在你不確定自己在正在做什么時候。這篇文章將會向你介紹十條
    的頭像 發(fā)表于 09-24 19:43 ?3666次閱讀

    Linux教程之常用Linux命令的詳細資料免費下載

    操作。Linux操作系統(tǒng)提供的命令很多,但用戶日常使用的命令卻很有限。本章將介紹一些在日常工作中最常用
    發(fā)表于 11-16 16:17 ?14次下載

    知道linux常用查看硬件設備信息命令的方法是什么?

    知道linux常用查看硬件設備信息命令的方法是什么?
    發(fā)表于 05-13 11:04 ?3088次閱讀

    Linux常用命令大全詳細說明

    Linux常用命令大全(非常全?。。。?最近都在和Linux打交道,感覺還不錯。我覺得Linux相比windows比較麻煩的就是很多東西都要用命令
    發(fā)表于 09-24 08:00 ?5次下載
    <b class='flag-5'>Linux</b>的<b class='flag-5'>常用命令</b>大全詳細說明

    如何去使用這幾個Linux命令?

    使用 Linux 系統(tǒng)的開發(fā)者,很多人都有自己喜歡的系統(tǒng)命令,下面這個幾個命令令是我平常用的比較多的,分享一下。
    的頭像 發(fā)表于 06-15 16:06 ?1481次閱讀

    數(shù)字示波器幾個不常用但又很實用的功能

    本文博宇訊銘以鼎陽科技SDS2000XHD系列示波器講解示波器幾個不常用,又在某些場景很實用的功能:
    發(fā)表于 05-19 15:49 ?1591次閱讀
    數(shù)字示波器<b class='flag-5'>幾個</b><b class='flag-5'>不常用</b>但又很實用的功能

    29個必須知道的Linux命令

    如果是一個新手,并嘗試使用命令行接口,我們收集了各種基本的Linux命令來供學習,幫你在各種Linu
    的頭像 發(fā)表于 12-09 10:34 ?631次閱讀