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 命令可以把所有变量列出来包括系统的和自定义的全局变量以及当前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时,执行该文件

.bashrc_history  记录命令历史用的

.bash_logout   当退出shell时,会执行该文件

4、shell中的特殊符号

* 匹配符号,0个或多个任意字符

?匹配字符,1个任意的字符

# 注释说明用的,使后面的内容失去原本的意义

\ 脱义字符,将特殊字符还原为普通字符

| 将符号前面命令的结果丢给符号后面的命令,一般针对文档操作的命令比较常用,如cat,less,head

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 -110 file

6 &&和||

command1;command2前面命令是否执行完成都会执行后面的命令

command1&&command2只有前面命令执行成功才会执行后面命令

command1||command2只有前面命令不成功再去执行后面命令

时间: 2025-01-09 06:52:42

2015.4.8 Shell基础知识的相关文章

【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 书

Shell基础知识

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

Linux操作系统基础解析之(七)——Bash(Shell)基础知识(1)

在日常交际英语中,Shell可以翻译成壳,大多指能够对内部核心起到保护作用的一种装置或结构.在计算机科学中,shell其实是指:为操作者提供的.能够通过系统调用或库调用使用整个计算机资源的访问接口. 它既是一种命令解析器又是一种程序设计语言.作为命令解析器,它可以解释和执行用户输入的命令,也可以自动地解释和执行预先编写好并保存在某个文本文件中的一系列的命令:作为程序设计语言,shell特别定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和条件分支,让我们可以像使用高级语言

Linux操作系统基础解析之(七)——Bash(Shell)基础知识(3)

五.注释 在非交互shell中或交互式shell中,内置命令shopt的选项interactive_comments被开启.以"#"开始的词使得这个词所在这一行上所有其他的剩余字符都被忽略(或称注释).交互式shell不用开启interactive_comments选项也不支持注释.interactive_comments选项在交互式shell中是默认启用的.注释是编写程序时,写程序的人给一个语句.程序段.函数等的解释或提示,能提高程序代码的可读性,以便于以后的参考.修改.后来,在应用