信安学习-day33

Linux 常用命令

一、Linux命令概述

1.Shell

  • linux系统中运行的一种特殊程序

  • 在用户和内核之间充当“翻译官”

  • 用户登录linux系统时,自动加载一个shell程序

  • bash是CentOS系统中默认使用的shell程序

    • 文件位于/bin/bash

2.Linux命令的分类

  • 内部命令

    • 集成于 Shell 解释器程序内部的一些特殊指令,也称为内建(Built-in)指令

    • 属于 Shell 的一部分

    • 没有单独对应的系统文件

    • 自动载入内存,可以直接使用

  • 外部命令

    • Linux系统中能够完成特定功能的脚本文件或二进制程序

    • 属于 Shell 解释器程序之外的命令

    • 每个外部命令对应了系统中的一个文件

    • 必须知道其对应的文件位置,由 Shell 加载后才能执行

  • 注意:

    • Linux系统将存放外部命令、程序的目录默认添加到 “搜索路径”中当使用位于这些目录中的外部命令时,用户不需要指定具体的位置

3.Linux 命令行的格式

  • 通用的命令行使用格式

    • 命令字

      • 是整条命令中最关键的一部分

      • 唯一确定一条命令

    • 选项

      • 短格式选项:使用“-”符号引导(结构简单,输入快捷)

        • 多个单字符选项可以组合在一起使用

      • 长格式选项:使用“--”符号引导 (意义明确,容易记忆)

    • 参数 rm

      • 命令字的处理对象

      • 可以是文件名、目录(路径)名或用户名等内容

      • 个数可以是零到多个

  • 注意:

    • Linux命令环境中,对英文字符的处理是区分大小写的

    • 一些 Linux命令字对于同一功能会同时提供长、短两种格式的选项

    • 两种格式可以混用

    • 在实际使用Linux命令行的过程中,“选项”和“参数”的称谓经常混淆,甚至前后顺序也允许颠倒,但一般不会影响到命令的执行效果

4.编辑 Linux 命令行

  • 编辑 Linux 命令行的辅助操作

    • Tab 键

    • 反斜杠“\”

    • Ctrl+u 快捷键

    • Ctrl+k 快捷键

    • Ctrl+l 快捷键 --清屏

    • Ctrl+c 快捷键 --中止程序

    • Ctrl+ a --光标到命令最前面

    • Ctrl+e --光标到命令最后面

    • Ctrl+z --将服务在后台挂起

5.获得命令帮助的方法

  • 问题

    • 如何能快速、正确使用命令完成操作?

  • 方法

    • 使用help 命令 /查看内部命令

    • 使用“--help”选项 /查看外部命令

    • 使用man 手册页

二、目录和文件基本操作

  • 常用的基本操作

    • 查看及切换目录

    • 创建目录和文件

    • 复制、删除移动目录和文件

    • 查找目录和文件

1.查看及切换目录

①.查看当前的工作目录-pwd

  • 显示用户当前所在的工作目录位置

    • [root@localhost ~]# pwd

      /root

②.切换工作目录-cd

  • 将用户的工作目录更改到其他位置

    • cd 目标位置--切换到目标位置

    • cd --若不指定目标位置,切换到当前用户的宿主目录

    • cd - --切换到上一次执行cd命令之前所在的目录

    • cd . --当前目录

    • cd .. --上级目录

③.绝对路径与相对路径

  • 绝对路径:最准确,但麻烦。路径以“/”开始

  • 相对路径:简单方便,路径不以“/”开始

  • 相对路径的表现形式

表现形式说明示例
直接使用目录名或文件名当前工作目录中的子目录、文件的位置grub.conf
以一个点号“.”开头以当前的工作目录作为起点./grub.conf
以两个点号“..”开头以当前目录的上一级目录(父目录)作为起点../vmlinuz
以“~用户名”形式开头以指定用户的宿主目录作为起点~/teacher

