随笔分类 - shell
shell脚本
摘要:find . -mtime +0 # find files modified greater than 24 hours ago find . -mtime 0 # find files modified between now and 1 day ago # (i.e., in the past
阅读全文
摘要:文件空行处理1. 在文件中的每一行后面添加一个空行。sed 'G' test.txt解释: Get命令是将保留空间的内容取出,并添加到当前模式空间的内容之后(添加一行)。当保留空间为空时,效果为往模式空间添加一行空行。2. 保证文件中的每一行后面都有一行空行。和1不同的是,如果文件中本身包含空行,则...
阅读全文
摘要:ps |grep $$|awk '{print $4}'不带参数的ps命令显示和当前终端有关的进程状况$$变量存储当前进程的PIDps第四列是进程所使用的命令,如果是Shell,那么显示shell名,比如sh/ksh等awk '{print $4}'就是只显示第四列的值PS:用echo $SHELL...
阅读全文
摘要:If you've been followingmy series on Vim, it should be clear now that Vim has a pretty clear philosophy of how text editing should work. It's based on...
阅读全文
摘要:在Linux上工作的朋友很可能遇到过这样一种情况,当你用Vim编辑完一个文件时,运行:wq保存退出,突然蹦出一个错误:E45: 'readonly' option is set (add ! to override)这表明文件是只读的,按照提示,加上!强制保存::w!,结果又一个错误出现:"read...
阅读全文
摘要:apt-get update 报如下错误:忽略 http://cn.archive.ubuntu.com trusty-backports/multiverse Translation-zh忽略 http://cn.archive.ubuntu.com trusty-backports/restri...
阅读全文
摘要:svn 实现git stash类似的功能% svn diff > WorkInProgress.txt% svn revert -R .% svn commit -m "Patched to support server schema change"% patch -p0 -i WorkInProg...
阅读全文
摘要:大致有两种方式: 1,在bashrc中添加如下脚本1 svndiff()2 {3 svn diff "${@}" | colordiff4 } 2,修改svn的配置文件1 $ vim ~/.subversion/config2 [helpers]3 diff-cmd = colordif...
阅读全文
摘要:守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进 程。 Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。 比如...
阅读全文
摘要:编辑命令Ctrl + a :移到命令行首Ctrl + e :移到命令行尾Ctrl + f :按字符前移(右向)Ctrl + b :按字符后移(左向)Alt + f :按单词前移(右向)Alt + b :按单词后移(左向)Ctrl + xx:在命令行首和光标之间移动Ctrl + u :从光标处删除至命令行首Ctrl + k :从光标处删除至命令行尾Ctrl + w :从光标处删除至字首Alt + d :从光标处删除至字尾Ctrl + d :删除光标处的字符Ctrl + h :删除光标前的字符Ctrl + y :粘贴至光标后Alt + c :从光标处更改为首字母大写的单词Alt + u :从光标处
阅读全文
摘要:这是“你应该知道的Unix和Linux命令”系列的第三篇,在这篇文章中,我会介绍lsof这个工具,如果说netcat 是进行网络诊断的瑞士军刀,那么lsof就是Unix调试的瑞士军刀。Lsof 是遵从Unix哲学的典范,它只做一件事情,并且做的相当完美——它可以列出某个进程打开的所有文件信息。打开的文件可能是普通的文件,目录,NFS文 件,块文件,字符文件,共享库,常规管道,明明管道,符号链接,Socket流,网络Socket,UNIX域Socket,以及其它更多。因为Unix 系统中几乎所有东西都是文件,你可以想象lsof该有多有用。你可以看看这系列文章第一篇对pipe viewer的介绍,
阅读全文
摘要:当今的系统,对#!这一行的长度限制从63到1024个字符都有。清尽量不要超过64个字符在某些系统上,命令行部分包含了命令的完整路径名称。不过有些系统却不是这样;命令行的部分会原封不动地传给程序。因此,脚本是否具有可移植性取决于是否有完整的路径名称别在选项(option)之后放置任何空白,因为空白也会随着选项一起传递给被引用的程序你需要知道解释器的完整路径名称。这可以用来规避可移植性问题,因为不同的厂商可能将同样的东西放在不同的地方一些较旧的系统上,内核不具有解释#!的能力,有些Shell会自行处理,这些Shell对应于#!与紧随其后的解释器名称之间是否可以有空白,可能有不同的解释。
阅读全文
摘要:一次做好一件事处理文本行,不要处理二进制数据 文本行是UNIX的通用格式。当编写自己的工具程序时便会发现,内含文本行的数据文件很好处理,可以用任何唾手可得的文本编辑器来编辑它,也可以让这些数据在网络与各种机器架构之间传输。使用文本文件更有助于与任何自定义工具与现存的UNIX程序之间的结合使用正则表达式 正则表达式是很强的文本处理机制。默认使用标准输入/输出避免喋喋不休 UNIX工具程序一向遵循“加他做什么,就会得到什么”的设计哲学,不会问“你确定吗?”这类的问题输出格式必须与可接受的输入格式一致让工具去做困难的部分构建特定工具前,先想想
阅读全文
摘要:scp = secure copy scp 就是 secure copy, 是用来进行远程文件拷贝的 . 数据传输使用 ssh1, 并且和 ssh1 使用相同的认证方式 , 提供相同的安全保证 . 与 rcp 不同的是 ,scp 会要求你输入密码如果需要的话 . 最简单的应用如下 : scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2 [ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 . 可能有用的几个参数 : -v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证..
阅读全文
摘要:source命令用法:source FileName作用:在当前bash环境下读取并执行FileName中的命令。注:该命令通常用命令“.”来替代。如:source .bashrc 与 . .bashrc 是等效的ource命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从BourneShell而来)是source的另一名称。同样的,当前脚本中配置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化
阅读全文