linux shell 命令

来源:互联网 发布:医学逻辑回归算法 编辑:程序博客网 时间:2024/05/16 14:30

tcpdump

捕获源地址127.0.0.1 且 目的地址1.1.1.1的包

tcpdump -Xens 0 src 127.0.0.1 and dst 1.1.1.1 -w tcpdump


grep 中的 () .   [ ]   优先级(保持原含义的程度)依次提升

root@ubuntu:~# echo "asdf"|grep -E "([sgh])"
asdf
root@ubuntu:~# echo "asdf"|grep -E "[.]"
root@ubuntu:~# echo "asd.f"|grep -E "[.]"
asd.f
root@ubuntu:~# echo "asd.f"|grep -E "(.d)"
asd.f
root@ubuntu:~# echo "asd(f"|grep -E "[(s).]"
asd(f
root@ubuntu:~# 


脚本参数、 函数参数内部引用及含义

        $0  shell的命令本身(包括完整路径),, 就算在function中也是指 shell的命令本身(不含参数)
        $1到$9 数字表示shell 的第几个参数 
        $# 传递到脚本的参数个数
        $* 以一个单字符串显示所有向脚本传递的参数
        $$ 脚本运行的ID号
        $! 后台运行的最后一个进程的ID号
        $@ 与$*相同。
        $- 显示shell使用的当前选项。
        $? 显示最后命令的执行状况。0表示没有错误。




./test.sh  p1 p2
$0 is { ./test.sh }
$1 is { p1 }
$2 is { p2 }
$* is { p1 p2 }
$@ is { p1 p2 }
$# is { 2 }
$! is {  }
$$ is { 25643 }
$? is { 0 }

---------------------------------------------------------------------------------------


脚本内(无论在不在函数内)

$0: 完整脚本名 (如/xx/xx/scriptname)


脚本内但不在函数内

$1: 脚本第一个参数

$2 ... $9 类推

$# 脚本的参数个数,不包含脚本名


函数内

$1: 函数的第一个参数

$2 ... $9 类推

$# 函数的参数个数,不包含函数本名



file t1:


#!/bin/bash


echo "script script name $0"
echo "script first parameter $1"
echo "script num of parameters (no include script name) $#"


function ss()
{
echo "func name $0"
echo "func first parameter $1"
echo "func num of parameters(no include func name) $#"
}


ss fp1 fp2


execute:

root@ubuntu:~/wdc/progams/shelllinux# ./t1 sp1 sp2 sp3
script script name ./t1
script first parameter sp1
script num of parameters (no include script name) 3
func name ./t1
func first parameter fp1
func num of parameters(no include func name) 2
root@ubuntu:~/wdc/progams/shelllinux# 
root@ubuntu:~/wdc/progams/shelllinux# 


0 0
原创粉丝点击