Centos7学习笔记(二)-基础命令(二)
3、Linux基础命令
1、date
参数:
-s 设置日期
-d display time described by STRING, not 'now'---用日期表示法的完整字符串(比如“1day”,“2month”,“1year”)来显示时间,但不准用“now”。
实例如下:
[root@ecs-ryCz8 /home/study]# date +%F -d "now" 2020-08-05 [root@ecs-ryCz8 /home/study]# date +%F -d "day" 2020-08-06 [root@ecs-ryCz8 /home/study]# date +%F -d "dat" date: invalid date ‘dat’ [root@ecs-ryCz8 /home/study]# date +%F -d "-37month" 2017-07-05 [root@ecs-ryCz8 /home/study]# date +%F -d "+10week" 2020-10-14 [root@ecs-ryCz8 /home/study]# date +%T -d "+7hour" 17:48:39 [root@ecs-ryCz8 /home/study]# date +%T -d "-20year" 10:49:14 [root@ecs-ryCz8 /home/study]# date +%j -d "-6Sunday" date: invalid date ‘-6Sunday’ [root@ecs-ryCz8 /home/study]# date +%j -d "-6minute" 218 [root@ecs-ryCz8 /home/study]# date +%j 218
日期表示部分写法如下:
年-月-日 “%Y-%m-%d”等同写法“%F”
时-分-秒 “%H-%M-%S”
时:分:秒 “%H:%M:%S” 等同于“%T”
“ %D”等同于“%m/%d/%y” 7/30/20这样的写法
“%j”表示一年中的第几天
“%u”表示一周中的第几天(1-7),1表示Monday星期一
“%w”也表示一周中的第几天(0-6),0表示Sunday星期天
2、pidof
pidof 命令用于查询某个指定服务进程的PID 值,格式为“pidof [参数] [服务名称]”
3、uptime 命令
uptime 用于查看系统的负载信息,格式为uptime。它是top命令的第一行显示。
uptime 命令真的很棒,它可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近1 分钟、5 分钟、15 分钟内的压力情况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过1,在生产环境中不要超过5。
对比:(同一台机器所截图)
top:

uptime:

4、free命令
常用参数:
-h 以人类易读方式
-m 以MB方式显示,比如下面的
[root@studylinux ~]#free total used free shared buff/cache available Mem: 4026140 215216 3683276 11856 127648 3620564 Swap: 2097148 0 2097148 [root@studylinux ~]#free -m total used free shared buff/cache available Mem: 3931 210 3596 11 124 3535 Swap: 2047 0 2047
先看截图,可与上述top对比

