Linux命令总结详细

news2024/11/15 15:43:31

Linux命令总结详细

  • 1.前言
  • 2.基础知识
    • 2.1.执行命令格式
    • 2.2.帮助命令
      • 2.2.1.man命令
    • 2.3.部分快捷键
      • 2.3.1.Tab键
      • 2.3.2.Ctrl+c组合键
      • 2.3.3.Ctrl+l组合键
    • 2.4.服务运行命令
    • 2.5.服务开机启动命令
  • 3.系统工作命令
    • 3.1.date时间命令
      • 3.1.1.命令解释
      • 3.1.2.命令参数
      • 3.1.3.案例
    • 3.2.reboot重启命令
      • 3.2.1.命令解释
    • 3.3.ps进程命令
      • 3.3.1.命令解释
    • 3.3.2.命令参数
    • 3.4.top进程管理命令
      • 3.4.1.命令解释
      • 3.4.2.内容代表含义
    • 3.5.nice管理优先级命令
      • 3.5.1.命令解释
      • 3.5.2.命令参数
    • 3.6.pidof查询pid值命令
      • 3.6.1.命令解释
      • 3.6.2.案例
    • 3.7.kill终止某个pid进程命令
      • 3.7.1.命令解释
      • 3.7.2.案例
    • 3.8.1.命令解释
      • 3.8.2.案例
  • 4.系统状态命令
    • 4.1.ifconfig网卡信息命令
      • 4.1.1.命令解释
      • 4.1.2.内容代表含义
    • 4.2.uname系统信息命令
      • 4.2.1.命令解释
      • 4.2.2.命令参数
    • 4.3.uptime负载信息命令
      • 4.3.1.命令解释
      • 4.3.2.案例
    • 4.4.free显示内存使用量
      • 4.4.1.命令解释
      • 4.4.2.案例
    • 4.5.who显示当前登录主机
      • 4.5.1.命令解释
      • 4.5.2.案例
    • 4.6.last调取主机被访记录
      • 4.6.1.命令解释
      • 4.6.2.案例
    • 4.7.ping测试主机连通性
      • 4.7.1.命令解释
      • 4.7.2.命令参数
    • 4.8.tracepath显示途径路由信息
      • 4.8.1.命令解释
      • 4.8.2.案例
    • 4.9.netstat用于显示网络相关信息
      • 4.9.1.命令解释
      • 4.9.2.命令参数
      • 4.9.3.案例
    • 4.10.history显示命令历史
      • 4.10.1.命令解释
      • 4.10.2.命令参数
      • 4.10.3.案例
  • 5.文件查找命令
    • 5.1.pwd显示用户当前所处的工作目录
      • 5.1.1.命令解释
      • 5.1.2.案例
    • 5.2.cd切换工作路径
      • 5.2.1.命令解释
      • 5.2.2.命令参数
      • 5.2.3.案例
    • 5.3.ls显示目录中的文件信息
      • 5.3.1.命令解释
      • 5.3.2.命令参数
      • 5.3.3.案例
    • 5.4.find查找文件所对应的位置
      • 5.4.1.命令解释
      • 5.4.2.命令参数
      • 5.4.3.案例
    • 5.5.locate按照名称快速搜索文件
      • 5.5.1.命令解释
      • 5.5.2.案例
  • 6.文本文件编辑命令
    • 6.1.cat查看纯文本文件
      • 6.1.1.命令解释
      • 6.1.2.命令参数
      • 6.1.3.案例
    • 6.2.more查看纯文本文件
      • 6.2.1.命令解释
      • 6.2.2.案例
    • 6.3.head查看纯文本文件的前N行
      • 6.3.1.命令解释
      • 6.3.2.案例
    • 6.4.tail查看纯文本文件的后N行
      • 6.4.1.命令解释
      • 6.4.2.命令参数
      • 6.4.3.案例
    • 6.5.tr替换文件内容
      • 6.5.1.命令解释
      • 6.5.2.案例
    • 6.6.wc统计指定文本文件的行数等
      • 6.6.1.命令解释
      • 6.6.2.命令参数
      • 6.6.3.案例
    • 6.7.grep按行提取文本内容
      • 6.7.1.命令解释
      • 6.7.2.命令参数
      • 6.7.3.案例
    • 6.8.cut按列提取文本内容
      • 6.8.1.命令解释
      • 6.8.2.案例
    • 6.9.uniq去除文本中连续的重复行
      • 6.9.1.命令解释
      • 6.9.2.案例
    • 6.10.sort对文本内容进行再排序
      • 6.10.1.命令解释
      • 6.10.2.命令参数
      • 6.10.3.案例
  • 7.文件命令管理命令
    • 7.1.touch创建空白文件
      • 7.1.1.命令解释
      • 7.1.2.命令参数
      • 7.1.3.案例
    • 7.2.mkdir创建空白的目录
      • 7.2.1.命令解释
      • 7.2.2.命令参数
      • 7.2.3.案例
    • 7.3.cp复制文件或目录
      • 7.3.1.命令解释
      • 7.3.2.命令参数
      • 7.3.3.案例
    • 7.4.mv剪切或重命名文件
      • 7.4.1.命令解释
      • 7.4.2.案例
    • 7.5.rm删除文件或目录
      • 7.5.1.命令解释
      • 7.5.2.命令参数
      • 7.5.3.案例
    • 7.6.file查看文件的类型
      • 7.6.1.命令解释
      • 7.6.2.案例
    • 7.7.tar对文件进行打包压缩或解压
      • 7.7.1.命令解释
      • 7.7.2.命令参数
      • 7.7.3.案例
  • 8.vim编辑器
    • 8.1.vim编辑器模式
    • 8.2.vim编辑器中常用命令
      • 8.2.1.命令模式常用命令
      • 8.2.2.末行模式常用命令
      • 8.2.3.vim操作步骤
  • 9.管道符、重定向
    • 9.1.输入输出重定向
      • 9.1.1.内容解释
      • 9.1.2.输入重定向
      • 9.1.3.输出重定向
      • 9.1.4.案例
    • 9.2.管道符
      • 9.2.1.内容解释
      • 9.2.2.案例
    • 9.3.命令通配符
      • 9.3.1.内容解释
      • 9.3.2.通配符
      • 9.3.3.案例
  • 10.用户管理
    • 10.1.id显示用户的详细信息
      • 10.1.1.命令解释
      • 10.1.2.案例
    • 10.2.useradd创建新的用户账户
      • 10.2.1.命令解释
      • 10.2.2.命令参数
      • 10.2.3.案例
    • 10.3.groupadd创建新的用户组
      • 10.3.1.命令解释
      • 10.3.2.案例
    • 10.4.usermod修改用户的属性
      • 10.4.1.命令解释
      • 10.4.2.命令参数
      • 10.4.3.案例
    • 10.5.passwd修改用户的密码
      • 10.5.1.命令解释
      • 10.5.2.命令参数
      • 10.5.3.案例
    • 10.6.userdel删除已有的用户账户
      • 10.6.1.命令解释
      • 10.6.2.命令参数
      • 10.6.3.案例
    • 10.7.groupdel删除用户组
      • 10.7.1.命令解释
      • 10.7.2.案例
    • 10.8.groupmod修改用户组
      • 10.8.1.命令解释
        • 10.8.2.命令参数
  • 11.文件权限管理
    • 11.1.文件权限介绍
    • 11.2.文件权限字符与数字介绍
    • 11.3.文件权限数字计算
    • 11.4.chmod控制用户对文件的权限的命令
      • 11.4.1.命令解释
      • 11.4.2.命令参数
      • 11.4.3.案例
  • 12.磁盘管理
    • 12.1.df检查文件系统的磁盘空间占用情况
      • 12.1.1.命令解释
      • 12.1.2.命令参数
      • 12.1.3.案例
    • 12.2.du文件和目录磁盘使用的空间的查看
      • 12.2.1.命令解释
      • 12.2.2.命令参数
      • 12.2.3.案例
    • 12.3.sblk查看已挂载的磁盘的空间使用情况
      • 12.3.1.命令解释
      • 12.3.2.案例
    • 12.4.fdisk 磁盘分区表操作工具。
      • 12.4.1.命令解释
      • 12.4.2.命令参数
      • 12.4.3.案例
    • 12.5.mkswap新设备进行交换分区格式化
      • 12.5.1.命令解释
      • 12.5.2.案例
    • 12.6.swapon激活新的交换分区设备
      • 12.6.1.命令解释
      • 12.6.2.案例
    • 12.7.交换分区
      • 12.7.1.命令解释
      • 12.7.2.案例
    • 12.8.mkfs磁盘格式
      • 12.8.1.命令解释
      • 12.8.2.命令参数
      • 12.8.3.案例
    • 12.9.mount磁盘挂载(临时挂载)
      • 12.9.1.命令解释
      • 12.9.2.命令参数
      • 12.9.3.案例
    • 12.10.磁盘挂载永久挂载
      • 12.10.1.内容解释
      • 12.10.2.命令参数
      • 12.10.3.案例
  • 13.yum软件包管理器
    • 13.1.命令解释
    • 13.2.命令参数
    • 13.3.yum常用命令

