Tag Archives: Linux系统学习

sed修改文件的内容

sed修改文件的内容

 

前面我们提了sed如何删除空白行,

sed删除空白行

但是删除只是stdin的内容,然后输出到stdout,并没有影响到文件,如果我们想直接使用sed修改文件的内容,怎么做呢?使用 sed的 -i参数即可。
下面是演示的例子

 

   1    [xxx@localhost work]$ cat test.txt | sed '更多... “sed修改文件的内容”

Linux二进制文件比较

Linux二进制文件比较

 

 

二进制文件比较有2个选项:

  • cmp
  • vimdiff

相对来说,第二个比较好用,非常直观(后面会提到)

使用cmp

cmp -s file1 file2

-s代表列出所有不同

 

使用vimdiff

vimdiff file1 file2

这个方式会打开vim,并且打开比较的文件,把vim窗口垂直切分2个字窗口,显示内容。可以非常方便的查看有区别的部分。

 

综合来… 更多... “Linux二进制文件比较”

Linux文本文件比较

Linux文本文件比较

 

在windows下面比较文件需要专门的第三方软件,比如: ultraeditor。而在linux无论你比较文本文件还是二进制的文件,都非常的方便。

 

有2个选择:

  • diff命令
  • vimdiff

 

使用diff命令

diff file1.txt file2.txt

会直接告诉你哪些行是不一致的。

 

vimdiff

vimdiff file1.txt file2.更多... “Linux文本文件比较”

linux模拟windows的kbhit

linux模拟windows的kbhit

 

Windows有个很不错的函数kbhit,可以检测是否有任何键按下了。例如我们可以检测键按下,来退出一个无限循环。还可以得到用户按下的这个键。

但是linux默认是没有这个函数的,我们可以使用下面自定义的函数来实现这个功能。

实现的原理就是将阻塞模式的stdin改为非阻塞模式,然后尝试读取,读的时候有东西则按下了键,否则没有。

 

int kbh更多... “linux模拟windows的kbhit”

linux bash的单引号和双引号

linux bash的单引号和双引号

 

linux bash的单引号和双引号是很奇特的东西,

  • 有些命令单引号和双引号都可以
  • 有些只可以用单引号
  • 有些则只可以用双引号

 

有些命令单引号和双引号都可以

例如:echo命令

$ echo "output here"

$ echo 'output here'

$ echo output here

 

有些只可以用单引号

例如awk,如果… 更多... “linux bash的单引号和双引号”

防止vim从系统粘贴时的格式错乱

防止vim从系统粘贴时的格式错乱 

 

我们经常需要从别的文件粘贴代码过来,发现当粘贴后,代码格式是乱七八槽的,这可能还不是罪严重的问题,如果你在.vimrc中启动自动补全的功能,那么你粘贴代码中会多很多不需要的东西。

 

那怎么解决这个问题了。

 

有两种方法

paste开关

拷贝之前执行

 

set paste

 

命令,开启paste状态,粘贴完之后,执行 … 更多... “防止vim从系统粘贴时的格式错乱”

linux避免进程随终端关闭而被关闭

通常我们在终端运行命令来启动进程,但是当我们退出这个时,所启动的进程会被系统强制关闭,此篇文章,讨论一下,怎么解决这个问题。

这里指的终端既可以是你启动的一个bash,或者你在另外一段启动的ssh客户端;你启动的进程是以前台方式运行还是后台方式运行(就是命令行后面加一个&),终端关闭,进程同样会被系统关闭。

有2种方式来解决此问题:

  • nohup
  • disown

这两种方式有一个共同的特点,就是最后效果… 更多... “linux避免进程随终端关闭而被关闭”