本文记录自己学习《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脚本是Linux/Unix操作系统中的一种解释型编程语言,常用于自动化系统管理任务和集成其他程序以执行特定任务。它的主要特点包括简单性、可移植性和开发便捷性。简单性意味着Shell脚本易于理解和编写,即使对于...
在深入探讨《LINUX与UNIX SHELL编程指南》的读书笔记之前,让我们先理解一下Linux、Unix和Shell编程的基本概念。Linux是一种自由和开放源代码的类UNIX操作系统,而Unix则是其灵感来源,两者都广泛应用于服务器和工作...
本文将基于《LINUX与UNIX SHELL编程指南》这本书的读书笔记,深入探讨Linux与Unix Shell编程的核心知识点。 一、Shell概述 Shell是一个命令解释器,它接收用户输入的命令并执行。在Linux和Unix系统中,常见的Shell...
Linux与Unix Shell编程指南读书笔记提供了深入理解和熟练掌握Shell脚本编写技巧的宝贵资源。Shell是Linux和Unix操作系统中的命令解释器,它不仅用于交互式地执行命令,还能编写自动化任务的脚本,极大地提高了系统...
### 《LINUX与UNIX SHELL编程指南》读书笔记知识点解析 #### 一、文件的安全与权限 在《LINUX与UNIX SHELL编程指南》这本书中,作者详细介绍了Linux及Unix系统中关于文件的安全性和权限管理的核心概念。这部分内容...
了解如何编写有效的Shell脚本,可以极大地提高系统管理效率,同时也可以帮助你更好地理解和掌控Linux与Unix环境。 总的来说,这份"LINUX与UNIX_Shell编程指南"的学习笔记将带你深入探索Shell编程的核心概念,不仅...
根据提供的文件信息,我们可以从中提炼出一系列与Linux...理解这些基础知识对于进行有效的文件管理和Shell脚本编程至关重要。此外,作者张启峰还提供了具体的示例代码和实践案例,有助于读者更好地理解和应用所学知识。
Shell编程指南读书笔记详细解读了shell脚本编写的基础知识和进阶技能。通过阅读该笔记,无论是新手还是有一定基础的程序员,都能够快速掌握shell脚本编写技巧,并为未来的学习奠定坚实的基础。 在文件安全与权限...
在深入探讨《LINUX与UNIX SHELL编程指南》的读书笔记之前,让我们首先理解Linux和Unix Shell编程的基础概念。Linux是一种自由开源的操作系统,它的内核由林纳斯·托瓦兹开发,而Unix则是一个历史悠久的多用户、多...
这份读书笔记可能包含了作者在学习过程中的心得体会、重点难点解析以及实用示例,对于初学者和有经验的开发者来说都是一份宝贵的资源。 总之,Linux与Unix Shell编程是每个系统管理员、开发者或IT专业人员必须掌握...
这篇“自学习,Linux命令行与Shell脚本编程笔记”旨在帮助初学者掌握这两个核心技能。 首先,Linux命令行是操作系统与用户交互的主要方式之一,通过输入简单的指令,用户可以执行各种任务,如文件管理、系统监控、...
《LINUX与UNIX SHELL编程指南》是一本深入讲解Linux和Unix系统中shell编程的权威著作,对于理解和掌握shell脚本编写技巧具有重要的指导意义。本文将基于书中的主要章节和学习笔记,详细阐述shell、find命令以及后台...
"Unix&Linux Shell编程指南"涵盖了这个主题的广泛知识,旨在帮助用户深入理解和熟练运用Shell脚本。 首先,Shell编程的基础概念是理解的关键。Shell是一种命令行接口,它允许用户通过输入命令来执行系统操作。在...
书中的《LINUX与UNIX SHELL编程指南》读书笔记.pdf文件,很可能是作者或读者对原书内容的总结和提炼,可能包含重点概念的注解、实例解析以及个人的理解和感悟,对于巩固学习成果、加深理解非常有帮助。 总的来说,...
《LINUX与UNIX SHELL编程指南》是一本深入讲解Linux和...结合书中的实例和《LINUX与UNIX SHELL编程指南》读书笔记-二次发布版.pdf,学习效果会更佳,因为笔记通常会提炼关键概念并提供实践经验,有助于巩固理论知识。