2015-04-08 shell基础知识

课程大纲:
1. shell特性
命令历史 history !!  !$  !n  !字符
Tab 键可以补全文件路径或者命令
alias  a=“b”  unalias a
通配符 *匹配零个或多个字符 ?匹配一个字符
输入输出重定向 >, >>,  <,  2>, 2>>
管道符 |
作业控制 ctrl+z, jobs,  fg,  bg
2. 变量

env

系统变量名都是大写,echo 可以查看变量名
env 可以列出当前用户的所有环境变量以及用户自定义全局变量
set命令可以把所有变量列出来包括系统的和自定义的全局变量以及当前shell自定义变量
linux下设置自定义变量规则: (1)格式为 “a=b”, 其中a为变量名,b为变量的内容,等号两边不能有空格;(2)变量名只能由英、数字以及下划线组成,而且不能以数字开头;(3)当变量内容带有特殊字符(如空格)时,需要加上单引号;(4)如果变量内容中需要用到其他命令运行结果则可以使用反引号;(5)变量内容可以累加其他变量的内容,需要加双引号;
系统所有用户使用变量: export myname=Aming  全局变量,加入/etc/profile并source /etc/profile永久生效
系统某个用户使用变量: export myname=Aming 加入当前用户家目录下的 .bashrc中 source .bashrc
export myname=Aming  全局变量,export 不加任何选项表示,声明所有的环境变量以及用户自定义变量
用户自定义变量,可以使用 unset 变量名 进行解除变量设置
3. 系统和个人环境变量的配置文件
/etc/profile  PATH, USER, LOGNAME, MAIL, INPUTRC, HOSTNAME, HISTSIZE, umask等
/etc/bashrc  $PS1  umask    以后如果设置umask修改 /etc/profile 不要改这个文件
.bash_profile  用户自己的环境变量
.bashrc  当用户登录时以及每次打开新的shell时, 执行该文件
.bash_history  记录命令历史用的
.bash_logout :当退出shell时,会执行该文件。
4. shell中的特殊符号
* 匹配符号,零个或多个任意字符
? 匹配符号,1个任意的字符
# 注视说明用的,使后面的内容失去原本的意义
\ 脱义字符,将特殊字符还原为普通字符
|将符号前面命令的结果丢给符号后面的命令,一般针对文档操作的命令比较常用,例如cat, less, head, tail, grep, cut, sort, wc, uniq, tee, tr, split, sed, awk等等  
$ 引用变量,还有 !$
; 分号,多条命令写一行时,分隔命令
~ 用户家目录
& 放到命令最后面,让命令在后台运行
>, >>, 2>, 2>>  [错误]重定向,追加[错误]重定向
[ ] 中括号,中间为字符组合,代表中间字符中的任意一个 ls 1[23a].txt
5. 常用命令:
1)cut  截取某个字段
语法: cut -d ‘分隔字符’ [-cf] n 这里的n是正整数
-d 后面指定分隔符,用单引号引起来,-f 指定第几段 cut -d ‘:‘  -f 1 /etc/passwd |head -n 5
-c 后面只有一个数字表示截取第几个字符head -n2 /etc/passwd|cut -c2
-c 后面跟一个数字区域,表示截取从几到几head -n2 /etc/passwd|cut -c2-5
2)sort  排序
语法: sort [-t 分隔符] [-kn1,n2] [-nru]  (n1<n2)
不加选项,从首字符向后,依次按ASCII码值进行升序排序sort  /etc/passwd
-t 后指定分隔符,-kn1,n2表示在指定的区间中排序,-k后面只跟一个数字表示对第n个字符排序,-n表示使用纯数字排序 sort -t: -k3 -n /etc/passwd
-r 表示以降序的形式排序 sort -t: -k3,5 -r /etc/passwd
-u 去重  cut -d: -f4 /etc/passwd |sort -n -u
3)wc   统计
用于统计文档的行数、字符数、词数
不加任何选项,会显示行数、词数以及字符数
-l 统计行数
-m 统计字符数
-w 统计词数
4)uniq   去重复
uniq 去重复,最常用就一个 -c 用来统计重复的行数,去重前要先排序sort testb.txt |uniq -c  
5)tee  重定向
后跟文件名,类似于>,比重定向多了一个功能,在把文件写入后面所跟的文件中的同时,还显示在屏幕上
6)tr    替换字符
最常用的就是大小写转换: head -n2 /etc/passwd |tr ‘[a-z]‘ ‘[A-Z]‘
tr 替换一个字符也是可以的 grep ‘root‘ /etc/passwd |tr ‘r‘ ‘R‘
7)split 切割
-b : 按大小来分割单位为byte  split -b50 1.txt
默认会以xaa, xab, …这样的形式定义分隔后的文件名,也可以指定文件名 split -b50 1.txt 123
-l : 按行数分隔,split -l10 file
6. && 和 ||
command1 ; command2  前面命令是否执行完成都会执行后面命令
command1 && command2 只有前面命令执行成功才会执行后面命令
command1 || command2  只有前面命令不成功再去执行后面命令
扩展知识点:
1. source  exec 区别   http://alsww.blog.51cto.com/2001924/1113112
2.  bash_profile和bashrc的区别    http://www.aminglinux.com/bbs/thread-7719-1-1.html3. Linux特殊符号大全http://www.aminglinux.com/bbs/thread-7720-1-1.html

