鸟书shell 学习笔记(一) shell中的重点概念以及命令

变量

variableName=value

  1. 等号左右不能有空格
  2. 变量内容有空格需要用"或者‘括起来,但是 v="hello $name" $保持原有功能,单引号则不行,v="hello ‘$name‘"纯文本
  3. 可用转义符\将特殊字符转成普通文本 `命令`,$(命令) ,在文本中提供命令执行信息
  4. 变量累加, name=xiaoyi ; name=$name:‘welcome to hz‘
  5. 子进程能够继承父进程的环境变量但是不能够继承父进程的自定义变量,export 变量名;将自定义变量变成环境变量

从键盘读入数据:

read -p ‘提示语‘ -t num v # num 时间,v 变量名

数组的申明和使用:

v[1]=‘hello‘;v[2]=‘xiao‘

echo ${v[1]}


路径与命令的查找顺序

  1. 以相对/绝对路径执行命令,如/bin/ls
  2. 由alias找到该命令来执行
  3. 由bash内置的命令执行
  4. 通过$PATH这个变量的顺序找到第一个命令来执行

读取shell配置文件的命令

source 或者就是一个点 . ,    由于.bashrc只能在登陆的时候才会被读,如果中途修改了想立即生效的话,我们就需要调用source命令读取当前修改的相应配置文件

eg: source ~/.bashrc equals . ~/.bashrc


管道命令

场景: 当数据需要经过几次处理之后才能到我们想要的格式的时候

管道之后第一个数据一定是可以接受standard input的命令

选取命令:cut,grep

  • cut

cut 按行为单位切出来 cut -d ‘分割字符‘ -f fields ,主要是用于行数据的分割显示

cut -c 字符范围

eg:

echo $PATH | cut -d ‘:‘ -f 5 //选取path中以:分割的第五个路径

  • grep

grep 将一行信息中我们想要的数据分析出来

grep [-acinv] [--color=auto] ‘查找字符串‘ filename

-a 将binary文件以 text的方式查找数据

-c 统计匹配到的数据个数

-i 忽略大小写

-n 输出行号

-v 输出没有匹配内容的那一行

grep可以结合正则表达使用

排序与统计命令 sort ,wc ,uniq

  • sort

    sort [-fbMnrtuk] [file or stdin]

    -f 忽略大小写

    -b 忽略最前面的空格

    -M 以月份的名字排序

    -n 使用纯数字排序

    -r 反向排序

    -u 相同的数据项仅出现一项

    -t 分隔符

    -k 以以那个区间进行排序

    eg:

    cat /etc/passwd | sort -t ‘:‘ -k 1 //对以: 分割的第一列排序

  • wc  统计字, 行或者字符数

    wc [-lwm]

    -l 行数

    -w 字数

    -m 字符数

    eg:

    cat /etc/profile | wc -lwm

  • uniq 重复的数据竟出现一次即可

    uniq [-ic]

    -i 忽略大小写

    -c 进行计数

    eg:

    last | cut -d ‘ ‘ -f1  | grep ‘^xiaoyi‘  | uniq -c

字符转换指令 tr, col, join, paste, expand

  • tr : tr [-ds] set1

    -d 删除信息当中的set1字段

    -s  替换掉重复的字符

    eg : 小写换大写 last | tr ‘a-z‘ ‘A-Z‘

find ./ -name "*.java" | xargs wc -l

find grep 讲的比较好的链接: http://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html

特殊符号:

时间: 2024-11-05 04:52:24

鸟书shell 学习笔记(一) shell中的重点概念以及命令的相关文章

鸟书shell 学习笔记(二) shell中正则表达式相关

通配符与正则表达式的区别 通配符是bash原生支持的语法,正则表达式是处理字符串的一种表示方式, 正则表达式需要支持的工具支持才可以 语系设置 : export LANG=C grep alias 设置 : grep --color=auto grep 的一些高级参数 grep [-A] [-B] '搜寻字符串' filename //同时输出之前的k行和之后的m行 -A : 后面可加数字,表示列出改行以及之后的n行 -B : 列出前面几行 搜寻关键字如果中间使用正则表达式的话,则正则表达式部分

