已经找到“” 的记录352条
Linux arpwatch命令

Linux arpwatch命令

Linux 命令大全 Linux 命令大全

Linux arpwatch命令用于监听网络上ARP的记录。

ARP(Address Resolution Protocol)是用来解析IP与网络装置硬件地址的协议。

arpwatch可监听区域网络中的ARP数据包并记录,同时将监听到的变化通过E-mail来报告。

语法

arpwatch [-d][-f<记录文件>][-i<接口>][-r<记录文件>]

参数

  • -d 启动排错模式。
  • -f<记录文件> 设置存储ARP记录的文件,预设为/var/arpwatch/arp.dat。
  • -i<接口> 指定监听ARP的接口,预设的接口为eth0。
  • -r<记录文件> 从指定的文件中读取ARP记录,而不是从网络上监听。
  • -n 指定附加的本地网络
  • -u 指定用户和用户组
  • -e 发送邮件给指定用户,非默认的root用户
  • -s 指定用户名作为返回地址,而不是默认的用户root

实例

监听网卡eth0的ARP信息

arpwatch -i eth0

监听ARP的信息,将相关信息记录到相应的文件

# arpwatch -i eth0 -f a.log //将信息记录到a.log中

Linux 命令大全 Linux 命令大全

Linux apachectl命令

Linux apachectl命令

Linux 命令大全 Linux 命令大全

Linux apachectl命令可用来控制Apache HTTP服务器的程序。

apachectl是slackware内附Apache HTTP服务器的script文件,可供管理员控制服务器,但在其他Linux的Apache HTTP服务器不一定有这个文件。

语法

apachectl [configtest][fullstatus][graceful][help][restart][start][status][stop]

参数

  • configtest 检查设置文件中的语法是否正确。
  • fullstatus 显示服务器完整的状态信息。
  • graceful 重新启动Apache服务器,但不会中断原有的连接。
  • help 显示帮助信息。
  • restart 重新启动Apache服务器。
  • start 启动Apache服务器。
  • status 显示服务器摘要的状态信息。
  • stop 停止Apache服务器。

Linux 命令大全 Linux 命令大全

Linux pkill 命令

Linux pkill 命令

Linux 命令大全 Linux 命令大全

Linux pkill 用于杀死一个进程,与 kill 不同的是它会杀死指定名字的所有进程,类似于 killall 命令。

kill 命令杀死指定进程 PID,需要配合 ps 使用,而 pkill 直接对进程对名字进行操作,更加方便。

语法

  pkill [选项]  name

参数说明

  • name : 进程名

选项包含如下几个参数:

  • -o 仅向找到的最小(起始)进程号发送信号 -n 仅向找到的最大(结束)进程号发送信号
  • -P 指定父进程号发送信号
  • -g 指定进程组
  • -t 指定开启进程的终端

实例

# pkill -9  php-fpm          //结束所有的 php-fpm 进程

Linux 命令大全 Linux 命令大全

Linux killall 命令

Linux killall 命令

Linux 命令大全 Linux 命令大全

Linux killall 用于杀死一个进程,与 kill 不同的是它会杀死指定名字的所有进程。

kill 命令杀死指定进程 PID,需要配合 ps 使用,而 killall 直接对进程对名字进行操作,更加方便。

语法

  killall [选项]  name

参数说明

  • name : 进程名

选项包含如下几个参数:

  • -e | --exact : 进程需要和名字完全相符
  • -I | --ignore-case :忽略大小写
  • -g | --process-group :结束进程组
  • -i | --interactive :结束之前询问
  • -l | --list :列出所有的信号名称
  • -q | --quite :进程没有结束时,不输出任何信息
  • -r | --regexp :将进程名模式解释为扩展的正则表达式。
  • -s | --signal :发送指定信号
  • -u | --user :结束指定用户的进程
  • -v | --verbose :显示详细执行过程
  • -w | --wait :等待所有的进程都结束
  • -V |--version :显示版本信息
  • --help :显示帮助信息

实例

# killall -9 php-fpm          //结束所有的 php-fpm 进程

Linux 命令大全 Linux 命令大全

Linux nohup 命令

Linux nohup 命令

Linux 命令大全 Linux 命令大全

nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

使用权限

所有使用者

