• Linux认识和学习bash


    1、什么是Shell?

    我们在使用计算机的过程中,是没有办法直接操作内核的,这样会破坏计算机的正常工作,因此在Linux当中,我们需要一个壳程序来操作计算机。

     1.shell有那些?

    有:bash        :系统默认的shell。

            zsh        :一种很强大的shell。

    查看系统中可以使用的shell。

            ............。

    2.查看一个命令是否是bash  shell 内置的命令:type。

    查看ls是不是shell内置的命令如下:type ls

    可以看到,ls 是被重命名成了 ls --color=auto 了。

    3.如果命令太长了可以使用‘\+enter’        进行下一行的输入。

    2.Shell的变量功能。

    1.什么是变量?

    比如:y=ax+b 其中的,a,b,x,y,都是变量。

    2.如何定义一个变量。

    定义语法:variable=num/string。

    定义一个数值变量。

    比如定义一个变量a=10.

    定义一个字符串变量        str="start"

    3.如何输出变量的值。

    使用命令:echo       $variablename

    就可以输出变量的的值了。

    输出字符串变量的值。

     4.释放变量(unset)

    命令:unset variablename        释放variable。

     取消字符串变量。

    5.字符串中的转义字符‘\’

    \n        表示        enter键。

    \"        表示        ”

    \'        表示        ’

     还有很多的转义字符。

    6.查看环境变量

     使用命令:env        来查看系统的环境变量

     变量说明如下:

    HOME        用户的目录。

    SHELL        使用的SHELL是什么。

    HISTSIZE        记录历史命令的条数。

    MAIL        当我们使用命令 mail 在收信时,系统会去读取的邮件文件(mailbox)。

    PATH        可执行文件的查找路径,不同路径直接使用" : "来分隔开。

    LANG        系统使用的语言。

    RANDOM        随机数变量。

    使用命令:set        来查看所有的系统变量(环境变量和用户定义的变量)。

     使用命令:$ 查看shell 的 PID        

    可以看到shell的PID 是:1601         。

    使用命令:?查看上一个命令的返回值。

     如果命令执行成功输出 0         ,失败输出错误码。

    7.使用命令:export  variablename        设置变量为环境变量。

    设置一个变量。

    查看环境变量我们发现没有START这个变量。

     使用命令:export START        成功设置环境变量。

     这样就把START        变量设置成了环境变量了。

    为什么要设置成环境变量,如果想要子程序也能够使用父程序设置的变量,就必须把变量设置成环境变量。(局部变量设置成环境变量)

    8.显示系统支持的语系变量。

    使用命令:locale        就可以显示语系变量了。

    9.变量键盘读取。

    使用命令:read variblename        读取变量到variablename中。

    10.声明变量的类型。

    命令:declare        和        typeset        variblename        来设置variablename的类型的。

    比如声明成整形 declare  -i        variblename

     11.声明数组类型。

    命令:declare -a        variablename         设置variablename为数组类型。

    这里设置array变量为数组。

     3.命令别名设置和历史查看。

    1、给一个命令设置一个别名。

    比如把ls命令设置成:ls -al --color=auto.

    输入命令:alias ls='ls -al --color=auto'

    取消设置别名命令:unalias        ls        取消设置ls的别名。

    2.显示历史记录

    使用命令:history         显示最近的命令。

    4.Bash shell 操作环境

    1.命令查找顺序。

     2.登录时的欢迎界面设置。

    编辑文件 :/etc/issue中的文件,把你想在欢迎界面输出的字符都写在这里。

    重启后发现。

    /etc/issue中代码的含义。

    \d        本地时间日期

    \l        显示这是第几个终端

    \m        显示硬件等级

    \n        显示主机的网络名称

    \O        显示 domain name

    \r        显示操作系统版本

    \t        本地端的时间

    \S        操作系统的名称        

    \v        操作系统的版本

    3.bash 的配置文件。

    如果想要保存 alias所设置的别名,或者一些环境变量,就需要配置/etc/bashrc文件或者/etc/profile文件,来永久保存,否则在bash字符终端设置的重启后就不起效了。

    login shell 和 non-login shell.

    什么是:login shell ?

    在输入密码前的界面就是。

    什么是:non-login shell ?

    不是字符型登录界面        比如:(x windows)。

    login shell 的执行过程如下:

     

    Shell脚本文件:/etc/profile

    在字符界面登录成功时候会执行这个脚本文件,只能由系统管理员来修改(由login-shell驱动)。

    Shell脚本文件:~/.bash_profile

    用户个人的profile脚本文件(由/etc/profile 驱动)。

    Shell脚本文件目录:/etc/profile.d/*.sh

    /etc/profile 会去执行这个文件夹中的所有shell文件。

    Shell脚本文件:/etc/locale.conf

    这个文件由/etc/profile.d/lang.sh调用执行,主要决定bash默认使用的语系。

    Shell脚本文件目录:/usr/share/bash-completion/completion/

    由/etc/profile.d/bash_completion.sh这个文件加载。

    non-login shell 的执行过程如下:

     

    Shell脚本文件:/etc/bashrc

    只有non-login-shell才会去调用的脚本,只能给管理员修改。

    Shell脚本文件:/etc/bashrc.d/*.sh

    由/etc/bashrc调用这里面的所有的shell脚本。

    Shell脚本文件:~/.bashrc

    由/etc/bashrc来调用执行,用户的bashrc脚本。

    4.终端环境设置。

    使用命令:stty -a         查看快捷键设置。

     

    常用快捷键:

    CTRL + C        :        终止目前命令

    CTRL + D        :        输入结束符号 EOF

    CTRL + M        :        回车

    CTRL + S        :        暂停屏幕

    CTRL + Q        :         恢复屏幕

    CTRL + U        :        删除整行命令

    CTRL + Z        :        暂停目前命令。

    5.数据流定向

    命令输出的结果叫做数据流,这个数据流可以给传给一个文件。

    标准输入:(device)        <(覆盖模式)         <<        (追加模式)

    标准输出:(覆盖模式)        >         (覆盖模式)        >>                (device)

     如:

     

    6.命令执行判断根据。

    多个不同功能的命令使用  ;        来隔开。

    比如一行中执行多条命令。

    命令与 :&&

    语法: command1 && command2 && command3

    如果command1执行成功,就继续执行 command2 如果 command2 执行成功,就执行command3,如果command3 执行成功,整行命令执行成功。结果为1 ,否则为 0。

     命令或:||

    语法: command1 || command2 || command3

    如果command1执行失败,就会继续执行 command2 ,如果 command2 执行失败就会执行command3 ,如果command3 失败,就彻底失败,返回的结果为0 ,否则为1 。

     7.管道命令。

    将一个命令的结果传入下一个命令的叫做管道。

    比如:command1 | command2 | command3.

    command2接收command1的结果,command3接收command2的结果。

    管道符号: |

    比如:find / | more

     

    把find / 的内容作为more命令的输入。

     

  • 相关阅读:
    LQ0041 特别数的和【进制】
    zookeeper本地部署和集群搭建
    jQuery使用的简单总结
    UIScrollView(UICollectionView)禁止横向和竖向同时滑动
    【算法leetcode】2315. 统计星号(rust和go重拳出击)
    java计算机毕业设计vue教学管理系统源码+数据库+系统+lw文档
    Unity 3D Input System的使用
    C++基于多设计模式下的同步&异步日志系统day3
    Mysql_Note3
    Python 的 Selenium 库进行元素定位时,XPath的详细用法
  • 原文地址:https://blog.csdn.net/weixin_53064820/article/details/127451953