zoukankan      html  css  js  c++  java
  • 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 Worlde[0m"
    
    echo -e "e[1;35m good do ite[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

  • 相关阅读:
    【刷题】UOJ #274 【清华集训2016】温暖会指引我们前行
    【刷题】BZOJ 3669 [Noi2014]魔法森林
    【刷题】BZOJ 2594 [Wc2006]水管局长数据加强版
    (84)Wangdao.com第十八天_JavaScript 文档对象模型 DOM
    (84)Wangdao.com第十八天_JavaScript Promise 对象
    (83)Wangdao.com第十七天_JavaScript 定时器
    (82)Wangdao.com第十六天_JavaScript 异步操作
    (81)Wangdao.com第十六天_JavaScript 严格模式
    (80)Wangdao.com第十六天_JavaScript Object 对象的相关方法
    (79)Wangdao.com第十五天_JavaScript 对象的继承_prototype原型对象_封装_函数式编程
  • 原文地址:https://www.cnblogs.com/aflyun/p/7103076.html
Copyright © 2011-2022 走看看