zl程序教程

您现在的位置是:首页 >  APP

当前栏目

红帽认证RedHat-RHCSA shell的基本应用

2023-03-14 22:43:56 时间

shell命令概述

Shell作用:命令解释器

介于操作系统内核与用户之间,负责解释命令行

获得命令帮助

内部命令help

命令的“--help” 选项

使用man命令阅读手册页

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

Tab键:自动补齐

反斜杠“”:强制换行

快捷键 Ctrl+U:清空至行首

快捷键 Ctrl+K:清空至行尾

快捷键 Ctrl+L:清屏

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

Linux命令行的格式

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

[root@localhost ~]# ls -l /home

总计 8

drwx------ 2 benet benet 4096 09-08 08:50 benet

  • 1.
  • 2.
  • 3.

文件和目录管理

目录操作命令:pwd、cd、ls、mkdir

pwd命令

用途:查看工作目录(Print Working Directory)

cd命令

用途:切换工作目录(Change Directory)

格式:cd [目录位置]

ls命令

用途:列表(List)显示目录内容

格式:ls [选项]... [目录或文件名]

常用命令选项

-l :以长格式显示

-a:显示所有子目录和文件的信息,包括隐藏文件

-ld:显示目录本身的具体信息

--color:以颜色区分不同类型文件

mkdir命令

用途:创建新的目录(Make Directory)

格式:mkdir [-p] [/路径/]目录名

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

文件操作命令:touch、cp、rm、mv、find

touch命令

用途:新建空文件,或更新文件时间标记

格式:touch 文件名…

cp命令

用途:复制(Copy)文件或目录

格式:cp [选项]... 源文件或目录… 目标文件或目录

rm命令

用途:删除(Remove)文件或目录

格式:rm [选项]... 文件或目录

rmdir命令

用途:删除(directory)目录

mv命令

用途:移动(Move)文件或目录

—— 若如果目标位置与源位置相同,则相当于改名

格式:mv [选项]... 源文件或目录… 目标文件或目录

find命令

用途:用于查找文件或目录

格式:find [查找范围] [查找条件]

常用查找条件

-name:按文件名称查找

-user:按文件属主查找

-type:按文件类型查找

根据文件的类型进行查找,这里的类型指的是普通文件(f)、目录(d)

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

文件内容操作命令:cat、less、grep

cat命令

用途:显示出文件的全部内容

格式:cat 目标文件

less命令

用途:全屏方式分页显示文件内容

交互操作方法:

按Enter键向下逐行滚动

按空格键向下翻一屏、按b键向上翻一屏

按q键退出

grep命令

用途:在文件中查找并显示包含指定字符串的行

格式:grep [选项]... 查找条件 目标文件

常用命令选项

-i:查找时忽略大小写

-v:反转查找,输出与查找条件不相符的行

查找条件设置

要查找的字符串以双引号括起来

“^……”表示以……开头,“……$”表示以……结尾

“^$”表示空行

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

归档及压缩命令:tar

tar命令

用途:制作归档文件、释放归档文件

格式:tar [选项]... 归档文件名 源文件或目录

tar [选项]... 归档文件名 [-C 目标目录]

常用命令

打包:

tar -czvf [存放路径]归档文件名.tar.gz 源文件或目录

或 tar -cjvf [存放路径]归档文件名.tar.bz2 源文件或目录

解包:

tar -xzvf [存放路径]归档文件名.tar.gz [-C 解压目录]

或 tar -xjvf [存放路径]归档文件名.tar.bz2 [-C 解压目录]

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

Bash的命令历史

命令历史

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

查看历史命令

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

执行:history

清除历史命令:执行:history -c

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

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

Bash的命令别名

命令别名

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

查看命令别名

格式:alias [别名]

设置命令别名

执行:alias 别名='实际执行的命令'

取消已设置的命令别名

格式:unalias 别名

unalias -a

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

重定向

将命令的执行结果输出到指定的文件中,而不是直接显示在屏幕上


输出重定向实例

将命令输出重定向到文件

将标准输出重定向到文件

$ ls /etc/ > etcdir

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

$ ls /etc/sysconfig/ >> etcdir

将错误输出重定向到文件

$ nocmd 2> errfile

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

$ ls afile bfile &> errfile

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

vim文本编辑器

文本编辑器的作用: 维护Linux系统中的各种配置文件 编写shell脚本

vim编辑器的工作模式

三种工作模式:命令模式、输入模式、末行模式

1)命令模式:启动vi编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作

2)输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“-- INSERT --”的状态提示信息

3)末行模式:该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号“:”提示符

  • 1.
  • 2.
  • 3.

命令模式中的基本操作

光标移动

光标方向移动


行内快读跳转

ctrl+F:向下翻动一页

ctrl+B:想上翻动一页

行间快速跳转

1G或gg:跳转到文件的首页

G:跳转到文件的末尾行

行号显示:

set nu:在编辑器中显示行号

:set nonu:取消编辑器中的行号显示

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

复制粘贴删除

image

文件内容查找

image

撤销编辑及保存退出

u

按一次取消最近的一次操作

多次重复,恢复已进行的多步操作

U

用于取消对当前行所做的所有编辑

ZZ

保存当前的文件内容并退出vi编辑器

末行模式中的基本操作

保存文件及退出vi编辑器

功能

命令

保存文件

:w


:w /root/newfile

退出vi

:q


:q!

保存文件退出vi

:wq

打开新文件或读入其他文件内容

命令

功能

:e ~/install.log

打开新的文件进行编辑

:r /etc/filesystems

在当前文件中读入其他文件内容

文件内容替换

命令

功能

:s /old/new

将当前行中查找到的第一个字符"old"串替换为"new"

:s /old/new/g

将当前行中查找到的所有字符串"old"替换为"new"

:## s/old/new/g

在行号"##"范围内替换所有的字符串"old"为"new"

:% s/old/new/g

在整个文件范围内替换所有的字符串:"old"为"new"

:s /old/new/c


在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认