被遗忘的 10 个Linux命令,很实用!
(扫码关注呀~)
链接:https://www.sibida.net/article/45289
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/bash
if [ $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)
- End -
最后说一个题外话,相信大家有不少人开通了视频号。小詹也开通了一个视频号,会分享互联网那些事、读书心得与副业经验,欢迎各位扫描下方二维码关注。
被遗忘的 10 个Linux命令,很实用!相关推荐
- linux 命令 kps,10个LINUX命令 超好用
下面可能是你不曾用过后十个Linux的命令.相当的有用. 1)pgrep pgrep名字前有个p,我们可以猜到这和进程相关,又是grep,当然这是进程相关的grep命令.不过,这个命令主要是用来列举进 ...
- 每一个程序员需要了解的10个Linux命令
作为一个程序员,在软件开发职业生涯中或多或少会用到Linux系统,并且可能会使用Linux命令来检索需要的信息.本文将为各位开发者分享10个有用的Linux命令,希望对你会有所帮助. 今天我们要介绍的 ...
- 会玩这 10 个 Linux 命令,一定是个有趣的 IT 男!
Linux当中有很多比较有趣的命令,可以动手看看,很简单的. 1.rev命令 一行接一行地颠倒所输入的字符串. 运行: $rev 如输入:shiyanlou shiyanlou 2.asciiview ...
- 【10】linux命令每日分享——cp复制文件和目录
大家好,这里是sdust-vrlab,Linux是一种免费使用和自由传播的 类UNIX操作系统,Linux的基本思想有两点:一切都是文件:每个文件都有确定的用途:linux涉及到IT行业的方方面面,在 ...
- linux命令(实用)
1.删除0字节文件 find -type f -size 0 -exec rm -rf {} \; 2.查看进程 按内存从大到小排列 ps -e -o "%C : %p : %z : ...
- 10条Linux命令锦囊,防你牢底坐穿
http://xjjdog.cn 对200+原创文章进行了细致的分类,阅读更流畅,欢迎收藏. 原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处.任何不保留此声明的转载都是抄袭 ...
- 让你相见恨晚的10个Linux命令别名!
自从知道这10个命令别名后我很不开心,因为要是我早知道的话,我的钛合金键盘就不会被戳坏了! 别名是啥? 别名就是一个绰号,或者叫简写,比如你要是非洲兄弟 「夸张夸长刮胡瓜啦夸掌 喀 炸不烂炸」名儿太长 ...
- linux运维实施命令,很实用的Linux运维命令
find -an|find /i "EST" /c :windown下统计连接数 find -an|find /i "portid" ...
- 这 10条 Linux 命令锦囊,防你牢底坐穿
每一年,都会有删库跑路的新闻.现实中,删库容易,跑路难,从业者充满了泪水. 这些动作里面,并不总是存在主观的恶意,而是这些命令太危险了.线上操作时,一定要保持清醒的头脑,切记马虎大意. 你说你误操作的 ...
最新文章
- 公办低分二本_三本4所二本3所,四川考生都是用这7所大学保底的,分数低保录取...
- 2018-2019-1 20165226 《信息安全系统设计基础》第4周学习总结
- [C] 跨平台使用Intrinsic函数范例3——使用MMX、SSE2指令集 处理 32位整数数组求和...
- (转)Java随机数
- EASYSIZE备份
- Python2 圆满落幕,Python 继续辉煌! | 原力计划
- Springsecurity之认证过程简析
- 2.RabbitMQ实战 --- 理解消息通信
- shell脚本使用getopts自定义传入参数选项
- 好看的思维导图案例,你想做出来吗
- 远程服务器虚拟显示器(Ubuntu 20.04 LTS)
- C# ZipArchive 文件末端错误 的解决方案
- 知网查重提交论文显示服务器错误,职称论文在进行知网查重时,经常出现的错误有哪些?...
- python 自动发邮件模块抄送_Python实现自动发送邮件
- Unity 简易读取配置文件内容(txt,懒人用)
- [unity2D] 迷你拼图
- JavaScript 每日一题 #11
- VB编程:UCase转大写,LCase转小写-4
- 接口测试平台代码实现146: 平台主题-夏日清凉5
- 【数据分析师自学系列-MySQL】创建新表create table、create table as、create table like的区别
热门文章
- auto errored after 报错解决_MySQL5.7 group_by报错问题解决办法,大部分程序员都收藏了...
- php自定义表单怎么导入excel,织梦dedeCMS将自定义表单数据导入到excel文档实现方法...
- kass中lisp文件,常见的Lisp-获取文件的路径
- MySQL中的describe命令
- Java 改变cmd颜色_9 个小技巧让你的 if else 看起来更优雅!
- rs485编程java_串行编程RS485
- mysql集群session_Jetty9.2.2集群Session共享
- 学计算机cpu重要还是显卡重要,玩游戏的过程中究竟是显卡重要还是CPU重要?
- jq点击按钮获取php的值删除,通过jquery怎么移除点击事件
- mysql 实现nextval_mysql实现nextVal功能