点击关注上方“SQL数据库开发”,
设为“置顶或星标**”,第一时间送达干货**
下面可能是你不曾用过后十个Linux的命令。相当的有用。
1)pgrep
pgrep名字前有个p,我们可以猜到这和进程相关,又是grep,当然这是进程相关的grep命令。不过,这个命令主要是用来列举进程ID的。如:
$ pgrep -u hchen2244122444
这个命令相当于:
ps -ef | egrep '^hchen' | awk '{print $2}'
2)pstree
这个命令可以以树形的方式列出进程。如下所示:
[hchen@RHELSVR5 ~]$ pstreeinit-+-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/bashif [ $# -ne 1 ]then echo 'Usage: sqrt number' exit 1else echo -e "sqrt($1)\nquit\n" | bc -q -ifi
于是,我们可以这样使用这个脚本进行平方根运算:
[hchen@RHELSVR5]$ ./sqrt 366[hchen@RHELSVR5]$ ./sqrt 2.00001.4142[hchen@RHELSVR5]$ ./sqrt 10.00003.1622
4)split
如果你有一个很大的文件,你想把其分割成一些小的文件,那么这个命令就是干这件事的了。
[hchen@RHELSVR5 applebak]# ls -l largefile.tar.gz-rw-r--r-- 1 hchen hchen 436774774 04-17 02:00 largefile.tar.gz[hchen@RHELSVR5 applebak]# split -b 50m largefile.tar.gz LF_[hchen@RHELSVR5]# ls -l LF_*-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_aa-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ab-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ac-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ad-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ae-rw-r--r-- 1 hchen hchen 52428800 05-10 18:35 LF_af-rw-r--r-- 1 hchen hchen 52428800 05-10 18:35 LF_ag-rw-r--r-- 1 hchen hchen 52428800 05-10 18:35 LF_ah-rw-r--r-- 1 hchen hchen 17344374 05-10 18:35 LF_ai
文件合并只需要使用简单的合并就行了,如:
[hchen@RHELSVR5]# cat LF_* >largefile.tar.gz
5)nl
nl命令其它和cat命令很像,只不过它会打上行号。如下所示:
[hchen@RHELSVR5 include]# nl stdio.h | head -n 10 1 /* Define ISO C stdio on top of C++ iostreams. 2 Copyright (C) 1991,1994-2004,2005,2006 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 The GNU C Library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Lesser General Public 6 License as published by the Free Software Foundation; either 7 version 2.1 of the License, or (at your option) any later version. 8 The GNU C Library is distributed in the hope that it will be useful,
6)mkfifo
熟悉Unix的人都应该知道这个是一个创建有名管道的系统调用或命令。平时,我们在命令行上使用竖线“|”把命令串起来是使用无命管道。而我们使用mkfifo则使用的是有名管道。下面是示例:
下面是创建一个有名管道:
[hchen@RHELSVR5 ~]# mkfifo /tmp/hchenpipe[hchen@RHELSVR5 ~]# ls -l /tmpprw-rw-r-- 1 hchen hchen 0 05-10 18:58 hchenpipe
然后,我们在一个shell中运行如下命令,这个命令不会返回,除非有人从这个有名管道中把信息读走。
[hchen@RHELSVR5 ~]# ls -al > /tmp/hchenpipe
我们在另一个命令窗口中读取这个管道中的信息:(其会导致上一个命令返回)
[hchen@RHELSVR5 ~]# head /tmp/hchenpipedrwx------ 8 hchen hchen 4096 05-10 18:27 .drwxr-xr-x 7 root root 4096 03-05 00:06 ..drwxr-xr-x 3 hchen hchen 4096 03-01 18:13 backup-rw------- 1 hchen hchen 721 05-05 22:12 .bash_history-rw-r--r-- 1 hchen hchen 24 02-28 22:20 .bash_logout-rw-r--r-- 1 hchen hchen 176 02-28 22:20 .bash_profile-rw-r--r-- 1 hchen hchen 124 02-28 22:20 .bashrc-rw-r--r-- 1 root root 14002 03-07 00:29 index.htm-rw-r--r-- 1 hchen hchen 31465 03-01 23:48 index.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# man less | col -b > less.txt
9)xmlwf
这个命令可以让你检查一下一个XML文档是否是所有的tag都是正常的。如:
[hchen@RHELSVR5 ~]# curl 'https://coolshell.cn/?feed=rss2' > cocre.xml % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 64882 0 64882 0 0 86455 0 --:--:-- --:--:-- --:--:-- 2073k[hchen@RHELSVR5 ~]# xmlwf cocre.xml[hchen@RHELSVR5 ~]# perl -i -pe 's@<link>@<br>@g' cocre.xml[hchen@RHELSVR5 ~]# xmlwf cocre.xmlcocre.xml:13:23: mismatched tag
10)lsof
可以列出打开了的文件。
[root@RHELSVR5 ~]# lsof | grep TCPhttpd 548 apache 4u IPv6 14300967 TCP *:http (LISTEN)httpd 548 apache 6u IPv6 14300972 TCP *:https (LISTEN)httpd 561 apache 4u IPv6 14300967 TCP *:http (LISTEN)httpd 561 apache 6u IPv6 14300972 TCP *:https (LISTEN)sshd 1764 root 3u IPv6 4993 TCP *:ssh (LISTEN)tcpserver 8965 root 3u IPv4 153795500 TCP *:pop3 (LISTEN)mysqld 10202 mysql 10u IPv4 73819697 TCP *:mysql (LISTEN)sshd 10735 root 3u IPv6 160731956 TCP 210.51.0.232:ssh->123.117.239.68:31810 (ESTABLISHED)sshd 10767 hchen 3u IPv6 160731956 TCP 210.51.0.232:ssh->123.117.239.68:31810 (ESTABLISHED)vsftpd 11095 root 3u IPv4 152157957 TCP *:ftp (LISTEN)
转自:陈皓
https://coolshell.cn/articles/790.html
1 ——End—— 2 3 4 5 6 7 8 9 10 11 12 后台回复关键字:1024,获取一份精心整理的技术干货 13 14 15 16 17 18 19 20 21 22 23 24 后台回复关键字:进群,带你进入高手如云的交流群。 25 26 27 28 29 30 31 32 33 34 35 36 推荐阅读 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 精心整理了一套SQL高级函数,建议收藏 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 从今天起,职场再无带薪拉屎! 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 一款SQL自动检查神器,再也不用担心SQL出错了! 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 SQL 语句中 where 条件后 写上1=1 是什么意思 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 国产数据库建模工具,看到界面第一眼,良心了! 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 这是一个能学到技术的公众号,欢迎关注 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 点击「阅读原文」了解SQL训练营
本文分享自微信公众号 - SQL数据库开发(sql_road)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。