目录
一、系统信息查看与修改
1.主机名
2.时间查看
二、内容统计与筛选
1.目录查找
2.文件
(一)临时修改,重启失效
hostname new_hostname(需要刷新)
bash:刷新
代码如下(示例)
[root@localhost ~]# hostname lwj
[root@localhost ~]# bash
[root@lwj ~]
(二)永久修改
第一种配置文件修改
vim /etc/hostname(需要重启)
代码如下(示例):
[root@localhost ~]# vim /etc/hostname
wjj
~
~
~
~
:wq
第二种命令修改
hostnamectl set-hostname new_hostname(需要刷新)
bash:刷新
代码如下(示例):
[root@localhost ~]# hostname set-hostname lwj
[root@localhost ~]# bash
[root@lwj ~]
/etc/hostname
文件中的主机名,然后替换为新的主机名。和第一种方法一样,我们也需要更新/etc/hosts文件。这两种方法的本质都是一样的。(一)date(系统时间)
应用场景:为文件添加时间戳
语法:date [选项]+[格式]
格式:(%Y 年) (%m 月) (%d 日) (%h 小时) (%M 分钟) (%s 秒)
创建带有时间戳的文件 代码如下(示例):黄色部分为创建的时间
[root@localhost ~]# touch `date +%Y%m%d%H%M%S`_test.txt
[root@localhost ~]# ls
20230612235312_test.txt
备注:反撇号 ·· (调用命令的执行结果,不加shift的波浪线)
(二)hwclock(硬件时间)
bios中的时间
主板的bios电池
(三)显示输出系统信息
uname
应用场景:查看主机名、查看内核版本、查看32/64位平台
选项:-a查看所有信息 -n查看主机名 -r查看内核版本
代码如下(示例):
[root@localhost opt]# uname
Linux
[root@localhost opt]# uname -a
Linux wjj 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64
x86_64 x86_64 GNU/Linux
(四)快捷键
alt + .(调用上一个命令的最后一个字段)
(五)文件的详细属性查看
stat:应用场景为查看时间戳、查看数字权限
语法:stat /路径/文件名
代码如下(示例):
[root@localhost opt]# stat 1.txt
文件:"1.txt"
大小:2385 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:68294314 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2023-06-13 00:21:44.189607170 +0800
最近更改:2023-06-13 00:21:44.189607170 +0800
最近改动:2023-06-13 00:21:44.189607170 +0800
创建时间:-
[root@localhost opt]#
find(概述:查看满足一定条件的目录内容,默认递归查找)
语法:find 路径 条件选项 关键字
选项:
- name 按照名字查找(支持模糊匹配)
案例:查找/etc/所有以.conf的结尾文件
代码如下(示例):
[root@localhost opt]# find /etc -name '*.conf'
/etc/resolv.conf
/etc/fonts/conf.d/65-0-khmeros-base.conf
/etc/fonts/conf.d/61-urw-fallback-backwards.conf
/etc/fonts/conf.d/66-ucs-miscfixed.conf
备注:* 表述所有 # 表示注释
-type(类型)
f 普通文件 d 目录 b 块设备文件 c 字符设备文件 i 软连接文件
代码如下(示例):
[root@localhost etc]# find -type d
./fonts/conf.d
./grub.d
-size(大小)
单位:k 千字节
符号:没有等于 +是大于 -是小于
案例:查找容量大于1024KB的文件
代码如下(示例):
[root@localhost etc]# find ./ -size +1024k
./udev/hwdb.bin
./selinux/targeted/contexts/files/file_contexts.bin
./selinux/targeted/policy/policy.31
./selinux/targeted/active/policy.kern
./selinux/targeted/active/policy.linked
./brltty/zh-tw.ctb
-user(使用者)
-group(组)
时间:
-amin -atime -mmin -mtime -cmin -ctime
容量:统计文件占用磁盘的大小
语法:du [-ash] [文件名或目录]
选项
-a 统计所有
-s 统计总容量
-h 人性化显示
案例:
du -sh /opt 统计/opt的总容量
代码如下(示例):
[root@localhost etc]# du -sh /opt
4.0K /opt
du -ah /etc 统计/etc下的每个文件的大小
代码如下(示例):
[root@localhost etc]# du -ah
4.0K ./fstab
8.0k ./crypttab
4.0K ./mtab
4.0K ./resolv.conf
备注:-a 统计所有和-s 统计总容量 不可以同时应用
数量:wc
概述:输出文件中的行数、单词书、字节数
应用场景:日志文件的行数、用户数量
选项:
-I 行数
-w 单词书
-c 字节数(一个中文3个字节、一个英文1个自己、每一行算1个自己)
代码如下(示例):4行 2385个字节
[root@localhost opt]# wc -lc 1.txt
4 2385 1.txt
过滤:grep
概述:打印匹配给定模式的行
应用场景:过滤错误日志、过滤配置文件
注意事项:先分析需要过滤的文件特征,总结过滤时需要的关键字
选项:
-n 在结果中显示行号
-i 结果中忽略大小写
-v 反向显示
基础正则表达式
* 表示所有
^ 以后面字符开头^字符
$ 一后面字符结尾字符$
案例1:过滤错误日志并显示行号(/var/log/messages)
代码如下(示例):grep -n "error" /var/log/messages
[root@localhost opt]# grep -n "error" /var/log/messages
1578:Jun 8 16:42:36 localhost mcelog: Family 6 Model 141 CPU: only decoding architectural errors
1629:Jun 8 16:42:36 localhost mcelog: Family 6 Model 141 CPU: only decoding architectural errors
1757:Jun 8 16:42:41 localhost libvirtd: 2023-06-08 08:42:41.044+0000: 1408: error : virHostCPUGetTscInfo:1389 : 无法打开 tty /dev/kvm: 没有那个文件或目录
1758:Jun 8 16:42:42 localhost libvirtd: 2023-06-08 08:42:42.005+0000: 1408: error : virHostCPUGetTscInfo:1389 : 无法打开 tty /dev/kvm: 没有那个文件或目录
1759:Jun 8 16:42:42 localhost libvirtd: 2023-06-08 08:42:42.009+0000: 1408: error : virHostCPUGetTscInfo:1389 : 无法打开 tty /dev/kvm: 没有那个文件或目录
2057:Jun 8 16:43:39 localhost gnome-keyring-daemon[9119]: couldn't create login keyring: An error occurred on the device
2108:Jun 8 16:43:45 localhost journal: not GsPlugin error from plugin repos g-key-file-error-quark:1: Key file contains line “ file:///media/cdrom/” which is not a key-value pair, group, or comment
3766:Jun 8 17:59:44 localhost mcelog: Family 6 Model 141 CPU: only decoding architectural errors
3804:Jun 8 17:59:44 localhost mcelog: Family 6 Model 141 CPU: only decoding architectural errors
案例2:过滤MySQL数据库的配置文件,只看生效的配置
配置文件的注释:^#或#
配置文件的空行:^$
/etc/my.cnf
[root@localhost opt]# grep -v "^#" /etc/my.cnf | grep -v "^$"
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
!includedir /etc/my.cnf.d