`

shell2

 
阅读更多
Linux shell脚本基础课程前面一讲介绍的都是语法基础的开头、注释、变量和 环境变量,这里将介绍shell命令和控制流程的第一部分,在shell脚本中可以使用三类命令,而控制流程就放在下一讲吧。

1.1.5 Shell命令和流程控制

在shell脚本中可以使用三类命令:

1)Unix 命令:

虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令。这些命令通常是用来进行文件和文字操作的。

常用命令语法及功能

echo "some text": 将文字内容打印在屏幕上

ls: 文件列表

wc –l filewc -w filewc -c file: 计算文件行数计算文件中的单词数计算文件中的字符数

cp sourcefile destfile: 文件拷贝

mv oldname newname : 重命名文件或移动文件

rm file: 删除文件

grep 'pattern' file: 在文件内搜索字符串比如:grep 'searchstring' file.txt

cut -b colnum file: 指定欲显示的文件内容范围,并将它们输出到标准输出设备比如:输出每行第5个到第9个字符cut -b5-9 file.txt千万不要和cat命令混淆,这是两个完全不同的命令

cat file.txt: 输出文件内容到标准输出设备(屏幕)上

file somefile: 得到文件类型

read var: 提示用户输入,并将输入赋值给变量

sort file.txt: 对file.txt文件中的行进行排序

uniq: 删除文本文件中出现的行列比如: sort file.txt | uniq

expr: 进行数学运算Example: add 2 and 3expr 2 "+" 3

find: 搜索文件比如:根据文件名搜索find . -name filename -print

tee: 将数据输出到标准输出设备(屏幕) 和文件比如:somecommand | tee outfile

basename file: 返回不包含路径的文件名比如: basename /bin/tux将返回 tux

dirname file: 返回文件所在路径比如:dirname /bin/tux将返回 /bin

head file: 打印文本文件开头几行

tail file : 打印文本文件末尾几行

sed: Sed是一个基本的查找替换程序。可以从标准输入(比如命令管道)读入文本,并将

结果输出到标准输出(屏幕)。该命令采用正则表达式(见参考)进行搜索。不要和shell中的通配符相混淆。比如:将linuxfocus 替换为LinuxFocus :cat text.file | sed 's/linuxfocus/LinuxFocus/' > newtext.fileawk: awk 用来从文本文件中提取字段。缺省地,字段分割符是空格,可以使用-F指定其他分割符。

cat file.txt | awk -F, '{print $1 "," $3 }'这里我们使用,作为字段分割符,同时打印第一个和第三个字段。如果该文件内容如下: Adam Bor, 34, IndiaKerry Miller, 22, USA命令输出结果为:Adam Bor, IndiaKerry Miller, USA

2) 概念: 管道, 重定向和 backtick

这些不是系统命令,但是他们真的很重要。

管道 (|) 将一个命令的输出作为另外一个命令的输入。

grep "hello" file.txt | wc -l

在file.txt中搜索包含有”hello”的行并计算其行数。

在这里grep命令的输出作为wc命令的输入。当然您可以使用多个命令。

重定向:将命令的结果输出到文件,而不是标准输出(屏幕)。

> 写入文件并覆盖旧文件

>> 加到文件的尾部,保留旧文件内容。

反短斜线

使用反短斜线可以将一个命令的输出作为另外一个命令的一个命令行参数。

命令:

find . -mtime -1 -type f -print

用来查找过去24小时(-mtime –2则表示过去48小时)内修改过的文件。如果您想将所有查找到的文件打一个包,则可以使用以下脚本:

#!/bin/sh

# The ticks are backticks (`) not normal quotes ('):

tar -zcvf lastmod.tar.gz `find . -mtime -1 -type f -print`

第二讲就到这里,下面一讲Linux shell脚本基础学习我们会继续讲控制流程。



分享到:
评论

相关推荐

    开源项目-msoap-shell2telegram.zip

    开源项目-msoap-shell2telegram.zip,Create Telegram bot from command-line

    shell2学习资料shell2学习资料

    shell2学习资料shell2学习资料shell2学习资料

    shell2http, 通过HTTP服务器执行 shell 命令.zip

    shell2http, 通过HTTP服务器执行 shell 命令 shell2http 用于执行 shell 命令的http服务器。 为开发,Prototype或者远程控制而设计。 通过两个 命令行 参数,路径和 shell 命令设置。 默认情况下绑定到:8080.用法

    shell2http:通过HTTP服务器执行shell命令

    shell2http HTTP服务器执行Shell命令。 专为开发,原型制作或远程控制而设计。 通过两个命令行参数path和shell命令进行设置。 默认情况下绑定到:8080。 用法 shell2http [options] /path "shell command" /path2 ...

    shell2.c

    shell2.c

    Learning the bash Shell 2nd Ed 1998

    Learning the bash Shell 2nd Ed 1998.chm

    Flask-Shell2HTTP:通过HTTP服务器执行Shell命令(通过Flask的端点)

    Flask-Shell2HTTP 极简主义的扩展,可作为python子进程API的RESTful / HTTP包装器。 将任何命令行工具转换为REST API服务。 通过带有动态参数,文件上传和回调函数功能的flask端点,安全,异步地执行预定义的Shell...

    B shell与 C shell的区别

    2. 文件名补全:C shell提供了文件名补全的功能,用户可以通过按Tab键来补全文件名,而B shell不具备这个功能。 3. 别名功能:C shell提供了别名功能,用户可以通过设置别名来简化命令的输入,而B shell不具备这个...

    efi shell 32/64

    2. **管理文件系统**:使用`ls`, `copy`, `delete`, `mkdir`, `rmdir`等命令,与UEFI支持的文件系统进行交互。 3. **诊断硬件**:内置的硬件测试工具可以帮助检测和诊断系统硬件问题。 4. **加载驱动程序**:通过`...

    SSH:Unix Secure Shell工具.rar

    随着网络的不断发展,网络的安全也变得越来越重要。本书针对这一问题专门...第三部分“Secure Shell 2”;第四部分“Secure Shell的高级使用”;第五部分“附录”。通过这五部分的学习,读者就可以完全掌握SSH的使用。

    Linux上实现shell1输入命令shell2输出结果

    当你需要在一个shell(shell1)中输入命令,并使另一个shell(shell2)处理这个命令并返回结果时,可以通过管道(pipe)、重定向(redirection)或进程间通信(inter-process communication, IPC)来实现。...

    shell编程2 shell编程2 shell编程2

    shell编程2 shell编程2 shell编程2shell编程2 shell编程2 shell编程2shell编程2 shell编程2 shell编程2shell编程2 shell编程2 shell编程2

    Go2Shell for mac 最新版.dmg.zip

    此外,对于那些习惯于使用特定Shell(如zsh或bash)的用户,可以在iTerm2的配置中指定默认Shell,这样在Go2Shell启动时,会自动进入你所偏好的Shell环境。 总之,通过简单地调整Go2Shell的设置,用户可以将这个小巧...

    Shell源码(Shell源码)

    Shell是Unix和Linux操作系统中的命令解释器,它提供了一个用户与操作系统内核交互的界面,允许用户通过输入命令来执行系统功能。Shell不仅是一个命令行接口,还是一个强大的编程语言,用户可以编写脚本来自动化一...

    LinuxShell脚本学习基础视频

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

    Shell编程中文手册.pdf

    Shell 编程中文手册 本手册涵盖了 Shell 编程的基础知识,包括 Shell 概述、Shell 解析器、Shell 脚本入门、Shell 中的变量等。...也可以使用 `readonly` 命令声明静态变量,例如 `readonly B=2`。

Global site tag (gtag.js) - Google Analytics