linux学习:常用shell语句

一、正则表达式的使用

cd /usr/share/dict

1、找出words文件下所有以a开头t结尾的单词

egrep "^a.*t$" words

2、匹配以abcde开头,以at结尾的单词

egrep "\<[abcde]at\>" words

3、以大写字母开头,以t结尾

egrep "^[[:upper:]]t$" words

二、管道的使用

egrep "^a.*t$" words|wc -w

三、cut命令

假设文件city:

Beijing 010

Shanghai 021

Tianjin 022

Hangzhou 0571

1、cut -c 3-6 city

则显示:

ijin

angh

anji

ngzh

2、cut -f1 city(f参数用于指定要输出的文本列)

则显示:

Beijing

Shanghai

Tianjin

Hangzhou

四、sort命令

1、sort city(默认第一列排序)

Beijing 010

Hangzhou 0571

Shanghai 021

Tianjin 022

2、sort -r city(反序排列)

3、sort -k 2 city(按第二列排列)

Beijing 010

Shanghai 021

Tianjin 022

Hangzhou 0571

五、uniq命令(删除重复行)

sort city|uniq

六、tr命令(替换)

1、将大写字母BHS替换为小写,并重定向到city文件

tr “BHS” "bhs"<city

2、将Bei替换为x**

tr "Bei" "x*" <city

3、删除所有e和i字符

tr --delete "ei"

七、wc命令

wc city

则显示:

6 12 79 city

多少行|多少个单词|多少个字节|文件名

wc -c city(只显示字节)

wc -l city (只显示行数)

wc -L city(只显示最长的行)

八、substr命令

expr substr "Hello world" 1 5

则显示:Hello

九、seq命令(产生一个整数数列)

十、环境变量

查看:printenv

追加环境变量:Path=$PATH:/home/starcuan

附:一个简单的shell编程实例,

color(){
case $1 in
black_green)
echo -e "\033[40;32m"
;;
black_yellow)
echo -e "\033[40;33m"
;;
black_white)
echo -e "\033[40;37m"
;;
black_purple)
echo -e "\033[40;35m"
;;
black_blue)
echo -e "\033[40;34m"
;;
esac
}
clear
trap "" 1 2 3
mday=`date +%Y/%m/%d`
mhost=`hostname`
mwho=`whoami`
while :
do
cat<<mmenu
---------------------------------------
$mwho       $mhost      $mday
---------------------------------------
    1:改变字体颜色
    2:查看进程信息
    3:查看用户信息
    h:帮助
    Q:退出
---------------------------------------
mmenu
echo -e -n "\tEnter Your Choice[1,2,3,h,q]:"
read Cho
case $Cho in
1)
while :
do
cat <<kcol
-----------------------------------------------
$mwho       $mhost      $mday
-----------------------------------------------
1:黑绿    2:黑黄    3:黑白    4:黑紫    5:黑蓝    0:返回
-----------------------------------------------
kcol
echo -e -n "\t 请输入选择的颜色[1,2,3,4,5]:"
read choice
    if [ $choice = 1 ]
    then
    color black_green
    elif [ $choice = 2 ]
    then
    color black_yellow
    elif [ $choice = 3 ]
    then
    color black_white
    elif [ $choice = 4 ]
    then
    color black_purple
    elif [ $choice = 5 ]
    then
    color black_blue
    elif [ $choice = 0 ]
    then
    break
    else
    clear
    continue
    fi
clear
done
;;
2)
ps aux|sort -m|head -10
echo -e -n "\t按任意键继续"
read J
;;
3)
who
echo -e -n "\t按任意键继续"
read J
;;
H|h)
cat <<mmenu
    选择改变颜色可以修改当前界面的字体颜色
    选择查看进程信息可以获取当前占用资源最高的前10个进程
    选择查看用户可以获取当前登录系统的用户信息
mmenu
;;
Q|q)
exit   0
;;
*)
clear
continue
;;
esac

clear
done
时间: 2024-10-10 08:05:28

