`
qindongliang1922
  • 浏览: 2171352 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117081
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125426
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59500
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71019
社区版块
存档分类
最新评论

shell脚本杂记(二)

阅读更多
1,求两个文件的交集comm a.txt b.txt -1 -2

[root@ph1 915]# cat a.txt 
a
b
c
d
[root@ph1 915]# cat b.txt 
a
b
c
e
h
[root@ph1 915]# comm a.txt b.txt  -1 -2
a
b
c
[root@ph1 915]# 


打印两个文件不同的行
[root@ph1 915]# comm a.txt b.txt  -3
d
        e
        h
[root@ph1 915]# 

删除空白的行:
[root@ph1 915]# comm a.txt b.txt  -3 | sed 's/^\t//'
d
e
h
[root@ph1 915]#



求a的差集:
[root@ph1 915]# comm a.txt  b.txt  -2 -3
d
[root@ph1 915]# 


求b的差集:
[root@ph1 915]# comm a.txt  b.txt  -1 -3
e
h
[root@ph1 915]# 


-1从输出中删除第一列
-2从输出中删除第二列
-3从输出中删除第三列


2,创建不可修改的文件chattr +i file
[root@ph1 915]# chattr +i c.txt 
[root@ph1 915]# rm -rf c.txt 
rm: 无法删除"c.txt": 不允许的操作
[root@ph1 915]# 

恢复状态:
[root@ph1 915]# chattr -i c.txt 
[root@ph1 915]# rm -rf c.txt    
[root@ph1 915]# ll
总用量 8
-rw-r--r--. 1 root root  8 9月  16 04:48 a.txt
-rw-r--r--. 1 root root 10 9月  16 04:48 b.txt
[root@ph1 915]# 


3,查找差异命令:

[root@ph1 915]# diff a.txt  aa.txt 
1c1
< a
---
> aa
2a3
> 
4a6
> the
[root@ph1 915]# 


一体化形式显示:
[root@ph1 915]# diff -u  a.txt  aa.txt 
--- a.txt       2014-09-16 04:48:04.385740957 +0800
+++ aa.txt      2014-09-16 05:00:52.145757913 +0800
@@ -1,4 +1,6 @@
-a
+aa
 b
+
 c
 d
+the
[root@ph1 915]# 



使用pathc命令来修补差异,patch -p1 a.txt < b.txt



生成目录的差异信息,diff -Naur

N:代表将所有的缺失文件视为空文件
-a:将所有文件视为文本文件
-u:生成一体化输出
-r:遍历目录下所有的文件



4,打印topN行
head -n 10 前10行
head -n -m  打印除了最后M行之外的所有行,-m代表一个负数


tail -n 5 file 打印最后5行

tail -n +(M+1)打印除了前5行之外的所有行


5,只列出目录的各种方法
ls -d /*
ls -F | grep "/$"
ls -l | grep "^d"
find . -type d -maxdepht 1 -print


6,使用pushd和popd进行快速定位


pushd /var/www压入路径
dirs 查看栈的内容
pushd +3 找第三个路径
popd 删除最后一个路径
cd -返回上一级

7,统计文件行数,单词数,字节数
wc -l file统计行数
wc -w file统计单词数
wc -c file 统计字节数

wc file 统计lwc三个属性
wc file -L 打印最长一行的长度



7,打印目录树:

通过打印目录树,我们可以更清晰直观的查看文件,默认系统没有带tree这个命令,需要我们执行yum install -y tree 命令来下载安装

[root@ph1 ~]# tree .
.
├── 1.zip
├── 915
│   ├── aa.txt
│   ├── a.txt
│   └── b.txt
├── anaconda-ks.cfg
├── hadoop-2.2.0.tar.gz
├── install.log
├── install.log.syslog
└── redis-2.8.9.tar.gz

1 directory, 9 files
[root@ph1 ~]# 


tree path -P PATTERN 用通配符描述样式
tree path -I PATTERN 用一个目录代替path
tree path -h 同时打印文件的大小
[root@ph1 ~]# tree . -h
.
├── [ 21M]  1.zip
├── [4.0K]  915
│   ├── [  14]  aa.txt
│   ├── [   8]  a.txt
│   └── [  10]  b.txt
├── [1.1K]  anaconda-ks.cfg
├── [ 92M]  hadoop-2.2.0.tar.gz
├── [7.8K]  install.log
├── [3.3K]  install.log.syslog
└── [1.0M]  redis-2.8.9.tar.gz

1 directory, 9 files
[root@ph1 ~]# 


以html的方式打印 tree path -H http://localhost -o out.html










4
2
分享到:
评论
4 楼 qindongliang1922 2014-09-17  
lavender10 写道
学习,学习,学习 

3 楼 lavender10 2014-09-17  
学习,学习,学习 
2 楼 qindongliang1922 2014-09-16  
linginfanta 写道
非常好,请继续

1 楼 linginfanta 2014-09-16  
非常好,请继续

相关推荐

    LinuxShell脚本学习基础视频

    资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...

    109个shell脚本合集.pdf

    Shell脚本合集 Shell脚本是一种脚本语言,利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能。 Shell脚本可以直接使用在Windows、Unix、Linux上面,并且可以调用大量系统内部的功能来解释...

    shell脚本编程100例

    shell脚本编程100例 Shell脚本编程是一种强大的编程语言,广泛应用于Linux和Unix操作系统中。本书《shell脚本编程100例》为读者提供了100个实战性的shell脚本编程实例,涵盖了检测网段主机状态、猜数字游戏、打印...

    IDEA中编写并运行shell脚本的实现

    IDEA中编写并运行shell脚本的实现 IDEA中编写并运行shell脚本的实现是指在Integrated Development Environment(IDE)中编写、配置和运行shell脚本的过程。该过程需要安装bashsupport插件,配置插件,安装git软件,...

    shell脚本写的加密脚本

    在IT领域,Shell脚本是Linux和Unix操作系统中不可或缺的一部分,它是一种强大的自动化工具,能够帮助用户执行一系列命令,简化日常任务。通过编写Shell脚本,你可以实现对系统的自动化管理,例如文件操作、数据处理...

    Shell脚本中获取进程ID的方法

    我该如何在shell脚本中得到PID。 当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为“批处理进程”)。 在某些情况下,你也许想要...

    Shell脚本编程100例

    Shell脚本编程是Linux系统管理中的重要技能,它允许用户自动化执行一系列命令,大大提高工作效率。以下是一些关于Shell脚本编程的关键知识点: 1. **Hello World脚本**:这是所有编程语言的基础,用于验证环境设置...

    Shell脚本学习教程PDF版

    Shell脚本,作为Linux/Unix系统中的编程工具,是一种强大的自动化任务执行手段。它基于Bourne shell或者其扩展版本,如bash(Bourne-Again SHell),提供了一种编写简单或复杂程序的方式,使得用户能够通过命令行...

    android系统中调用shell脚本

    在Android系统中,由于安全性和权限的限制,直接调用shell脚本并不像在Linux或Unix环境下那样简单。然而,对于非root用户来说,确实有一些方法可以实现对shell脚本的调用,尤其是在开发和调试过程中。下面我们将深入...

    shell脚本与Makefile区别.docx

    "shell脚本与Makefile区别" shell 脚本和 Makefile 是两个不同的工具,它们都用于自动化构建和编译过程,但是它们有很大的不同之处。本文将详细介绍 shell 脚本和 Makefile 的区别。 首先,shell 脚本和 Makefile ...

    如何让Android系统或Android应用执行shell脚本

    方法二:启动一个服务,让这个服务去执行脚本 在 Android 系统中,我们可以启动一个服务,让这个服务去执行 shell 脚本。例如,我们可以在 init.rc 文件中添加以下代码: `service usblp_test /data/setip/init....

    解决Unity不能调用shell脚本传递参数的问题

    这个脚本非常简单,它的功能是将第一个参数(在这里是“unity”)追加到第二个参数所指向的文件(在这里是“test.log”)中。当Unity正确地调用该脚本后,应该能够在`test.log`文件中看到“unity”。 #### 总结 ...

    C语言中文网shell脚本教程

    **C语言中文网shell脚本教程** 这是一份关于Shell脚本编程的离线学习资料,包含了一系列HTML文件,旨在帮助用户深入理解并掌握Linux Shell脚本编程技术。以下是其中涉及的一些关键知识点: 1. **Shell命令的本质**...

    linux下shell脚本实现数据的导出

    在Linux环境下,shell脚本是自动化任务的强大工具,尤其对于数据导出这样的操作,通过编写shell脚本可以方便地实现定期备份或者按需导出。本文将深入讲解如何使用shell脚本来实现数据的导出,并结合Java代码进行调用...

    shell脚本shell脚本shell脚本

    Shell脚本是Linux/Unix操作系统中的命令行脚本语言,用于自动化执行一系列系统操作。它是一种强大的工具,能够帮助用户批量处理任务、管理系统资源、执行周期性任务以及整合多个命令到一个可执行文件中。在深入讲解...

    shell脚本大全

    在IT领域,Shell脚本是Linux和Unix操作系统中不可或缺的一部分,它是一种强大的自动化工具,能够帮助用户执行一系列命令,简化日常任务。"shell脚本大全"这个资源可能包含了大量的示例脚本,涵盖了各种用途和场景,...

    Linux shell 脚本攻略源代码第二版

    《Linux shell 脚本攻略-第二版》是一本深受赞誉的书籍,旨在帮助读者深入理解并掌握Shell脚本编程。这本书的源代码合集提供了丰富的实例,供读者实践和学习。 Shell脚本的基础在于Bash(Bourne-Again SHell),它...

    Linux 命令与Shell 脚本编程pdf书籍

    《Linux命令行与Shell脚本编程大全》是一本专为Linux初学者编写的经典教材,旨在帮助读者深入理解和掌握Linux操作系统中的基本命令行操作以及Shell脚本编程技术。这本书全面覆盖了从基础到进阶的各种主题,对于想要...

    Linux-shell脚本全面学习.pdf

    Linux Shell 脚本编程基础知识点总结 Linux 脚本编写基础 1.1 语法基本介绍 * `#!` 符号用来告诉系统它后面的参数是用来执行该文件的程序 * 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可...

Global site tag (gtag.js) - Google Analytics