Linux命令老是记不住?一篇文章帮你解决。Linux常用命令汇总_linux的常用指令就是记不住

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

「作者主页」士别三日wyx
「作者简介」CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者

100个最常用的Linux命令

一、文件目录


mkdir创建目录

mkdir make directory创建目录

参数

  • -p 强制创建递归创建
  • -m 创建时指定权限

实例

mkdir test				1创建指定目录
mkdir /test/test1		2指定路径下创建目录
mkdir -p test1/test2	3创建多级目录
mkdir -m 777 test2		4创建目录时指定权限默认权限drwxr-xr-x

ls列出目录内容

lslist files显示指定目录下的内容文件和目录

参数

  • -a 显示隐藏文件.开头的文件是隐藏文件默认不显示
  • -l 显示详细信息文件类型、权限、大小等
  • -t 按照创建时间降序
  • -h 文件大小显示单位

实例

ls /test		1列出指定目录下的内容
ls				2不指定目录时默认显示当前目录
ls -l			3展示详细信息
ll				4等价于 ls -l
ls -a			5显示隐藏文件
ls te*			6模糊查询当前目录下所有 te 开头的文件和目录
ls /root/ te*	7模糊查询/root目录下所有 te 开头的文件和目录
ll -t			8查看最近修改过的文件和目录

「文件详细信息」字段解释

从左到右依次是权限、引用次数、所属用户、所属组、大小、修改时间、文件名

[root /]# ll /test
total 4
drwxr-xr-x 2 root root 4096 Sep 14 20:10 test1

pwd显示当前目录

pwd print working directory显示当前所在的目录即工作目录

[root test]# pwd
/test

cd切换目录

cd change directory切换当前所在的目录路径

实例

cd ../		1返回上一级目录
cd ~		2切换到用户家目录
cd /		3返回根目录
cd -		4返回上一个进入的目录类似撤回

touch创建文件

作用修改文件或目录的最后修改时间如果文件不存在则创建文件。

参数

  • -a 修改文件的读取时间
  • -m 修改文件的更改时间
  • -c 文件不存在时不创建文件

实例

1指定路径下创建文件

 touch /test/a.txt

2同时创建多个文件

 touch b.txt c.txt d.txt

3修改目录的访问和修改时间

 touch /test

cp复制文件或目录

cp copy复制文件或目录

参数

  • -r 复制目录
  • -f 取消覆盖文件的提示
  • -i 开启覆盖文件的提示回复y时覆盖文件
  • -p 复制修改时间和访问权限

实例

1备份文件修改某个文件前先备份

 cp a.txt a.txt.bat

2备份整个目录加了后缀仍然是目录

 cp -r test test.bat

mv移动文件或目录

mv move移动文件或目录

参数

  • -i 覆盖前询问回复y覆盖
  • -f 取消覆盖询问
  • -b 覆盖前创建一个备份
  • -n 不覆盖文件或目录
  • -u 移动的文件或目录无重复时才会移动
  • -v 显示移动过程

实例

1将文件移动到其他目录

 mv a.txt /test

2修改文件/目录名

 mv b.txt bb.txt
 mv test newtest

3移动文件到当前目录中.代表当前目录

 mv /test.bat/ .

rm删除文件或目录

rm remove删除文件或目录

参数

  • -r 删除目录递归删除
  • -f 删除是不再确认
  • -v 显示删除过程

实例

1删除目录下所有内容

提示rm命令删除的文件无法恢复慎用

 rm -rf /test1

du查看文件或目录大小

dudisk usage查看目录或文件大小

参数

  • -a 显示文件大小
  • -h 以K、M、G为单位

实例

du				1显示当前目录下所有目录的大小
du 目录名		 2显示指定目录的大小
du -a			3显示当前目录下所有文件的大小
du -a 文件名	 4显示指定文件的大小
du -h			5显示单位K、M、G

wc计算行数字数

参数

  • -c 只显示Bytes数
  • -l 只显示行数
  • -w 只显示字数

实例

1显示文件的行数、字数、字节数、文件名

[root]# wc a.txt
  69  624 3459 a.txt

2显示多个文件的总行数、字数、字节数

 wc a.txt c.txt d.txt 

cmp比较文件

作用比较两个文件是否有差异如果相同则没有回显如果不同则标记处不同的位置。

