shell:
shell第一行为#!/bin/bash
或#!/bin/sh
如果想要打印shell脚本中的每条命令的执行情况可以这样写,其中-x是用来调试用的:
#!/bin/sh -x
\r,\n与\r\n区别:
Unix换行:\n (0x0A)
MAC回车:\r (0x0D)
Win回车换行:\r\n (0x0D,0x0A)
抓包:
tcpdump -i any -s 0 host 172.16.119.145 -v -w /tmp/test001.pcap
tcpdump dst port 28703 -v -w /tmp/test001.pcap 到端口28703 的数据
ldd:
ldd可以列出一个程序所需要得动态链接库(so),如果运行可执行文件时,提示没有找到动态库:
[root@localhost prj_linux]# ./ipdt
./ipdt: error while loading shared libraries: libosp.so: cannot open shared object file: No such file or directory
可以使用ldd查看:
root@localhost prj_linux]# ldd ipdt
linux-vdso.so.1 => (0x00007ffec42a2000)
libosp.so => not found
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f45ef4e6000)
libz.so.1 => /lib64/libz.so.1 (0x00007f45ef2d0000)
librt.so.1 => /lib64/librt.so.1 (0x00007f45ef0c8000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f45eeec3000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f45eebbc000)
libm.so.6 => /lib64/libm.so.6 (0x00007f45ee8ba000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f45ee6a3000)
libc.so.6 => /lib64/libc.so.6 (0x00007f45ee2d6000)
其中“=>”左边的表示该程序需要连接的共享库之 so 名称。
右边表示由 Linux 的共享库系统找到的对应的共享库在文件系统中的具体位置。
可以使用LD_LIBRARY_PATH
设置动态库的查找路径:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.