当前位置: 代码迷 >> 综合 >> shell脚本学习笔记(五) —— diff、locale、top、du/df、tail
  详细解决方案

shell脚本学习笔记(五) —— diff、locale、top、du/df、tail

热度:62   发布时间:2023-12-15 11:00:58.0

1、diff

diff命令通常用来比较两个文件的不同。
diff -u file1 file2

[o2obtc@/home/o2obtc/newcx]diff -u upd.sh upd.sh.20160805 
--- upd.sh  2015-12-23 08:56:56.805308224 +0800
+++ upd.sh.20160805 2016-08-05 12:12:55.717532423 +0800
@@ -4,11 +4,7 @@#bin cp -f ./bin/BatClear                          $HOME/batch/bincp -f ./bin/BatOffTxnFile                     $HOME/batch/bin
-cp -f ./bin/HostFileTrans                     $HOME/batch/bin
-cp -f ./bin/GetFileTrans                      $HOME/batch/bin
-cp -f ./bin/LoadOffTxn                        $HOME/batch/bincp -f ./bin/BatSettle                         $HOME/batch/bin
-cp -f ./bin/LoadCSFile                        $HOME/batch/bin#bndcp -f ./bnd/BA_10_tab_comm_info.bnd          $HOME/batch/bnd

  显示结果分成三部分,第一部分是文件的基本信息,“—”表示变动前的文件,“+++”表示变动后的文件。
  第二部分,变动的位置用两个@作为起首和结束。@@ -4,11 +4,7 @@,前面的“-4,11”分成三个部分:减号表示第一个文件(即f1),“4”表示第4行,“11”表示连续11行,合在一起,就表示下面是第一个文件从第4行开始的连续11行。同样的,“+4,7”表示变动后,成为第二个文件从第4行开始的连续7行。
  第三部分是变动的具体内容,它将两个文件的上下文,合并显示在一起,每一行最前面的标志位,空表示无变动,减号表示第一个文件删除的行,加号表示第二个文件新增的行。

版本管理系统git中,也是用的上面的这种diff格式。
  git diff

diff的输出可以做为补丁。
制作补丁:
  diff -urN linux-3.4.2 linux-3.4.2-my > linux-3.4.2-my.patch
打补丁:
  patch -p1 < ../linux-3.4.2-my.patch


2、locale

locale是软件在运行时的语言环境。
优先级的关系:LC_ALL > LC_* > LANG
LC_ALL的值将覆盖所有其他的local设定
export LANG=C
export LC_CTYPE=zh_CN.UTF-8(LC_CTYPE用于字符编码)


3、top

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于windows的任务管理器。

top -c (显示完整命令,不仅显示进程名,还显示进程的命令行参数)
在top命令执行的过程中还可以使用一些交互命令:
  h 显示
  k 终止一个进程
  q 退出程序


4、du/df

du查看目录大小,df查看磁盘空间占用情况。
du -hs batch(-s选项是只展示目录的使用总量)
df -h


5、tail

tail -f cmpsrv.1.log,这条命令可以查看日志新增的变化部分,要退出的话,要用“ctrl+C”命令。

  相关解决方案