linux一些小技巧

设置core文件是否产生:

ulimit -c 如果输出为 0 ,则代表没有打开。如果为unlimited则已经打开了

打开:ulimit -c unlimited

关闭:ulimit -c 0

进入很长的路径:


1 设置永久环境变量:

进入用户主目录,cd

编写环境变量文件,vim .bash_profile

添加自己需要的环境变量,比如:export hzqPath = /home/users/huangzhiqiang03/work/

使生效:source .bash_profile

使用方法:cd $hzqPath

2 设置别名

增加如下别名

alias gogo="cd $hzq";
alias qgk="psql nation_rd_test -h 127.0.0.1 -p 8421 -U dbname";
alias jcdw="psql jcdw_hqq -h127.0.0.1 -Uhzq -p8432";

使生效:source .bash_profile

使用方法:gogo 直接进入hzq目录

qqk 直接进入pg全国库


~/.bashrc ~/.bash_profile区别

~/.bashrc ~/.bash_profile 两个文件都可以设环境变量export语句,两者有啥区别?

bashrc 在每次登陆和每次打开 shell 都读取一次

bash_profile 只在登陆时读取一次。我的习惯是加到 ~/.bashrc 中


2 两个linux机器建立互信:

http://www.oschina.net/question/234345_40289

 

3 linux 环境变量

LD_LIBRARY_PATH为linux的环境变量,通常工程依赖目录或公用模块路径要放在这里。比如:

export LD_LIBRARY_PATH=/home/users/hzq/tools/output/tools/lib:/home/users/hzq/tools/output/tools/lib/postgresql:$LD_LIBRARY_PATH

 

nohup不依赖shell开关式启服务

nohup python myupload2.py >>myupload2_log.log 2>&1

启动python脚本 web_server.py, 并重定向输出和错误输出到 文件myupload2_log.log, 0 1 2 分别表示标准输入、标准输出、错误输出,2>&1 表示错误输出定向到标准输出。

nohup式启动python脚本myupload2.py,该脚本不会因为所在shell客户端关闭而停掉。

nohup python hello.py &

一般在nohup后使用&,&表示后台运行,如果在nohup尾部加&,nohup会霸占当前session,什么也做不了。 

注意:terminal登录执行的nohup 程序要使用exit正常退出当前session,如果被远程断开(must)、或者本地关闭session窗口可能会随session的关闭而被关闭。


5 杀掉一批进程,进程描述中含有map/processworker/processworker

ps axu | grep "map/processworker/processworker"  |  awk -F" " '{print $2}' |  xargs kill

 

定时任务crontab

crontab -e 编辑定时任务 

crontab -l 显示所有定时任务

* * * * * /home/users/huangzhiqiang03/script.sh >>/home/users/huangzhiqiang03/out.txt 2>&1

以上5个* 分别表示: 分 时 日 月 周,如果*没有设置具体的值,那么就认为是每,every。

以上定时任务表示:

每月的每日的每时的每分执行一次 这个脚本/home/users/huangzhiqiang03/script.sh

>>/home/users/huangzhiqiang03/out.txt执行完的输出重定向追加 >> 到文件 out.txt 

2>&1 错误输出2也当作标准输出1,也就是所有输出都重定向到 文件。

1 0 * * 4 python /home/map/users/hzq/weeeklyprocedurereprot/weeeklyprocedurereprot_calc.py >> /home/map/users/hzq/weeeklyprocedurereprot/weeeklyprocedurereprot_calc.log 2>&1

这个表示每周4的晚上0点1分执行一次python脚本weeeklyprocedurereprot_calc.py,并把脚本的输出重定向到文件weeeklyprocedurereprot_calc.log


8 链接

软连接就像windows下的快捷方式,链接到源文件的目录数据区部分。

使用场景:比如经常要cd入一个很深的目录,那么对这个目录在用户主目录下建立一个快捷方式,就可以方便地进入对应目录啦。

比如 ln -s /media/hzq/document/tts/tts_server/tts_sever_env/server_tts/ ttscodepath

然后在链接存在的目录 cd ttscodepath 就可以进入对应的目录啦

硬链接就像程序设计中的引用,索引到文件的实际数据区,如果源文件在原目录被删除(因为数据区被链接2次,删除一个链接并后源文件还存在一个链接,并不会被删除),仍然可以通过硬链接操作源文件。

使用场景:经常要跳转到好几个目录中(pathA、pathB)的好几个配置文件(A.ini、B.ini)进行修改,像告别这种情况。

在希望的操作目录pathC下 

ln pathA/A.ini Aquote.ini

ln pathB/B.ini Bquote.ini

ll可以发现在 pathC下出现大小和源文件一样的Aquote.ini、Bquote.ini两个文件,而且修改Aquote.ini的结果会直接体现到A.ini上。

软硬链接的区别参考:http://www.cnblogs.com/yfanqiu/archive/2012/06/11/2545556.html


使用valgrind进行内存泄漏检查

valgrind ./exe

valgrind  --leak-check=full --track-origins=yes ./hzqexe

参考 http://www.ibm.com/developerworks/cn/linux/l-cn-valgrind/

http://valgrind.org/docs/manual/mc-manual.html#mc-manual.leaks


在ubuntu开启ssh服务

安装服务程序 sudo apt-get install openssh-server

开启服务  service ssh start

然后就可以在其他ssh客户端中链接服务器了,如 ssh [email protected]

参考 http://www.cnblogs.com/nodot/archive/2011/06/10/2077595.html



在linux中开启samba服务

http://www.linuxidc.com/Linux/2011-07/38996.htm

关于Windows下无写权限: 

chmod -R go+rwx sambpath

这里的 g是group组用户,o代表other其他用户

其中g为小写。


删除特殊字符的文件名,加*匹配

有些文件在文件名中含有特殊字符 导致文件删除不了, rm -- *compare 方法,在匹配项目中增加--。

ls的时候按照文件类型上色(比如目录为蓝色、可执行为绿色):ls --color=auto


安装rpm软件:

rpm -ivh soft.version.rpm

参考:http://www.jb51.net/article/75344.htm

猜你喜欢

转载自blog.csdn.net/hzq20081121107/article/details/52058934