参数

  • -c 显示差异字符对应的内容
  • -l 标记处不一样的地方

实例

1比较两个文件的内容是否相同没有回显就表示相同

 cmp a.txt b.txt

2显示出两个文件不一样的位置并显示出不一样的内容

[roo]# cmp -l a.txt b.txt 
1  61 1     62 2

find查找文件

参数

  • -name 指定文件名
  • -iname 在name的基础上忽略大小写
  • -type 指定文件类型f表示文件d表示目录
  • -ctime 过去n天内创建的文件
  • -atime 过去n天内被读取过的文件
  • -mtime 过去n天内被修改过的文件
  • -amin 过去n分钟内被读取过的文件
  • -cmin 过去n分钟内被修改过的文件

实例

1在/home/目录下查找文件名是 a.txt 的文件

find /home -name a.txt
# 忽略大小写
find /home -iname a.tx

2在/home/目录下查找后缀为 txt 的文件

find /home -name '*.txt'

3在/home/目录下查找1天内被读取过的文件

find /home/ -type f -atime -1

二、查看文件


cat查看所有内容

作用从第一行开始显示文件所有内容

参数

  • -n 显示行数
  • -b 类似-n但不对空白行编号
  • -s 将连续的空白行替换成一行
  • -E 每行结尾处显示$

实例

1查看文件内容并显示行号

 cat -n /test/a.txt

2清空文件内容

 cat /dev/null > /test/a.txt

3倒序查看从最后一行开始显示

 tac /test/a.txt

nl查看时显示行号

类似 cat -n

 nl /test/a.txt

more逐页查看

作用一页一页的显示逐页阅读配合功能键实现翻页等操作。

参数

  • +num 从第 num 行开始显示
  • -f 计算行数时因单行字数太长而自动换行为两行及以上的算作一行。
  • -s 连续两行以上的空白行替换为一行空白行

实例

1从第20行开始显示

 more +20 /test/a.txt

常用操作命令

  • Enter键 向下n行默认向下1行。
  • 空格键 向下一页即一个屏幕的内容
  • Ctrl+F 向下一页同空格键
  • Ctrl+B 向上一页
  • = 输出当前行号
  • :f 输出文件名和当前行号
  • V 调用vi编辑器
  • 调用Shell回车执行命令
  • q 退出

less逐页查看

作用与more类似但可以向上翻页

参数

  • -m 显示百分比
  • -n 显示行号
  • -s 连续空行显示为一行
  • -Q 取消警告音

进入less查看模式后可配合功能键操作

  • /字符串 向下搜索指定字符串
  • ?字符串 向上搜索指定字符串
  • n 重复前一个搜索配合/或
  • N 反向重复前一个搜索配合/或
  • d或空格键或[pg dn]键 向下翻一页
  • b或[pg up] 键 向上翻一页
  • Enter 或 ↓ 向下一行
  • y 或 j 或 ↑ 向上一行
  • G 移动到最后一行
  • g 移动到第一行
  • q 退出

实例

1查看文件并显示行号和百分比

 less -mN a.txt

2查看进程/历史命令后通过less分页显示

 ps -ef | less -mN
 history | less -mN

3搜索技巧

按下 /root 向下搜索所有字符串root后
按下n键可以搜索下一个root的位置按下N键可以搜索上一个root的位置


less和more的区别

1less不会直接加载整个文件的内容速度比more快。

2less可以搜索指定内容而more不能。

3less可以向上翻页而more只能向下翻页。

4显示到最后一行时more会自动退出而less不会退出。

5less退出后shell不会留下内容而more会留下内容。


head查看开头部分

作用查看文件的前几行默认查看前10行

参数

  • -n 显示n行-n可省略
  • -c 显示多少个字节
  • -q 隐藏文件名默认
  • -v 显示文件名

1查看文件的前10行

 head -10 a.txt

2查看文件除了最后10行的全部内容

 head -n -10 a.txt

tail查看结尾部分

作用查看文件最后几行的内容默认10行

参数

  • -n 显示最后n行
  • -f 持续查看Ctrl+c退出
  • -s 配合-f间隔指定时间更新一次

实例

1查看最后9行

