Linux

Command to check Ubuntu Distribution :
 lsb_release -a

Architecture of Open Source Applications : 

http://aosabook.org/en/index.html

Resources:

Delete found file in directory:
find ./dist -type f -name ‘*.js’ -delete && find ./dist -type f -name ‘*.js.map’ -delete

Create symbolic link (from dir to dir):

sudo ln -s ~/Desktop/server/backbone /var/www/

Convert Unix timestamp to human readable:

date –date=’@2147483647′

Convert date to Unix timestamp:

date –date=’20130117′ +%s

“Error 501 Bad Gateway"

sudo netstat -lpn |grep :port#

Output: tcp6       0      0 :::8080                 :::*                    LISTEN      1157/nginx

sudo kill 1157

================================================================

LINUX SHELL >/DEV/NULL 2>&1解释

shell中可能经常能看到:>/dev/null 2>&1

命令的结果可以通过%>的形式来定义输出

分解这个组合:“>/dev/null 2>&1” 为五部分。

1:> 代表重定向到哪里,例如:echo “123″ > /home/123.txt

2:/dev/null 代表空设备文件

3:2> 表示stderr标准错误

4:& 表示等同于的意思,2>&1,表示2的输出重定向等同于1

5:1 表示stdout标准输出,系统默认值是1,所以”>/dev/null”等同于 “1>/dev/null”

因此,>/dev/null 2>&1也可以写成“1> /dev/null 2> &1”

那么本文标题的语句执行过程为:

1>/dev/null :首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。

2>&1 :接着,标准错误输出重定向 到 标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。

说清楚了吗,大家理解下吧!

顺便对比述说下这么用的好处!

最常用的方式有:

command > file 2>file  与command > file 2>&1

它们 有什么不同的地方吗?

首先command > file 2>file 的意思是将命令所产生的标准输出信息,和错误的输出信息送到file 中.command  > file 2>file 这样的写法,stdout和stderr都直接送到file中, file会被打开两次,这样stdout和stderr会互相覆盖,这样写相当使用了FD1和FD2两个同时去抢占file 的管道。

而command >file 2>&1 这条命令就将stdout直接送向file, stderr 继承了FD1管道后,再被送往file,此时,file 只被打开了一次,也只使用了一个管道FD1,它包括了stdout和stderr的内容。

从IO效率上,前一条命令的效率要比后面一条的命令效率要低,所以在编写shell脚本的时候,较多的时候我们会command > file 2>&1 这样的写法。

================================================================

Userful TMUX command

  • Ctrl-b c Create new window
  • Ctrl-b d Detach current client
  • Ctrl-b l Move to previously selected window
  • Ctrl-b n Move to the next window
  • Ctrl-b p Move to the previous window
  • Ctrl-b & Kill the current window
  • Ctrl-b , Rename the current window
  • Ctrl-b % Split the current window into two panes
  • Ctrl-b q Show pane numbers (used to switch between panes)
  • Ctrl-b o Switch to the next pane
  • Ctrl-b ? List all keybindings

sshpass :
/mnt$ for node in `cat spark-0.7.3/conf/slaves`; do sshpass ssh -o StrictHostKeyChecking=no -t $node ‘sudo mv /mnt/tmp/spark-0.7.3 /mnt;sudo chown mpi:mpi -R /mnt/spark-0.7.3’; done

sshpass -p root ssh -o StrictHostKeyChecking=no root@10.154.176.199 mkdir /mnt/mesos-0.9.0

Install Sun Java on Ubuntu

1. Download Java SE bin file (Do not use wget)
2. ./jdk1.7.0_04.bin
3. mv jdk1.7.0_04 /usr/lib/jvm
4. sudo update-alternatives –install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_04/bin/javac 1
5. sudo update-alternatives –install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_04/bin/java 1
6. sudo update-alternatives –config javac —-> then choose the corresponding option
7. sudo update-alternatives –config java  —–> then choose the corresponding option
8. Final check “java -version"

Install Sun Java on MAC
Mac java is installed under /Library/Java/JavaVirtualMachines/jdk.{….}/Contents/Home

S3 and FUSE on AWShttps://coderwall.com/p/mkbuew

About ELF : http://www.linuxjournal.com/article/1059

Restore Linux console back to normal after viewing binary file:
type in console : echo [ctrl-v][ctrl-o][enter]

Find and replace lines in directory and all subdirectories:
find . -name “*.go" | xargs sed -i ‘s,bitbucket.org/jimdeng/photoportal,htc.com/csi/localserver,’

Diff 2 directories : 
diff -qr ~peter ~george |sort

Kill ps
for x in `ps faux | grep dhclient | awk {‘print $2’}`; do sudo kill -9 $x; done;

Kill docker images
for x in `dk images | awk {‘if($2=="<none>")print $3’}`;do dk rmi $x;done

Linux RAM
http://www.linuxatemyram.com/

Search Files
http://www.binarytides.com/linux-find-command-examples/

$ find ./test -name abc*
./test/abc.txt
./test/abc
Only files $ find ./test -type f -name “abc*"
./test/abc.txt
Only directories $ find ./test -type d -name “abc*"
./test/abc

廣告
本篇發表於 Linux 並標籤為 。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s