④.列表显示目录内容-ls

  • 显示目录中内容,包括子目录和文件相关属性信息

    • ls [选项] [文件或目录… ]

  • 常用选项

    • -l:显示详细信息

    • -a:显示子目录和文件,包括"."开头的隐藏目录和隐藏文

    • -A:不显示包括"."开头的隐藏目录和隐藏文

    • -d:显示该文件或目录本身属性

    • -h:以单位显示文件或目录大

    • -R:以递归的方式显示目录以及子目录的所有内

    • --color:为查询结果添加颜色进行显示)

  • 结合通配符

    • “?”:匹配文件名中的一个未知字符

    • “*”:匹配文件名中的任意多个字符

⑤.alias 命令

  • 通过别名机制简化常用的、比较长的命令

    • alias 命令别名=命令

  • 设置myls 为ls -alh的别名

    • alias myls=‘ls – alh’(别名是myls)

  • 取消别名定义:

    • unalias myls

⑥.统计目录及文件空间占用情况-du

  • 统计指定目录(或文件)所占用磁盘空间的大小

    • du [选项] [文件或目录… ]

  • 常用选项

    • -a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录

    • -h:显示出目录或文件的大小(K、M),默认的大小单位为字节(KB)

    • -s:只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小

2.创建目录和文件

①.创建新目录 – mkdir

  • 创建新的空目录

    • mkdir [选项] 目录位置及名称

      • mkdir -p /home/{A,B}/abc

      • 以上命令为在home下创建A,B两个文件夹及在其中创建abc文件夹

②.创建空文件 – touch

  • 更新文件的时间标记

  • 经常用于创建多个新的空文件

    • touch 文件…

    • 但是一般常用创建文件命令是vim

③.创建链接文件 – ln

  • 为文件或目录建立链接文件

  • 文件类型

    • 软链接

      • 能对文件或目录生效,做快捷方式,原始文件被删除后快捷方式失效

      • 又称为符号链接

      • 类似于Windows系统的快捷方式

    • 硬链接

      • 只能对文件,相当于文件复制,但是数据会同步,删除一个对另一个没有影响

软链接硬链接
删除原始文件后失效仍旧可用
使用范围适用于文件或目录只可用于文件
保存位置与原始文件可以位于不同的文件系统中必须与原始文件在同一个文件系统(如一个Linux分区)内
  • 创建软链接

    • ln [-s] 源文件或目录… 链接文件或目标位置

    • ln -s /bin/bzip2 /bin/wx/

  • 注意

    • 在链接时,要使用绝对路径

3.复制、删除、移动目录和文件

①.复制文件或目录-cp

  • 将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录

    • cp [选项]… 源文件或目录… 目标文件或目录…

  • 常用选项

    • -f:覆盖目标同名文件或目录时不进行提醒,直接强制复制

    • -i:覆盖目标同名文件或目录时提醒用户确认

    • -p:复制时保持源文件的权限,属主及时间标记等属性不变

    • -r:复制目录时必须使用此选项,表示递归复制所有文件及子目录

  • 注意

    • 复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在

②.删除文件或目录-rm

  • 删除指定的文件或目录

    • rm [选项] 要删除的文件或目录…

  • 常用选项

    • -f:即使文件属性设为只读也直接删除,不逐一确认,此外忽略不存在的文件,不产生提示。

    • -i:删除之前逐一询问确认。

    • -r:递归删除目录及其内容。

    • -rf:命令强制删除包括目录 不提醒

  • 注意

    • 不要直接删除系统中已有的目录或配置文件,以避免出现意外故障

③.移动文件或目录-mv

  • 将指定的文件或目录转移位置

  • 如果目标位置与源位置相同,则相当于执行重命名操作

    • mv [选项] … 源文件或目录… 目标文件或目录

4.查找目录和文件

①.查找命令/文件存放目录-which

  • 搜索范围由环境变量 PATH 决定(echo $PATH)

    • which 命令|程序名

    • which -a 命令|程序名

  • 命令演示

    • which Is

    • which cd

②.查找文件或目录-find

  • 采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找

    • find [查找范围] [查找条件表达式]

      • 查找范围:查找文件或子目录的目录位置

      • 查找条件表达式:查找条件类型

  • 常用查找条件类型

