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命令,将对每个替换动作提示用户进行确认

信安学习-day33相关推荐

  1. 谈谈半年的信安学习和一些学习感悟(附收藏资料分享)

    学习信安也有半年左右的时间了,期间也收集了很多的资源,但是大多都在收藏夹里吃灰了,不过也看了不少的视频,现在的感觉就是感觉啥都会,但是真到比赛的时候,就腌了,知识没有很好的融会贯通,当初只是囫囵吞枣的 ...

  2. 信安学习-day15

    SNMP原理与配置 一.前言 随着网络技术的飞速发展,企业中网络设备的数量成几何级数增长,网络设备的种类也越来越多,这使得企业网络的管理变得十分复杂. 简单网络管理协议SNMP( Simple Net ...

  3. 信安学习-day14

    传输层协议TCP.UDP 一.TCP和UDP协议 TCP/IP协议族的传输层协议主要有两个 TCP(Transmission Control Protocol ) 传输控制协议 UDP(User Da ...

  4. 信安学习-day34

    安装及管理应用程序 一.Linux 应用程序基础 1.Linux命令与应用程序关系 文件位置 系统命令:一般在/bin和/sbin目录中,或为Shell内部指令 应用程序:通常在/usr/bin和/u ...

  5. 【信安学习笔记三】文件上传

    个人学习参考用笔记 目录 前言 一.文件上传 **定义** **危害** **查找及判断** **分类** 二.验证与绕过 前端防护 后端防护 (一)黑名单 (二)白名单 (三)内容及其他 三.漏洞 ...

  6. 信安学习笔记之网络安全:Day-8【ftp和web以及dns服务器的配置、域名访问、交换机技术的综合应用】

    交换机的综合配置: 要求:全网配通 扩展学习: 服务器配置界面: pc机配置界面: DNS服务器的ip配置界面(感觉有DNS就可以先配DNS服务器,方便域名访问): DNS服务器的服务配置界面: ft ...

  7. 信安学习-day13

    VLAN原理和配置 一.VLAN介绍 1.概念 随着网络中计算机的数量越来越多,传统的以太网络开始面临冲突严重.广播泛滥以及安全性无法保障等各种问题. VLAN(Virtual Local Area ...

  8. 信安学习-day16

    VRRP协议原理与配置 一.前言 局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果此时默认网关设备发生故障,将中断所有用户终端的网络访问,这很可能会给用户带来不可预计的损失,所以可以 ...

  9. 信安学习笔记之网络安全:Day-3【路由器配置、三层交换机与路由器综合】

    1.路由器 路由器的配置3步骤: a.划分网段:路由器的每一个接口都处于不同的网段(路由器是用来隔离网段的) b.配置每个节点IP地址 Router1 Router(config)#interface ...

最新文章

  1. BCH应用发展报告——Member正在成为趋势
  2. linux mysql 5.7 配置_linux下mysql5.7的安装配置
  3. PHP 内存泄漏分析定位
  4. 从技术面试官的角度来谈谈简历和面试
  5. python alpha_如何用Python打造一个简易版的Alpha GO?
  6. wxWidgets:WxBase 事件循环
  7. dgi数据治理_荐书 | 5G时代组织急需数据体检
  8. 软件项目组织管理(九)项目人力资源管理
  9. 奥鹏20年12月作业考核(C语言专科),《C语言(专科)》20年12月作业考核【答案100分】...
  10. 为下半年圣诞节提前准备素材模板,可临摹psd分层模板!
  11. linux中网卡的流量怎么通过c语言获取_用Python获取计算机网卡信息
  12. SqlServer 按指定顺序进行排序
  13. Linux批量追加文件名后缀
  14. The run destination''''is not valid for Running the scheme
  15. 尤雨溪:Vue3即将成为新的默认版本!
  16. 人生的康波周期,把握住一次,足以改变命运!
  17. java 5%3_【Java】位操作符-WEB资讯专栏-DMOZ中文网站分类目录-免费收录各类优秀网站的中文网站目录....
  18. matlab tic tac toe,详解Tic-Tac-Toe人工智能实现
  19. 牛客网Chino with Queue【状压DP】
  20. 计算机专业技能比赛方案,计网系第二届计算机技能比赛方案

热门文章

  1. Premiere动态文本预设 800+文字动画动态展示PR/AE预设模板
  2. 玩转服务器-博客两件套之绝佳的Markdown写作平台CodiMD
  3. SQL Server直接执行.sql文件
  4. 阿里云AI训练营-SQL基础6:测试题
  5. 计算机组成原理74hc273,计算机组成原理——运算器实验.doc
  6. 解决阿里云服务器通过域名访问被拒
  7. python写出雷霆战机_仿《雷霆战机》飞行射击手游开发--游戏的入口
  8. PMAC简介和预备知识
  9. 计算机专业的黑板报,计算机教室黑板报
  10. 联想一体机用u盘装linux教程,联想一体机如何用u盘做系统安装 u盘系统怎么安装...