美文网首页
01 - shell基础知识

01 - shell基础知识

作者: 舍是境界 | 来源:发表于2022-03-01 07:15 被阅读0次

shell是什么?

  • shell是一个命令行解释器,它为用户提供了一个面向linux内核发送请求以便运行程序的界面系统级程序,用户可以使用shell来启动、挂起、停止甚至是编写一些程序。
  • shell还是一个相当强大的编程语言,易编写、易调试,灵活性较强。shell是解释执行的脚本语言,在shell中能直接调用linux系统命令。
shell在linux系统中的地位

shell是用户与linux内核之间的解释器

  • 常见的shell解释器
    • /bin/bash
    • /bin/sh
    • /bin/csh
    • /bin/tcsh
  • 解释器负责将用户的指令翻译为内核可以识别的指令
  • 通过usermod、chsh可以更改登录shell

查看当前系统支持的shell

~ cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

修改当前用户解释器为zsh

chsh -s `which zsh`

指定test用户的登录shell为tcsh

usermod -s /bin/tcsh test

bash基本特性

  • 快捷键、Tab键补齐
  • 命令历史(history)
  • 命令别名(aliase)ll: ls -l
  • 标准输入与输出的重定向(>、>>、2>、2>>、&>)
 day01 ls a.txt xxyzz.txt
ls: a.txt: No such file or directory
ls: xxyzz.txt: No such file or directory
➜  day01 ls a.txt xxyzz.txt 2> b.txt
➜  day01 ls a.txt xxyzz.txt b.txt 2> b.txt
b.txt
➜  day01 ls a.txt xxyzz.txt b.txt &> b.txt
  • 管道(|)

shell执行命令的方式

  • 交互式(命令式)
    • 人工干预
    • 逐条解释执行、效率低
  • 非交互式(脚本)
    • 需要提前设计
    • 批量执行、效率高
#非交互式修改密码
echo 'password' | passwd --stdin username

小结

  • 区分shell和bash

相关文章

  • Linux Shell:基础知识和Shell变量

    摘要:Linux,Shell 整理Shell内容要点: Shell基础知识 Shell变量的类型 Shell变量赋...

  • 01 - shell基础知识

    shell是什么? shell是一个命令行解释器,它为用户提供了一个面向linux内核发送请求以便运行程序的界面系...

  • Linux :常用命令的基础知识

    // 命令的基础知识 Shell 用户与内核交互的应用程序. shell <--- 输入命令/显示命令执行结果 ⬇...

  • shell

    第 2 章 SHELL 基础知识2.1 shell脚本我们在上面简单介绍了一下什么是shell脚本,现在我们来进一...

  • 兄弟会精英班 - 学习笔记(三)

    Shell 基础知识 命令解释器,处于内核与用户之间,shell把用户指令传递给内核,然后把内核执行结果回显给用户...

  • Shell基础知识

    简介 Shell是Linux内核系统下的脚本工具,由于是开源系统,Shell工具被开发出不同的版本。 /etc/s...

  • shell基础知识

    shell脚本 shell脚本执行 chmod +x xx.sh ;./xx.sh注意点:最好使用第一种 注释...

  • shell基础知识

    1:在shell中,如果变量被声明成整数,把一个结果不是整数的表达式赋值给它时就会变成0. 2:bash并不内置对...

  • shell基础知识

    Shell 1. Shell脚本基本概述 1.1 什么是shell Shell是一个命令解释器,它在操作系统的最外...

  • 【shell】基础知识

    变量 变量名和等号之间不能有空格 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头 不能使用bash里的...

网友评论

      本文标题:01 - shell基础知识

      本文链接:https://www.haomeiwen.com/subject/xwjhrrtx.html