`
xidajiancun
  • 浏览: 455959 次
文章分类
社区版块
存档分类
最新评论

四天精通shell编程(一)

 
阅读更多

沈超:

微博:weibo.com/lampsc


shell简介

1 概念

命令解释器

2 常见shell

bash linux标准shell


附:她保存在/etc/bash里面,是一个二进制可执行文件,所以不能直接:

vim/bin/bash 会是乱码


sh 早期shell,较简单

cshUNIX默认的Shell!) ksh tcsh unix shell


附:他们的大部分是相同的,但是也会有所区别,比如配置文件的保存位置

vi /etc/shells linux支持的shell

直接输入csh并不报错,因为他已经从bash切换到了csh

(返回exit


3 shell脚本

附:创建文件夹/文件目录:mkdirsh

Linxu并不区分扩展名,这点与Windows不同!

#/bin/bash


1:打印时间

#!/bin/bash

echo"hello world!"


脚本执行方式:

1 赋予执行权限(惯用法)

如:chmod755 hello.sh

路径执行 /root/shell/hello.sh#绝对路径

./hello.sh #相对路径


2 不赋予执行权限

bash 脚本名

如:bashecho.sh


4 bash常见功能


1)历史命令

默认保存1000条历史命令:

vi /etc/profile 修改环境变量配置文件,要生效,必须注销

HISTSIZE=1000 修改默认历史命令条数


history 查询系统历史命令


历史命令保存文件

~/.bash_history


history -w 把内存中命令历史,保存入文件

history -c 清空所有的历史命令


重复历史命令

n 重复第n条命令

str 重复最后一个以str开头的命令

上箭头 调用上面的命令


2)别名

附:Linux默认使用ls之后会以蓝色显示文件夹

但是也可以使用:ls-- color=never 来取消显示颜色

alias 查看系统中生效的别名

附:

alias ls='ls --color=never' 手工设定别名,临时生效:相当与个人操作习惯

aliasls='ls –color=tty' #改回来了


vi ~/.bashrc 写入别名,永久生效#第二个环境变量配置文件


5 输入输出重定向

标准输入 /dev/stdin 0 键盘

标准输出 /dev/stdout 1 显示器

标准错误输出 /dev/stderr 2 显示器

#设备文件名 #文件描述符 #默认设备


1)输出重定向

把应该输出到屏幕的输出,重定向到文件。


> 覆盖

>> 追加


ls > aa 覆盖到aa

ls >> aa 追加到aa


ls gdlslga 2>>aa 错误信息输出到aa 强调:错误输出,不能有空格


ls &>aa 错误和正确都输入到aa


掌握(查看系统版本:uname -r


ls >> aa 2>>bb 正确信息输入aa,错误信息输入bb


ls >> aa 2>&1 错误和正确都输入到aa,可以追加

2>&1 把标准错误重定向到标准正确输出


6 多命令顺序执行


1)命令1 ; 命令2;命令3 命令123顺序执行。之间没有任何关系如:cd;ls ;date #date 用于打印当前系统时间


2)命令1 && 命令2 命令1正确执行后,命令2才会执行

3)命令1 || 命令2 命令1执行不正确,命令2才会执行,也就是说:如果第一个命令正确执行,那么第二个命令就不会执行了!

test测试:

a)ls && echo "Yes" || echo "No"

b)ls skdjfkdj && echo "Yes" || echo "No"


lsaa && echo "cunzai" || echo "bu cunzai!" 执行ls aa,判断如果正确,输出“存在”。如果不存在,输出“不存在”


7 管道符:两个命令之间有联系,

命令1 | 命令2 命令1的执行结果,作为命令2的执行条件

注意:第一条命令一定得有输出


netstat-tlun | grep 80 查询监听的端口号,并查看80端口是否启动。

附:

netstat-tlun列出监听了多少个端口;

grep提取命令,如 grep80 #提取包含有80的行

80Apache的端口

ls -l /etc/ | more 分屏显示ls内容

ls-l /etc/ | grep vim


附:more分屏显示文件内容


变量:Linux将所有的变量都识别程字符串型#应该是Shell吧?Idon‘t know

设置变量的目的:像程序脚本中传值。

1分类

本地变量

环境变量

位置参数变量

预定义变量


2本地变量

1)声明 变量名=变量值 注意:=号左右不能有空格

aa=123

2)调用

echo $变量名

3)查看变量

set 查看所有变量,包括环境变量和本地变量

4)删除

unset 变量名


3变量设定规则

1)变量以等号连接值,等号不能有空格

2)变量名由数字和字母和下划线组成,不能以数字开头

3)变量值中有空格,用引号括起来如:aa=”helloworld” #其中不能有符号!!!

4双引号内,有特殊字符。如$

5单引号中特殊字符无含义

6)在变量值中,可以使用\转义符

7)变量值可以直接调用系统命令。 `命令` $(命令)

cc=`ls/dev` # ` 是反引号,Esc键下的那个

或者:cc=$(ls/dev) 作用相同,推荐!

调用:echo$cc

8)变量值可以累加 aa=123 aa="$aa"456 echo $aa --->123456

9)环境变量一定设为大写


4环境变量:

附:pstree:查询进程树

一般不要声明环境变量

1)声明

export 变量名=变量值

export aa #变量已经存在的情况


2)查看

set 查看所有变量

env 或者export 只能查看环境变量,并且export能够看清本质-_-


declare 声明变量类型的,如果不特别声明,所有变量为字符串型

-i 声明为int

-x 声明为环境变量


3)删除

unset 变量名


4)常见环境变量

echo$PATH

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

系统查找命令的路径

PATH="$PATH":/root/shell 在系统默认路径后,追加/root/shell目录作为命令查找路径


5)环境变量配置文件

/etc/bashrc 所有用户生效

/etc/profile

~/.bashrc只对指定用户生效

~/.bash_profile













分享到:
评论

相关推荐

    精通Shell编程

    本书由浅入深地介绍了shell编程技术。为了满足不同读者的需要,本书内容分为三个...初级读者可以从本书第一部分获得入门知识,中、高级读者可以越过第一部分,直接从第二部分和第三部分深入了解有关shell编程的知识。

    Linux Shell编程从入门到精通.张昊.pdf

    Linux Shell编程从入门到精通.张昊.pdf Linux Shell编程从入门到精通.张昊.pdf

    shell编程指南shell编程指南shell编程指南shell编程指南

    shell编程指南shell编程指南shell编程指南shell编程指南shell编程指南shell编程指南shell编程指南shell编程指南

    Linux Shell编程从初学到精通 第2版

    第1章 Shell脚本编程概述 1 第2章 Linux文件系统和文本编辑器 12 第3章 正则表达式 43 第4章 sed命令和awk编程 64 第5章 文件的排序、合并和分割 105 第6章 变量和引用 133 第7章 退出、测试、判断及操作符 ...

    shell编程教程.chm

    初学者入门教程:Shell编程概述(一) 初学者入门教程:Shell编程概述(二) shell编程-shell编程-分支语句(1) shell编程-shell编程-分支语句(2) shell编程-shell编程-循环语句(1) shell编程-...

    Linux Shell编程从入门到精通

    本书由浅入深、循序渐进地详细讲解了LinuxShell编程的基本知识。这些基本知识包括Shell编程的基本知识、文本处理的工具和方法、正则表达式、Linux系统知识等。  本书旨在通过理清Linux Shell编程的脉络,从基本概念...

    shell编程从入门到精通

    详细介绍了shell编程的各部分内容,配以大量简单详细实例,让你用最少的时间达到shell编程从入门到精通的过程,无疑是学习shell编程的最佳选择~

    shell 编程shell 编程

    shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程shell 编程...

    Linux下Shell编程从入门到精通视频教程.txt

    18、Shell编程之实战WEB界面展示一.mp4 17、Shell编程之磁盘监控报警脚本.mp4 16、自动收集服务器硬件系统信息脚本.mp4 15、Shell批量监控服务发送邮件报警.mp4 14、Linux下自动化运维企业案例.mp4 13、Linux系统...

    Linux下Shell从入门到精通完整版视频.zip

    12.Shell编程四剑客及案例详解.mp4 13.Linux下自动化运维企业案例.mp4 14.Linux系统增量备份脚本.mp4 15.自动收集服务器硬件系统信息脚本.mp4 16.Shell编程之磁盘监控报警脚本_0.mp4 17.Shell批量监控服务发送邮件...

    LINUX SHELL编程从初学到精通

    LINUX.SHELL编程从初学到精通,华清远见培训中心

    华清远见 Shell编程从入门到精通 中文版

     《linux shell编程从入门到精通》的每一章节都配有综合案例,这些综合案例不仅可以使读者复习前面所学的知识,还可以增加开发项目的经验。这些案例实用性很强,许多代码可以直接应用到linux系统管理中。

    shell编程shell编程shell编程shell编程

    shell编程shell编程shell编程shell编程

    Shell编程高级进阶系列视频.zip

    目录网盘文件永久链接 13Linux下Shell编程之While case...25Shell脚本编程综合实战一 26Shell脚本编程综合实战一 27Shell脚本综合实战二 28Shell脚本综合实战二 29Shell编程数组编程及复习 30Shell编程数组编程及复习

    linux shell编程从初学到精通源码4-17全

    linux shell编程从初学到精通源码4-17全

    Linux.Shell编程从入门到精通详解

    Linux.Shell编程从入门到精通详解

    精通UNIX Shell脚本编程 第二版 免费 包含脚本文件

    精通UNIX Shell脚本编程 第二版 免费 真正的第二版,不拿第一版忽悠大家, 清晰 最好用的shell书籍,最全面的shell介绍

    shell编程题目练习

    shell编程题目练习,练习基本的shell编程,学习脚本语言,提高效率

    Linux+Shell编程从入门到精通

    Linux+Shell编程从入门到精通.

    shell编程 从入门到精通百度网盘下载地址.

    包括概述、linux文件系统、正则表达式、sed命令和awk编程、文件的排序、合并和分割、变量和引用、操作符、循环与结构化命令、变量的该机用法、I/O...函数、别名、列表和数组、shell脚本调试技术、bash shell编程范例等...

Global site tag (gtag.js) - Google Analytics