语法格式

 nohup Command [ Arg … ] [ & ]

参数说明:

Command:要执行的命令。

Arg:一些参数,可以指定输出文件。

&:让命令在后台执行,终端退出后命令仍旧执行。

实例

以下命令在后台执行 root 目录下的 runoob.sh 脚本:

nohup /root/runoob.sh &

在终端如果看到以下输出说明运行成功:

appending output to nohup.out

这时我们打开 root 目录 可以看到生成了 nohup.out 文件。

如果要停止运行,你需要使用以下命令查找到 nohup 运行脚本到 PID,然后使用 kill 命令来删除:

ps -aux | grep "runoob.sh" 

参数说明:

  • a : 显示所有程序
  • u : 以用户为主的格式来显示
  • x : 显示所有程序,不区分终端机

另外也可以使用 ps -def | grep "runoob.sh" 命令来查找。

找到 PID 后,就可以使用 kill PID 来删除。

kill -9  进程号PID

以下命令在后台执行 root 目录下的 runoob.sh 脚本,并重定向输入到 runoob.log 文件:

nohup /root/runoob.sh > runoob.log 2>&1 &

2>&1 解释:

将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 runoob.log 文件中。

  • 0 – stdin (standard input,标准输入)
  • 1 – stdout (standard output,标准输出)
  • 2 – stderr (standard error,标准错误输出)

Linux 命令大全 Linux 命令大全

Linux ip 命令

Linux ip 命令

Linux 命令大全 Linux 命令大全

Linux ip 命令与 ifconfig 命令类似,但比 ifconfig 命令更加强大,主要功能是用于显示或设置网络设备。

ip 命令是 Linux 加强版的的网络配置工具,用于代替 ifconfig 命令。

语法

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT 为常用对象,值可以是以下几种:

 
OBJECT={ link | addr | addrlabel | route | rule | neigh | ntable | tunnel | maddr | mroute | mrule | monitor | xfrm | token }

常用对象的取值含义如下:

  • link:网络设备
  • address:设备上的协议(IP或IPv6)地址
  • addrlabel:协议地址选择的标签配置
  • route:路由表条目
  • rule:路由策略数据库中的规则

OPTIONS 为常用选项,值可以是以下几种:

OPTIONS={ -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] | -h[uman-readable] | -iec | -f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] | -t[imestamp] | -b[atch] [filename] | -rc[vbuf] [size] }

常用选项的取值含义如下:

  • -V:显示命令的版本信息;
  • -s:输出更详细的信息;
  • -f:强制使用指定的协议族;
  • -4:指定使用的网络层协议是IPv4协议;
  • -6:指定使用的网络层协议是IPv6协议;
  • -0:输出信息每条记录输出一行,即使内容较多也不换行显示;
  • -r:显示主机时,不使用IP地址,而使用主机的域名。
  • help 为该命令的帮助信息。

    实例

    ip link show                     # 显示网络接口信息
    ip link set eth0 up             # 开启网卡
    ip link set eth0 down            # 关闭网卡
    ip link set eth0 promisc on      # 开启网卡的混合模式
    ip link set eth0 promisc offi    # 关闭网卡的混个模式
    ip link set eth0 txqueuelen 1200 # 设置网卡队列长度
    ip link set eth0 mtu 1400        # 设置网卡最大传输单元
    ip addr show     # 显示网卡IP信息
    ip addr add 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1
    ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址
    
    ip route show # 显示系统路由
    ip route add default via 192.168.1.254   # 设置系统默认路由
    ip route list                 # 查看路由信息
    ip route add 192.168.4.0/24  via  192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口
    ip route add default via  192.168.0.254  dev eth0        # 设置默认网关为192.168.0.254
    ip route del 192.168.4.0/24   # 删除192.168.4.0网段的网关
    ip route del default          # 删除默认路由
    ip route delete 192.168.1.0/24 dev eth0 # 删除路由

    用 ip 命令显示网络设备的运行状态:

    [root@localhost ~]# ip link list
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
        link/ether 00:16:3e:00:1e:51 brd ff:ff:ff:ff:ff:ff
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
        link/ether 00:16:3e:00:1e:52 brd ff:ff:ff:ff:ff:ff

    显示更加详细的设备信息:

    [root@localhost ~]# ip -s link list
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        RX: bytes  packets  errors  dropped overrun mcast   
        5082831    56145    0       0       0       0      
        TX: bytes  packets  errors  dropped carrier collsns
        5082831    56145    0       0       0       0      
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
        link/ether 00:16:3e:00:1e:51 brd ff:ff:ff:ff:ff:ff
        RX: bytes  packets  errors  dropped overrun mcast   
        3641655380 62027099 0       0       0       0      
        TX: bytes  packets  errors  dropped carrier collsns
        6155236    89160    0       0       0       0      
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
        link/ether 00:16:3e:00:1e:52 brd ff:ff:ff:ff:ff:ff
        RX: bytes  packets  errors  dropped overrun mcast   
        2562136822 488237847 0       0       0       0      
        TX: bytes  packets  errors  dropped carrier collsns
        3486617396 9691081  0       0       0       0    
    

    显示核心路由表:

    [root@localhost ~]# ip route list 
    112.124.12.0/22 dev eth1  proto kernel  scope link  src 112.124.15.130
    10.160.0.0/20 dev eth0  proto kernel  scope link  src 10.160.7.81
    192.168.0.0/16 via 10.160.15.247 dev eth0
    172.16.0.0/12 via 10.160.15.247 dev eth0
    10.0.0.0/8 via 10.160.15.247 dev eth0
    default via 112.124.15.247 dev eth1

    显示邻居表:

    [root@localhost ~]# ip neigh list
    112.124.15.247 dev eth1 lladdr 00:00:0c:9f:f3:88 REACHABLE
    10.160.15.247 dev eth0 lladdr 00:00:0c:9f:f2:c0 STALE

    获取主机所有网络接口:

    ip link | grep -E '^[0-9]' | awk -F: '{print $2}'

    Linux 命令大全 Linux 命令大全