对应含义: 内存总量 已用量 空闲量 远程共享的内存量 磁盘缓存的内存量 可用量
5、wc命令
用于文本信息统计。统计文本的行数、字数、字节数。格式为“wc [参数] 文本”
最常用的参数三个:
-l——只显示行数
-w——只显示单词数
-c——只显示字节数
6、cut命令
cut 命令用于按“列”提取文本字符,格式为“cut [参数] 文本”
在 Linux 系统中,如何准确地提取出最想要的数据,这也是我们应该重点学习的内容。一般而言,按基于“行”的方式来提取数据是比较简单的,只需要设置好要搜索的关键词即可。但是如果按列搜索,不仅要使用-f 参数来设置需要看的列数,还需要使用-d 参数来设置间隔符号。passwd 在保存用户数据信息时,用户信息的每一项值之间是采用冒号来间隔的,接下来我们使用下述命令尝试提取出passwd 文件中的用户名信息,即提取以冒号(:)为间隔符号的第一列内容:
[root@linuxprobe ~]# head -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@linuxprobe ~]# cut -d: -f1 /etc/passwd
root
bin
daemon
adm
.......
7、dd
convert and copy a file 转换和拷贝一个文件
Copy a file, converting and formatting according to the operands 拷贝一个文件,根据运算域转换和格式化。
最常用命令用法:dd [if=标准输入源] [of=标准输出目标] [count=n] [bs=m]
详细参考:https://www.cnblogs.com/ginvip/p/6370836.html
8、partprobe
命令用法:partprobe [ 参数]
-s 显示设备和它的分区的摘要
命令作用:将分区表的改变,更新到内核。
9、fsck
仅用于修复ext类型文件系统。等同于e2fsck。
参数:-a 自动修复
xfs_repair的修复方法:1、先umount;2、xfs_repair -n做xfs系统检查;3、最好先xfs_metadump保持元数据。4、xfs_repair /dev/sdb;5、xfs_check /dev/sdb检查修复状况;
-L是修复xfs文件系统的最后手段,慎重选择,它会清空日志,会丢失用户数据和文件。\
10、xargs
作为一个容易被忽略的命令,它本身的作用是将标准输入转换为命令行的参数。默认的,它是以echo去输出的。
常用的参数,比如:-n,它指定每次以多少项,作为后面命令的参数。典型的例子如下:
#echo {0..9} | xargs -n 2 echo
0 1
2 3
4 5
6 7
8 9这里有一篇文章,对xargs命令算是全面的解释。http://www.ruanyifeng.com/blog/2019/08/xargs-tutorial.html
工作中用到的例子:
磁盘要满了,首先要搞清系统每个目录用了多少磁盘空间
ls /|sed -nr 's#(.*)#\/\1#gp'|xargs du -sh
11、crontab
-e 进入编辑模式
-l 仅列表查看
-u 查看特定用户下的定时任务
crontab格式
* * * * * 命令或者脚本(绝对路径)
分钟(0-59) 小时(0-23) 天(0-31) 月(1-12) 每周哪天(0-7,周日0或7)
12、set
bash内置命令,作用:可以列出系统当前定义的大部分变量。
set -u 可以用于检查变量是否已经定义。
13、env
用于输出当前部分环境变量。
set和env,都能输出环境变量,但是,都不是全部的环境变量。
两者,都可以输出“SSH_CLIENT”和“SSH_CONNECTION”的值。
14、ps
参数:
a——显示一个终端的所有进程,除了会话引线
u——显示进程的归属用户和内存使用情况
x——显示没有控制终端的进程
15、pstree
进程树方式显示
参数:-p 显示进程的PID
-u 显示进程的所属用户
16、kill
用于杀死进程,用法:kill [信号] PID
关于所有的“信号”,可以用 kill -l来列举查看。其中,常用的就是信号1和信号9,信号1是杀死进程后,进程重新读取配置文件重启。类似于restart。信号9,就是彻底杀死进程。
其中,信号1也可以写做HUP。类似下面
kill -HUP httpd
kill -1 httpd
kill -9 httpd
17、killall
killall用来终止某个指定名称的服务所对应的全部进程。格式为“kallall [参数][信号] 进程名称”。通用kill命令的写法,信号部分当然也一样的。
比如:

常用参数:
-i,交互式确认
-I,忽略进程名称的大小写
18、pkill
pkill跟killall类似,也是按照进程名称来杀死进程。用法格式为“pkill [参数] [信号] 进程名称”
关于pkill的参数,可以man查看。
其中特殊的一个参数-t,可以用于杀死指定登录的终端。比如:
pkill -9 -t pts/0
19、jobs、bg、fg
jobs显示后台工作进程,首序列是工作号,用数字顺序标识。
jobs参数:
-l显示后台工作进程的PID。
bg让后台工作的进程恢复在后台执行。用法:bg %工作号
fg让后台工作的进程恢复到前台执行。用法:fg %工作号
20、nohup
将程序置于后台执行,其执行脱离终端(当前终端)的限制。以上bg、fg、jobs都是只对当前终端有效。
21、logrotate
logrotate软件包特有命令,日志轮替用。具体软件使用见官方文档。
常用参数:
-v 显示日志轮替过程。
-f(force)强制进行日志轮替。即使轮替发生的条件不符合,也按照配置文件(默认/etc/logrotate.conf)中配置轮替所有日志文件。
命令用法:logrorate [参数] 配置文件

