常用Linux命令整理

1、查看端口占用情况:lsof(list open files)

lsof -i:端口号

2、du使用详解:http://www.lowxp.com/g/article/detail/290

du,disk usage。-s,--summarize。

du -sh    #统计当前目录的大小,以直观方式展现,文件夹越大越多统计时间越长

du和df的区别:

简单来说du 命令是用户级的程序,它不考虑Meta Data,而df命令则查看文件系统的磁盘分配图并考虑Meta Data。df命令获得真正的文件系统数据,而du命令只查看文件系统的部分情况。

3、sudo 

sudo -l
sudo -u [username]
sudo -s

4、nohup

nohup cmd_line &    # 输出: [1] 14378
fg    # 命令移到前台执行

带&的命令行,即使terminal关闭,或者电脑死机程序依然运行(前提是你把程序递交到服务器上);不带仅是后台运行。

  • 重定向

nohup cmd_line > output 2>&1 & 意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面,所以结果是标准错误和标准输出都导入文件output里面了。

至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而stdout有。

nohup cmd_line >output 2>output    # 会出错

这样写会导致 >output 2>output 文件output被两次打开,而stdout和stderr将会竞争覆盖,这肯定不是我门想要的.

  • 丢弃输出

最后谈一下/dev/null文件的作用

这是一个无底洞,任何东西都可以定向到这里,但是却无法打开。

所以一般很大的stdou和stderr当你不关心的时候可以利用stdout和stderr定向到这里>cmd_line >/dev/null 2>&1

5、vim

  • 字符串替换

%s/2015-07-01/2015-10-01/g

6、sed

sed -i 's/原字符串/新字符串/g' 'grep 原字符串 -rl 所在目录'

参数解释:

-i 表示inplace edit,就地修改文件

-r 表示搜索子目录

-l 表示输出匹配的文件名

sed -i.bak 's/2015-10-01/2015-08-01/g' file_path    # 备份源文件


你可能感兴趣的:(常用Linux命令整理)