Linux学习笔记Day3之Linux命令行和Shell脚本

举报
孙小北 发表于 2021/05/13 19:27:36 2021/05/13
【摘要】 DAY03. 介绍linux命令行界面和shell脚本 学习笔记微信昵称:孙小北 华为云ID:sunxiaobei shell简介shell是Linux的一个特殊程序,是内核与用户的接口,它是命令语言、命令解释程序及程序设计语言的统称。Shell是一个命令语言解释器,它拥有自己内建的Shell命令集,Shell也能被系统中其他应用程序所调用。当用户成功登录Linux系统后,即开始了与Sh...

DAY03. 介绍linux命令行界面和shell脚本 学习笔记

shell简介

  • shell是Linux的一个特殊程序,是内核与用户的接口,它是命令语言、命令解释程序及程序设计语言的统称。Shell是一个命令语言解释器,它拥有自己内建的Shell命令集,Shell也能被系统中其他应用程序所调用。
  • 当用户成功登录Linux系统后,即开始了与Shell的对话交互过程,此时,不论何时键入一个命令,都被Shell解释执行。有一些命令,比如改变工作目录命令cd,是包含在Shell内部的,只要处在Shell命令行下就可以执行。还有一些命令,例如复制命令cp和移动命令mv,是独立的应用程序,必须存在于文件系统中某个目录下才能执行。对用户而言,不必关心一个命令是建立在Sheli内部还是一个单独的程序。

Linux命令的通用命令格式

Linux命令的通用命令格式

  • 命令字 [选项] [参数]
  • 选项:用于调节命令的具体功能
    • 以“-”引导短格式选项(单个字符),例如“-l"
    • 以“–”引导长格式选项(多个字符),例如“–color"
    • 多个短格式选项可以写在一起,只用一个“-”引导,例如“-al"
  • 参数:命令操作的对象,如文件、目录名等
ls -l /name

命令行编辑的几个辅助操作

  • Tab键:自动补齐
  • 反斜杠 “\”:强制换行
  • 快捷键 Ctrl+U:清空至行首
  • 快捷键 Ctrl+K:清空至行尾
  • 快捷键 Ctrl+L:清屏
  • 快捷键 Ctrl+C:取消本次命令编辑
  • Home:跳到行首
  • End:跳到行尾

获得命令帮助

  • 内部命令help
    • 查看Bash内部命令的帮助信息
  • 命令的“-help”选项
    • 适用于大多数外部命令
  • 使用man命令阅读手册页
    • man -k [关键字]
    • 使用上、下方向键滚动文本
    • 使用Page Up和Page Down键翻页
    • 按Q或q键退出阅读环境、按"/”键后查找内容