时间: 2024-10-06 00:28:59

2015-04-08 shell基础知识的相关文章

2015/04/08 &nbsp; Shell基础-1

ps: 红字字体为重要部分, 仔细看 一.shell特性 1. history查看命令历史记录,默认记录1000条; [[email protected] ~]# history     1  vim /etc/hosts     2  ifconfig     3  cd /etc/sysconfig/network-scripts/ifcfg-     4  cd /etc/sysconfig/network-scripts/ifcfg-eth0     5  ifconfig eth0 u

2015.4.8 Shell基础知识

1.Shell特性 命令历史 history  !!  !$  !n  !字符 Tab键可以补全文件路径或者命令 alias a="b"  unalias a 通配符 *匹配零个或多个字符  ?匹配一个字符 输入输出重定向>,>>,<,2>,2>> 管道符 作业控制  ctrl+z   jobs   fg    bg 2.变量 系统变量名都是大写,echo可以查看变量名 env 可以列出当前用户的所有环境变量以及用户自定义全局变量 set 命令

【Linux系列】【基础版】第三章 Shell基础知识

3. Shell基础知识     3.1 Shell的由来         3.1.1 Bourne Agin Shell         3.1.2 其他的shell, 有 zsh, ksh等     3.2 查看有没有shell         3.2.1 yum list | grep zsh         3.2.2 ls /root/.bash_history         3.2.3 echo $HISTSIZE -> vi /etc/profile 修改HISTSIZE的值 -

centos shell基础知识 2015-4-8 第十二节课

centos shell基础知识  2015-4-8 第十二节课 上半节课 下半节课 history:命令历史 ,默认保存1000条命令历史 !!:上一条命令 !$:上一条命令的最后一个参数 !n:执行命令历史里的第n条命令 !字符:最近那个字符的命令 Tab 键可以补全文件路径或者命令alias a=“b” unalias a通配符 *匹配零个或多个字符 ?匹配一个字符输入输出重定向 >, >>, <, 2>, 2>>管道符 |作业控制 ctrl+z, jobs

shell基础知识总结

1. shell 对于一台计算机而言,其硬件受系统内核的控制,使用者想要控制计算机,就必须有与系统内核进行通讯的手段.而shell就是使用者与计算机进行通讯的手段之一.从命名上看,shell其实是相对于kernel(内核)而言,指系统与外界(使用者)进行接触的部分,一个提供系统功能给用户使用的软件,它接受来自用户的指令,然后调用相应的应用程序. 为了满足不同的需求,shell提供了两种执行命令方式: a. 交互式:解释并执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令. b. 程序

Shell 基础知识和总结

调试脚本 检查脚本语法错误 bash -n /path/to/some_script 调试执行 bash -x /path/to/some_script shell里的变量 本地变量:只对当前shell有效:作用范围可以是整个shell程序文件,包括脚本中的函数,对其他的shell无效.    环境变量:对当前shell及子进程shell有效.    声明.赋值:export name=value 或者 declare -x name=value    局部变量:与函数的生命周期一样:     

shell基础知识---与监听服务器长连接端口状态

从未写过脚本我的最近接了俩脚本的需求,就在这分享一下我的我学到基础知识主要就四部分内容 一.变量 变量的定义 string='字符串' string="字符串" num=808string=str 字符串可以用单引号和双引号包裹,也可不包裹.数字话不用引号包裹的话就是一个数值. 变量也可以用来接受语句给变量赋值 file=`ls -l filepath/txt.txt` 上面的语句是接收filepath 下的txt.txt文档 数组的定义 程序中常用的还有数组在 Shell 中,用括号

shell基础知识讲解

第1章 shell基础 1.1 什么叫做shell编程 shell编程也叫做bash高级编程语法 1.2 常见的shell命令解释器 bash????????????redhat和centos使用 dsh????????????Ubuntu使用 csh和tcsh????unix使用 1.3 开发语言程序代码的分类说明 编译型????????????写完后需要编译才可以运行(C语言,java语言) 解释型????????????写完就可以直接运行(shell语言) 1.4 脚本规范 1.4.1 书

python基础知识 04 数学的基础知识

课程三 数字的基础知识 python控制台可以执行的当做计算器去执行算数 比如 在python控制台执行执行 [[email protected] ~]# ipython Python 3.7.4 (default, Aug 13 2019, 20:35:49) Type 'copyright', 'credits' or 'license' for more information IPython 7.8.0 -- An enhanced Interactive Python. Type '?

Shell基础知识

防伪码:长风破浪会有时,直挂云帆济沧海. 1.1 l Shell  简介 Shell 是一个 C 语言编写的脚本语言,它是用户与 Linux 的桥梁,用户输入命令交给 Shell 处理, Shell 将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户. 下面是处理流程示意图: Shell 既然是工作在 Linux 内核之上,那我们也有必要知道下 Linux 相关知识. Linux 是一套免费试用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户.多