`
flynewton
  • 浏览: 62496 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Shell 脚本学习指南读书笔记(长期更新)

阅读更多

关键字: shell , linux
本文记录自己学习《Shell脚本学习指南》的一些学习笔记,将尽量以简单的例子来说明问题,希望自己能一直坚持下去。

1.使用cut选定字段

ls -l | cut -c 1-10                               选定每行前10个字符

cut -d : -f 1,5 /etc/passwd                以:为界定符,选取passwd文件的第一个和第五个字段

2.使用join连接字段

为了让join输出正确结果,输入的文件必须先进行排序,例子如下:

========================================
#! /bin/bash
# 删除注释并排序数据文件
sed '/^#/d' quotas | sort > quotas.sorted
sed '/^#/d' sales  | sort > sales.sorted
# 以第一个键做结合,将结果产生至标准输出
join quotas.sorted sales.sorted
# 删除缓存数据
# rm quotas.sorted sales.sorted
=========================================

3.使用vi对比2个文件
首先vi一个文件,然后:vsp anotherfile's name, 这样就可以垂直对比着看这两个文件了;:sp anotherfile's name可以横向对比。
两个窗口间切换用Ctrl-w w

4.crontab定时执行任务
*/5 * * * * touch /home/flynewton/a.`date +\%Y-\%m-\%d.\%T`   每5分钟创建一个文件名带有当前时间戳的文件
crontab xxx 执行;
crontab -l查询cron列表; 
crontab -r删除cron任务

5.at命令延迟至特定时间执行
at 21:00 < command-file                                在下午九点执行
at now + 10 minutes < command-file            10分钟后执行
at now + 8hours < command-file                   8小时后执行
at 0400 tomorrow < command-file                明天早上4点执行
at teatime < command-file                            下午16:00执行
atq查看at队列;atrm删除at任务

6.tr命令的使用
语法如下:tr [options] source-char-list replace-char-list

示例:有一个test文件,内容为:aaabbbcccdddefghiii

tr -c "a" "z" < test | cat            得到结果:aaazzzzzzzzzzzzzzzzz,除了a以外,其它字符都用z替换
tr -d "ad" < test | cat               得到结果:bbbcccefghiii,a和d字符被删除
tr -s "ad" < test | cat               得到结果:abbbcccdefghiii,浓缩a和d字符为一个

7.特殊文件:/dev/null与/dev/tty
传送到/dev/null的数据会被系统丢掉,即将数据写入到此文件,则会认为成功完成写入操作,而事实上什么事情也没有做。需要得到命令的退出状态而不是输出时很有用,如:
==========================================
if grep pattern myfile > /dev/null
then
    .... #找到模式
else
    .... #找不到模式
fi
==========================================
将/dev/null写入文件(cat /dev/null > xxx.txt), 将文件结束符写入文件,即清空该文件内容。
/dev/tty,将程序重定向到一个终端,适合于读取人工输入等,例子如下:
 =========================================
#! /bin/bash

printf "Enter your passwd: \n"
stty -echo                   #stty控制终端的各种设置
                             #这里关闭自动打印输入字符的功能
read pass < /dev/tty
printf "Enter again: \n"
read pass2 < /dev/tty
stty echo                    #恢复自动打印输入字符的功能
===========================================

8.简单的执行脚本跟踪
方法一:sh -x your-script-commond
方法二:脚本内设置,set -x打开跟踪,set +x关闭跟踪
9.生成固定大小文件
dd if=/dev/zero of=/home/flynewton/1M.img bs=1K count=1024(生成一个1M的文件,文件名为1M.img)

/dev/zero

From Wikipedia, the free encyclopedia

In Unix-like operating systems/dev/zero is a special file that provides as many null characters (ASCIINULL, 0x00; not ASCII character "digit zero", "0", 0x30) as are read from it. One of the typical uses is to provide a character stream for overwriting information. Another might be to generate a clean file of a certain size. Using mmap to map /dev/zero to RAM is the BSD way of implementing shared memory.

分享到:
评论

相关推荐

    Shell脚本学习指南笔记.pdf

    Shell脚本是Linux/Unix操作系统中的一种解释型编程语言,常用于自动化系统管理任务和集成其他程序以执行特定任务。它的主要特点包括简单性、可移植性和开发便捷性。简单性意味着Shell脚本易于理解和编写,即使对于...

    《LINUX与UNIX SHELL编程指南》读书笔记

    在深入探讨《LINUX与UNIX SHELL编程指南》的读书笔记之前,让我们先理解一下Linux、Unix和Shell编程的基本概念。Linux是一种自由和开放源代码的类UNIX操作系统,而Unix则是其灵感来源,两者都广泛应用于服务器和工作...

    《LINUX与UNIX SHELL编程指南》读书笔记-二次发布版

    本文将基于《LINUX与UNIX SHELL编程指南》这本书的读书笔记,深入探讨Linux与Unix Shell编程的核心知识点。 一、Shell概述 Shell是一个命令解释器,它接收用户输入的命令并执行。在Linux和Unix系统中,常见的Shell...

    linux与unix shell编程指南读书笔记.rar

    Linux与Unix Shell编程指南读书笔记提供了深入理解和熟练掌握Shell脚本编写技巧的宝贵资源。Shell是Linux和Unix操作系统中的命令解释器,它不仅用于交互式地执行命令,还能编写自动化任务的脚本,极大地提高了系统...

    《LINUX与UNIX SHELL编程指南》读书笔记 crack.pdf

    ### 《LINUX与UNIX SHELL编程指南》读书笔记知识点解析 #### 一、文件的安全与权限 在《LINUX与UNIX SHELL编程指南》这本书中,作者详细介绍了Linux及Unix系统中关于文件的安全性和权限管理的核心概念。这部分内容...

    LINUX与UNIX_Shell编程指南V1.0_学习笔记.docx

    了解如何编写有效的Shell脚本,可以极大地提高系统管理效率,同时也可以帮助你更好地理解和掌控Linux与Unix环境。 总的来说,这份"LINUX与UNIX_Shell编程指南"的学习笔记将带你深入探索Shell编程的核心概念,不仅...

    《LINUX与UNIX SHELL编程指南》读书笔记.pdf

    根据提供的文件信息,我们可以从中提炼出一系列与Linux...理解这些基础知识对于进行有效的文件管理和Shell脚本编程至关重要。此外,作者张启峰还提供了具体的示例代码和实践案例,有助于读者更好地理解和应用所学知识。

    shell编程指南读书笔记.pdf

    Shell编程指南读书笔记详细解读了shell脚本编写的基础知识和进阶技能。通过阅读该笔记,无论是新手还是有一定基础的程序员,都能够快速掌握shell脚本编写技巧,并为未来的学习奠定坚实的基础。 在文件安全与权限...

    LINUX与UNIX SHELL编程指南 读书笔记

    在深入探讨《LINUX与UNIX SHELL编程指南》的读书笔记之前,让我们首先理解Linux和Unix Shell编程的基础概念。Linux是一种自由开源的操作系统,它的内核由林纳斯·托瓦兹开发,而Unix则是一个历史悠久的多用户、多...

    LINUX与UNIX SHELL编程指南及其读书笔记

    这份读书笔记可能包含了作者在学习过程中的心得体会、重点难点解析以及实用示例,对于初学者和有经验的开发者来说都是一份宝贵的资源。 总之,Linux与Unix Shell编程是每个系统管理员、开发者或IT专业人员必须掌握...

    自学习,Linux命令行与Shell脚本编程笔记!word版本

    这篇“自学习,Linux命令行与Shell脚本编程笔记”旨在帮助初学者掌握这两个核心技能。 首先,Linux命令行是操作系统与用户交互的主要方式之一,通过输入简单的指令,用户可以执行各种任务,如文件管理、系统监控、...

    《LINUX与UNIX SHELL编程指南》笔记

    《LINUX与UNIX SHELL编程指南》是一本深入讲解Linux和Unix系统中shell编程的权威著作,对于理解和掌握shell脚本编写技巧具有重要的指导意义。本文将基于书中的主要章节和学习笔记,详细阐述shell、find命令以及后台...

    Unix&Linux shell编程指南

    "Unix&Linux Shell编程指南"涵盖了这个主题的广泛知识,旨在帮助用户深入理解和熟练运用Shell脚本。 首先,Shell编程的基础概念是理解的关键。Shell是一种命令行接口,它允许用户通过输入命令来执行系统操作。在...

    LINUX与UNIX SHELL编程指南

    书中的《LINUX与UNIX SHELL编程指南》读书笔记.pdf文件,很可能是作者或读者对原书内容的总结和提炼,可能包含重点概念的注解、实例解析以及个人的理解和感悟,对于巩固学习成果、加深理解非常有帮助。 总的来说,...

    《LINUX与UNIX SHELL编程指南》

    《LINUX与UNIX SHELL编程指南》是一本深入讲解Linux和...结合书中的实例和《LINUX与UNIX SHELL编程指南》读书笔记-二次发布版.pdf,学习效果会更佳,因为笔记通常会提炼关键概念并提供实践经验,有助于巩固理论知识。

Global site tag (gtag.js) - Google Analytics