文件和目录管理

  • 目录操作命令

    • pwd、cd、ls、mkdir
    • pwd命令,用途:查看工作目录
    • cd命令,用途:切换工作目录,格式:cd [目录位置] 例如:cd khg
    • mkdir命令,用途:创建新的目录,格式:mkdir [-p] [/路径/]目录名
    • ls命令,用途:列表(List)显示目录内容,格式:ls[选项].…[目录或文件名]
    • 常用命令选项
      -1:以长格式显示
      -a:显示所有子目录和文件的信息,包括隐藏文件
      -d:显示目录本身的属性
      -h:大小以以k为单位显示
      –color:以颜**分不同类型文件
  • 文件操作命令

    • touch、cp、rm、mv、find
    • touch命令
      用途:新建空文件,或更新文件时间标记
      格式:touch 文件名
    • cp命令
      用途:复制(Copy)文件或目录
      格式:cp [选项]… 源文件或目录… 目标文件或目录
      常用命令选项
      -r:递归复制整个目录树
    • rm命令
      用途:删除(Remove)文件或目录
      格式:rm [选项]… 文件或目录
      常用命令选项
      -r:递归删除整个目录树
      -f:强制删除,不进行提示
    • rmdir命令
      用途:删除(directory)目录
    • mv命令
      用途:移动(Move)文件或目录,若如果目标位置与源位置相同,则相当于改名
      格式:mv [选项]… 源文件或目录… 目标文件或目录
    • find命令
      用途:用于查找文件或目录
      格式:find [查找范围] [查找条件]
      常用查找条件
      -name:按文件名称查找
      -user:按文件属主查找
      -size:按大小查找
      -type:按文件类型查找
      • f查找文件
      • d查找目录
      • l链接
      • p管道
  • 文件内容操作命令

    • cat、less、grep

    • cat命令
      用途:显示出文件的全部内容
      格式:cat目标文件

    • less命令
      用途:全屏方式分页显示文件内容
      交互操作方法:

      • 按Enter键向下逐行滚动
      • 按空格键向下翻一屏、按b键向上翻一屏
      • 按q键退出
    • grep命令
      用途:在文件中查找并显示包含指定字符串的行
      格式:grep [选项] 查找条件 目标文件
      常用命令选项

      • -i:查找时忽略大小写
      • -V:反转查找,输出与查找条件不相符的行
    • 查找条件设置

      • 要查找的字符串以双引号括起来
      • “^……”表示……开头,“……$”表示以……结尾
      • “^$”表示空行
  • 归档及压缩命令

    • tar命令
      用途:制作归档文件、释放归档文件
      格式:
      • tar [选项] 归档文件名 源文件或目录
      • tar [选项] 归档文件名 [-C 目标目录]
tar -czvf [存放路径]归档文件名.tar.gz 源文件或目录,c是打包,z是zip格式,v显示详细信息,f文件名
tar -cjvf [存放路径]归档文件名.tar.bz2 源文件或目录
tar -cJvf [存放路径]归档文件名.tar.xz 源文件或目录
tar -xzvf [存放路径]归档文件名.tar.gz [-C 解压目录]
tar -xjvf [存放路径]归档文件名.tar.bz2 [-C 解压目录]
tar -xJvf [存放路径]归档文件名.tar.xz [-C 解压目录]

Bash命令

Bash的命令历史

命令历史

  • 保存用户曾经执行过的命令操作

查看历史命令

  • 使用1、↓按键逐条翻看,允许编辑并重复执行
  • 执行: history

清除历史命令

  • 执行: history -C

调用历史命令

  • !n:执行历史记录中的第n条命令

Bash的命令别名

命令别名

  • 为使用频率较高的复杂命令行设置简短的调用名称

查看命令别名

  • 格式: alias [别名]

设置命令别名

  • 执行: alias 别名=‘实际执行的命令’

取消已设置的命令别名

  • 格式:unalias别名
  • unalias -a

使别名永久生效

  • 将设置命令保存到~/.bashrc文件中

重定向

image.png

输出重定向实例

将命令输出重定向到文件, 将标准输出重定向到文件

  • $ ls /etc/ > etcdir

将标准输出重定向追加到文件

  • $ 1s /etc/sysconfig/ >> etcdir

将错误输出重定向到文件

  • $ nocmd 2> errfile

将标准输出和错误输出重定向到文件

  • $ ls afile bfile &> errfile

程序编辑器vim

文本编辑器的作用

  • 维护Linux系统中的各种配置文件
  • 编写shell脚本;

三种工作模式

  • 命令模式、输入模式、末行模式;
    不同模式之间切换

image.png

命令模式基本操作

image.png

image.png

image.png

image.png

末行模式基本操作

image.png

image.png

image.png

Shell脚本

  • 用途:完成特定的、较复杂的系统管理任务;
  • 格式:集中保存多条Linux命令,普通文本文件;
  • 执行方法:按照预设的顺序依次解释执行;

运行Shell脚本程序:

  • 直接执行具有”X“权限的脚本文件: ./repboot.sh
  • 使用指定的解释器程序执行脚本内容: bash reboot.sh、sh repboot.sh
  • 通过source命令或”.“读取脚本内容执行: source repboot.sh 或 . hello.sh

shell 脚本

image.png

image.png

image.png

image.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200