zoukankan      html  css  js  c++  java
  • shell学习第一弹-初识

    1.shell简介:

    shell是系统的用户界面,提供了用户与内核进行交互的一种接口。可以看做是用户与内核之间的一扇窗户。它接收用户输入的命令并把它送入内核执行。

    常见的有bash,tcsh,csh,zsh。

    2.如何识别当前使用的是哪个shell?

    通过ps命令

    此时ps命令显示系统正在执行的两个命令bash和ps,明显看出当前用的是bash

    3.如何改变登录shell

    当系统管理员创建用户账号时,将确定用户第一次登录时使用的shell。

    方式一:可以通过直接输入要使用的shell,按ENTER键直接生效;如果想返回到上一个shell,直接使用exit键

    方式二:使用chsh命令,彻底改变用户登录的shell

    4.标准输入,输出与错误输出

    linux系统的中有一种特殊的文件类型叫做设备文件,设备文件驻留在linux文件结构中(通常位于/dev/目录下),用来代表外围设备,如终端模拟器,显示屏,打印机

    和硬盘驱动器。

    用who命令显示的内容中,登录名后的设备名即为屏幕的文件名。

    用tty命令可以直接获得对应设备名的全路径

      4.1.重定向标准输出(会覆盖)

      command args > filename

         此时命令执行的结果会写入到文件中

         4.2.重定向标准输出追加

          command args >> filename

      此时命令的执行结果会追加到文件中

         4.3.重定向标准输入

         command args < filename

         此时标准输入不再是键盘,而是文件,将文件内容作为command的参数

      4.4. /dev/null

          设备/dev/null是一个设备接收器,通常被称为位桶,可以将不想看到或者不想保存的数据重定向到/dev/null

          比如:cat log > /dev/null将不会有输出

                 cat /dev/null > log将会清空log文件

    5.管道(pipeline)

    shell命令使用管道将一个命令的输出直接作为另一个命令的输入

    command options args  | command2 option  args 

    如ls | wc -l

    但有些命令使用管道是无效的。比如tr,转换命令,只接受标准输入

    tr abc ABC 当输入abc时,会打印出abc替换为ABC的结果

    而执行cat filename > tr a b 文件内容根本就没发生变化。

    tee 命令,有一个输入,两个输出(标准输出和文件)

    who | tee who.txt | grep 'root'

    who.tx文件记录who命令的执行结果,同时tee的标准输出又作为grep命令的输入

    6.特殊字符

    ?代表单个字符

    当前目录下有test,test2,test5文件

    使用test?会将test2,test5匹配出来

    *代表任意长度个字符(包括0)

    []将一个字符列表括起来,使shell与列表中每个单独字符进行匹配

    7.内置命令

    内置命令是shell脚本中直接可以使用的命令。

    查看shell脚本有哪些内置命令

    info bash,显示有关bash的一些信息,光标移动到红框部分Shell Builtin Commands,按ENTER键进入对应目录

       

    若言琴上有琴声,放在匣中何不鸣; 若言声在指头上,何不于君指上听。
  • 相关阅读:
    Python自定义:粒子群优化算法
    deap实战_2017中国数学建模大赛_B题_第二题
    deap实战_2017中国数学建模大赛_B题_第二题
    webpack学习笔记(一) 核心概念
    webpack学习笔记
    CSS学习笔记(九) 居中方案
    CSS学习笔记(八) 弹性布局
    CSS学习笔记(七) 粘性布局
    CSS学习笔记(六) 定位
    CSS学习笔记
  • 原文地址:https://www.cnblogs.com/xkms/p/5073775.html
Copyright © 2011-2022 走看看