[linux]linux Shell编程入门 (2)

本文深入探讨Linux命令的基础应用,包括文件操作、数据处理、管道、重定向和流程控制等核心概念。通过实例解析,帮助读者掌握如何高效地使用Linux命令集进行系统管理和文件处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

file somefile: 得到文件类型。 

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

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

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

expr: 进行数学运算Example: add 2 and 3 expr 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.file。 

awk: awk 用来从文本文件中提取字段。缺省地,字段分割符是空格,可以使用-F指定其他分割符。cat file.txt | awk -F, '{print "," }'这里我们使用,作为字段分割符,同时打印第一个和第三个字段。如果该文件内容如下: 


Adam Bor, 34, IndiaKerry Miller, 22, USA
 

命令输出结果为: 


Adam Bor, IndiaKerry Miller.
 

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`
 

3) 流程控制 

"if" 表达式 如果条件为真则执行then后面的部分: 

if ....; then
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值