一:Shell基础

1.shell概述
  shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至是编写一些程序;
  shell还是一个功能强大的编程语言,易编写,易调试,灵活性较强。

shell是解释执行的脚本语言,在shell中可以直接调用Linux系统命令;
  用户输入命令,shell讲命令通过ascii码表翻译成二进制给内核,内核调用计算机硬件来处理;同时计算机硬件可以将信息传给内核,然后内核讲信息传递个shell,shell讲   字符显示出来,相当于逆过程;
  Windows有shell吗?其实Windows中不叫shell,图形化界面操作也可以叫做“shell”,只不过不这么叫而已;
2.shell分类
  1.bourne shell基本淘汰,bourne家族主要包括sh,ksh,bash,psh;
  2.c shell,主要包括:csh,tcsh;
     Linux下所有支持的shell都可以在/etc/shells 里面查询;

3.脚本执行方式

1、echo输出命令和脚本执行格式:echo [选项] [输出内容]

选项: -e:支持反斜线控制的字符转换
echo "bols he cangls ni xihuan nayige"
\a - 输出警告音
\b - 退格符
\n - 换行符
\r - 回车键
\t - 制表符,也就是tab键
\v - 垂直制表符
\0nnn - 按照八进制ASCII码输出字符
\xhh - 按照十六进制ASCII表输出字符
echo -e "bols he cangls ni\b xihuan nayige"
echo -e "hell\bo"
echo -e "h\te\tl\nl\to\t"
echo -e "\x68\t\x65\t\x6c\n\x6c\t\x6f"
echo -e "\e[1;31m嫁人就要嫁凤姐\e[0m"
#输出颜色 \e[1;##m - 开启颜色显示; \e[0m - 关闭颜色显示
#30m=黑色,31m=红色,32m=绿色,33m=黄色
#34m=蓝色,35m=洋红,36m=青色,37m=白色

2、脚本执行:
方法1:赋予执行权限,直接运行
   chmod 755 hello.sh
   ./hello.sh(或者绝对路径执行 /root/hello.sh)
方法2:通过Bash调用执行脚本
    bash hello.sh
3、
#!/bin/Bash
  不是注释,它标称下面的内容是linux的标准脚本程序
  如果该脚本使用纯shell语句完成,不加#!/bin/Bash,运行没问题
  但脚本调用了其他语言,就会报错

4.别名和快捷

1、可以通过alias ls=‘ls --color=never‘设置新的别名

alias查看别名,前面为别名,后面为全名

一般是重启,重登录之后,就失效!
如果要长久有效,需要配置文件,配置好

vim比vi功能更强大,可以通过设置 alias vi=‘vim‘的别名来调用,但是重启重登录之后失效

2、将别名写入配置文件:
vi ~/.bashrc #写入配置文件 永久生效
~是指每个用户的目录,每个用户的目录不一样,配置文件不一样,生成的效果也不一样
写完之后,source .bashrc

unalias 别名 #删除别名

3、命令生效的顺序

第一顺位:执行命令用绝对路径或者相对路径执行的命令
第二顺位:执行别名命令
第三顺位:执行Bash内部命令
第四顺位:按照$PATH环境变量定义的目录查找的顺序第一的命令

4、快捷键
Ctrl c 强制终止 
Ctrl l 清屏 
Ctrl u 删除到行首 
Ctrl a 光标移动到行首 
Ctrl e 移动到行尾 
Ctrl z 把命令放到后台 (没有终止,仅仅是放入后台执行)
Ctrl r 在历史记录中搜索

5.历史命令

history 历史命令

  history [选项] [历史命令保存文件]

-c 清空历史命令
-w 把缓存中的历史命令写入历史命令保存文件 ~/.bash_history
#默认保存1000条
HISTSIZE=1000
#vi /etc/profile 环境变量配置文件修改HISTSIZE

基本调用
上下箭头来重复调用
!n 来执行第n条历史命令
!! 重复执行上一条命令
!字符串 重复执行后一个该串开头的命令

Tab键
进行命令(环境变量)和目录补全(操作路径)

6.输出重定向

命令 &> /dev/null 将命令执行信息放到黑洞了或可以理解为垃圾回收站

7.管道符

";"连接命令 顺序执行
"&&"连接命令 逻辑与执行 第一条执行 第二条执行 第一条错误 第二条不执行
"||"连接命令 逻辑或执行 第一条执行 第二条不执行 第一条错误 第二条执行
脚本中的应用:命令 && echo yes || echo no 命令正确yes 错误no
注意&& echo yes || echo no 顺序不能颠倒,不然命令出错的时候会同时输出no yes