查找类型关键字说明
按名称查找-name根据目标文件的名称进行查找,允许使用“*”及“?”通配符
按文件大小查找-size根据目标文件的大小进行查找 一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件 常用的容量单位包括 kB(注意 k 是小写)、MB、GB
按文件属主查找-user根据文件是否属于目标用户进行查找
按文件类型查找-type根据文件的类型进行查找 文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等 块设备是指成块读取数据的设备(如硬盘、内存等),字符设备是指按单个字符读取数据的设备(如键盘、鼠标等)
  • 使用 find 命令实现多个查找条件

    • 各表达式之间使用逻辑运算符

      • “-a”表示 而且(and)

      • “-o”表示 或者(or)

        • find /boot -size +1024k -a -name “vmlinuz”

        • find /boot -size +1024k -o -name “vmlinuz”

目录和文件管理

一、查看和检索文件

1.查看文件内容

①查看文件内容cat 命令

  • cat命令

    • 用途:显示出文件的内容

    • 当文件内容较多时,使用cat命令往往只能看到文件的最后一部分内容,而无法分页逐屏显示

      • cat [选项] 文件名

②查看文件内容more命令

  • more命令

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

    • more命令结合管道操作使用时(例如:ls -R /etc | more)无法向上翻页

      • more [选项] 文件名 …

  • 交互操作方法

    • 按Enter键向下逐行滚动

    • 按空格键向下翻一屏

    • 按q键退出

③查看文件内容less命令

  • less 命令

    • 用途:与 more 命令相同,但扩展功能更多

      • less [选项] 文件名 …

  • 交互操作方法

    • Page Up 向上翻页,Page Down 向下翻页

    • 按“/”键查找内容,“n”下一个内容,“N”上一个内容

    • 其他功能与 more 命令基本类似

④查看文件内容 head、tail 命令

  • head命令

    • 用途:查看文件开头的一部分内容(默认为10行)

      • head -n 文件名 …

  • tail命令

    • 用途:查看文件结尾的少部分内容(默认为10行)

      • tail -n 文件名

      • tail -f 文件名

  • 对比讲解head、tail的用法

    • tail命令结合“-f”选项使用时,可以用于跟踪日志文件末尾的内容变化,实时显示更新的日志内容

2.统计和检索文件内容

①统计文件内容 wc 命令

  • wc命令

    • 用途:统计文件中的单词数量(Word Count)等信息

      • wc [选项]... 目标文件...

  • 常用命令选项

    • -l:统计行数

    • -w:统计单词个数

    • -c:统计字节数

    • wc命令未指定选项时,默认相当于”-lwc“,会同时统计行数、单词数、字节数(含空格、回车等符号)

②检索和过滤文件内容 grep 命令

  • grep命令

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

      • grep [选项]... 查找条件 目标文件

  • 常用命令选项

    • -i:查找时忽略大小写

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

    • -A 1:表示查看包含指定字符串及后一行

    • -B 2:表示查看包含指定字符串及前两行

    • -C 1:表示查看包含指定字符串及前后一行

    • -c:统计指定字符串在文件中出现的行数

  • 查找条件设置

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

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

    • “^$”表示空行

二、压缩/解压缩

1.使用压缩和解压缩工具

①压缩命令 gzip、bzip2 命令

  • gzip命令、bzip2命令

    • 用途:制作压缩文件、解开压缩文件

      • 制作压缩文件

        • gzip [-9] 文件名…

        • bzip2 [-9] 文件名...

      • 解开压缩文件

        • gzip -d .gz格式的压缩文件

        • bzip2 -d .bz2格式的压缩文件

  • 常用命令选项

    • -9、-d

  • 注意

    • gzip和bzip2命令使用的压缩算法各不相同,一般来说bzip2的压缩效率要好一些

    • 对比讲解gzip和bzip2命令的用法,注意说明生成文件的后缀名称

    • gzip和bzip2命令使用的压缩算法有一定区别,但命令使用格式基本类似,通常认为bzip2的压缩效率要更好一些

    • 这两个命令工具通常并不单独使用,而是与tar命令结合起来使用

②压缩命令 gunzip、bunzip2 命令

  • gunzip 命令

    • gunzip 等价于 gzip –d

      • gzip -d mkfile.gz

      • gunzip mkfile.gz

  • bunzip2 命令

    • bzip2和bunzip2命令的用法与gzip、gunzip命令基本相同

