//工作中用到的linux基础
ps -A|grep hd4 --- 获取进程pid
gdb attach pid
b CPP:line_num --- 打断点
c --- continue
启动 rayd
nohup ./ayd &
//服务器IP:xx.xx.xx.xx
1、mysql -pbxd123
2、use chat_im、
3、 select port,id,service from rooms where id= 109;
5、netstat -alnp|grep 9601 //查询9601对应的进程
6、kill -9 pid //关闭该线程
7、nohup ./chat & 启动
8、查看某个进程是否在运行
ps -A|grep Jack
一、查看哪些端口被打开 netstat -anp
二、关闭端口号:iptables -A INPUT -p tcp --drop 端口号-j DROP
iptables -A OUTPUT -p tcp --dport 端口号-j DROP
三、打开端口号:iptables -A INPUT -ptcp --dport 端口号-j ACCEPT
四、以下是linux打开端口命令的使用方法。
nc -lp 23 &(打开23端口,即telnet)
netstat -an | grep 23 (查看是否打开23端口)
1. linux 查询某个端口被什么进程占用的命令
用lsof -i : 端口号即可获取进程号
例如
lsof -i :8080
2、查看某个端口被那个进程占用
netstat -anp|grep 8100
3 查看到进程id之后,使用netstat命令查看其占用的端口:
netstat -nap | grep pid
Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的
/usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。/opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。
源码放哪里?/usr/src:系统级的源码目录。/usr/local/src:用户级的源码目录。
find .|xargs grep -ri "IBM"
Linux 下可以使用ldd查看可执行文件所需要的动态链接库(*.so)
如果ldd命令没有找到对应的共享库文件和其具体位置?
可能是两种情况引起的:
1)共享库没有安装在该系统中;
2)共享库保存在/etc/ld.so.conf文件列出的搜索路径之外的位置。
通常情况下,许多开源代码的程序或函数库都会默认将在即安装到/usr/local目录下的相应位置(如:/usr/local/bin 或 /usr/local/lib)以便于系统自身的程序或函数库相区别。而许多linux系统的/ect/ld.so.conf 文件中默认又不包含 /usr/local/lib 。因此出现安装了共享库,但是却无法找到共享库的情况。
解决办法:
检查/etc/ld.so.conf文件,如果其中缺少/usr/local/lib 目录,就添加进去;
注意:在修改了/etc/ld.so.conf 文件或者在系统中安装了新的函数库之后,需要运行命令 ldconfig,该命令用来刷新系统的共享库缓存,即 /etc/ld.so.cache 文件。为了减少共享库系统的库搜索时间,共享库系统维护了一个共享库so名称的缓存文件 /etc/ld.so.cache 。 因此,在安装新的共享库之后,一定要运行 ldconfig刷新该缓存。
三
strace命令可以跟踪进程执行过程
四
如果想让自己的程序可以全局运行 可以在/usr/local/bin中创建软连接
ln -s YourProgram /usr/local/bin
五、assert问题
程序员都知道assert。但在Windows下使用VC编写的程序的人来说,使用assert之后,只需在IDE中设置为debug版或者是release版,编译器就会自动忽略掉assert。
但在Linux下,必须要在编译命令中加入-DNDEBUG中,系统编译时才不会将assert编译进去。不然,程序运行时有可能会被assert中断。
六、求文件大小
du -sh FileName
3757

被折叠的 条评论
为什么被折叠?