1.前言

  本内容多数都是以命令为主,了解命令的作用、相关参数以及使用方式,不会过多的对命令进行解释,尤其用户及文件管理、硬盘管理,因为像这个几方面最好去看视频或者书上的讲解,命令更多是如何使用并非是原理。
  觉得不错的话就请点点关注、点点赞以及收藏吧,感谢!!!
  参考链接:linux就该怎么学
  参考链接:linux命令大全

2.基础知识

2.1.执行命令格式

  命令名称 命令参数 命令对象
  命令名称:是想要执行的命令,如创建用户、查看文件等。
  命令参数:通过添加相关参数能够更好的执行到想要的结果。
  命令对象:是指所需要处理的文件、目录等。
  注意点:在Linux中命令名称、命令参数与命令对象之间要使用空格进行分隔,并且要严格区分大小写。

2.2.帮助命令

2.2.1.man命令

  2.2.1.1.命令解释
  通过man命令来查看man自身的一个帮助信息。
  语法:[root@localhost ~]# man man
在这里插入图片描述在这里插入图片描述

  2.2.1.2.man命令常用按键及作用

空格键:向下翻一页
PaGe down:向下翻一页
PaGe up:向上翻一页
home:直接前往首页
end:直接前往尾页
/:从上至下搜索某个关键词
?:从下至上搜索某个关键词
n:定位到下一个搜索到的关键词
N:定位到上一个搜索到的关键词
q:退出帮助文档

  2.2.1.3.man命令中帮助信息

NAME:命令的名称
SYNOPSIS:参数的大致使用方法
DESCRIPTION:介绍说明
EXAMPLES:演示(附带简单说明)
OVERVIEW:概述
DEFAULTS:默认的功能
OPTIONS:具体的可用选项(带介绍)
ENVIRONMENT:环境变量
FILES:用到的文件
SEE ALSO:相关的资料
HISTORY:维护历史与联系方式

2.3.部分快捷键

2.3.1.Tab键

  2.3.1.1.Tab键解释
  tab键它可以实现对命令、参数或者文件名称等内容进行补齐。例如:想执行reboot重启命令,但是只记得前面两个字母re,那么就可以使用tab键进行补齐。
  命令:[root@localhost ~]# re<tab键><tab键>
  在操作中会发现按一个tab键却无法弹出,是由于在Linux系统中并非只有一个re开头的命令,所以需要按两个tab键。但是按两个tab键并不会之间补全,只是会显示所有re开头的命令。所以需要在显示内容中寻找reboot命令。
在这里插入图片描述

2.3.2.Ctrl+c组合键

  2.3.2.1.Ctrl+c组合键解释
  当同时按下键盘上的Ctrl和字母c的时候,就可以结束当前的进程执行,并且若存在执行命令长时间无法结束,就可以使用该组合键,使其提前结束命令的执行。
  命令:[root@localhost ~]# top
  这个命令类似于windows中任务管理器,会实时刷新,这时就可以使用该组合键退出。
在这里插入图片描述

2.3.3.Ctrl+l组合键

  2.3.3.1.Ctrl+l组合键
  Ctrl+l组合键:当同时按下键盘上的Ctrl和字母l的时候,会清空当前终端中已有的内容(相当于清屏操作)。

2.4.服务运行命令

  systemctl start httpd 启动服务
  systemctl restart httpd 重启服务
  systemctl stop httpd 停止服务
  systemctl reload httpd 重新加载配置文件(不终止服务)
  systemctl status httpd 查看服务状态

2.5.服务开机启动命令

  systemctl enable httpd 开机自动启动
  systemctl disable httpd 开机不自动启动

3.系统工作命令

3.1.date时间命令

3.1.1.命令解释

  date是用于显示和查看时间与日期的命令。
  语法:date “+指定日期格式”

3.1.2.命令参数

