Linux 开发闲杂知识点速查

设置动态链接库路径

在链接的时候, 我们可以通过链接选项指定动态链接库路径,而到了真正执行的时候, 可以通过一下两种方法指定:
1. LD_LIBRARY_PATH 环境变量。
2. /etc/ld.so.cache 文件, 编辑后执行 sudo ldconfig 刷新之。

Makefile / gcc 编译并自动生产依赖

gcc -MD -MP -MF $(addsuffix .d , (basename $@ )) -c $< -o $@

使用core dump 恢复crash场景

  • 首先, Linux下默认程序Crash是不会产生core file的, 需要先执行命令

    ulimit -c unlimited

    • 当然也可以将它放置在~/.bashrc 里面保证每次开终端都会运行。
  • 设置core file 文件名字格式

    echo “/tmp/core-%e-%p” > /proc/sys/kernel/core_pattern

  • 具体格式:

    %%: 相当于%
    %p: 相当于<pid>
    %u: 相当于<uid>
    %g: 相当于<gid>
    %s: 相当于导致dump的信号的数字
    %t: 相当于dump的时间
    %h: 相当于hostname
    %e: 相当于执行文件的名称
    
  • 然后使用gdb 恢复现场

    gdb execute_file core_dump_file

  • 参考博客

    http://lazycat.is-programmer.com/posts/31925.html
    http://easwy.com/blog/archives/customize-filename-of-core-dump/

压缩, 解压缩

tar

# 压缩 
tar -czf  XXX.tar.gz  XXX
# 解压到当前目录
tar -xzf XXX.tar.gz
##### 不需要gz 的话就取掉gz 和 -g 选项。

zip

# 压缩 
zip -qr  XXX.zip  XXX
# 解压到当前目录
unzip XXX.zip 

scp 传文件

本机传它机根目录

scp file_name user_name@192.168.1.252:~/   

从它机取文件到当前目录

scp user_name@192.168.1.252:~/Template/example.txt  ./

~/.bashrc

不关闭shell重新加载~/.bashrc

source ~/.bashrc

开机启动

所有启动 脚本 放置在 /etc/rc.d/init.d下
rc?.d中放置的是init.d中脚本 的链接,命名格式是:
S{number}{name}
K{number}{name}
S开始的文件向脚本 传递start参数
K开始的文件向脚本 传递stop参数

Service

格式 :

  • sudo service start / restart / stop

mysql

vsfptd

svn

svn ignore

# 操作文件夹 
 svn propedit svn:ignore ./ 

查看依赖的动态链接库信息

ldd XXX

查看网络端口信息

netstat  
-a #display all sockets (default: connected) -l #display listening server sockets -n #don't resolve names    # 比如 127.0.0.1:55961 在不加 -n 之前是localhost:mysql
-p #display PID/Program name for sockets -t # <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom --sctp

安全启动后台程序

http://www.ibm.com/developerworks/cn/linux/l-cn-nohup/

  • nohup
  • setsid
  • ( &)

登录远程服务器

ssh user_name@IP -p port  #ssh 登录

telnet IP PORT # telnet

CentOS 6 iptables 防火墙配置

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
#然后保存:
/etc/init.d/iptables save

#查看打开的端口:
 /etc/init.d/iptables status

svn 回滚

svn merge -r 25:23 file_name

你可能感兴趣的:(开发)