Linux Shell脚本攻略笔记3之以文件为名

4 篇文章 0 订阅
4 篇文章 0 订阅
dd
创建指定大小文件
$ dd if=/dev/zero of=junk.data bs=1M count=1
-rw-rw-r-- 1 stu2452 stu2452 1048576 Jun 14 06:48 junk.data
字节c, 字w, 块b, k, M, G

comm
$ comm A.txt B.txt
第一列A有的,第二列B有的,第三列AB共有的

打印交集,即第三列
$ comm A.txt B.txt -1 -2

打印两文件不同的行,即第1、2列
$ comm A.txt B.txt -3 |xargs -n1
== $ comm A.txt B.txt -3|sed 's/^\t//'

A.txt的差集,即只有A有的
$ comm A.txt B.txt -2 -3

B.txt的差集,即只有B有的
$ comm A.txt B.txt -1 -3




diff
一体化形式输出 - 删除的行  + 加入的行
stu2452@ubuntu:~/shell$ diff -u version1.txt version2.txt 
--- version1.txt 2016-06-14 08:44:46.047540153 +0800
+++ version2.txt 2016-06-14 08:42:38.079540290 +0800
@@ -1,6 +1,5 @@
This is thr original text
line2
-line3
line4
happy hacking !
-
+Gun is not UNIX


$ diff -u version1.txt version2.txt >version.patch
$ patch version1.txt < version.patch    补修version1.txt 内容和version2.txt一模一样
$ patch -p1 version1.txt < version.patch       撤销做出的修改

diff以递归形式作用于目录
$ diff -Naur dir1 dir2
-N   将所有缺失的文件视为空文件
-a   所有文件视为文本文件
-u   生成一体化输出
-r   遍历目录下所有文件

head && tail
除了最后M行之外所有行
$ head -n -M 1.sh 
$ tail -n +(M+1)
eg: $ seq 10 | head -n -4     显示除了最后4行之外所有行
$ seq 10 | tail -n +4     显示除了前3行之外所有行
$ seq 10 | head -n  5    显示前5行

$ tail -f /var/log/messsage    动态显示
或者  dmesg | tail -f 



只列出目录的方法
$ ls -d */
$ ls -F | grep "/$"      -F表输出项加上代表文件类型的字符
$ ls -l |grep "^d"
$ find . -type d -maxdepth 1 -print

wc
-l 统计行数
-w 统计单词数
-c 统计字符数
$ echo -n 1234 | wc -c      -n避免echo额外添加还行行符
-L 统计最长那行长度


chmod
粘滞位(sticky bit) -------rwt
递归修改
$ chmod 777 . -R


chown
chown user.group filename -R

chattr
创建不可修改文件
$ chattr +i A.txt
$ chattr -i A.txt   撤销
+a  只能追加,不能删除

使用环回文件
$ dd if=/dev/zero of=lookbackfile.img bs=1G count=1    创建文件
$ mke2fs -t ext4 lookbackfile.img     格式化
$ file lookbackfile.img    查看文件信息
$ mount -o loop lookbackfile.img /tmp/lookback    挂载
手动挂载
$ losetup /tmp/loop1 lookbackfile.img
$ mount /tmp/loop1 /tmp/lookback
$ umount /tmp/lookback/     卸载

$ eject     弹出光驱托盘
$ eject -t  合上光驱托盘
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值