【大数据】Spark优化经验&案例--数据倾斜 《Mysql必知必会》读书笔记 jar包名中自动添加git commit id PyCharm教学视频学习笔记 《SQL基础教程》简要总结 《设计师要懂心理学》读书笔记 MySQL与MariaDB学习笔记 WDT (Folly) 安装指南 -- CentOS 7 [solved]Page build failed(Jekyll) 数据包过滤及分析实例 tshark tcpdump Scala Tour 学习总结 “Docker容器和容器云”读书笔记(1) “Docker Practice”读书笔记 “图解基础设施设计模式”小结 “图解服务器端网络架构”小结 Python网络安全编程 数据包解析笔记 华为挑战赛(1) DDoS攻击防御与云服务 基于网络回溯分析技术的异常行为分析 “Linux程序设计”小结(进程间通信) C语言编程规范(华为软件精英挑战赛) 2017阿里在线编程题--单源最短路径问题 2017年阿里在线编程题-- 数串分组 Uinx/Linux上的帮助查询命令 你懂C,所以C++不在话下 一篇特别长的总结(C专家编程) 程序员面试金典--笔记(精华篇) C陷阱与缺陷--笔记 半小时搭建电子商务网站--opencart linux网络知识和工具(持续更新) 网卡参数查询及设置工具ethtool 高性能流量生成工具trafgen(DDoS模拟) Linux流量控制工具TC 流量控制工具TC详细说明 tcpdump过滤数据包,结果不对? Lecture 网络攻击与防御技术笔记 gotgit-git权威指南 高效使用MacOS所要知道的 shell内置字符串处理 配置ntp(知其所以然) 360黑客攻防技术分享会--记录 中毒U盘恢复--快捷键病毒 Tor--anonymity network介绍(PPT) IBM bluemix 再读《Linux Shell脚本攻略》 linux shell 学习摘记(9) linux shell 学习摘记(8) linux shell 学习摘记(7) linux shell 学习摘记(6) linux shell 学习摘记(5) linux shell 学习摘记(4) linux shell 学习摘记(3) linux shell 学习摘记(2) linux shell 学习摘记(1) firefox vim 插件 vimperator A Byte of Vim 笔记 windows注册表小知识 安全测试工具篇(开源&商业) 安全及性能测试工具(网站收集) 性能测试工具 屡试不爽的“3个”iPad使用技巧 Shell Shortcuts(和Tab键一样实用) vim--自动添加jekyll post信息头 vim 自动给文件添加头部信息 GitHub Tips (很实用,值得收藏) Linux路由、防火墙、NAT命令

linux shell 学习摘记(3)

2016年09月25日

《linux shell 脚本编程攻略 (第2版)》 第三章 “以文件之名” 笔记

常用命令:comm, chmod/chown, chattr, touch, 列出目录的相关命令, readlink, file, <<<, dd, 有关光盘的各类命令,mkfs.ext4, mkisofs, isohybrid, mount/umount, fdisk, loseup, sync, cdrecord, eject, diff, patch, seq, tail, dmesg, pidof, pushd/popd, wc, tree

  • comm A.txt B.txt -2 -3 删除第二列和第三列,保留只在A.txt中出现的行

  • 文件权限
    1. chmod u=rwx g=rw o=r filename, 即chmod 764 filename
    2. chown USER.GROUP filename 修改用户名和组
    3. chmod a+t directoryname 给目录设置粘滞位(只有目录的所有者才能删除目录中的文件)
    4. chmod +s executablefile 允许其他用户以文件所有者的身份来执行文件(setuid),只能应用于Linux ELF格式二进制文件上
    5. chattr +i file将文件设置为不可修改, chattr -i file移除不可修改属性
  • touch -d "2016-09-22" filename 也用-c -m参数,表示更改文件访问时间和内容修改时间

  • ls -s target symboliclinkname, ls -l | grep "^1", find . -type l -print

  • readlink symboliclinkname

  • file -b filename
while read line;  
do   
    ...  
done <<< "`find $path -type f -print`" ### <<<可以将字符串作为输入文件   
# 或者 done < <(find $path -type f-print)  
  • loopback(环回文件)是指那些在文件中而非物理设备中创建的文件系统,可以将这些文件挂载到挂载点上(在物理磁盘中创建逻辑磁盘。
    1. dd if=/dev/zero of=loopbackfile.img bs=1G count=1
    2. mkfs.ext4 loopbackfile.img
    3. mount -o loop loopbackfile.img /mnt/loopback 挂载环回文件系统(连接到名为/dev/loop1或loop2上)或者手动losetup /dev/loop1 loopbackfile.img && mount /dev/loop1 /mnt/loopback
    4. umout /mnt/loopbackumount /dev/loop1
  • 在环回镜像中创建分区(并挂在其中一个分区)
    1. losetup /dev/loop1 loopback.img
    2. fdisk /dev/loop1 创建分区
    3. losetup -o 32256 /dev/loop2 loopback.img 挂载第一个分区
  • ISO文件作为环回文件挂载
    1. mount -o loop linux.iso /mnt/iso
    2. sync
  • 生成ISO文件,dd if=/dev/cdrom of=image.iso (创建iso镜像)或者 mkisofs -V "Label" -o image.iso sourcedir (创建ISO文件系统)

  • 将可引导的ISO文件写入USB设备来换成混合ISO
    1. isohybrid image.iso 获得混合image.iso
    2. dd if=image.iso of=/dev/sdb1 或者 cat image.iso /dev/sdb1
  • 刻录ISOcdrecord -v dev=/dev/cdrom image.iso, 加参数-speed 8表示刻录速度为8x; 多区段刻录cdrecord -v dev=/dev/cdrom image.iso -multi

  • eject, eject -t 命令行打开/关闭光驱

  • diff -u file1.txt file2.txt > version.path, patch -p1 file1.txt < version.path(对已修补过的文件进行修补将会撤销修改) diff -Naur -a 将所有文件视为文本文件, -u 生成一体化输出, -r 遍历目录下的所有文件, -N 将所有确实文件视为空文件

  • seq 100 | tail -n 5, tail -n +M 打印第M行及之后的行, dmesg | tail -f -s 2 dmesg查看内核的环形缓冲区消息,每隔2秒, PID=$(pidof Foo) && tail -f file --pid $PID程序技术后tail也会结束

  • 列出目录ls -d */, ls -F | grep "/$", ls -l | grep "^d", find. -type d -maxdepth 1 -print

  • 多个目录间来回切换pushd /var/www, pushd /usr/scr(压入并切换路径), pushd +3 切换路径(从0开始), popd删除最后添加的路径并切换至该目录, popd +3移除特定的路径并切换

  • wc file(打印出文件行数,单词书,字符数)

  • 打印目录树 tree . -P "*.md"显示出匹配某种样式的文件, tree . -I "*.md~"显示不匹配某种样式的文件, tree . -h 打印出文件和目录大小, tree . -H http://localhost -o out.html

知识共享许可协议
SWF's Hacking Dreamonephone 创作,采用 知识共享 署名-非商业性使用 4.0 国际 许可协议进行许可。
© 2011-2024. All rights reserved by onephone. Powerd by Jekyll.