linux学习:常用shell语句的相关文章

linux学习之shell练习

linux学习之shell练习 1.描述shell程序的运行原理(可附带必要的图形说明): 2.总结shell编程中所涉及到的所有知识点(如:变量.语法.命令状态等等等,要带图的哟): 总结文章:http://pizimsn.blog.51cto.com/7002551/1697671 3.总结课程所讲的所有循环语句.条件判断的使用方法及其相关示例:(if (jpg|png is not exist):echo "You say a XX") 总结文章:http://pizimsn.b

Linux学习笔记——Shell基础(八)

+++++++++++++++++++++++++ +++++Shell基础+++++++++++++++++++++++++++++++ 1. Shell概述 Shell定义: Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至编写一些程序. Shell还是一个功能相当强大的编程语言,易编写.调试.Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令. Shell分类: Bo

linux文本常用shell工具

下面将介绍Linux下使用Shell处理文本时最常用的工具:find.grep.xargs.sort.uniq.tr.cut.paste.wc.sed.awk:提供的例子和参数都是最常用和最为实用的: 我对shell脚本使用的原则是命令单行书写,尽量不要超过2行:如果有更为复杂的任务需求,还是考虑python吧: find 文件查找 查找txt和pdf文件 [indent]  find . \( -name "*.txt" -o -name "*.pdf" \) -

Linux学习之Shell基础

一.Shell概述 1.Shell概述: Shell:壳,Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面级程序,用户可以用Shell来启动.挂起.停止甚至是编写一些程序.类似于翻译,相当windows的操作界面 Shell同时还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强.Shell是解释执行的脚本语言,在Shell中可以直接调用Linux命令. 2.Shell的分类: Bourne Shell:从1979起Unix就开始使用的Bourne

linux 学习10 shell 基础

10.1 Shell概述 1.Shell是什么 ?Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至是编写一些程序. ?Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强.Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令. 2.Shell的分类 ?Bourne Shell:从1979起Unix就开始使用Bourne Shell,Bourne Shell的主文

linux学习之shell脚本 ------- 文本过滤

[本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020] 今天来看一下shell关于文字过滤的知识,其实最主要的就是正则表达式以及关于文本的一常见的命令. 正则表达式: 一种用来描述文本模式的特殊语法. 由普通字符(例如字符a到z)以及特殊字符(称为元字符,如/.*.?等)组成. 基本元字符集及其含义: 字符 含义 ^ 只匹配行首 $ 只匹配行尾 * 匹配0个或多个单字符 [ ] 只匹配[]内字符,可以是一个单字符,也可以是字符序

linux学习笔记:shell脚本编程相关(上)

前言 unix/linux操作系统下的shell,是一种壳,其目的是提供一个用户与计算机相互交互的命令接口,通过输入各种命令,达到操作的目的. 与此同时,shell支持控制流程,进而可以组合出各种各样的应用实例. shell脚本的格式 首行shebang机制: bash脚本,首行添加#!/bin/bash [options] csh脚本,首行添加#!/bin/csh [options] ksh脚本,首行添加#!/bin/ksh [options] -- 描述脚本的注释部分: 包括Author,

Linux学习之Shell编程基础

转自:http://my.oschina.net/itblog/blog/204410 1 语法基本介绍1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序.  当编辑好脚本时,如果要执行该脚本,还必须使其可执行.  要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 1.2 注释  在进行shell编程时,以#开头的

Linux之常用Shell脚本总结

一.简介本文将总结一些常用的shell脚本,方便以后工作中使用. 二.shell脚本[a]定期备份mysql数据库,需结合cronb定时任务调度实现. #!/bin/bash#首先声明一些自定义变量 #数据库备份路径DB_BAK_PATH=/data/db#当前时间CURRENTTIME=$(date +%Y%m%d_%H%M%S)#备份数据库名称DB_NAME=test_db_bak#用户名DB_USERNAME=root#密码DB_PASSWORD=0905#主机名称DB_HOSTNAME=