"|" 管道符 命令1|命令2 命令1正确的结果 作为命令2的操作对象
例如 ls -l > /etc/ | more “用于分页显示命令执行结果”
netstat -an | grep ESTABLISHED | wc -l "用于查看当前连接本机的客户端 并 统计客户端数量"

8.通配符

       

时间: 2024-10-21 11:57:27

一:Shell基础的相关文章

【Linux系列】【基础版】第四章 Shell基础之正则表达式

4. Shell基础之正则表达式     4.1 正则就是一串有规律的字符串         4.1 grep              4.1.1 格式: grep [-cinrvABC] 'word' filename             4.1.2 -c //count,表示行数             4.1.3 -i //不区分大小写             4.1.4 -n  //显示行号             4.1.5 -r  //遍历所有子目录             4

Linux之shell基础

Shell基础 一.shell概述 1) shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动.挂起.停止甚至是编写一些程序. 我们输入的abc...24个字符是通过shell对照ASCII码翻译成二进制来让计算机识别的.我们从操作界面上输入命令,这个命令回车之后把此命令对照ASCII码翻译成指定的二进制,通过shell翻译成计算机内核能识别的二进制,然后内核调用硬件来处理,处理完之后再通过shell反馈给用户. 2)

【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的值 -

Linux网络配置及SSH和Shell基础

Linux网络配置及SSH和Shell基础 一.Linux网络配置     ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数.用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在.要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了. 二.hosts文件的作用及修改主机名      Hosts : The static table lookup for host name(主机名查询静态表)       Linux 的/etc/hosts是

shell基础(上)

Shell基础(上) 1.1什么是shell Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的 输入解释给操作系统.井处理各种各样的操作系统的输出结果,输出屏幕返回给用户 这种对话方式可以是 交互的方式:从键盘输入命令,通过/bin/bash的解折,可以立即得到shell的回应 非交互的方式:脚本 Shell执行命令分为两种方式 内置命令:如讲过的cd ,pwd, exit和echo等命令.当用户登录系统后,shell以及内置命令就被系统载入到内存,并且一直运行 一

Shell基础学习小结

0 shell基础概念 Shell是解释性语言,使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象:缺点是它们的效率通常不如编译型语言.Shell命令有本身的限制和效率问题,以下情况一般不推荐Shell: 资源密集型的任务,尤其在需要考虑效率时(比如,排序,hash等等). 需要处理大任务的数学操作,尤其是浮点运算,精确运算,或者复杂的算术运算(这种情况一般使用C++或FORTRAN 来处理). 有跨平台(操作系统)移植需求(一般使用C 或Java)

Linux学习 -- Shell基础 -- 概述

Shell是什么? 命令解释器 编程语言 Linux支持的Shell类型 cat /etc/shells 主要学习 bash 脚本执行方式 echo echo -e 单引号 -- 原始字符串  双引号 -- 支持转义字符串 \e[1;31m xxx  开启颜色 \e[0m    关闭颜色 首行:#!/bin/bash #写好注释 执行方式: 方式1 sh xxx.sh 方式2 chmod 755 xxx.sh  ./xxx.sh 或 绝对路径 Linux学习 -- Shell基础 -- 概述

linux常用命令整理(五):shell基础

大家好,我是会唱歌的程序猿------ 最近在学习linux,闲暇之余就把这些基本的命令进行了整理,希望大家能用的上,整理的的目的是在忘了的时候翻出来看看^?_?^,前后一共分为五个部分: linux基本命令整理(一):常用命令 地址:http://www.cnblogs.com/devinCat/p/7247824.html linux基本命令整理(二):用户.用户组.文件系统和网络 地址:http://www.cnblogs.com/devinCat/p/7247847.html linux

linux常用命令整理(四):软件包管理和shell基础

大家好,我是会唱歌的程序猿------ 最近在学习linux,闲暇之余就把这些基本的命令进行了整理,希望大家能用的上,整理的的目的是在忘了的时候翻出来看看^?_?^,前后一共分为五个部分: linux基本命令整理(一):常用命令 地址:http://www.cnblogs.com/devinCat/p/7247824.html linux基本命令整理(二):用户.用户组.文件系统和网络 地址:http://www.cnblogs.com/devinCat/p/7247847.html linux

Linux学习 -- Shell基础 -- Bash基本功能

历史命令 history -c   clear -w   写入 ~/.bash_history 默认保存1000条, 可在/etc/profile中修改 调用 Tab补全 命令.目录.文件 命令别名 alias 别名='原命令' 命令执行顺序: 绝对路径或相对路径 > 别名 > Bash的内部命令 > $PATH环境变量中找到的第一个命令(外部命令) 配置文件:/root/.bashrc 删除:unalias 别名 常用快捷键 输入输出重定向 标准输入输出 输出重定向 注意:2和>