6.3 命令行的通配符
现象:
我们有时候也会遇到明明一 个文件的名称就在嘴边但就是想不起来的情况。如果就记得一个文件的开头几个字母,想遍 历查找出所有以这个关键词开头的文件,该怎么操作呢?
通配符就是通用的匹配信息的符号,比如星号(*)代 表匹配零个或多个字符,问号(?)代表匹配单个字符,中括号内加上数字[0-9]代表匹配 0~9 之间的单个数字的字符,而中括号内加上字母[abc]则是代表匹配 a、b、c 三个字符中的任意 一个字符。
示例:查看 dev目录下的以sda开头的文件
6.4 重要的环境变量
在Linux系统中,环境变量按照其作用范围不同大致可以分为系统级环境变量和用户级环境变量。
系统级环境变量:每一个登录到系统的用户都能够读取到系统级的环境变量 用户级环境变量:每一个登录到系统的用户只能够读取属于自己的用户级的环境变量
自然而然地,环境变量的配置文件也相应的被分成了系统级和用户级两种。
系统级
/etc/profile
在系统启动后第一个用户登录时运行,并从/etc/profile.d目录的配置文件中搜集shell的设置,使用该文件配置的环境变量将应用于登录到系统的每一个用户。
提示:
在Linux系统中,使用以下命令可以使配置文件立刻生效。
source /etc/profile echo $PATH
用户级
~/.profile(推荐首选)
当用户登录时执行,每个用户都可以使用该文件来配置专属于自己使用的shell信息。
七、Linux磁盘管理
分区的方式(了解)
- MBR分区表:每块硬盘最大支持2.1TB硬盘,每块硬盘最多支持4个分区。
- GPT分区表(全局唯一标识分区):支持9.4ZB硬盘,理论上支持分区数没有限制,但Windows限制128个主分区。
7.1 Linux分区原理
Linux的文件系统是树形的,安装的系统必须是在 / 目录下,因为 / 目录下挂载了一个主分区。/目录是树形的根,其他所有目录都是他的子节点。win系统中盘符和分区挂载,linux中文件夹和分区挂载
lsblk命令
lsblk命令来自于英文词组”list block“的缩写,其功能是用于查看系统的磁盘使用情况。
参数:
-a | 显示所有设备 |
-b | 以字节单位显示设备大小 |
-d | 不显示 slaves 或 holders |
-e | 排除设备 |
-f | 显示文件系统信息 |
-h | 显示帮助信息 |
-i | 仅使用字符 |
-m | 显示权限信息 |
-l | 使用列表格式显示 |
-n | 不显示标题 |
-o | 输出列 |
-P | 使用key=”value”格式显示 |
-r | 使用原始格式显示 |
-t | 显示拓扑结构信息 |
示例:查看linux的分区
df命令
用于显示 Linux 系统中各文件系统的硬盘使用情况,包括文件系统所在硬盘分区的总容量、已使用的容量、剩余容量等。
df [选项] [目录或文件名]
-a | 显示所有文件系统信息,包括系统特有的 /proc、/sysfs 等文件系统; |
-m | 以 MB 为单位显示容量; |
-k | 以 KB 为单位显示容量,默认以 KB 为单位; |
-h | 使用人们习惯的 KB、MB 或 GB 等单位自行显示容量; |
-T | 显示该分区的文件系统名称; |
-i | 不用硬盘容量显示,而是以含有 inode 的数量来显示。 |
各列信息的含义:
- Filesystem:表示该文件系统位于哪个分区,因此该列显示的是设备名称;
- 1K-blocks:此列表示文件系统的总大小,默认以 KB 为单位;
- Used:表示用掉的硬盘空间大小;
- Available:表示剩余的硬盘空间大小;
- Use%:硬盘空间使用率。如果使用率高达 90% 以上,就需要额外注意,因为容量不足,会严重影响系统的正常运行;
- Mounted on:文件系统的挂载点,也就是硬盘挂载的目录位置。
fdisk命令
Linux fdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。
重要参数:
- -l 列出素所有分区表
菜单操作说明
- m :显示菜单和帮助信息
- a :活动分区标记/引导分区
- d :删除分区
- l :显示分区类型
- n :新建分区
- p :显示分区信息
- q :退出不保存
- t :设置分区号
- v :进行分区检查
- w :保存修改
- x :扩展应用,高级功能
示例:显示当前分区情况
7.2 Linux挂载硬盘
需求是给我们Linux系统增加一个新的硬盘, 并且挂载到/root/zj。
1、虚拟机添加硬盘
2、设置分区
添加完硬盘后先重启系统,在使用 lsblk -f 查看添加的硬盘:
使用fdisk命令为硬盘分区
[root@localhost ~]# fdisk /dev/sdb ----------------------- #硬盘分区命令 Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0xa904fc88. Command (m for help): m ---------------------------#输入m提示信息 Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): n ----------------------- #n表示为当前的硬盘创建分区 Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p ----------------------------- #p表示为当前硬盘设置主分区 Partition number (1-4, default 1): 1 #1表示当前分区的编号 First sector (2048-41943039, default 2048): -------------#没有输入东西表示该分区的大小是20G Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): Using default value 41943039 Partition 1 of type Linux and of size 20 GiB is set Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): w ------------------------------#保存并退出 The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@localhost ~]#
分区完成再查看当前系统的分区情况
3、格式化分区
就是把分区清理一下
mkfs -t ext4 /dev/sdb1
4、挂载
先创建目录 /zj
[root@localhost ~]# mkdir zj
使用mount命令将分区挂载到zj文件夹上
[root@localhost ~]# mount /dev/sdb1 ./zj
查看系统分区情况
菜鸟雷区:
这种挂载有个问题,重启计算机后,挂载信息消失。
5、永久挂载
使配置生效
[root@localhost ~]# mount -a
八、Linux系统状态检测命令
ip addr 命令
用于获取网卡配置与网络状态等信息。
uname -a 命令
uname 命令用于查看系统内核信息。
[root@localhost ~]# uname -a Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
注意:
在使用 uname 命令时,一般会固定搭配上-a 参数来完整地查看当前系统的内核名称、主 机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统 名称等信息。
cat /etc/redhat-release 命令
查看系统的版本
[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)
free-h 命令
free 用于显示当前系统中内存的使用量信息。
[root@localhost ~]# free -h total used free shared buff/cache available Mem: 974M 66M 818M 968K 89M 774M Swap: 2.0G 79M 1.9G
注意:
为了保证 Linux 系统不会因资源耗尽而突然宕机,运维人员需要时刻关注内存的使用量。
last 命令
last 命令用于查看所有系统的登录记录。
注意:
使用 last 命令可以查看本机的登录记录。但是,由于这些信息都是以日志文件的形式保 存在系统中,因此黑客可以很容易地对内容进行篡改。千万不要单纯以该命令的输出信息而 判断系统有无被恶意入侵!
history 命令
history 命令用于显示历史执行过的命令。
注意:
history 命令应该是老师最喜欢的命令。执行 history 命令能显示出当前用户在本地计算机 中执行过的最近 1000 条命令记录。如果觉得 1000 不够用,还可以自定义/etc/profile 文件中的 HISTSIZE 变量值。在使用 history 命令时,如果使用-c 参数则会清空所有的命令历史记录。
uptime 命令
uptime 用于查看系统的负载信息,格式为 uptime。
[root@localhost ~]# uptime 21:22:14 up 1:03, 1 user, load average: 0.00, 0.37, 0.61
注意:
uptime 命令真的很棒,它可以显示当前系统时间、系统已运行时间、启用终端数量以 及平均负载值等信息。平均负载值指的是系统在最近 1 分钟、5 分钟、15 分钟内的压力情 况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过 1,在生产环境中不要 超过 5。