%S:秒(0059%M:分钟(0059%H:小时(0023%I:小时(0012%m:月份(1~12%p:显示出AMPM
%a:缩写的工作日名称(例如:Sun)
%A:完整的工作日名称(例如:Sunday)
%b:缩写的月份名称(例如:Jan)
%B:完整的月份名称(例如:January)
%q:季度(1~4%y:简写年份(例如:20%Y:完整年份(例如:2020%d:本月中的第几天
%j:今年中的第几天
%n:换行符(相当于按下回车键)
%t:跳格(相当于按下Tab键)

3.1.3.案例

  3.1.3.1.查看当前系统时间

[root@localhost ~]# date
Fri Nov  4 17:19:45 CST 2022

  3.1.3.2.按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间

[root@localhost ~]# date "+%Y-%m-%d %H:%M:%S"
2022-11-04 17:20:35

  3.1.3.3.设置当前系统时间为2022年9月17日13点14分

[root@localhost ~]# date -s "20220917 13:14:00"
Sat Sep 17 13:14:00 CST 2022
[root@localhost ~]# date
Sat Sep 17 13:14:03 CST 2022

  3.1.3.4.查看今天是当年的第几天

[root@localhost ~]# date "+%j"
260

3.2.reboot重启命令

3.2.1.命令解释

  reboot是用于重启系统的命令
  语法:[root@localhost ~]# reboot

3.3.ps进程命令

3.3.1.命令解释

  ps命令是用于查看系统中进程的状态。
  语法:[root@localhost ~]# ps “参数”

3.3.2.命令参数

-a:显示所有进程(包括其他用户的进程)
-u:用户以及其他详细信息
-x:显示没有控制终端的进程
3.3.3.进程状态
R(运行):进程正在运行或在运行队列中等待。
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该   状态。
D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。
Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。
T(停止):进程收到停止信号后停止运行。

3.4.top进程管理命令

3.4.1.命令解释

  top命令用于动态地监视进程活动及系统负载等信息。
  语法:[root@localhost ~]# top

3.4.2.内容代表含义

在这里插入图片描述

1行:系统时间、运行时间、登录终端数、系统负载(3个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。其中数据均为CPU数据并以百分比格式显示,例如“99.9 id”意味着有99.9%CPU处理器资源处于空闲。
第4行:物理内存总量、内存空闲量、内存使用量、作为内核缓存的内存量。
第5行:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量。

3.5.nice管理优先级命令

3.5.1.命令解释

  nice是用于调整进程的优先级。
  语法:[root@localhost ~]# nice“数值”“进程名称”

3.5.2.命令参数

-20~19:数字越低,优先级越高

3.6.pidof查询pid值命令

3.6.1.命令解释

  pidof命令用于查询某个指定服务进程的PID号码值。
  语法:[root@localhost ~]# pidof “参数” “进程名称”

3.6.2.案例

  3.6.2.1.查询ssh的pid值

[root@localhost ~]# pidof sshd
2833 1088

3.7.kill终止某个pid进程命令

3.7.1.命令解释

  kill是用于终止某一个指定pid值的服务进程。
  语法:[root@localhost ~]# kill “pid值”

3.7.2.案例

  3.7.2.1.终止某一个进程

[root@localhost ~]# kill 2833

  3.7.2.2.强制终止某一个进程,-9代表最高级别的杀死进程

[root@localhost ~]# kill -9 2833

  3.8.killall 终止某个服务名称所有进程命令

3.8.1.命令解释

  killall命令用于终止某个指定名称的服务所对应的全部进程,由于某些复杂的软件会需要多个进程共同协助,才能够执行,所以若使用kill一个一个pid去终止会比较麻烦,而使用killall就比较方便了。
  语法:[root@localhost ~]# killall “参数” “服务名称”

3.8.2.案例

  3.8.2.1.终止http服务

[root@localhost ~]# pidof httpd
13581 13580 13579 13578 13577 13576
[root@localhost ~]# killall httpd
[root@localhost ~]# pidof httpd
[root@localhost ~]# 

4.系统状态命令

4.1.ifconfig网卡信息命令

4.1.1.命令解释

  ifconfig命令是用于获取网卡配置及网络状态等信息。
  语法:[root@localhost ~]# ifconfig “参数” “网卡名称”

4.1.2.内容代表含义

  网卡名称,inet后面是ip地址,ether后面的物理地址(mac地址),以及rx,tx的接收数据与发送数据报的个数以及累计流量。
在这里插入图片描述

4.2.uname系统信息命令

4.2.1.命令解释

  uname命令是用于查看系统架构及内核版本等信息的命令。
  语法:[root@localhost ~]# uname -a

4.2.2.命令参数

-a:完整的查看当前系统的内核名称,主机名,内核发行版本,节点名等信息。

4.3.uptime负载信息命令

4.3.1.命令解释

  uptime命令用于查看系统的负载信息,它可以显示当前系统的时间,系统已运行时间,启动终端的数量以及平均负载值。
  平均负载值是指系统最近1分钟、5分钟、15分钟内的压力情况,当然负载值越低越好。
  语法:[root@localhost ~]# uptime

4.3.2.案例

  4.3.2.1.显示系统负载信息

[root@localhost ~]# uptime
 18:25:41 up 59 min,  2 users,  load average: 0.02, 0.03, 0.05

4.4.free显示内存使用量

4.4.1.命令解释

  free是用于显示内存使用的情况信息,-h能够更好的显示内存的实时使用量。
  语法:free -h

4.4.2.案例

  4.4.2.1.显示内存使用量

[root@localhost ~]# free -h
         total   used    free    shared   buff/cache   available
Mem:   1.8G    469M   953M   16M     395M        1.2G
Swap:   2.0G    0B      2.0G
默认是以KB为单位,加上-h后更有利于阅读。

4.5.who显示当前登录主机

4.5.1.命令解释

  who可以快速的显示当前所有登陆本机的用户名称以及开启的终端信息,当然如果有远程登录的话,还可以显示远程登录的IP地址。

4.5.2.案例

  4.5.2.1.显示当前登录的主机信息

[root@localhost ~]# who
root     pts/0        2022-12-03 03:16 (192.168.10.1)

4.6.last调取主机被访记录

4.6.1.命令解释

  Linux系统会将登录主机的信息都记录在日志中,而我们去查找的时候有时候比较繁琐,而输入last后就可以直接显示出来。

4.6.2.案例

  4.6.2.1.显示历史登录记录

[root@localhost ~]# last
root  pts/0      192.168.10.1     Sat Dec  3 03:16   still logged in   
reboot  system boot 3.10.0-1160.80.1 Sat Dec  3 03:15 - 03:29  (00:13) 
wtmp begins Tue Aug 23 23:59:39 2022

4.7.ping测试主机连通性

4.7.1.命令解释

  ping可以用于测试主机的连通性。
  语法:ping [参数] 主机地址

4.7.2.命令参数

-c 	总共发送次数
-l 	指定网卡名称
-i 	每次间隔时间(秒)
-W 	最长等待时间(秒)
想必ping都比较了解就不进行案例测试了。

4.8.tracepath显示途径路由信息

4.8.1.命令解释

  tracepath命令用于显示数据包到达目的主机时途中经过的所有路由信息,当两台主机无法互相ping通就需要使用到了。

4.8.2.案例

  4.8.2.1.追踪IP地址为8.8.8.8

[root@localhost ~]# tracepath 8.8.8.8
 1?: [LOCALHOST]                          pmtu 1500
 1:  gateway                               0.304ms 
 1:  gateway                               0.159ms 
 2:  no reply
 3:  no reply

4.9.netstat用于显示网络相关信息

4.9.1.命令解释

  netstat命令用于显示如网络连接、路由表、接口状态等的网络相关信息,英文全称为“network status”。
  语法:netstat [参数]

4.9.2.命令参数

-a 	显示所有连接中的Socket
-p 	显示正在使用的Socket信息
-t 	显示TCP协议的连接状态
-u 	显示UDP协议的连接状态
-n 	使用IP地址,不使用域名
-l 	仅列出正在监听的服务状态
-i 	显示网卡列表信息
-r 	显示路由表信息

4.9.3.案例

  4.9.3.1.使用netstat命令显示详细的网络状况
在这里插入图片描述

  4.9.3.2.使用netstat命令显示网卡列表
在这里插入图片描述

4.10.history显示命令历史

4.10.1.命令解释

  history命令用于显示执行过的命令历史,命令历史记录最多显示1000条,当然也可以自定义/etc/profile文件中的HISTSIZE变量值。
  语法:history [参数]

4.10.2.命令参数

-c 清除命令历史记录

4.10.3.案例

  4.10.3.1.显示历史命令
在这里插入图片描述

  4.10.3.2.清除历史命令记录
在这里插入图片描述

5.文件查找命令

5.1.pwd显示用户当前所处的工作目录

5.1.1.命令解释

  pwd命令用于显示用户当前所处的工作目录。

5.1.2.案例

  5.1.2.1.查看当前工作目录

[root@localhost ~]# pwd
/root

5.2.cd切换工作路径

5.2.1.命令解释

  cd命令用于切换当前的工作路径。
  语法:cd [参数] [目录]

5.2.2.命令参数

cd -    命令返回到上一次所处的目录
cd..    命令进入上级目录
cd~    命令切换到当前用户的家目录

5.2.3.案例

  5.2.3.1.切换至etc下

[root@localhost ~]# cd /etc
[root@localhost etc]# 

  5.2.3.2.切换回家目录

[root@localhost etc]# cd ~
[root@localhost ~]# 

5.3.ls显示目录中的文件信息

5.3.1.命令解释

  ls命令用于显示目录中的文件信息。
  语法:ls [参数] [文件名称]

5.3.2.命令参数

-a参数可以看到全部文件(包括隐藏文件)
-l参数可以查看文件的属性、大小等详细信息
-d参数看目录属性信息

5.3.3.案例

  5.3.3.1.查看全部文件
在这里插入图片描述

  5.3.3.2.查看文件的属性、大小等详细信息
在这里插入图片描述

5.4.find查找文件所对应的位置

5.4.1.命令解释

  find命令用于按照指定条件来查找文件所对应的位置。
  语法:find [查找范围] 寻找条件

5.4.2.命令参数

-name 	    匹配名称
-perm    	匹配权限(mode为完全匹配,-mode为包含即可)
-user    	匹配所有者
-group  	匹配所有组
-mtime -n +n 	 匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n 	 匹配访问文件的时间(-n指n天以内,+n指n天以前)
-ctime -n +n 	 匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
-nouser 	 匹配无所有者的文件
-nogroup 	 匹配无所有组的文件
-newer f1 !f2 	 匹配比文件f1新但比f2旧的文件
-type b/d/c/p/l/f 	 匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size 	        匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-prune 	        忽略某个目录

5.4.3.案例

  5.4.3.1.获取该目录中所有以host开头的文件列表

[root@localhost ~]# find /etc -name "host*" -print
/etc/host.conf
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/selinux/targeted/active/modules/100/hostname
/etc/avahi/hosts
/etc/hostname

  5.4.3.2.搜索权限中包括SUID权限的所有文件,只需使用-4000即可
在这里插入图片描述

5.5.locate按照名称快速搜索文件

5.5.1.命令解释

  locate命令用于按照名称快速搜索文件所对应的位置。
  语法:locate文件名称

5.5.2.案例

  第一次使用locate命令之前,记得先执行updatedb命令来生成索引数据库,然后再进行查找。

[root@localhost ~]# updatedb
[root@localhost ~]# ls -l /var/lib/mlocate/mlocate.db
-rw-r-----. 1 root slocate 3621805 Dec 3 04:19 /var/lib/mlocate/mlocate.db

  5.5.2.1.locate命令搜索出所有包含“whereis”名称的文件所在的位置
在这里插入图片描述

6.文本文件编辑命令

6.1.cat查看纯文本文件

6.1.1.命令解释

  cat命令用于查看纯文本文件,使用查看内容较少的文件。
  语法:cat [参数] 文件名称

6.1.2.命令参数

-n  显示行数

6.1.3.案例

  6.1.3.1.查看某个文件并显示行数
在这里插入图片描述

6.2.more查看纯文本文件

6.2.1.命令解释

  more命令用于查看纯文本文件适用于内容较多的文件。more命令会在最下面使用百分比的形式来提示您已经阅读了多少内容;还可以使用空格键或回车键向下翻页。
  语法:more [参数] 文件名称

6.2.2.案例

  6.2.2.1.查看某个文件
在这里插入图片描述

6.3.head查看纯文本文件的前N行

6.3.1.命令解释

  head命令用于查看纯文本文件的前N行。
  语法:head [参数] 文件名称

6.3.2.案例

  6.3.2.1.显示前十行内容

[root@localhost ~]# head -n 10 anaconda-ks.cfg 
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda

6.4.tail查看纯文本文件的后N行

6.4.1.命令解释

  tail命令用于查看纯文本文件的后N行,当然还可以实时刷新文件最新的内容。
  语法:tail [参数] 文件名称

6.4.2.命令参数

-n 显示最后X行内容
-f 实时刷新最新内容

6.4.3.案例

  6.4.3.1.显示文件后10行

[root@localhost ~]# tail -n 5 anaconda-ks.cfg
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

6.5.tr替换文件内容

6.5.1.命令解释

  tr命令用于替换文本内容中的字符。
  语法:tr [原始字符] [目标字符]

6.5.2.案例

  6.5.2.1.将文件中所有小写替换为大写显示
在这里插入图片描述

6.6.wc统计指定文本文件的行数等

6.6.1.命令解释

  wc命令用于统计指定文本文件的行数、字数或字节数。
  语法:wc [参数] 文件名称

6.6.2.命令参数

-l 	   只显示行数
-w 	只显示单词数
-c 	   只显示字节数

6.6.3.案例

  6.6.3.1.统计某个文件的行数

[root@localhost ~]# wc -l anaconda-ks.cfg 
63 anaconda-ks.cfg

6.7.grep按行提取文本内容

6.7.1.命令解释

  grep命令是用途最广泛的文本搜索匹配工具。
  语法:grep [参数] 文件名称

6.7.2.命令参数

-b 	  将可执行文件(binary)当作文本文件(text)来搜索
-c 	  仅显示找到的行数
-i 	  忽略大小写
-n 	  显示行号
-v 	  反向选择——仅列出没有“关键词”的行。

6.7.3.案例

  6.7.3.1.查找匹配项
  /etc/passwd文件保存着所有的用户信息,而一旦用户的登录终端被设置成/sbin/nologin,则不再允许登录系统,因此可以使用grep命令查找出当前系统中不允许登录系统的所有用户的信息
在这里插入图片描述

6.8.cut按列提取文本内容

6.8.1.命令解释

  cut命令用于按“列”提取文本内容。
  语法:cut [参数] 文件名称

6.8.2.案例

  如果按“列”搜索,不仅要使用-f参数设置需要查看的列数,还需要使用-d参数来设置间隔符号。
  6.8.2.1.提前用户信息

[root@localhost ~]# cut -d : -f 1 /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown

6.9.uniq去除文本中连续的重复行

6.9.1.命令解释

  uniq命令用于去除文本中连续的重复行。
  语法:uniq [参数] 文件名称

6.9.2.案例

  6.9.2.1.去除文件中的重复项

[root@localhost ~]# cat 1.txt 
123456
123456
qwer
qwer
[root@localhost ~]# uniq 1.txt 
123456
qwer

6.10.sort对文本内容进行再排序

6.10.1.命令解释

  sort命令用于对文本内容进行再排序。
  语法:sort [参数] 文件名称

6.10.2.命令参数

-f 	忽略大小写
-b 	忽略缩进与空格
-n 	以数值型排序
-r 	反向排序
-u 	去除重复行
-t 	指定间隔符
-k 	设置字段范围

6.10.3.案例

  6.10.3.1.默认排序

使用命令后会默认按照字母进行排序
root@localhost ~]# sort 1.txt 
123456
123456
aaa
bbbb
gggg
qwer
qwer
rffff

7.文件命令管理命令

7.1.touch创建空白文件

7.1.1.命令解释

  touch命令用于创建空白文件,同时可以设置文件的时间。
  语法:touch [参数] 文件名称

7.1.2.命令参数

-a 	   仅修改“读取时间”(atime)
-m    仅修改“修改时间”(mtime)
-d 	   同时修改atime与mtime

7.1.3.案例

  7.1.3.1.创建一个空白目录

[root@localhost ~]# touch 2.txt
[root@localhost ~]# ls 
2.txt

7.2.mkdir创建空白的目录

7.2.1.命令解释

  mkdir命令用于创建空白的目录。
  语法:mkdir [参数] 目录名称

7.2.2.命令参数

-p 创建父子目录

7.2.3.案例

  7.2.3.1.创建一个空白目录

[root@localhost ~]# mkdir 1
[root@localhost ~]# ls
1

  7.2.3.2.创建一个连续目录

[root@localhost kk]# mkdir -p 1/2
[root@localhost kk]# ls
1
[root@localhost kk]# cd 1
[root@localhost kk]# ls
2

7.3.cp复制文件或目录

7.3.1.命令解释

  cp命令用于复制文件或目录。
  在使用cp命令的时需要注意一下三种情况。
  如果目标文件是目录,则会把源文件复制到该目录中;
  如果目标文件也是普通文件,则会询问是否要覆盖它;
  如果目标文件不存在,则执行正常的复制操作。
  语法:cp [参数] 源文件名称 目标文件名称

7.3.2.命令参数

-p 	保留原始文件的属性
-d 	若对象为“链接文件”,则保留该“链接文件”的属性
-r 	递归持续复制(用于目录)
-i 	若目标文件存在则询问是否覆盖
-a 	相当于-pdr(p、d、r为上述参数)

7.3.3.案例

  7.3.3.1.复制一份文件作为备份文件

[root@localhost ~]# cp 2.txt 3.txt
[root@localhost ~]# ls
2.txt 3.txt

  7.3.3.2.复制一个目录

[root@localhost ~]# cp -r 1 3
[root@localhost ~]# ls
1 3

7.4.mv剪切或重命名文件

7.4.1.命令解释

  剪切操作不同于复制操作,因为它默认会把源文件删除,只保留剪切后的文件。如果在同一个目录中将某个文件剪切后还粘贴到当前目录下。
  语法:mv [参数] 源文件名称 目标文件名称

7.4.2.案例

  7.4.2.1.对文件进行改名

[root@localhost 1]# mv 1.txt 3.txt
[root@localhost 1]# ls
3.txt

  7.4.2.2.对目录进行改名

[root@localhost 1]# mv 12 34
[root@localhost 1]# ls
34 

7.5.rm删除文件或目录

7.5.1.命令解释

  rm命令用于删除文件或目录。
  语法:rm [参数] 文件 名称

7.5.2.命令参数

-f 	强制执行
-i 	删除前询问
-r 	删除目录
-v 	显示过程

7.5.3.案例

  7.5.3.1.删除一个文件

[root@localhost ~]# rm 2.txt 
rm: remove regular empty file ‘2.txt’? y

  7.5.3.2.强制删除一个文件

[root@localhost ~]# rm -f 3.txt 

7.6.file查看文件的类型

7.6.1.命令解释

  file命令用于查看文件的类型。
  语法:file文件名称

7.6.2.案例

  7.6.2.1.查看一个文件的类型

[root@localhost ~]# file anaconda-ks.cfg 
anaconda-ks.cfg: ASCII text

7.7.tar对文件进行打包压缩或解压

7.7.1.命令解释

  tar命令用于对文件进行打包压缩或解压。其中-c参数用于创建压缩文件,-x参数用于解压文件,因此这两个参数不能同时使用。其次,-z参数指定使用gzip格式来压缩或解压文件,-j参数指定使用bzip2格式来压缩或解压文件。
  语法:tar参数 文件名称

7.7.2.命令参数

-c 	创建压缩文件
-x 	解开压缩文件
-t 	查看压缩包内有哪些文件
-z 	用Gzip压缩或解压
-j 	用bzip2压缩或解压
-v 	显示压缩或解压的过程
-f 	目标文件名
-p 	保留原始的权限与属性
-P 	使用绝对路径来压缩
-C 	指定解压到的目录

7.7.3.案例

  7.7.3.1.将指定文件进行打包压缩

[root@localhost ~]# tar czvf etc.tar.gz /etc
tar: Removing leading `/' from member names
/etc/
/etc/fstab
/etc/crypttab
/etc/mtab
/etc/fonts/
/etc/fonts/conf.d/

  7.7.3.2.将指定文件进行解压

[root@localhost ~]# tar xzvf etc.tar.gz -C /root/etc
etc/
etc/fstab
etc/crypttab
etc/mtab
etc/fonts/
etc/fonts/conf.d/
etc/fonts/conf.d/65-0-madan.conf

8.vim编辑器

8.1.vim编辑器模式

  Vim编辑器中设置了3种模式—命令模式、末行模式和编辑模式,每种模式分别又支持多种不同的命令快捷键。
  命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
  输入模式:正常的文本录入。
  末行模式:保存或退出文档,以及设置编辑环境。
在这里插入图片描述

  在每次运行Vim编辑器时,默认进入命令模式,此时需要先切换到输入模式后再进行文档编写工作。而每次在编写完文档后需要先返回命令模式,然后再进入末行模式,执行文档的保存或退出操作。

8.2.vim编辑器中常用命令

8.2.1.命令模式常用命令

dd 	删除(剪切)光标所在整行
5dd 	删除(剪切)从光标处开始的5行
yy 	    复制光标所在整行
5yy 	复制从光标处开始的5行
n 	   显示搜索命令定位到的下一个字符串
N 	   显示搜索命令定位到的上一个字符串
u 	   撤销上一步的操作
p 	   将之前删除(dd)或复制(yy)过的数据粘贴到光标后面

8.2.2.末行模式常用命令

:w 	    保存
:q 	    退出
:q! 	强制退出(放弃对文档的修改内容)
:wq! 	强制保存退出
:set nu 	显示行号
:set nonu 	不显示行号
:命令 	  执行该命令
:整数 	  跳转到该行
:s/one/two 	将当前光标所在行的第一个one替换成two
:s/one/two/g 	将当前光标所在行的所有one替换成two
:%s/one/two/g 	将全文中的所有one替换成two
?字符串 	在文本中从下至上搜索该字符串
/字符串 	在文本中从上至下搜索该字符串

8.2.3.vim操作步骤

  8.2.3.1.使用vim打开一个文件

[root@localhost ~]# vim 2.txt

  8.2.3.2.进入输入模式
  在我们进入2.txt文档的时候我们默认是命令模式,我们需要输入i、o、a来进入输入模式,当然我通常需要使用i来进入输入模式。可以看到图片的左下角有提示已经进入输入模式。
在这里插入图片描述

  8.2.3.3.输入试试
  在我们进入输入模式后,可以尝试随便输入点什么内容。
在这里插入图片描述

  8.2.3.4.退出并保存文件
  在我们输入完成后可以使用ESC键退出输入模式进入末行模式,然后在输入:wq!进行文件的保存并退出。当然:wq!是强制退出并保存的意思。通常来说使用:wq就欧克了。
在这里插入图片描述

  8.2.3.5.查看保存的文件

在这里插入图片描述

9.管道符、重定向

9.1.输入输出重定向

9.1.1.内容解释

  所谓的输入输出重定向就是,输入重定向是指把文件导入到命令中,而输出重定向则是指把原本要输出到屏幕的数据信息写入到指定文件中。

9.1.2.输入重定向

  输入重定向这里就不做案例演示了,由于在日常使用中,可以说是基本上很少用到,有兴趣的可以去自己操作一下。

命令 < 文件 	       将文件作为命令的标准输入
命令 << 分界符 	    从标准输入中读入,直到遇见分界符才停止
命令 < 文件1 > 文件2 	将文件1作为命令的标准输入并将标准输出到文件2

9.1.3.输出重定向

命令 > 文件 	   将标准输出重定向到一个文件中(清空原有文件的数据)
命令 2> 文件 	   将错误输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件    	将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2>> 文件 	将错误输出重定向到一个文件中(追加到原有内容的后面)
命令 >> 文件 2>&1
或
命令 &>> 文件 	将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)

9.1.4.案例

  9.1.4.1.将文件的输出信息输出到文件中
在这里插入图片描述

  9.1.4.2.将输出的内容追加到文件中
在这里插入图片描述

9.2.管道符

9.2.1.内容解释

  管道符就是“|”,意思也就是把前一个命令原本要输出到屏幕的信息当作后一个命令的标准输入。
  语法:命令A | 命令B

9.2.2.案例

  9.2.2.1.查找被限制登录的用户
  这里需要使用到grep /sbin/nologin /etc/passwd来查找那些用户被显示,然后我们使用wc -l进行统计一下数量。

[root@localhost ~]# grep /sbin/nologin /etc/passwd | wc -l
39

  9.2.2.2.查看etc目录并能够进行翻页查看
在这里插入图片描述

9.3.命令通配符

9.3.1.内容解释

  想必在日常对linux运维过程中,可能会存在当查看linux中某给文件的时候可能会忘记文件名字叫什么,只能想起部分,那么这里就可以使用到通配符进行操作。

9.3.2.通配符

* 	    任意字符
? 	    单个任意字符
[a-z] 	单个小写字母
[A-Z] 	单个大写字母
[a-Z] 	单个字母
[0-9] 	单个数字
[[:alpha:]] 	任意字母
[[:upper:]] 	任意大写字母
[[:lower:]] 	任意小写字母
[[:digit:]] 	所有数字
[[:alnum:]] 	任意字母加数字
[[:punct:]] 	标点符号

9.3.3.案例

  9.3.3.1.匹配dev下的所有以sda开头的文件

[root@localhost ~]# ls -l /dev/sda*
brw-rw----. 1 root disk 8, 0 Dec  3 03:15 /dev/sda
brw-rw----. 1 root disk 8, 1 Dec  3 03:15 /dev/sda1
brw-rw----. 1 root disk 8, 2 Dec  3 03:15 /dev/sda2

#9.3.3.2.匹配dev下面以sda结尾是135的文件

[root@localhost ~]# ls -l /dev/sda[135]
brw-rw----. 1 root disk 8, 1 Dec  3 03:15 /dev/sda1

  9.3.3.3.匹配etc下以.conf结尾的文件
  通配符不单单可以在结尾使用也可以在开头使用。
在这里插入图片描述

10.用户管理

10.1.id显示用户的详细信息

10.1.1.命令解释

  id命令用于显示用户的详细信息。
  语法:id用户名

10.1.2.案例

  10.1.2.1.查看root用户详细信息

[root@localhost ~]# id root
uid=0(root) gid=0(root) groups=0(root)

10.2.useradd创建新的用户账户

10.2.1.命令解释

  可以使用useradd命令创建用户账户。使用该命令创建用户账户时,默认的用户家目录会被存放在/home目录中,默认的Shell解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组

10.2.2.命令参数

-d 	指定用户的家目录(默认为/home/username)
-e 	账户的到期时间,格式为YYYY-MM-DD.
-u 	指定该用户的默认UID
-g 	指定一个初始的用户基本组(必须已存在)
-G 	指定一个或多个扩展用户组
-N 	不创建与用户同名的基本用户组
-s 	指定该用户的默认Shell解释器

10.2.3.案例

  10.2.3.1.创建一个用户为linux

[root@localhost ~]# useradd linux

10.3.groupadd创建新的用户组

10.3.1.命令解释

  为了能够更加高效地指派系统中各个用户的权限,在工作中常常会把几个用户加入到同一个组里面,这样便可以针对一类用户统一安排权限。

10.3.2.案例

  10.3.2.1.创建一个linux2的用户组

[root@localhost ~]# groupadd linux2

10.4.usermod修改用户的属性

10.4.1.命令解释

  usermod命令修改已经创建的用户信息,比如用户的UID、基本/扩展用户组、默认终端等。

10.4.2.命令参数

-c 	填写用户账户的备注信息
-d -m 	参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去
-e 	账户的到期时间,格式为YYYY-MM-DD
-g 	变更所属用户组
-G 	变更扩展用户组
-L 	锁定用户禁止其登录系统
-U 	解锁用户,允许其登录系统
-s 	变更默认终端
-u 	修改用户的UID

10.4.3.案例

  10.4.3.1.将linux用户加入root用户组中

[root@localhost ~]# usermod -G root linux
[root@localhost ~]# id linux
uid=1001(linux) gid=1001(linux) groups=1001(linux),0(root)

  10.4.3.2.修改linux用户的uid号

[root@localhost ~]# usermod -u 8888 linux
[root@localhost ~]# id linux
uid=8888(linux) gid=1001(linux) groups=1001(linux),0(root)

10.5.passwd修改用户的密码

10.5.1.命令解释

  普通用户只能使用passwd命令修改自己的系统密码,而root管理员则有权限修改其他所有人的密码,并且root用户修改他人的密码的时候不需要验证旧密码。

10.5.2.命令参数

-l 	锁定用户,禁止其登录
-u 	解除锁定,允许用户登录
--stdin 	允许通过标准输入修改用户密码,如echo "NewPassWord" | passwd --stdin Username
-d 	使该用户可用空密码登录系统
-e 	强制用户在下次登录时修改密码
-S 	显示用户的密码是否被锁定,以及密码所采用的加密算法名称

10.5.3.案例

  10.5.3.1.修改linux用户的密码

[root@localhost ~]# passwd linux
Changing password for user linux.
New password:          #输入密码
Retype new password:    #再次输入密码
passwd: all authentication tokens updated successfully.

  10.5.3.2.禁止linux用户登录

[root@localhost ~]# passwd -l linux
Locking password for user linux.
passwd: Success
[root@localhost ~]# passwd -S linux
linux LK 2022-12-03 0 99999 7 -1 (Password locked.)

10.6.userdel删除已有的用户账户

10.6.1.命令解释

  如果确认某位用户后续不会再登录到系统中,则可以通过userdel命令删除该用户的所有信息。

10.6.2.命令参数

-f 	强制删除用户
-r 	同时删除用户及用户家目录

10.6.3.案例

  10.6.3.1.删除linux用户

[root@localhost ~]# userdel linux

10.7.groupdel删除用户组

10.7.1.命令解释

  如果要删除一个已有的用户组,使用groupdel命令
  语法:groupdel 用户组

10.7.2.案例

  10.7.2.1.删除某个用户组

[root@localhost ~]# groupdel linux2

10.8.groupmod修改用户组

10.8.1.命令解释

  修改用户组的属性使用groupmod命令。
  语法:groupmod 选项 用户组

10.8.2.命令参数

-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字

11.文件权限管理

11.1.文件权限介绍

  在linux中每个文件都有所属组和所有者,并且规定了文件的所有者、所属组以及其他人对文件所拥有的可读(r)、可写(w)、可执行(x)等权限。
  对于目录文件来说,“可读”表示能够读取目录内的文件列表;“可写”表示能够在目录内新增、删除、重命名文件;而“可执行”则表示能够进入该目录。
  参考连接:菜鸟教程linux

11.2.文件权限字符与数字介绍

  文件的可读、可写、可执行权限的英文全称分别是read、write、execute,可以简写为r、w、x,亦可分别用数字4、2、1来表示。
在这里插入图片描述

11.3.文件权限数字计算

  文件权限计算是基于rwx来进行计算的,例如一个文件的权限是7则为可读可写可执行,相当于是4+2+1。若一个文件是权限是6则是可读可写不可执行,相当于是4+2。一个文件权限可分为所属人所属组其他人,可以所属组可读写,其他人可读,那么这个文件权限就是rwxrw-r–,数字则为764。但764不能相加哦,而减号为占位符,也就是说rw-就是420。
在这里插入图片描述在这里插入图片描述

11.4.chmod控制用户对文件的权限的命令

11.4.1.命令解释

  chmod命令是控制用户对文件的权限的命令。
  语法:chmod [参数] [权限] 文件名

11.4.2.命令参数

u 表示所属人,g 表示所属组,o 表示其他人,a 表示前三者。
+ 	为指定的用户类型增加权限
- 	去除指定用户类型的权限
= 	设置指定用户权限的设置,即将用户类型的所有权限重新设置 
r 	读 	设置为可读权限
w 	写 	设置为可写权限
x 	执行权限 	设置为可执行权限
X 	特殊执行权限 	只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行
s 	setuid/gid 	当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限
t 	粘贴位 	设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位 

  数字表示:
在这里插入图片描述

11.4.3.案例

  11.4.3.1.将3.txt文档设为所有人皆可读取
  1)第一种方式

[root@localhost ~]# chmod ugo+r 3.txt 

  2)第二种方式

[root@localhost ~]# chmod a+r 3.txt 

  11.4.3.2.将3.txt文件拥有者,与其所属组可写入,但其他以外的人则不可写入

[root@localhost ~]# chmod ug+w,o-w 3.txt 
[root@localhost ~]# ls -l 3.txt 
-rw-rw-r--. 1 root root 1011 Dec  3 12:35 3.txt

  11.4.3.3.将3.txt所属者、所属组以及其他人拥有读写执行权限

[root@localhost ~]# chmod 777 3.txt 
[root@localhost ~]# ls -l 3.txt 
-rwxrwxrwx. 1 root root 1011 Dec  3 12:35 3.txt

12.磁盘管理

12.1.df检查文件系统的磁盘空间占用情况

12.1.1.命令解释

  df命令检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
  语法:df [-ahikHTm] [目录或文件名]

12.1.2.命令参数

-a  列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k  以 KBytes 的容量显示各文件系统;
-m  以 MBytes 的容量显示各文件系统;
-h  以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-HM=1000K 取代 M=1024K 的进位方式;
-T  显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i  不用硬盘容量,而以 inode 的数量来显示

12.1.3.案例

  12.1.3.1.将系统内所有的文件系统列出来

[root@localhost ~]# df
Filesystem       1K-blocks    Used Available Use% Mounted on
devtmpfs          914424       0    914424   0% /dev
tmpfs             931396       0    931396   0% /dev/shm
tmpfs             931396   10456    920940   2% /run
tmpfs             931396       0    931396   0% /sys/fs/cgroup
/dev/mapper/centos-root  17811456 5496720  12314736  31% /
/dev/sda1          1038336  244816    793520  24% /boot
tmpfs              186280      12    186268   1% /run/user/42
tmpfs            186280       0    186280   0% /run/user/0

  12.1.3.2.将容量结果以易读的容量格式显示出来

[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 893M     0  893M   0% /dev
tmpfs                    910M     0  910M   0% /dev/shm
tmpfs                    910M   11M  900M   2% /run
tmpfs                    910M     0  910M   0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  5.3G   12G  31% /
/dev/sda1               1014M  240M  775M  24% /boot
tmpfs                    182M   12K  182M   1% /run/user/42
tmpfs                    182M     0  182M   0% /run/user/0

  12.1.3.3.将 /etc 底下的可用的磁盘容量以易读的容量格式显示

[root@localhost ~]# df -h /etc
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   17G  5.3G   12G  31% /

12.2.du文件和目录磁盘使用的空间的查看

12.2.1.命令解释

  du 命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

12.2.2.命令参数

-a  列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h  以人们较易读的容量格式 (G/M) 显示;
-s  列出总量而已,而不列出每个各别的目录占用容量;
-S  不包括子目录下的总计,与 -s 有点差别。
-k  以 KBytes 列出容量显示;
-m  以 MBytes 列出容量显示

12.2.3.案例

  12.2.3.1.列出当前目录下的所有文件夹容量

[root@localhost ~]#du
136	./vulhub/vulhub/yapi/mongodb-inj
132	./vulhub/vulhub/yapi/unacc
268	./vulhub/vulhub/yapi
3012	./vulhub/vulhub/zabbix/CVE-2016-10134/database
3136	./vulhub/vulhub/zabbix/CVE-2016-10134

12.3.sblk查看已挂载的磁盘的空间使用情况

12.3.1.命令解释

  如果系统中硬盘特别多,分区特别多,我们都不知道它们是否有被使用,又或者是做了些什么。此时,就可以用lsblk命令以树状图的形式列举一下了。

12.3.2.案例

  12.3.2.1.查看挂载磁盘

[root@localhost ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1  4.4G  0 rom  

12.4.fdisk 磁盘分区表操作工具。

12.4.1.命令解释

  fdisk主要是用于磁盘分区操作工具,具体的磁盘管理原理还请查看相关的的文档书籍或者前言中提到的书籍。
  参数链接:磁盘管理原理
  语法:fdisk [-l] 磁盘名称

12.4.2.命令参数

-l  输出后面接的装置所有的分区内容。若仅有 fdisk -l 时, 则系统将会把整个系统内能够搜寻到的装置的分区均列出来。

  12.4.2.1.fdisk中命令参数

m 	查看全部可用的参数
n 	添加新的分区
d 	删除某个分区信息
l 	列出所有可用的分区类型
t 	改变某个分区的类型
p 	查看分区表信息
w 	保存并退出
q 	不保存直接退出

12.4.3.案例

  12.4.3.1.列出所有分区信息
在这里插入图片描述

  12.4.3.2.分区实战
  1)提前在虚拟机上安装一块硬盘,至于怎么添加和创建的时候差不多。可以看到我这边已经有一个sdb硬盘了。
在这里插入图片描述

  2)接下来就对这快硬盘进行操作,在看到提示信息后输入参数p来查看硬盘设备内已有的分区信息,其中包括了硬盘的容量大小、扇区个数等信息。在这里插入图片描述

  3)输入参数n尝试添加新的分区。系统会要求用户是选择继续输入参数p来创建主分区,还是输入参数e来创建扩展分区。这里输入参数p来创建一个主分区。
在这里插入图片描述

  4)在确认创建一个主分区后,系统要求用户先输入主分区的编号。在前文得知,主分区的编号范围是1~4,因此这里输入默认的1就可以了。接下来系统会提示定义起始的扇区位置,这不需要改动,敲击回车键保留默认设置即可,系统会自动计算出最靠前的空闲扇区的位置。最后,系统会要求定义分区的结束扇区位置,这其实就是要去定义整个分区的大小是多少。我们不用去计算扇区的个数,只需要输入+2G即可创建出一个容量为2GB的硬盘分区。
在这里插入图片描述

  5)再次使用参数p来查看硬盘设备中的分区信息。果然就能看到一个名称为/dev/sdb1、起始扇区位置为2048、结束扇区位置为4196351的主分区了。这时千万不要直接关闭窗口,而应该敲击参数w后按回车键,这样分区信息才是真正地写入成功啦。
在这里插入图片描述

  6)最后我们通过lsblk看一下这块添加的硬盘。

[root@localhost ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    5G  0 disk 
└─sdb1            8:17   0    2G  0 part 
sr0              11:0    1  4.4G  0 rom  

12.5.mkswap新设备进行交换分区格式化

12.5.1.命令解释

  mkswap命令用于对新设备进行交换分区格式化。
  语法:mkswap设备名称

12.5.2.案例

  12.5.2.1.对新的交换分区进行格式化

[root@localhost ~]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 2 GiB (2086912 bytes)
no label, UUID=45a4047c-49bf-4c88-9b99-f6ac93908485

12.6.swapon激活新的交换分区设备

12.6.1.命令解释

  swapon命令用于激活新的交换分区设备。
  语法:swapon设备名称

12.6.2.案例

  12.6.2.1.对新的交换分区进行激活

[root@localhost ~]# swapon /dev/sdb2

12.7.交换分区

12.7.1.命令解释

  交换(SWAP)分区是一种通过在硬盘中预先划分一定的空间,然后把内存中暂时不常用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术,其设计目的是为了解决真实物理内存不足的问题。

12.7.2.案例

  12.7.2.1.添加交换分区实战
  1)交换分区的创建过程与前文讲到的挂载并使用存储设备的过程非常相似,在生产环境中,交换分区的大小一般为真实物理内存的1.5~2倍,这里就分配2个G。
在这里插入图片描述

  2)通过上面我们就获得一个2个g的新分区然后尝试修改硬盘的标识码,这里将其改成82(Linux swap)以方便以后知道它的作用。
在这里插入图片描述

  3)到这里就完成了,这里我们保存退出。
在这里插入图片描述

  4)对交换分区进行格式化

[root@localhost ~]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 2 GiB (2086912 bytes)
no label, UUID=45a4047c-49bf-4c88-9b99-f6ac93908485

  5)激活新的交换分区设备

[root@localhost ~]# swapon /dev/sdb2

12.8.mkfs磁盘格式

12.8.1.命令解释

  磁盘分割完毕后自然就是要进行文件系统的格式化,格式化的命令非常的简单。
  语法:mkfs [-t 文件系统格式] 磁盘文件名

12.8.2.命令参数

-t :可以接文件系统格式,例如 ext3, ext2, vfat 等(系统有支持才会生效)

12.8.3.案例

  12.8.3.1.查看 mkfs 支持的文件格式

[root@localhost ~]# mkfs
mkfs         mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs    mkfs.btrfs   mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat  

  12.8.3.2.将分区 /dev/sdb1格式化为xfs文件系统

[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1         isize=512    agcount=4, agsize=131072 blks
         =                 sectsz=512   attr=2, projid32bit=1
         =                 crc=1        finobt=0, sparse=0
data     =                 bsize=4096   blocks=524288, imaxpct=25
         =                 sunit=0      swidth=0 blks
naming   =version 2         bsize=4096   ascii-ci=0 ftype=1
log      =internal log        bsize=4096   blocks=2560, version=2
         =                 sectsz=512   sunit=0 blks, lazy-count=1
realtime =none              extsz=4096   blocks=0, rtextents=0

12.9.mount磁盘挂载(临时挂载)

12.9.1.命令解释

  挂载是在使用硬件设备前所执行的最后一步操作。同时挂载也分临时挂载和永久挂载。
  语法:mount文件系统 挂载目录

12.9.2.命令参数

-a 	挂载所有在/etc/fstab中定义的文件系统
-t 	指定文件系统的类型

12.9.3.案例

  12.9.3.1.将/dev/sdb挂在在1目录下(临时挂载)

[root@localhost ~]# mount /dev/sdb1 1

12.10.磁盘挂载永久挂载

12.10.1.内容解释

  虽然按照上面的方法执行mount命令后就能立即使用文件系统了,但系统在重启后挂载就会失效,也就是说需要每次开机后都手动挂载一下。这肯定不是我们想要的效果,如果想让硬件设备和目录永久地进行自动关联,将写入到/etc/fstab文件中。这个文件中包含着挂载所需的诸多信息项目,一旦配置好之后就能一劳永逸了。

12.10.2.命令参数

设备文件 	一般为设备的路径+设备名称,也可以写唯一识别码(UUID,Universally Unique Identifier)
挂载目录 	指定要挂载到的目录,需在挂载前创建好
格式类型 	指定文件系统的格式,比如Ext3、Ext4、XFSSWAP、iso9660(此为光盘设备)等
权限选项 	若设置为defaults,则默认权限为:rw, suid, dev, exec, auto, nouser, async
是否备份 	若为1则开机后使用dump进行磁盘备份,为0则不备份
是否自检 	若为1则开机后自动进行磁盘自检,为0则不自检

12.10.3.案例

  12.10.3.1.将/dev/sdb挂在在1目录下(永久挂载)

[root@localhost ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Aug 23 23:50:40 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /           xfs     defaults        0 0
UUID=8163a1ca-5544-4e49-b920-fb80efceb109 /boot         xfs     defaults        0 0
/dev/mapper/centos-swap swap     swap    defaults        0 0
/dev/sdb1 /1 xfs defaults 0 0

13.yum软件包管理器

13.1.命令解释

  yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。
  基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
  语法:yum [options] [command] [package …]

13.2.命令参数

options  可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 "yes"),-q(不显示安装的过程)等等 
command  要进行的操作
package  安装的包名

13.3.yum常用命令

列出所有可更新的软件清单命令:yum check-update
更新所有软件命令:yum update
仅安装指定的软件命令:yum install <package_name>
仅更新指定的软件命令:yum update <package_name>
列出所有可安裝的软件清单命令:yum list
删除软件包命令:yum remove <package_name>
查找软件包命令:yum search <keyword>
清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/57883.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ESP-01S使用AT指令连接阿里云

这次分享下ESP8266-01S使用AT指令连接阿里云&#xff0c;为了后面stm32--esp-01s-阿里云&#xff08;MQTT&#xff09;做铺垫 目录 步骤&#xff1a; 1.烧录阿里云固件 首先我们打开->安信可官网下载阿里云的固件&#xff0c;如图 1.1串口助手与esp-01s接线说明 注&am…

C语言——VS2019实用调试技巧

前言 要想成为一个合格的程序员&#xff0c;不仅仅要会写代码&#xff0c;更要会调试代码。咔咔一通敲代码&#xff0c;敲出了BUG&#xff0c;这时就分两种程序员&#xff0c;一种是质疑编译器的程序员&#xff0c;“什么&#xff1f;我写出了BUG&#xff0c;是不是机器出了问…

什么是混淆矩阵精度、召回率、准确性、F1 分数、FPR、FNR、TPR、TNR?

在你的数据科学生涯的开始,混淆矩阵会非常混乱,我们会有很多问题,比如什么时候使用精度?什么时候使用召回?在哪些情况下可以使用精度?因此,我将尝试在本博客中回答这些问题。 什么是混淆矩阵? 混淆矩阵是一种将预测结果和实际值以矩阵形式汇总的方法,用来衡量分类问题…

带头双向循环链表的实现

目录前言节点声明链表的初始化尾插打印链表头插尾删头删查找节点指定位置插入指定位置删除链表销毁前言 之前讲过单链表的实现&#xff0c;在实现的过程中&#xff0c;我们会发现每次删除或者在前面插入节点的时候&#xff0c;都要提前保存上一个节点的地址。这样做十分麻烦&a…

大一新生HTML期末作业个人介绍博客 使用html+css+javascript+jquery技术制作网页,含有动画,hover效果,含有表格布局

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

RV1126/RV1109 IPC板 + RK3568+鸿蒙AI视频解决方案

近年来&#xff0c;云终端产品在办公、教育、工控等行业被广泛应用&#xff0c;其具有实用性强、运维量小、数据存储更安全等特点&#xff0c;深受市场青睐。而面对复杂光照环境、人流与车流、多变人体动作等复杂场景&#xff0c;成像质量和画面效果以及细节呈现能力&#xff0…

Ansible自动化运维工具之playbook剧本编写(上)

内容预知 1.playbook的相关知识 1.1 playbook 的简介 1.2 playbook的 各部分组成 2. 基础的playbook剧本编写实例 实例1&#xff1a;playbook编写 apache的yum安装部署剧本 实例2&#xff1a;playbook编写nginx 的yum安装并且能修改其监听端口的剧本 3. playbook的定义、引…

网站如何快速变成灰色?,几行代码就搞定了!

当大家看到全站的内容都变成了灰色&#xff0c;包括按钮、图片等等。这时候我们可能会好奇这是怎么做到的呢&#xff1f;有人会以为所有的内容都统一换了一个 CSS 样式&#xff0c;图片也全换成灰色的了&#xff0c;按钮等样式也统一换成了灰色样式。但你想想这个成本也太高了&…

ThreadLocal笔记

并发的场景中&#xff0c;如果有多个线程同时修改公共变量&#xff0c;可能会出现线程安全问题&#xff0c;即该变量最终结果可能出现异常。 如果使用锁来保证资源隔离&#xff0c;会存在大量锁等待&#xff0c;会让响应时间延长很多。 ThreadLocal的核心思想是&#xff1a;共享…

云服务器centos8搭建网站 apache+php+mysql

由于对数据库容量要求比较大&#xff0c;年费用300左右的普通虚拟主机只能提供500M-1G的数据库&#xff0c;不能满足要求&#xff0c;故寻找到同样费用的云服务器单核、1G内存、系统盘50G&#xff0c;缺点是只提供基本系统centos&#xff0c;其他要自己搭建&#xff0c;经过一周…

05_openstack之Neutron网络管理

目录 一、环境准备 二、通过Horizon设置外部网络 1、创建外网网络 2、创建内网网络 3、创建路由 一、环境准备 部署openstack私有云环境&#xff1a;02_openstack私有云部署_桂安俊kylinOS的博客-CSDN博客 创建项目和用户&#xff1a;03_openstack之项目及用户管理_桂安…

fastTEXT论文解读并附实例代码

上一篇博文是入门使用级别&#xff0c;但对于面试来说则不够&#xff0c;毕竟领导一问三不知必定over&#xff0c;其基本原理还是要搞清楚&#xff0c;因而有此博文。paper在此 0&#xff0c;绪论 考虑紧致特征以减少存储空间&#xff0c;提出在PQ&#xff08; product quant…

三、CANdelaStudio入门-视图类型(View type)

本专栏将由浅入深的展开诊断实际开发与测试的数据库编辑,包含大量实际开发过程中的步骤、使用技巧与少量对Autosar标准的解读。希望能对大家有所帮助,与大家共同成长,早日成为一名车载诊断、通信全栈工程师。 本文介绍CANdelaStudio的各个视图类型:Standard View、Expert V…

Jmeter的使用教程(安装)

前言&#xff1a;之前在工作中未接触过Jmeter&#xff0c;只是知道这个Java语言开发的工具主要是测试接口的&#xff0c;还能做一些性能和压力的测试、并发什么的。目前市面上的有postman、apifox&#xff0c;request、swagger。 一、下载&#xff1a; 1、可以直接到官网下载&a…

(Cascade extended state observer)级联ADRC的simulink仿真和程序---送给中国研究学者的精华版

在这里先声明一下&#xff0c;级联CESO由美国学者Rafal Madonski的论文 《Cascade extended state observer for active disturbance rejection control applications under measurement noise》提出&#xff0c;本人只是将他给的模型给中国学者研究&#xff0c; 模型适用于各…

做了几年“斜杠青年”,我在ZStack立志做国产云计算的研发

在浅黑科技《ZStack&#xff1a;这群做云的人有点“轴”》一文中&#xff0c;作者史中提到&#xff0c;这是一篇国产云计算佼佼者ZStack的创业史&#xff0c;文中记录了因为热爱而聚集起来的最早一批ZStacker&#xff0c;他们生活没有退路&#xff0c;但热爱未有止息。 实际上…

概率论与数理统计_第1章_几何概型

1 定义 若一个试验具有下列两个特征&#xff1a; &#xff08;1&#xff09;试验的所有可能结果是无限多个&#xff0c; 且全体结果可以用一个有度量的几何区域 Ω 来表示&#xff1b; &#xff08;2&#xff09;每个可能结果 都相同概率可能发生&#xff0c; 则该试验称为几何…

Pytorch:Torch数据类型学习整理与记录

文章目录前言一、Tensor数据类型简介Tensor数据类型是什么?Tensor数据类型有哪些指定调用的API生成相关数据类型dtype属性指定Tensor内置的简单数据类型二、Tensor数据类型的基本使用Tensor初始化基于list列表和nparrayTensor相关API基于指定Tensor类型进行初始化基于Randn生成…

postgres源码解析40 表创建执行全流程梳理--4

本文讲解非系统表的创建逻辑&#xff08;[<fontcolor0000dd>普通表和索引表]&#xff09;&#xff0c;其入口函数为heap_create&#xff0c;内部公共接口函数为RelationBuildLocalRelation和RelationCreateStorage相关知识回顾见&#xff1a; postgres源码解析38 表创建执…

Mac M1使用UTM安装centos7 x86_64虚拟机

一、环境说明 1. 宿主机环境 macbook m1 pro 16G 2. UTM版本 UTM是基于QEMU的系统模拟器和虚拟机主机&#xff0c;适用于iOS和macOS。 UTM is a full featured system emulator and virtual machine host for iOS and macOS. It is based off of QEMU. 最新版下载地址&…