[ tail -9 a.txt

2每隔2秒查看一次最后几行常用于查看最近更新的日志

 tail -f -s 2 a.txt

三、用户/用户组

Linux系统通过系统管理工具userconf对用户进行统一管理。

whoami查看当前用户

作用显示当前登录的用户名称等价于 id -un

[root]# whoami 
root

id查看用户信息

作用显示用户的ID、组ID和所属用户组

参数

  • -u 显示用户ID
  • -un 显示当前登录用户
  • -g 显示用户组ID
  • -G 显示用户附加组ID

实例

1显示当前登录的用户

 id -un

2显示指定用户的ID、组ID和用户组不指定用户时默认显示当前用户

[root]# id sshd
uid=74(sshd) gid=74(sshd) groups=74(sshd)

字段解释

  • uid用户的ID
  • gid用户组的ID
  • groups用户所属的用户组

useradd添加用户

参数

  • -u 指定用户ID
  • -d 指定用户主目录
  • -g 指定用户所属组
  • -G 指定用户所属的附加组
  • -s 指定Shell文件

实例

1添加用户

 useradd user01

新增用户就是在/etc/passwd、/etc/shadow、/etc/group文件中添加一条记录。

[root]# cat /etc/passwd
user01:x:1001:1001::/home/user01:/bin/bash
[root]# cat /etc/shadow
user01:!!:19252:0:99999:7:::
[root]# cat /etc/group
user01:x:1001:

并自动为其创建一个家目录

[root]# ls /home/
user01

userdel删除用户

参数

  • -r 删除用户家目录

实例

1删除指定用户

 userdel user01

删除用户就是将/etc/passwd、/etc/shadow、/etc/group文件中的记录删除

查看这些文件发现 user01 的记录均被删除

 cat /etc/passwd
 cat /etc/shadow
 cat /etc/group

删除用户时默认不删除家目录可以使用 -r 参数删除家目录或删除用户后手动删除家目录的文件夹

 userdel user01 -r

usermod修改用户

参数

  • -u 修改用户ID
  • -l 修改用户名称
  • -g 修改用户组
  • -G 修改用户附加组
  • -d 修改用户登入时的目录
  • -s 修改用户的shell
  • -e 修改账号的有效期
  • -L 锁定用户密码
  • -U 解除锁定

passwd修改密码

新建的用户没有口令需指定口令后才可使用。

普通用户只能修改自己的口令而超级管理员可以修改其他用户的口令。

参数

  • -f 强制用户下次登录时修改口令
  • -d 使用户无口令
  • -l 锁定用户无法登录
  • -u 解锁用户

实例

1修改用户密码

 passwd user01

su切换用户

suswitch user切换当前的登录的用户

实例

1切换其他用户登录

 su user01

提示

1root切换普通用户时不需要输入密码

2普通用户切换其他用户时需要输入密码

3切换无密码的用户时不需要输入密码


groupadd添加用户组

参数

  • -g 指定组ID

实例

1添加用户组

 groupadd user04

查看/etc/group文件确认用户组添加成功

[root]# cat /etc/group
user04:x:1004:

groupdel删除用户组

 groupdel user04

查看/etc/group文件确认用户组删除成功


groupmod修改用户组

参数

  • -n 修改组名
  • -g 修改组ID

实例

1修改组名

 groupmod oldgroup -n newgroup

查看/etc/group文件确认用户组修改成功


gpasswd修改组用户

将用户添加到用户组或从用户组中删除用户

参数

  • -a 添加用户到组
  • -d 从组中删除用户

实例

1将用户user001添加到用户组user002

[root]# gpasswd -a user001 user002
正在将用户“user001”加入到“user002”组中
[root]# id user001
uid=1000(user001) gid=1000(user001)=1000(user001),1001(user002)

2从用户组user002中删除用户user001

[root]# gpasswd -d user001 user002
正在将用户“user001”从“user002”组中删除
[root]# id user001
uid=1000(user001) gid=1000(user001)=1000(user001)

四、权限管理

Linux有读、写、执行三种权限。

  • rread读权限查看文件内容或查看文件夹中的内容
  • wwrite写权限编辑文件或在文件夹下的创建/删除/复制/移动操作
  • xexecute执行权限执行文件

文件和目录的权限由 rwx 三个参数组合表示且顺序不会变-表示没有权限。

查看文件权限

[root]# ls -l
drwxr-xr-x.   2 root root    6 924 10:23 home

字段解释

  • 第一位文档类型此处为d表示文档-表示文件
  • 第2~4位所有者权限此处为rwx表示拥有读写执行三种权限
  • 第5~7位同组用户权限此处为r-x表示拥有读、执行两种权限
  • 第8~10位其他用户权限此处为r-x表示拥有读、执行两种权限

chmod设置权限

参数

  • -u 文件所有者
  • -g 文件所有者所在的组
  • -o 其他用户
  • -a 所有用户a=u+g+o
  • -R 递归设置对目录下所有文件和目录都设置权限
  • +增加权限
  • -减少权限
  • =设置权限
  • r 读权限4
  • w 写权限2
  • x 执行权限1

实例

字母形式设置权限

chmod u+x a.txt		# 给文件所有者增加执行权限
chmod go+w a.txt	# 给同组用户和其他用户增加写权限
chmod u-wx a.txt	# 给文件所有者减少写和执行权限
chmod u=rwx a.txt	# 给文件所有者设置读、写、执行权限

数字形式设置权限r=4w=2x=1

chmod 777 a.txt

chown修改所属用户

参数

  • -R 递归设置修改目录所有者时同时修改目录下所有内容的所有者

实例

1修改文件的所有者

 chown user001 a.txt

2同时修改文件的所属者和所属组

 chown user001:user001 a.txt

chgrp修改所属组

参数

  • -R 递归设置修改目录所属组时同时修改目录下所有内容的所属组

1修改文件的所属组

 chgrp user001 a.txt

五、网络


ping检测网络

作用检测与目标主机的网络连通性

参数

  • -c 指定次数默认4次
  • -i 间隔时间秒
  • -s 指定数据包大小

实例

ping www.baidu.com			# 域名网址
ping 182.61.200.7			# IP地址
ping MiWiFi-R1CL-srv		# 主机名
ping www.baidu.com -c 3		# ping 3次
ping www.baidu.com -i 3		# 间隔3秒ping一次
ping www.baidu.com -s 100	# 数据包大小为100

提示如果目标主机禁用ping也会ping不通但不代表网络不通。


telnet检测端口

telnet通常用来检测目标主机的端口是否开启。

如果返回这个说明没有安装 telnet工具

bash: telnet: 未找到命令...

安装 telnet

yum -y install telnet

测试目标的80端口是否打开

telnet 182.61.200.6 80

提示Connected链接到则表示端口开放

Trying 182.61.200.6...
Connected to 182.61.200.6.
Escape character is '^]'.

提示connection timed out链接超时则表示端口关闭

telnet: connect to address 182.61.200.11: Connection timed out

nc端口扫描

nc也可以检测目标主机的端口是否开启常用来扫描端口。

参数

  • -v 显示执行过程
  • -u 检测UDP默认是TCP

实例

1测试目标主机的80端口是否开启Connected表示开启Connection refused表示关闭。

nc -v 182.61.200.6 80

netstat网络状态

参数

  • -t TCP协议-u表示UDP协议
  • -n 显示IP地址默认显示域名
  • -l 显示监控状态的链接State字段为LISTEN
  • -p 显示进程信息

如果返回这个说明没有安装网络工具

bash: netstat: 未找到命令...

安装网络工具 net-tools

yum -y install net-tools

重新执行命令

netstat -tnlp

ifconfig网络设备

ifconfig常用来查看主机的IP地址。

1查看网卡信息

 ifconfig 

2启动/关闭网卡root权限

 ifconfig eth0 up
 ifconfig eth0 down

3配置ip地址和子网掩码

 ifconfig eth0 192.168.10.1
 ifconfig eth0 192.168.10.1 netmask 255.255.255.0

traceroute跟踪路由

作用查看当前主机到达目标主机所经过的路由

如果返回这个说明没有安装

bash: traceroute: 未找到命令...

安装traceroute工具

yum -y install traceroute

重新执行命令

traceroute www.baidu.com	# 域名
traceroute 182.61.200.7		# IP地址

arp缓存表

arp是地址解析协议负责将IP地址转换为Mac地址使用IP>Mac映射表缓存数据

参数

  • -s 添加映射关系
  • -d 删除映射关系

实例

1显示arp缓存表

[root]# arp

2添加IP>Mac映射关系

arp -s 192.168.11.2 00:b1:b2:b3:b4:b5

3删除IP>Mac映射关系

arp -d 192.168.11.2

六、系统管理


uname系统信息

作用显示操作系统的相关信息。

参数

  • -a all全部信息
  • -m 电脑类型
  • -n 主机名称
  • -s 系统名

实例

1查看系统信息常用

[root]# uname -a
Linux MiWiFi-R1CL-srv 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

2查看系统类型

[root]# uname -m
x86_64

3查看主机名

[root]# uname -n
MiWiFi-R1CL-srv

who所有登录用户

显示所有正在使用系统的用户信息

参数

  • -H 显示标题
[root]# who -H
名称   线路       时间           备注
root     tty1         2022-09-26 20:29
root     pts/0        2022-09-26 21:12 (192.168.31.179)

whoami当前登录用户

显示当前登录的用户即“我是谁“

[root]# whoami
root

date日期时间

1显示当前时间

[root]# date
2022年 09月 24日 星期六 21:29:09 CST

2修改日期会把具体时间设置成00:00:00

[root]# date -s 20220923
2022年 09月 23日 星期五 00:00:00 CST

3修改时间

[root]# date -s 21:30:00
2022年 09月 24日 星期六 21:30:00 CST

last用户登录信息

作用显示最近的用户登录信息

last命令实际上是读取/var/log/wtmp文件这个文件永久记录用户登录信息由于是二进制文件无法直接查看因此需要使用last命令查看。

参数

  • -n 显示的行数
  • -f 读取指定文件默认读取/var/log/wtmp

实例

1最近的用户登录信息

[root]# last
root     pts/0        192.168.31.179   Mon Sep 26 20:29   still logged in   
root     tty1                          Mon Sep 26 20:29   still logged in 

字段解释

  • 第一列用户名
  • 第二列终端位置pts/0伪终端指SSH远程登录tty指本地登录或直连
  • 第三列登录的IP地址本地终端登录则显示空
  • 第四列登录开始时间
  • 第五列登录结束退出时间
  • 第六列登录持续时间still logged in 表示处于登录状态

2用户登录失败的信息

[root]# last -f /var/log/btmp 
root     ssh:notty    192.168.31.179   Sat Sep 24 21:52    gone - no logout

3处于登录状态的用户信息

[root@MiWiFi-R1CL-srv ~]# last -f /var/run/utmp 
root     pts/0        192.168.31.179   Mon Sep 26 20:29   still logged in 

4链接用户过多时可使用 fuser 命令断开指定用户链接

[root]# fuser -k /dev/pts/0
/dev/pts/0:           1545

5只显示5行

 last -n 5

lastd用户登录失败

显示最近的用户登录失败信息

实际上是读取 /var/log/btmp的内容整理后展示出来。

参数

  • -n 显示几行

实例

1lastb 等价于 last -f /var/log/btmp

[root]# lastb
root     ssh:notty    192.168.31.179   Sat Sep 24 21:52 - 21:52  (00:00) 
[root]# last -f /var/log/btmp 
root     ssh:notty    192.168.31.179   Sat Sep 24 21:52    gone - no logout

lastlog最后一次登录

显示用户最后一次登录的信息

文件位置/var/log/lastlog

[root]# lastlog
用户名           端口     来自             最后登陆时间
root             pts/0    192.168.31.179   一 926 20:29:35 +0800 2022
bin                                        **从未登录过**

ps查看进程

psprocess status显示当前进程的状态

参数

  • -e 显示全部进程
  • -f 显示全部列
  • -u 指定用户

1查看进程常用

[root]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 20:28 ?        00:00:03 /usr/lib/systemd/systemd

字段说明

  • UID执行进程的用户id
  • PID进程id
  • PPID父进程id没有父进程则称为僵尸进程
  • Ccpu的占用率
  • STIME进程的启动时间
  • TTY终端设备表示该进程不是由终端设备发起
  • CMD进程名称或路径

2过滤进程查看httpd进程是否运行

 ps -ef | grep httpd

3显示指定用户的进程

 ps -u root

top动态查看进程

参数

  • P键 按照CPU使用率降序
  • M键 按照内存降序
  • q键 退出

核心字段

  • S进程运行状态S表示睡眠R表示运行
  • %CPUcpu占用率
  • %MEM内存占用率
  • COMMAND进程名称或路径

kill结束进程

1根据进程PID结束进程先用ps查看进程PID

 ps -ef | grep httpd
 kill 20867

2根据进程名结束进程

killall httpd

3彻底结束进程

kill -9 123456

free查看内存

作用查看系统内存的使用情况。

参数

  • -h 显示单位

实例

1查看内存

[root]# free -h
              total        used        free      shared  buff/cache   available
Mem:           972M        222M        594M        7.8M        155M        606M
Swap:          2.0G          0B        2.0G

字段解释

  • total物理内存总大小
  • used已使用内存
  • free剩余内存
  • shared多个进程共享使用的内存
  • buff/cache缓存使用的内存
  • available还可以使用的内存
  • Mem内存使用情况
  • Swap交换空间使用情况

lsmod显示系统模块

显示已经加载到内核中的系统模块的状态信息

/proc/modules 文件保存系统模块信息

实例

1查看系统是否安装了某个模块

[root]# lsmod | grep drm
drm_kms_helper        186531  1 vmwgfx

字段解释

  • 第一列模块名
  • 第二列模块大小
  • 第三列依赖模块的个数
  • 第四列依赖模块的内容

clear清屏

本质上是隐藏而不是删除往上滑动鼠标仍然可以看到被“清除”的内容

vlock锁屏

离开时可使用此命令锁屏输入密码后解锁。

reboot重启


shutdown关机

shutdown -h now		# 立刻关机
shutdown -h 10		# 10分钟后关机
shutdown -r now		# 立刻重启
shutdown -c			# 取消关机
Ctrl + c			# 取消关机

七、压缩备份

zip

压缩为 xxx.zip保留源文件

实例

1压缩为 zip 文件

zip a.zip a.txt			# 压缩文件
zip a a.txt				# 可省略后缀名
zip -r aaa.zip aaa/		# 压缩文件夹

2解压zip文件

unzip aaa.zip

bzip2

压缩为 xxx.bz2使用新的压缩算法效率更高默认不保留源文件

参数

  • -k 保留源文件
  • -d 解压缩

实例

1压缩 a.txt 文件为 a.txt.bz2

bzip2 a.txt		# 默认不保留源文件
bzip2 -k a.txt	# 保留源文件

2解压缩 a.txt.bz2

bzip2 -d a.txt.bz2 
bunzip2 a.txt.bz2 

gzip

压缩为 xxx.gz不保留源文件只压缩文件不压缩目录

实例

1压缩为 gz 文件

gzip a.txt

2解压 gz 文件

gzip -d a.txt.gz
gunzip a.txt.gz

tar

常用于备份和还原备份文件保留源文件

参数

  • -c 建立备份文件
  • -x 还原备份文件
  • -z 指定gzip处理备份文件
  • -v 显示执行过程
  • -f 指定备份文件

实例

1压缩 a.txt 为 a.tar.gz

tar -czvf a.tar.gz a.txt

2解压 a.tar.gz

tar -xzvf a.tar.gz

八、防火墙

centos 6.5使用iptables防火墙

centos 7.x使用Firewalld防火墙

Iptables

开启/关闭/重启防火墙

 service iptables start
 service iptables stop
 service iptables restart

查看防火墙状态/规则

 service iptables status
 iptables -L
 iptables -L -n

开放80端口

 iptables -I INPUT -p tcp --dport 80 -j ACCEPT

添加规则后需要保存否则重启防火墙后规则会失效

 /etc/init.d/iptables save

Frewalld

开启/关闭/重启防火墙

 systemctl start firewalld
 systemctl stop firewalld
 systemctl restart firewalld

查看防火墙状态activerunning表示开启

 systemctl status firewalld
 firewall-cmd --state

开放80端口加载后生效

 firewall-cmd --zone=public --add-port=80/tcp --permanent
 firewall-cmd --reload

查看开放的端口

 firewall-cmd --zone=public --list-ports

关闭80端口加载后生效

 firewall-cmd --zone=public --remove-port=80/tcp --permanent
 firewall-cmd --reload

九、服务


service控制服务

开启、关闭、或重启服务

语法

service 服务名 start/stop/restart

实例

1开启http服务

 service httpd start

2检查服务进程是否启动

 ps -ef | grep httpd

ntp时间服务

NTP服务用来同步系统时间。

ntpd服务运行以后先是每隔64秒与NTP服务器同步一次时间根据时间的误差值逐渐调整自己的时间误差值越小同步的时间间隔就越大。

ntpd服务有一个自我保护机制如果本机和NTP服务器的时间差距太大比如15分钟ntpd服务就不会同步时间这样可以防止日志的时间差距过大导致日志失去准确性。这时就需要手动同步时间。

1启动时间同步服务

开启/关闭/重启ntp服务永久性同步时间

service ntpd start/stop/restart/status
systemctl start/stop/restart/status ntpd

如果提示not found就下载ntp服务

 yum install ntp

如果之前安装过 ntpdate就先删除

 yum remove ntpdate

查看ntp服务是否启动

ps -ef | grep ntp
service ntpd status
systemctl status ntpd

查看ntp服务与时间服务器通信状态

[root]# ntpstat
synchronised to NTP server (91.206.8.34) at stratum 3
   time correct to within 1123 ms
   polling server every 64 s

2配置时间服务器

修改ntp服务的配置文件 /etc/ntp.conf

 vim /etc/ntp.conf

注释掉之前的配置添加新的server

#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server ntp1.aliyun.com prefer
server 120.25.115.20

3手动同步时间

执行一次同步一次。

格式ntpdate 时间服务器的域名或IP

[root]# ntpdate 120.25.115.20
[root]# ntpdate ntp1.aliyun.com
step time server 120.25.115.20 offset 54251318.932259 sec

如果提示未找到命令。。。就下载一个

 yum install ntpdate

提示开启ntp服务时该命令无法同步时间。

同步时间测试

# 停止ntp服务
[root]# service ntpd stop
# 修改系统时间
[root]# date -s 2021-01-01
# 手动同步时间
[root]# ntpdate ntp1.aliyun.com
ntpdate[2443]: step time server 120.25.115.20 offset 54253311.209044 sec
# 验证时间是否同步
[root]# date

crontab计划任务

crontab命令可以查看、编辑、删除计划任务。

参数

  • -l list查看计划任务
  • -e 编辑计划任务
  • -r 删除所有计划任务
  • -u 指定用户

1「查看」当前用户的计划任务。

[root]# crontab -l

2「编辑」增加/删除/修改当前用户的计划任务

[root/]# crontab -e

在打开的文件中可以编辑计划任务在编辑之前我们先了解一下计划任务的语法格式、时间规范和特殊符号。

计划任务语法格式

  • 分 时 日 月 周 需要执行的命令
  • 以行区分任务一行是一个计划任务

时间规范

  • 分分钟0-59
  • 时小时0-23
  • 日一个月的第几天1-31
  • 月1-12
  • 周星期几0-6

符号

  • * 表示每一个数字
  • - 表示连续区间比如周1到周7每天执行一次1-7
  • / 表示每多少个比如10分钟执行一次*/10
  • 表示多个取值比如每天1点3点5点执行1,3,5

案例

1每分钟执行一次命令将当前时间输出到文件中

*/1 * * * * date >> /home/text.txt

2每两个小时重启一次 httpd 服务

0 */2 * * * /sbin/service httpd restart

3每天7:50开启ssh服务

50 7 * * * /sbin/service sshd start

4每月1号和15号检查/home磁盘

0 0 1,15 * * fsck /home

5每周1到周5的3点执行一次命令

00 03 * * 1-5 date >> /home/a.txt

提示

  1. 计划任务最小单位是分不能执行每隔几秒执行一次的任务
  2. 命令中的路径必须是绝对路径如/etc/xx
  3. 执行脚本需要在文件开头添加 #!/bin/sh 和一行空行

3「删除」计划任务
此删除为删除当前用户的所有计划任务

如果只想删除某一条计划任务可以使用编辑命令删掉那一行计划任务。

[root]# crontab -l
*/1 * * * * date >> /home/text.txt
[root]# crontab -r
[root]# crontab -l
no crontab for root
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: linux

“Linux命令老是记不住?一篇文章帮你解决。Linux常用命令汇总_linux的常用指令就是记不住” 的相关文章