Linux Shell 学习笔记 二 Shell 命令行 pwd cd

今天开始Linx shell的第一篇 今天介绍 pwd和cd的使用方法. pwd的意思是“print working Directory”,显示用当前所在位置. pwd还有其他可用的参数 -L(大写),-P(大写) -L是显示当前用户的位置 和pwd相同 -P 显示用户当前物理位置 和pwd相同 其实直接用pwd就可以 cd 可以简单的认为目录切换 比如目前在/root/桌面,直接可以切换到/root/桌面/tools目录夹位置 和windows 下的cd命令类似 cd还有其他不同的用法 cd 

Linux Shell 学习笔记 二 Shell 命令行 cat

cat 命令用于文本文件输入输出和显示 cat -E  在每一行最后输出带$符号 cat -n 输出的内容显示行号

Linux Shell 学习笔记 二 Shell 命令行 ls

ls 是查看目录及目录里的文件的命令 接下来我们看这个命令的用法 ls ls 的语法主要有 ls     查看目录内容 ls -l 查看文件夹详细信息 ls -a 查看隐藏文件 ls -A 查看隐藏文件,但不显示"."和".."目录信息 ls -d 将目录象文件相同显现,而不是显现其下的文件 ls -h 显示文件大小单位(通常和其他参数一起用) ls -R 递归显示目录和子目录的内容 ls -S 文件从大到小排列 也可以和其他参数一起使用 ls -t 文件按创建时间

Shell学习笔记——第三章

第三章 /etc/passwd 文件包含一个所有系统用户账户组成的列表,以及一些关于每个用户的基本信息. 例rich:x:501:Rich Blum:/home/rich:/bin/bash 每个条目都有7个数据字段,例使用冒号分隔.系统使用这些字段中的数据向用户分配具体的特性.这些字段分别有 用户名:用户密码(如果密码存储在其他文件中,则为占位符):用户的系统用户ID编号:用户的系统组的ID编号:用户的全名:用户默认的主目录:用户的默认Shell目录: cd 命令 略过 列表命令(ls) 参数

Linux Shell 学习笔记

2.return与exit区别 return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用. exit(0)表示正常退出执行程序,如果加其它的数值:1,2,....可以表示由于不同的错误原因而退出 . main函数中exit(0)等价于return 0. 1. Linux下一条命令或一个进程执行完成会返回一个一个状态码. 0 === 成功执行 非0 === 执行过程

SHELL学习笔记----IF条件判断,判断条件

SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外.  if list then           do something here       elif list then           do another thing here       else          do something else here fi  EX1: #!/bin/bash if [ `uname -m` == "x86_64" ]

MVC4 学习笔记 之 URL中存在编译的空格 20%20%

/Config/Edit/QQCC%20%20%20%20%20%20%20 原因是: 通过EF直接添加了空格? NO 是因为你的数据库字段设计问题,因为你当然设计如>:sID nchar(10) 那你一定想输入10个字符,但实际你只输入了必个,所以后面数据自动帮你补空了. 从EF数据库取出数据,在绑定的时候为安全,编码了,所以显示%20,代表一个空格. MVC4 学习笔记 之 URL中存在编译的空格 20%20%,布布扣,bubuko.com

Guava学习笔记:guava中的Preconditions使用

Guava学习笔记:guava中的Preconditions使用 转载:http://outofmemory.cn/java/guava/base/Preconditions google guava的base包中提供的Preconditions类用来方便的做参数的校验,他主要提供如下方法: checkArgument 接受一个boolean类型的参数和一个可选的errorMsg参数,这个方法用来判断参数是否符合某种条件,符合什么条件google guava不关心,在不符合条件时会抛出Illeg