Linux学习——Shell基础
1 shell概述
Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至编写一些程序。
Shell 还是一个功能强大的编程,易编写、易调试、灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。
用户通过shell向Linux内核发指令,Linux内核通过shell将返回内容显示给用户。
B Shell 和 C Shell , Linux中标准的shell 为bash。
echo $SHELL :当前系统shell
[root@localhost shell]# echo $SHELL
/bin/bash
2 脚本执行方式
(1)echo 输出命令
echo [选项] [输出内容]
注:输出的内容中间有空格,需要加""双引号,使用 ! 会报错。
(2)第一个脚本
#!/bin/bash 这句中的#不是注释,必须要写。
#!/bin/bash
#This is my first shell
echo -e "\e[1;30mHello World\e[0m"
echo -e "\e[1;35m good do it\e[0m"
注: \e[1; 开启颜色 , \e[0m 结束开启颜色
(3)脚本写完:脚本执行
1.赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh
2.通过Bash 调用执行脚本
bash hello.sh
3 别名与快捷键
(1)别名:命令别名 == 人的小名
查看别名: alians
设定别名: alias 别名='原命令' #重启失效
vi ~/.bashrc # ~:家目录
source .bashrc
删除别名:unalias 别名 #临时生效,永久生效需删除配置文件内容
命令生效顺序:
1.绝对路径或相对路径
2.别名
注:别名不要和系统命令重名!
(2)快捷键
Ctrl + c # 强制终止当前命令
Ctrl + l # 清屏
Ctrl + a # 光标移动到命令行首
Ctrl + e # 光标移动到命令行尾
Ctrl + u # 从光标所在位置删除到行首
4 历史命令
history #查看执行过的历史命令
/etc/profile -- historysize #修改历史记录的数量
5 输出重定向
输出重定向:从原来的输出到屏幕现在输出到文件。
> 输出,并覆盖
>> 输出,追加
例子;
ls > test.log
ll > test.log #覆盖 test.log
ifconfig >> test.log #追加内容到test.log
6 管道符
(1)多命令顺序执行
> ; 顺序 # 命令1 ; 命令2 ; 命名3
场景例子:
a: date 执行命令 date # 查看执行时间
b: 多个命令执行,中间某个命令报错,还会继续执行
> && 逻辑与 #命令1 && 命令2
命令1错误,命令2不执行
> || 逻辑或 #命令1 || 命令2
-- 命令1正确执行。命令2不执行
ls && echo yes || echo no
命令1正确 :yes
命令1错误 : no
(2)管道符
命令格式: 命令1 | 命令2
#命令1的正确输出作为命令2的操作对象
#ls -l /etc | more
# netstat -an | grep 8080
7 通配符
? 匹配一个任意字符
* 匹配0个或任意多个任意字符
[] 匹配中括号中任意一个字符
[-] 配置中括号中任意一个字符,-代表一个范围
[^] 逻辑非,表示匹配不是中括号内的一个字符
'' 单引号,单引号中所有的特殊字符没有特殊含义
"" 双引号,特殊字符如$ 有特殊含义
`` 反引号, 括起来的是系统命令, 和$()使用一样
$()
# shell 中注释
$ 用于调用变量的值
\ 转义符 ,使用\$ 使$失去含义
欢迎访问我的csdn博客,我们一同成长!
"不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!"
博客首页:http://blog.csdn.net/u010648555
Linux学习——Shell基础的更多相关文章
- Linux学习 -- Shell基础 -- 概述
Shell是什么? 命令解释器 编程语言 Linux支持的Shell类型 cat /etc/shells 主要学习 bash 脚本执行方式 echo echo -e 单引号 -- 原始字符串 双引号 ...
- Linux学习 -- Shell基础 -- Bash变量
变量 默认是字符串型,数值型需要显示指定 等号两侧都不能有空格 单引号:原始字符串 双引号:保留转义 命令结果作为值:反引号 或 $() 环境变量一般用大写 自定义变量 变量定义 name=& ...
- Linux学习 -- Shell基础 -- Bash基本功能
历史命令 history -c clear -w 写入 ~/.bash_history 默认保存1000条, 可在/etc/profile中修改 调用 Tab补全 命令.目录.文件 命令别名 ...
- Linux学习-计算机基础
Linux 学习-计算机基础 一.描述计算机的组成及其功能. 计算机系统是由硬件(Hardware)和软件(Software )两部分组成. 硬件: 从硬件基本结构上来讲,计算机是由运算器.控制器.存 ...
- bash shell学习-shell基础 (笔记)
When you hoist the sails to cross the sea, you willride the wind and cleave the waves. "长风破浪会有时 ...
- Linux之shell基础
Shell基础 一.shell概述 1) shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动.挂起.停止甚至是编写一些程序 ...
- Linux学习——shell编程之变量
shell编程之变量:Linux shell编程基础中的变量. 包括Bash变量的分类和各变量的详细使用,如:用户自定义变量.环境变量.语系变量.位置参数变量和预定义变量. 1:什么是Bash变量? ...
- linux base shell 基础语法
转载 本文主要是基础的基础,希望对大家有所帮助 一.Shell基本类型的变量: (1)Shell定义的环境变量: Shell在开始执行时就已经定义了一些和系统的工作环境有关的变量,用户还可以重新定义这 ...
- Linux中shell基础、重定向、管道符、环境变量
1.什么是shell Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器).它接收用户输入的命令并把它送入内核去执行.起着协调用户与系统的一致性和在用户与系统之间进行交互的 ...
随机推荐
- Nexus私服搭建使用及发布jar包到私服上供团队其他成员使用
1.下载maven解压到指定目录,并配置环境变量 M2_HOME为maven解压目录 2.path中增加 %M2_HOME%\bin, 并确认 mvn -v 正确 3.下载nexus http://w ...
- Sass初学者超强十分钟入门
ruby安装 因为sass依赖于ruby环境,所以装sass之前先确认装了ruby.先导官网下载个ruby 在安装的时候,请勾选Add Ruby executables to your PATH这个选 ...
- TCP协议三次握手与四次挥手通俗解析
TCP/IP协议三次握手与四次握手流程解析 一.TCP报文格式 TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图: 图1 TCP报文格式 上图中有几个字 ...
- HTML脚本配置Android自动化测试
说明 在项目配置完基于robotium框架下的自动化测试用例后发现虽然用代码配置测试用例虽然较为灵活,但是如果编写较为全面的测试用例则必然会消耗大量开人员的精力,并且对于用例的后期维护也是很大一部 ...
- java中的jdk切换(无需卸载原有jdk)
该转自 : http://blog.csdn.net/u010011371/article/details/50749954 很好的一片文章,适合我这种小白,方便以后使用. 之前一直使用的是JDK1 ...
- tomcat 和 jboss access log 日志输出详解
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt179 工作中nginx+jboss/tomcat反向代理集成,想打开后端jb ...
- HashMap 底层算法分析
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp72 Hash算法HashMap使用Hash算法,所以在解剖HashMap ...
- 201521123107 《Java程序设计》第1周学习总结
第1周学习总结 1.本周学习总结 本周我们正式开始了对一门新的编程语言java的学习.本周的主要内容是初步了解了java的发展过程,java具有简约且简单 .平台无关性等优点.java的3个关键的工具 ...
- Java学习4——java常用命令
javac file.java 编译Java文件,生成file.class(字节码) java file 执行Java程序,不加后缀.class java -version 查看Java版本 ...
- 201521044091 《java程序设计》第八周学习总结
本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容.1.2 选做:收集你认为有用的代码片段 书面作业 本次作业题集集合 List中指定元素的删除(题目4-1)1.1 实验 ...