linux命令行的常用命令
1.下载命令 wget
wget -c http://the.url.of/incomplete/file
c支持断点续传
-S, --server-response 打印服务器响应。
--hlep 查看其他帮助
2.安装卸载查询软件包命令
rpm -qa | grep tomcat4 查看 tomcat4 是否被安装;
rpm -i example.rpm 安装 example.rpm 包;
a 查询所有已经安装的包以下两个附加命令用于查询安装包的信息;
i 显示安装包的信息;
l 显示安装包中的所有文件被安装到哪些目录下;
s 显示安装版中的所有文件状态及被安装到哪些目录下;以下两个附加命令用于指定需要查询的是安装包还是已安装后的文件;
p 查询的是安装包的信息;
f 查询的是已安装的某文件信息;
e 需要卸载的安装包
3.source命令
source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。
方法1:让/etc/profile文件修改后立即生效 ,可以使用如下命令:
# . /etc/profile 注意: . 和 /etc/profile 有空格
方法2:
让/etc/profile文件修改后立即生效 ,可以使用如下命令:
# source /etc/profile
4.解压缩命令tar
解压到指定文件夹tar -xvf file.tar -C ./dir2/dir1
5.patch和diff
diff 【选项】 源文件(夹) 目的文件(夹),就是要给源文件(夹)打个补丁,使之变成目的文件(夹),
-r 是一个递归选项,设置了这个选项,diff会将两个不同版本源代码目录中的所有对应文件全部都进行一次比较,包括子目录文件。
-N 选项确保补丁文件将正确地处理已经创建或删除文件的情况。
-u 选项以统一格式创建补丁文件,这种格式比缺省格式更紧凑些。
patch就是利用diff制作的补丁来实现源文件(夹)和目的文件(夹)的转换。
-p0 选项要从当前目录查找目的文件(夹)
-p1 选项要忽略掉第一层目录,从当前目录开始查找。
-E 选项说明如果发现了空文件,那么就删除它
-R 选项说明在补丁文件中的“新”文件和“旧”文件现在要调换过来了
单个文件
diff –uN from-file to-file >to-file.patch
patch –p0 < to-file.patch
patch –RE –p0 < to-file.patch
多个文件
diff –uNr from-docu to-docu >to-docu.patch
patch –p1 < to-docu.patch
patch –R –p1 <to-docu.patch
6.lsof命令
ls -l /proc/self/fd,/proc/self本身就是当前运行进程ID的符号链接.
如果我们通过ipmi的串口登录,这里应该是/dev/ttySx,而如果是本地登录那应该是/dev/ttyx,如果是单用户登录那将是/dev/console.
/dev/pts/x是虚拟终端
/dev/ttySx是串行控制端
/dev/ttyx是控制台
/dev/console是单用户控制台
echo $$
lsof -p 3174 查看进程打开的文件,
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
bash 3174 root cwd DIR 8,1 4096 32577 /root
bash 3174 root rtd DIR 8,1 4096 2 /
bash 3174 root txt REG 8,1 797784 309511 /bin/bash
bash 3174 root mem REG 8,1 47520 147727 /lib/libnss_files-2.7.so
......
bash 3174 root 0u CHR 136,1 3 /dev/pts/1
bash 3174 root 1u CHR 136,1 3 /dev/pts/1
bash 3174 root 2u CHR 136,1 3 /dev/pts/1
bash 3174 root 255u CHR 136,1 3 /dev/pts/
ls -l /proc/3174/fd 在/proc中查看打开的文件
lrwx------ 1 root root 64 2010-10-10 13:13 0 -> /dev/pts/1
lrwx------ 1 root root 64 2010-10-10 13:13 1 -> /dev/pts/1
lrwx------ 1 root root 64 2010-10-10 13:13 2 -> /dev/pts/1
lrwx------ 1 root root 64 2010-10-10 13:15 255 -> /dev/pts/1
lsof不只是显示文件描述符,在lsof输出的最后四个文件是该进程的打开文件的文件描述符,0
u代表的文件描述符为0,而255u代表的文件描述符为255,u的意思为可读可写.
除了这四个文件描述符外,在FD一栏还有cwd,rtd,txt,mem等几种类型,它们的意义如下:
cwd代表当前目录,这里是/root
rtd代表根目录,这里是/
txt代表执行的程序,这里是/bin/bash
mem代表映射到内存的文件,这里是/lib/libc-2.7.so等动态链接库
TYPE一栏表示文件/目录的类型,DIR代表目录,REG代表普通文件,CHR代表字符设备.
其实我们可以通过w确认当前系统的伪终端,再通过lsof|grep ‘pts/0‘查看使用该伪终端的PID,最后用lsof -p PID查看该用户在做什么.
如果有具体的用户名,可以直接用lsof -u username来查看该用户当前加载的文件.
-i i select by IPv[46] address: [46][proto][@host|addr][:svc_list|port_list]
7.strace命令
strace常用来跟踪进程执行时的系统调用和所接收的信号。
在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。
strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。
-f 跟踪由fork调用所产生的子进程.
-o filename
将strace的输出写入文件filename
-p pid
跟踪指定的进程pid
用strace调试程序
解决库依赖问题
ls -d .* 只显示隐藏文件(或者l.)
-d 表示将文件夹像目录一样显示,不显示文件夹下的文件;
8.cut命令
字节(bytes),用选项-b,cut -b 3-5,8
字符(characters),用选项-c,cut -c 3-5,8
域(fields),用选项-f ,cut -d : -f 1,3-5
9. tr命令
tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。tr刚执
行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。
带有最常用选项的tr命令格式为:
tr -c -d -s ["string1_to_translate_from"] ["string2_to_translate_to"] < input-file
这里:
-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。
-d 删除字符串1中所有输入字符。
-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。
input-file是转换文件名。虽然可以使用其他格式输入,但这种格式最常用。
生成随机密码:
cat /dev/urandom | tr -dc A-Za-z0-9_ | head -c 16
10. netstat命令
Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
-i 显示网络接口列表
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
netstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中,这样 debugging 的时候可以很方便的发现特定端口运行的程序。
11.下载异常诊断常用命令
1、访问ip138获取用户IP
2、ping www.example.com
3、nslookup www.example.com
4、nslookup www.example.com 8.8.8.8
5、traceroute www.example.com
6、wget -S http://www.example.com/setup.exe
12.网络抓包工具:tcpdump
Usage: tcpdump [-aAdDefIKlLnNOpqRStuUvxX] [ -B size ] [ -c count ]
[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
[ -i interface ] [ -M secret ] [ -r file ]
[ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ]
[ -y datalinktype ] [ -z command ] [ -Z user ]
[ expression ]
1. tcpdump -D 获取网络适配器列表
2. tcpdump -X -s 0 -i eth1 src host 192.168.25.78 and tcp port 80
-X 显示数据包内容
-s 0 表示自动设置长度使其能够显示所有数据
3.tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap
(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i eth1 : 只抓经过接口eth1的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取100个数据包
(6)dst port ! 22 : 不抓取目标端口是22的数据包
(7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24
(8)-w ./target.cap : 保存成cap文件,方便用之后分析
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。