发布时间:2014-09-05 17:08:44作者:知识屋
这是一篇shell的基础文章,主要内容是bash的作用,history作用,管道符,如何自定义变量
如何执行脚本等内容,下一篇会介绍一些如if,for,while,case等语句。欢迎各位与我交流。。。
一、shell环境概述
1.Shell的作用及常见分类
Shell的作用 —— 命令解释器,“翻译官”;介于操作系统内核与用户之间,负责解释命令行(类似于win下的cmd)
2. Shell环境的切换
1). 临时切换:直接执行其他Shell程序,例如ksh、zsh等
2). 更改用户登录Shell:
p 需修改/etc/passwd 文件中用户记录的最后一个字段
p 或执行:usermod -s Shell程序路径 用户名
3. Bash的常用功能
Tab键自动补齐 命令编辑快捷键 命令历史 命令别名
标准输入输出 重定向操作 管道操作
4. Bash的命令历史
1) 命令历史
保存用户曾经执行过的命令操作
存放位置:~/.bash_history 文件
2) 查看历史命令history
3) 调用历史命令
!n:执行历史记录中的第n条命令
!str:执行历史记录中以“str”开头的命令
4) 设置记录历史命令的条数/etc/profile
修改HISTSIZE 参数(默认为1000条)
5. Bash的标准输入输出
交互式硬件设备
标准输入:从该设备接收用户输入的数据
标准输出:通过该设备向用户输出数据
标准错误:通过该设备报告执行出错信息
6. Bash的重定向操作
改变标准输入、标准输出、标准错误的方向
7. Bash的管道操作
管道操作符号“|”
连接左右两个命令,将左侧的命令输出的结果,作为右侧命令的输入(处理对象)
格式:cmd1 | cmd2 [... | cmdn]
二.Shell变量的应用
Shell变量的种类
用户自定义变量:由用户自己定义、修改和使用
环境变量:由系统维护,用于设置用户的Shell工作环境,只有极少数的变量用户可以修改
预定义变量:Bash预定义的特殊变量,不能直接修改
位置变量:通过命令行给程序传递执行参数
变量的赋值与引用
1)定义新的变量
变量名要以英文字母或下划线开头,区分大小写
格式:变量名=变量值
2)查看变量的值
格式:echo $变量名
3)从键盘输入内容为变量赋值
格式:read [-p "信息"] 变量名
4)结合不同的引号为变量赋值
双引号 “ ” :允许通过$符号引用其他变量值
单引号 ‘ ’ :禁止引用其他变量值,$视为普通字符
反撇号` ` :将命令执行的结果输出给变量
5)设置变量的作用范围
格式:export 变量名...
export 变量
6) 数值变量的运算
计算整数表达式的运算结果
格式:expr 变量1 运算符 变量2 ...[运算符 变量n]
expr的常用运算符
加法运算:+
减法运算:-
乘法运算:/*
除法运算:/
求模(取余)运算:%
环境变量
1) 环境变量配置文件
全局配置文件:/etc/profile
用户配置文件:~/.bash_profile
2) 查看环境变量
set命令可以查看所有的Shell变量,其中包括环境变量
常见的环境变量:path变量,类似于windows的path
三.Shell脚本的概念
1. Shell脚本
a) 用途:完成特定的、较复杂的系统管理任务
b) 格式:集中保存多条Linux命令,普通文本文件
c) 执行方式:按照预设的顺序依次解释执行
2. 运行Shell脚本程序
1) 直接执行具有“x”权限的脚本文件
例如:./repboot.sh
2) 使用指定的解释器程序执行脚本内容
例如:bash repboot.sh、sh repboot.sh
3) 通过source命令(或. )读取脚本内容执行
例如:souce repboot.sh 或. hello.sh
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能