zoukankan      html  css  js  c++  java
  • Linux从入门到进阶全集——【第十四集:Shell基础命令】

    1,Shell就是命令行执行器

    2,作用:将外层引用程序的例如ls ll等命令进行解释成01表示的二进制代码给内核,从而让硬件执行;硬件的执行结果返回给shell,shell解释成我们能看得懂的代码返回给我们。

    3,查看linux支持的shell:vim /etc/shells

    4,echo命令

      作用:打印字符串:echo "abc"     回车后输出abc。

          -e:输出转义字符,例如:echo -e "abcd"     ==>输出abd   ==》-e的作用就是将解释成退格,向左删除一个字符,所以输出abd。

    转义字符:

          

    5,echo支持颜色高亮输出:echo -e "e[1;31m abcd e[0m"   ===》 输出的abcd是红色,在linux中31m表示红色。其他颜色执行尝试或者百度。

    6,第一个shell:
      使用vim命令:vim shell_01.sh新建文件==》向里面写入:

          

    7,保存后退出,这个时候是不能执行的:

      

    没有赋权,这个.sh文件不可执行:使用chmod命令,chmod 755 shell_02.sh进行赋权。

    8,不能直接使用shell_01.sh来执行,而必须使用./shell_01.sh来执行或者全路径来执行。

    9,也可以使用bash命令来执行:bash shell_02.sh

    10,history命令:

      -c:清除历史命令

      -w:把缓存中的历史命令写入历史命令保存文件:~/.bash_history

      进入/etc/profile文件,查找HISTSIZE=1000可以修改历史命令保存条数。

      

      使用!n执行编号的某条命令:

      

      !!:重复执行上一条命令

      !xxx:执行上一条(最近一条)xxx开头的命令

    11,命令别名:临时生效方式=》alias xx  xxx    或者   alias xx  ‘xxx   -x’将命令和参数使用单引号包起来。

      例如:alias vi  vim            alias lsa ‘ls -a’    ==>输入lsa的效果和ls -a一样。

      使用alias命令查看所有别名:

        

      永久生效方式=》vim /root/.bashrc修改这个配置文件:

      

      ===》跟着改写就行。

      注意:不要使用别名替代已有命令,否则已有命令失效。

       删除别名:unalias xx   例如:unalias vi

    12,vi和vim的区别:

      输入vi /etc/passwd和vim /etc/passwd可以看出基本的区别。

    13,命令执行顺序(不做学习-有必要百度):一定要使用路径来执行.sh文件,否则配置环境变量。

      只需注意:echo $PATH查看环境变量,使用whereis 查看命令路径。

    14,常用快捷键

      

    15,输入输出重定向

      标准输入输出:键盘输入就是标准输入,显示屏输出就是标准输出。

      输入输出重定向:不从键盘输入,不输出到显示屏就是输入输出重定向。

      命令 > 文件:覆盖

      命令 >> 文件:追加

      举例:

      

      如果执行的是错误命令就没办法将错误信息输出到abc文件中,举例:

      

      解决办法:

      命令  2>  文件(覆盖),命令  2>>  文件(追加):注意--》2和>或者>>不能有空格。

      注意:>是覆盖输出重定向,会覆盖之前的内容,尽量使用>>追加重定向符。

      上述的保存输出的方式不实用,因为要做判断是否正确或者错误输出,一般采用下述方式:

      命令  &>  文件或者命令  &>>  文件

      把正确的输出保存到文件1,把错误的输出保存到文件2:命令  >>  文件1 2>> 文件2     举例:

        

      关于输入 重定向,使用wc来举例:

      wc:作用:统计字符,如:

       

      

      wc的几个参数:

        -c:统计字节数

        -w:统计单词数

        -l:统计行数

    16,多命令顺序执行与管道符

      多命令顺序各自执行:命令1;命令2;命令3

      

      多命令逻辑与执行:命令1&&命令2&&命令3   :命令1执行正确,执行命令2。。。

      多命令逻辑或执行:命令1||命令2||命令3    :命令1执行错误,执行命令2。。。

      

     逻辑与和逻辑或共同使用案例:命令  &&  echo yes || echo no

      管道符(不重点讲,很简单):|   (单竖线):与逻辑与不同。

      基本使用:ls -a | more 或者ls -a | grep xxxx    :grep命令有些重要的参数,详情百度,比如--color    -i:忽略大小写   -n:输出行号

    17,通配符:知道有哪些功能,在使用时去百度

      

      bash中其他特殊符号:明白什么基本功能就行

      

      举个简单例子:

      

      

    18,bash变量

      变量命名不能以数字开头。

      linux中默认类型都是 字符串型,如果要进行数值运算,则必须指定变量为类型为数值型。

      如果赋值比如:name=li renhe,值中间有空格,需要使用单引号或者双引号。建议:凡是赋值,都用单引号或者双引号括起来。

      系统变量赋值给自定义变量:使用反引号或者$()命令。建议:使用$(),防止把反引号看成单引号。如:d=$(date)。

      环境变量建议大写,便于区分。

      set:查看系统中所有变量的定义,包括系统中定义好的变量。

      upset:删除变量。例如:

        

      环境变量:变量名称固定,可修改它的值。同时可以用户自定义环境变量。

        设置环境变量:export 变量名=变量值

                env:查询变量

                unset 变量名:删除变量。

        环境变量PATH:指定命令路径。设置(变量叠加)该变量值:PATH="$PATH":/root/xxxxxxxx。

        环境PS1:定义系统提示符的变量。一般用不着,除非是linux系统管理员--》详情百度。

      位置参数变量:一般用不着,除非是linux系统管理员--》详情百度。

      预定义变量:一般用不着,除非是linux系统管理员--》详情百度。

      数值运算与运算符(几乎所有运算符):

        

        以上运算都是字符串类型的拼接,解决办法:

        

        

        使用$(expr $aa + $bb)方式:(expr函数)

        

        推荐:使用双空格方式:不在乎有无空格

        

        在运算符的使用中,如果不知道它们的优先级,统一使用括号(),因为括号的优先级最高。

      

      

  • 相关阅读:
    《Python编程入门(第3版)》PDF 百度云盘免费下载||python零基础入门pdf教程
    Python编程:从入门到实践PDF高清完整版百度云盘免费下载||零基础入门学pythonPDF教程
    python3 爬虫学习python爬虫库-requests使用方法详细介绍
    Python基础教程(第3版) PDF高清完整版免费下载|百度云盘
    Python编程快速上手 让繁琐工作自动化PDF高清完整版免费下载|百度云盘
    我的python世界玩《Minecraft我的世界》学python编程(程晨)PDF高清完整版免费下载|百度云盘
    像计算机科学家一样思考Python(第2版)PDF高清完整版免费下载|百度云盘|python免费基础教程
    趣学Python编程(for kids)PDF高清完整版免费下载|百度云盘|青少年孩子学python零基础入门
    教孩子学编程-Python语言版PDF高清完整版免费下载|百度云盘|青少年孩子学Python基础教程
    从Python开始学编程PDF高清完整版免费下载|百度云盘|python系列课程
  • 原文地址:https://www.cnblogs.com/lirenhe/p/10657452.html
Copyright © 2011-2022 走看看