linux查看端口命令 tar,Linux常用命令笔记

tar命令

tar指定路径解压:

tar -zxvf xxx.tgz -C /home/your/dir(此目录必须首先存在)

tar当前路径解压:

tar -xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压 tar.gz

tar -xjvf file.tar.bz2 //解压 tar.bz2

tar -xZvf file.tar.Z //解压 tar.Z

tar命令打包文件,并未进行压缩

tar -cvf tarfile.tar file1 file1 file3 //打包当前目录下的3个文件为.tar

tar -czvf ~/monitor/monitor.tgz monitor //将moniotr文件夹用gzip压缩为monitor.tgz包

其他的解压缩命令

unrar e file.rar //解压rar

unzip file.zip //解压zip

rpm命令安装程序

rpm -ivh your-package.rpm //安装rmp安装包

rpm -q your-package.rpm //查找yum安装包

grep命令查找文件中的字符串

grep -rn hello ./* //在当前目录下查找包含'hello'字符串的文件

grep -rn fine ./* | grep -v test.c //在当前目录下查找包含'fine'字符文件,但跳过test.c文件

创建目录

mkdir -p /home/xu/test/ipc //中间目录不存在也会创建,存在就不创建成功返回

mkdir /home/xu/test/ipc //中间目录不存在失败返回

netstate查看端口命令

netstat //列出系统中所有套接子的状态

netstat -a //查看当前系统中所有套接子的情况[包括监听和未监听的] 默认不显示LISTEN相关

netstat -at //列出所有tcp套接子的信息

netstat -au //列出所有 udp 端口 netstat -au

netstat -l //仅列出在 Listen (监听) 的端口状态

netstat -r //显示核心路由信息 使用 netstat -rn 显示数字格式,不查询主机名称

netstat -c //每隔一个固定时间,执行该netstat命令

netstat -s //显示所有端口的统计信息

netstat -ap | grep ssh //找出程序运行的端口

netstat -an | grep ':80' // 找出运行在指定端口的进程

netstat -nlpt //查看tcp相应的端口是否开启

netstat -nta //显示所有tcp的端口信息,-t显示tcp协议 -n直接使用IP地址显示 -a显示全部

netstat -pnta |grep monitor //显示跟monitor程序相关的端口信息 必须有-p选项 -p显示程序名

netstat -ctnpa |grep monitor //实时的显示monitor程序相关的端口信息

netstat -ltnp | grep 30000 //显示端口30000相关的信息

netstat -nlpt | grep BRM //显示BRM程序相应的端口信息

使用ftp传送文件

1.与远程地址建立连接:

ftp 197.1.4.105

2.将文件转换成二进制格式

bin

3.将本地文件传送到远程(只能传送文件 不能传送文件夹 文件夹需压缩)

put test.zip

4.获取远程文件

get test.zip

5.解压文件

unzip test.zip //解压到当前的目录下

Linux中的SVN使用

添加新文件:

svn add filename

添加修改:

svn ci

更新远程到本地:

svn up

gdb调式

coredump的设置:只对当前的端口有作用

ulimit -c unlimited //产生coredump且不受大小受限制

ulimit -c 0 //取消产生coredump

调试core文件,进入之后bt查看当前的栈哪个函数造成段错误

gdb monitor core.345343 //monitor为可执行二进制文件

调式一个带参数的可执行程序: ./a.out 127.0.0.1 10008

方式一:

gdb a.out

set args 127.0.0.1 10008

run //运行程序

方法二:

gdb --args a.out 127.0.0.1 10003

run //运行程序

调试一个正在运行的程序:

ps -ef |grep monitor //显示所有与damR相关的进程号 ps aux |grep monitor

gdb --pid pid //调试正在运行的pid的程序 需要root的权限

断点设置:

b net.c: 200 //在net.c的200行设置一个断点

b connect //在函数connet处设置一个断点

b 200 //在本文件的200行设置一个断点

删除断点:

clear list_insert //删除函数的所有断点

clear list.c:list_delet //删除文件中函数的所有断点

clear 12 //删除行号的所有断点

clear list.c:12 //删除文件中行号的所有断点

信号调试:

handle SIGINT nostop pass print //接收信号不停止,传递给正在调试的程序并打印信号

signal SIGINT //产生一个SIGINT信号

查看数值

print *set@len //打印set[char* int*等等]这个指针所指内存里面的值,打印出1en的长度

set print elements len//len为设置的需要打印的多少字节数,以后使用p的时候会显示出这么多字节的数据

set print pretty //需要打印结构体的时候设置此选项更加的具有可读性

list //列出下面要进行运行的代码 ctrl+x ctrl+a gdb显示代码

info thread //查看当前多少线程 *代表正在运行的线程

x 0x123456 //以十六进制的格式打印出地址0x123456的内存的值

bt[backtrace] //查看当前线程整个栈的情况

thread 虚拟进程号 //【前面的小数字1,2,3】 //切换到某个线程

frame 1 // 切换到栈的第二次 0代表栈顶

运行中的控制

next //不进入函数里面往下面执行一步 n

step //进入函数里面往下面执行一步 s

continue //继续运行直到遇到断点或者给gdb发送信号ctrl+c[如果是多线程则需要关闭调度锁] c

多线程调式:

set scheduler-locking on //锁住其他线程,除了带*的线程其他全部停止运行

set scheduler-locking off //关闭锁定

调试时进入系统无法退出,则输入命令:

finish // 直接退出函数 函数依旧会执行

替换字符串

sed文件外替换:

sed -i ‘s/oldstring/newstring/g’ `grep "oldstring" -rl path`

sed -i 's/oldstring/newstring/g' file.c file1 files//替换这三个文件中的内��|9

-i: 在文件中直接替换,而不是输出到终端

-r:在目录中递归查找

-l: 输出找到包含oldstring 的文件名

“s/oldstring/newstring/g” 替换字符串的语法,后面的g表示替换所有的

grep "oldstring" -rl path : 注意该命令两边的引号

将当前目录下所有文件中”mfptp_parser”替换成”mfptp_parse_info”[全局替换] -type f 代表所有普通文件

find ./ -type f |xargs sed -i s#mfptp_parser#mfptp_parse_info#g

vim文件内替换:

%s/oldstring/newstring/g

远程登录问题

打开服务,可以让别的机器远程登录 ssh 和scp功能:

service sshd start

远程电脑connect连接不上[Errno 113 No route to host],则开启远程绑定的端口

firewall-cmd --add-port=10003/tcp //10003为要连接的端口

kill命令

killall damR//杀死所有关于damR的相关进程

kill -9 pid//杀死进程pid

vim粘贴时格式混乱的问题

如果在.vimrc中设置了自动缩进set autoindent,那么在插入模式下粘贴代码时,vim会自动为代码缩进,导致格式混乱。解决的办法如下:

在.vimrc中设置set paste选项,这样粘贴代码时就不会产生缩进了,但是如果需要缩进的时候又要把该选项改回set nopaste。这样换来换去很麻烦,所以可以设置一个开关。

set pastetoggle

如此,通过按F9键就可以打开和关闭paste选项了,粘贴之前按下F9,需要缩进时再按下F9。

其他

调试网络程序需要用到的命令:

ps -t pts/6 -o pid,ppid,tty,stat,args,wchan

ps -T -p pid //显示进程pid里面创建的线程

调试的几个命令:

ps -ef | grep programName //找到在运行的programName的pid

gdb –pid pidNumber //可以直接这样调试正在运行的程序

top //查看cpu的利用率

netstat -nlpt //查看tcp相应的端口是否开启

strace -p pid

htop -p pid

查看共享内存命令:

ipcs -m

你可能感兴趣的:(linux查看端口命令,tar)