6个你可能不熟悉的Linux实用命令

时间:2022-04-28 11:46:13

Linux是一个强大的操作系统,这篇文章收集了6个你可能没有用过的Linux命令,但却相当的有用,供大家参考。

6个你可能不熟悉的Linux实用命令

1. bc

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

#!/bin/bash 

if [ $ 

then 

    echo 'Usage: sqrt number' 

    exit 1 

else 

    echo -e "sqrt($1)\nquit\n" | bc -q -i 

fi 

接着,可使用这个脚本进行平方根运算:

[hchen@RHELSVR5]$ ./sqrt 36 

[hchen@RHELSVR5]$ ./sqrt 2.0000 

1.4142 

[hchen@RHELSVR5]$ ./sqrt 10.0000 

3.1622 

2. 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 

3. pgrep

pgrep名字前有个p,可以猜想它可能和grep有关,确实这是进程相关的grep命令。不过,这个命令主要是用来列举进程ID的。如:

$ pgrep -u hchen 

22441 

22444 

这个命令相当于:

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

4. 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, 

5. 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) 

6. col

这个命令,能将man文件转成纯文本文件。如下示例:

PAGER=cat 

# man less | col -b > less.txt