2、使用 tar 归档和释放工具

①归档命令tar命令

  • tar命令

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

      • tar [选项] ... 归档文件名 源文件或目录

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

  • 常用命令选项

    • -c:创建 .tar 格式的包文件

    • -x:解开.tar格式的包文件

    • -v:输出详细信息

    • -f:表示使用归档文件

    • -p:打包时保留原始文件及目录的权限

    • -t:在不解压包的情况下看包内内容

    • -C:解包时指定释放的目标文件夹

    • -z:调用gzip程序进行压缩或解压

    • -j:调用bzip2程序进行压缩或解压

  • 注意

    • 制作归档文件的意思是将许多零散的文件做成一个包(可以压缩,也可以不压缩)

    • 小写字母“-p”选项用于保持原始文件权限等信息,大写字母“-P”选项用于保持原始文件的绝对路径,参考“man tar”帮助

    • 使用tar命令时,选项前的“-”号引导字符可以省略

    • 在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(见下页),以便节省磁盘空间

三、使用 vi 文本编辑器

1.vi 编辑器的工作模式

①文本编辑器 vi 命令

  • 文本编辑器的作用

    • 创建或修改文本文件

    • 维护 Linux 系统中的各种配置文件

  • Linux中最常用的文本编辑器

    • vi:类UNIX操作系统的默认文本编辑器。

    • vim:vim是vi文本编辑器(一般简称为vi编辑器)的增强版本

②vi 编辑器的工作模式

  • 三种工作模式

    • 命令模式、输入模式、末行模式

  • 不同模式之间的切换

  • 结合图示介绍vi编辑器的三种工作模式,相当于图形软件窗口中的不同界面,不同的模式中能够对文件进行的操作也不相同

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

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

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

2.命令模式中的基本操作

①命令模式中的基本操作1

操作类型操作键功能
光标方向移动方向键上下左右上、下、左、右
翻页Page Down或Ctrl+F向下翻动一整页内容
Page Up或Ctrl+B向上翻动一整页内容向上翻动一整页内容
行内快速跳转Home键或“^”、数字“0”跳转至行首
End键或“$”键跳转到行尾跳转到行尾
行间快速跳转1G或者gg跳转到文件的首行
G跳转到文件的末尾行跳转到文件的末尾行
#G跳转到文件中的第#行跳转到文件中的第#行
行号显示:set nu在编辑器中显示行号
:set nonu取消编辑器中的行号显示取消编辑器中的行号显示

②命令模式中的基本操作2

操作类型操作键功能
删除x或Del删除光标处的单个字符
dd删除当前光标所在行删除当前光标所在行
#dd删除从光标处开始的#行内容删除从光标开始的#行内容
d^删除当前光标之前到行首的所有字符删除当前光标之前到行首的所有字符
d$删除当前光标处到行尾的所有字符删除当前光标处到行尾的所有字符
复制yy复制当前行整行的内容到剪贴板
#yy复制从光标处开始的#行内容复制从光标处开始的#行内容
粘贴p将缓冲区中的内容粘贴到光标位置处之后
P粘贴到光标位置处之前粘贴到光标位置处之前

③命令模式中的基本操作3

操作键功能
/word从上而下在文件中查找字符串“word”
?word从下而上在文件中查找字符串“word”
n定位下一个匹配的被查找字符串
N定位上一个匹配的被查找字符串

④命令模式

操作键功能
u按一次取消最近的一次操作 多次重复按u键,恢复已进行的多步操作
U用于取消对当前行所做的所有编辑
ZZ保存当前的文件内容并退出vi编辑器

3.末行模式中的基本操作

①末行模式1

功能命令备注
保存文件:w保存修改的内容
:w /root/newfile另存为其它文件另存为其他文件
退出vi:q未修改退出
:q!放弃对文件内容的修改,并退出vi放弃对文件内容的修改,并推出vi
保存文件退出 vi:wq保存修改的内容并退出

②末行模式2

命令功能
:e ~/install.log打开新的文件进行编辑
:r /etc/filesystems在当前文件中读入其他文件内容

③末行模式3

命令功能
: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命令,将对每个替换动作提示用户进行确认
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值