Linux xargs 命令

Linux xargs 命令

Linux 命令大全 Linux 命令大全

xargs(英文全拼: eXtended ARGuments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。

xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。

xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。

xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。

xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。

之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了 xargs 命令,例如:

find /sbin -perm +700 |ls -l       #这个命令是错误的
find /sbin -perm +700 |xargs ls -l   #这样才是正确的

xargs 一般是和管道一起使用。

命令格式:

somecommand |xargs -item  command

参数:

  • -a file 从文件中读入作为 stdin
  • -e flag ,注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止。
  • -p 当每次执行一个argument的时候询问一次用户。
  • -n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。
  • -t 表示先打印命令,然后再执行。
  • -i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。
  • -r no-run-if-empty 当xargs的输入为空的时候则停止xargs,不用再去执行了。
  • -s num 命令行的最大字符数,指的是 xargs 后面那个命令的最大命令行字符数。
  • -L num 从标准输入一次读取 num 行送给 command 命令。
  • -l 同 -L。
  • -d delim 分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改的是xargs的分隔符。
  • -x exit的意思,主要是配合-s使用。。
  • -P 修改最大的进程数,默认是1,为0时候为as many as it can ,这个例子我没有想到,应该平时都用不到的吧。

实例

xargs 用作替换工具,读取输入数据重新格式化后输出。

定义一个测试文件,内有多行文本数据:

# cat test.txt

a b c d e f g
h i j k l m n
o p q
r s t
u v w x y z

多行输入单行输出:

# cat test.txt | xargs
a b c d e f g h i j k l m n o p q r s t u v w x y z

-n 选项多行输出:

# cat test.txt | xargs -n3

a b c
d e f
g h i
j k l
m n o
p q r
s t u
v w x
y z

-d 选项可以自定义一个定界符:

# echo "nameXnameXnameXname" | xargs -dX

name name name name

结合 -n 选项使用:

# echo "nameXnameXnameXname" | xargs -dX -n2

name name
name name

读取 stdin,将格式化后的参数传递给命令

假设一个命令为 sk.sh 和一个保存参数的文件 arg.txt:

#!/bin/bash
#sk.sh命令内容,打印出所有参数。

echo $*

arg.txt文件内容:

# cat arg.txt

aaa
bbb
ccc

xargs 的一个选项 -I,使用 -I 指定一个替换字符串 {},这个字符串在 xargs 扩展时会被替换掉,当 -I 与 xargs 结合使用,每一个参数命令都会被执行一次:

# cat arg.txt | xargs -I {} ./sk.sh -p {} -l

-p aaa -l
-p bbb -l
-p ccc -l

复制所有图片文件到 /data/images 目录下:

ls *.jpg | xargs -n1 -I {} cp {} /data/images

xargs 结合 find 使用

用 rm 删除太多的文件时候,可能得到一个错误信息:/bin/rm Argument list too long. 用 xargs 去避免这个问题:

find . -type f -name "*.log" -print0 | xargs -0 rm -f

xargs -0 将 \0 作为定界符。

统计一个源代码目录中所有 php 文件的行数:

find . -type f -name "*.php" -print0 | xargs -0 wc -l

查找所有的 jpg 文件,并且压缩它们:

find . -type f -name "*.jpg" -print | xargs tar -czvf images.tar.gz

xargs 其他应用

假如你有一个文件包含了很多你希望下载的 URL,你能够使用 xargs下载所有链接:

# cat url-list.txt | xargs wget -c

Linux 命令大全 Linux 命令大全

Linux head 命令

Linux head 命令

Linux 命令大全 Linux 命令大全

head 命令可用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。

命令格式:

head [参数] [文件]  

参数:

  • -q 隐藏文件名
  • -v 显示文件名
  • -c<数目> 显示的字节数。
  • -n<行数> 显示的行数。

实例

要显示 runoob_notes.log 文件的开头 10 行,请输入以下命令:

head runoob_notes.log

显示 notes.log 文件的开头 5 行,请输入以下命令:

head -n 5 runoob_notes.log

显示文件前 20 个字节:

head -c 20 runoob_notes.log

Linux 命令大全 Linux 命令大全

Linux tail 命令

Linux tail 命令

Linux 命令大全 Linux 命令大全

tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

命令格式:

tail [参数] [文件]  

参数:

  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示文件的尾部 n 行内容
  • --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
  • -q, --quiet, --silent 从不输出给出文件名的首部
  • -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

实例

要显示 notes.log 文件的最后 10 行,请输入以下命令:

tail notes.log         # 默认显示最后 10 行

要跟踪名为 notes.log 的文件的增长情况,请输入以下命令:

tail -f notes.log

此命令显示 notes.log 文件的最后 10 行。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。

显示文件 notes.log 的内容,从第 20 行至文件末尾:

tail -n +20 notes.log

显示文件 notes.log 的最后 10 个字符:

tail -c 10 notes.log

Linux 命令大全 Linux 命令大全

Linux bc 命令

Linux bc 命令

Linux 命令大全 Linux 命令大全

bc 命令是任意精度计算器语言,通常在linux下当计算器用。

它类似基本的计算器, 使用这个计算器可以做基本的数学运算。

常用的运算:

  • + 加法
  • - 减法
  • * 乘法
  • / 除法
  • ^ 指数
  • % 余数

语法

bc(选项)(参数)

选项值

  • -i:强制进入交互式模式;
  • -l:定义使用的标准数学库
  • ; -w:对POSIX bc的扩展给出警告信息;
  • -q:不打印正常的GNU bc环境信息;
  • -v:显示指令版本信息;
  • -h:显示指令的帮助信息。

参数

文件:指定包含计算任务的文件。

实例

$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
2+3
5
5-2
3
2+3*1
5

输入 quit 退出。

通过管道符

$ echo "15+5" | bc
20

scale=2 设小数位,2 代表保留两位:

$ echo 'scale=2; (2.777 - 1.4744)/1' | bc
1.30

bc 除了 scale 来设定小数位之外,还有 ibase 和 obase 来其它进制的运算:

$ echo "ibase=2;111" |bc
7

进制转换

#!/bin/bash

abc=192 
echo "obase=2;$abc" | bc

执行结果为:11000000,这是用bc将十进制转换成二进制。

#!/bin/bash 

abc=11000000 
echo "obase=10;ibase=2;$abc" | bc

执行结果为:192,这是用bc将二进制转换为十进制。

计算平方和平方根:

$ echo "10^10" | bc 
10000000000
$ echo "sqrt(100)" | bc
10

Linux 命令大全 Linux 命令大全

客户热线: