关闭防火墙命令
# systemctl stop firewalld * 临时关闭firewalld防火墙
# systemctl disable firewalld *设置开机不自启
关闭selinux命令:
setenforce 0 *临时关闭
永久关闭selinux操作如下
代开配置文件/etc/sysconfig/selinux文件把SELINUX=enforcing
改为SELINUX=disabled
重启网卡
[root@licalhost~]# ifup ens33 #重启网卡
[root@licalhost~]# systemctl restart network #重启网络
ctrl + c #终止命令,执行过快的命令无法终止。
虚拟机刷新yum源命令
因为CENTOS不在维护了所以需要这条命令
这是一条命令是用来覆盖原来的YUM源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
下面是扩展源
扩展yum源命令
yum -y install epel-release
zabbix-agent2源
rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm
zabbix-agent2下载命令
yum install -y zabbix-agent2.x86_64
ip a - hostname -I 查看IP地址
#查看本机ip
ip a # 命令
# 示例
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:55:7c:51 brd ff:ff:ff:ff:ff:ff
inet 192.168.20.30/24 brd 192.168.20.255 scope global noprefixroute ens33
valid_lft forever preferred_lft foreverhoustname -I 命令
#示例
hostname -I
192.168.20.10
su命令
[rooot@licalhost~]# su - 创建的用户
[sul@licalhost~]$
$:普通用户
退出普通用户
[sul@licalhost~]$ exit
date 查看服务器时间
date
#示例
[root@licalhost~]# date
2024年 06月 13日 星期四 15:44:49 CST
date +%Y #显示几几年
#示例
[root@licalhost~]# date +%Y
2024
date +%y #显示第几年
#示例
[root@licalhost~]# date +%y
24
date +%m #显示现在是几月
#示例
[root@licalhost~]# date +%m
06
date +%M #显示当前是几分钟
[root@licalhost~]# date +%M
51
date +%D #显示月份日期年
#示例
[root@licalhost~]# date +%D
06/13/24
date +%d #显示月份
#示例
[root@licalhost~]# date +%d
13
date +%H #显示当前几点
#示例
[root@licalhost~]# date +%H
15
date +%h #显示当前是几月
#示例
[root@licalhost~]# date +%h
6月
date +%S #显示这个命令从研发到现在一共多少秒了
#示例
[root@licalhost~]# date +%S
1718265647
date +%s #显示当前这一分钟得第几秒
#示例
[root@licalhost~]# date +%s
58
date +%A #显示今天周几
#示例
[root@licalhost~]# date +%A
星期四
date +%a #用一个字显示今天周几
#示例
[root@licalhost~]# date +%a
四
date +%b #与 +%h同理
date +%B #用中文显示当前几月
#示例
[root@licalhost~]# date +%B
六月
ls 查看文件
#ls 查看当前目录下得文件
#ls /root/a.txt //单独列出文件
#ls /home //查看指定目录下得文件
#ls -l //长格式显示(显示文件的详细信息)
文件类型\权限 硬链接个数 所有者 所属组 大小 修改时间 名字
[root@licahost~]# ll -d /home/ #显示目录的详细信息
#ls -lh //-h 人性化显示 (显示文件的大小)
#ls -a //显示所有文件 (包括隐藏文件)
#ls file* #以file开头得所有文件 *通配符。表示所有字符 (隐藏文件除外)
#ls *.txt #以任意字符开头以.txt为结尾得所有文件
[root@licalhost~]# ll -d /home/ #查看详细信息
[root@licalhost~]# ll /home/ #查看目录下文件的详细信息
[root@licalhost~]# ll -t #按最新修改时间排序
[root@licalhost~]# clear #清屏,快捷键ctrl+l
#一般隐藏文件都是文件最前面又一个“.”
touch 创建文件
#相对路径创建文件只能在当前所在得目录创建文件
#示例
[root@licalhost~]# touch root/ss
#绝对路径创建文件可以指定需要创建得路径
#示例
[root@licalhost~]# touch /home/ss
#创建多个文件
#示例
[root@licalhost~]# touch /home/ss{1..10}
#示例
[root@licalhost~]# ls
ss1 ss10 ss2 ss3 ss4 ss5 ss6 ss7 ss8 ss9
以集合的方式创建文件,可以用花括号创建在花括号里面用英文得','为分割线
#示例
[root@localhost~]# touch /root/{ss,hh}
[root@licalhost~]# ls
ss hh
[root@licalhost~]# touch /root/ss
#以时间为文件名创建文件可以用$()也可以用``来操作
#示例以$()操作
[root@licalhost~]# touch $(date +%X)
[root@licalhost~]# ls
09时48分18秒
#示例以``操作
[root@licalhost~]# touch `date +%X`
[root@licalhost~]# ls
09时48分18秒
mkdir 创建目录
mkdir 命令
#目录中可以存储目录和普通文件但是普通文件不可以存目录普通文件是存储文字得
以相对路径创建目录
#示例
[root@licalhost~]# mkdir root/ss
以绝对路径创建目录,并且可以指定目录创建的位置
[root@licalhost~]#mkdir /home/ss
创建多个目录
#示例
[root@licalhost~]# mkdir /home/dir{1..10}
[root@licalhost~]# ls
dir1 dir10 dir2 dir3 dir4 dir5 dir6 dir7 dir8 dir9
#递归式创建目录,就是连级创建可以使用-p来创建目录
#示例
[root@licalhost~]# mkdir -p /home/A/B/C...等等
[root@licalhost~]# ls /home/
A B C
集合式创建目录用{}来创建花括号中需要用','作为分割#注意需要用英文的逗号
#示例
[root@licalhost~]# mkdir /home/{ss,si}
[root@licalhost~]# ls /home/
ss si
rm -rf 删除命令
·删除 rm -r递归删除目录 -f force强制 -v 详细过程 * 通配符
-r 递归、删除目录时 -f force强制 -v 详细过程 rm -rf 删除文件的路径 删除文件的名称 #示例 rm -rf ss 删除相同结尾的文件 rm -rf /home/*.txt 删除开头相同的文件 rm -rf /home/alan* 删除某个目录下所有文件 rm -rf /home/* #*是匹配零到多个任意字符
passwd 修改密码
passwd实用程序用于更新用户的身份验证令牌。这个任务是通过调用LinuxPAM和Libuser API来实现的。本质上,它将自己初始化为使用Linux PAM的“passwd”服务,并利用配置的密码模块进行身份验证,然后更新用户的密码。passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。一般情况下我们使用passwd命令修改密码需要确认密码,交互式环境操作没有关系,如果是使用脚本批量修改密码怎么处理呢?事实上passwd提供了stdin参数可以直接修改密码,无需确认密码,简化和便捷了批量修改密码的工作。 1、获取命令帮助 [root@licalhost~]# passwd --help 2、passwd修改普通用户密码 #使用root可以修改普通用户密码且不需要知道原密码,不满足密码策略要求也可以修改成功,普通用户修改自己密码必须知道原密码,新密码必须满足密码策略规则要求。 [root@licalhost~]# passwd s 直接输入新密码就可以 3、修改root用户密码 #示例 [root@licalhost~]# passwd root 之后就输入新的密码
alias 别名设置
#查看别名
[root@licalhost~]# type -a ll
ll is aliased to `ls -l --color=auto`
设置别名:
语法:alias 别名='命令'
[root@licalhost~]# alias ddd='df -Th'
[root@licalhost~]# alias alias ddd
alias ddd='df -Th'
[root@licalhost~]# ddd
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 475M 0 475M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 7.7M 479M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 17G 1.7G 16G 10% /
/dev/sda1 xfs 1014M 138M 877M 14% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
取消别名:
[root@licalhost~]# unalias ddd
[root@licalhost~]# ddd
-bash: ddd: command not found
ctrl 快捷键
# 文件内编辑命令、
ctrl + a # 移动到行首
ctrl + e # 移动到行尾
ctrl + u # 从光标删除到行首
ctrl + k # 从光标删除到行尾
ctrl + w # 从光标删除到行尾
ctrl + d # 从光标处删除到字首
ctrl + h # 删除光标前的字符
ctrl + c # 终止再执行的命令
ctrl + l # 清楚当前页面tab;可补全命令
个个目录的功能
/bin # 是普通用户使用的命令、
/sbin # 是管理员使用的命令、
which # 可以查看命令的位置
/dev # 是设备文件
/dev/pts/0 # 这是我们的终端
/root # 这是root用户的家目录
/home # 存储普通用户的家目录
lost+found 这个目录平时是空的,存储系统非正常关机而留下“无家可归”
/usr # 系统文件,相当于c:\windows
/usr/local # 软件安装的目录相当于C:\program
/usr/bin # 普通用户使用的应用程序
/usr/sbin # 管理员使用的应用程序
/usr/lib # 库文件Glibc 32bit
/usr/lib64 # 库文件Glibc 64bit
/boot # 存放系统启动相关的文件,例如kernel
/etc # 配置文件(系统相关如网络/etc/sysconfig/network)
/tmp # 临时文件(系统:程序产生的临时文件)
/opt # 空目录
/var # 存放一些变化文件,比如数据库、日志邮件等等
/proc # 虚拟文件系统,系统程序文件所处目录,虚拟文件系统:只要关机就会没有。
==设备 (主要指存储设备)挂载目录==
/mnt #系统提供这个目录是让用户临时挂载其他文件系统
路径的解释
绝对路径与相对路径的区别
绝对路径是以/区分带有/的都是绝对路径
# 示例
/root/s
相对路径不以/开始的都是相对路径
# 示例
home/s
可以用pwd来区分当前绝对路径
# 示例
[root@licalhost~]# pwd
/root
cd 切换目录
# . 表示当前文件
# cd .. 回到上一级目录等同于相对路径
# cd 或者 cd ~ 直接回到家目录
# cd - 回到原来目录
#示例/root切换为home
[root@licalhost~]# cd /home/s
[root@licalhost home]$
#示例/home切换回root目录
[root@liclhoat home]$ cd
echo 重定向
echo 重定向方式将内容写入文件或者创建文件,可以使用 追加'>>' 或者覆盖方式进行操作'>'无论是追加还是覆盖只要没有这个文件系统都会帮忙创建这个文件。
#覆盖语法
#可以使用"" '' 或者什么都不加,来重定向或者追加,使用""来追加或者覆盖来创建文件的话这个文件就是双文件,'' 或者什么都不加都是单文件。
echo 需要覆盖的内容 > 文件名
#追加语法
echo 需要追加的内容 >> 文件名
可以使用 cat 显示到屏幕 或者 vim 进入文件查看
cp 拷贝文件
-r 目录
-v 详细显示
-n 静默
拷贝单个文件语法 | cp -r 源文件 目标地址
拷贝文件并改名语法| cp -r 源文件 目标地址和需修改的文件名
拷贝文件并显示详细内容语法 |cp -r -v 源文件地址 目标地址
拷贝多个文件语法 | cp -r 源文件1 源文件2 源文件3 源文件N 目标地址
#示例
[root@licalhost~]# cp -r /root/s /home/s
[root@licalhost!]# ls /home/
s
拷贝多个文件
#示例
[root@licalhost~]# cp -r /root/s /root/a /root/c /home/
[root@licalhost~]# ls /home/
s a c
拷贝并改名
#示例
[root@licalhost~]# cp -r /root/s /home/d
[root@licalhost~]# ls /home/
d
将第一台机器得文件拷贝到另外一条机器,要用到scp
语法:scp 文件路径 远程IP:远程机器得路径
#示例
[root@licalhost~]# scp /root/o 192.168.20.10:/root/
mv 移动文件
mv 语法mv 文件地址 以空格为分割 目标路径移动文件到另一个文件并改名#示例[root@licalhost~]# mv /root/s /home/b[root@licalhost~]# ls /homeb在当前文件修改文件名#示例[root@licalhost~]# mv /root/s /root/b[root@licalhost~]# lsb移动当前目录的多个文件到另一个文件当中#示例[root@licalhost~]# mv /root/dir{1..10} /home/[root@licalhost~]# ls /homedir1 dir10 dir2 dir3 dir4 dir5 dir6 dir7 dir8 dir9
cat命令 查看文件内容重定向、追加
cat---查看一个文件的全部内容
cat 重定向
使用 'cat' 查看某个文件的全部内容
语法: cat 文件名
#示例
[root@licalhost~]# cat ss
11111111111111
22222222222222
33333333333333
44444444444444
55555555555555
66666666666666
77777777777777
88888888888888
99999999999999
cat 查看文件并显示行号
语法
cat -n 文件名
#示例
[root@licalhost~]# cat -n ss
1 1111111111
2 2222222222
3 3333333333
4 4444444444
5 5555555555
6 6666666666
7 7777777777
8 8888888888
9 9999999999
使用cat 查看文件并显示尾行符号
#示例
[root@licalhost~]# cat ss -A
1111111111$
2222222222$
3333333333$
4444444444$
5555555555$
6666666666$
7777777777$
8888888888$
9999999999$使用 'cat' 重定向的方式覆盖文件中的文字在文件中覆盖内容如果没有这个文件系统就会帮忙创建
语法
cat > 文件名 <<EOF
EOF
#示例
[root@licalhost~]# cat > s <<EOF
>s
>EOF
[root@licalhost~]# cat s
s
使用 'cat' 追加内容到文件中如果没有这个文件系统就会帮忙创建
语法
cat >> s <<EOF
#示例
[root@licalhost~]# cat >> s <<EOF
>jljk
>oo
>pp
>EOF
[root@licalhost~]# cat s
sjljk
oo
pp
head头部
head 可以以-1 -2 -3 来查看文件但是是从第一行开始查看
#示例产看前十行
[root@licalhost~]# head /root/ss
1111111111
2222222222
3333333333
4444444444
5555555555
6666666666
7777777777
8888888888
9999999999
查看前两行
#示例
[root@licalhost~]# head -2 /root/ss
1111111111
2222222222
tail 尾部
tail 可以查看文件可以加 -1 -2 -3 来产看但是是从尾部开始
#示例查看后十行
[root@licalhost~]# tail /root/ss
1111111111
2222222222
3333333333
4444444444
5555555555
6666666666
7777777777
8888888888
9999999999
#示例产看最后一行
[root@licalhost~]# tail -1 /root/ss
99999999999999
tail 动态查看文件
#示例
[root@licalhost~]# tail -f /root/ss
这个命令一般用于查看日志
tailf 功能同上
grep 过滤关键字 grep针对文件内容进行过滤
语法 :grep '要查找的' 文件路径
#示例
[root@licalhost~]# grep '1' /root/ss
1111111111111
使用 'grep' 过滤出文件内以root开头的行
语法:grep '^需要过滤的' 文件路径
#示例
[root@licalhost~]# grep '^root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
使用 'grep' 过滤出文件内以bash为结尾的
语法:grep '$需要过滤的' 文件路径
#示例
[root@licalhost~]# grep '$bash' /etc/passwd
find文件系统上查找复合条件的文件
find命令格式:find [paths(查找路径)] [expression(查找条件)] [actions(处理动作)] 2>/dev/null
less 分页显示
1、空格键是翻页 回车键是翻行
2、上下箭头可以来回翻行
3、/关键字 #搜索 (n按关键字往下翻 N按关键字往上翻)
4、快捷键:q -quit 退出
语法: less 文件路径
#示例
[root@licalhost~]# less /etc/makedumpfile.conf.sample
more 分页显示文件内容
1、空格键是翻页
2、回车键是翻行
语法 more 文件名
vi vim 打开文件
vim
vi
vim 语法:vim 文件路径
vi 语法: vi 文件路径
1、工作模式
vi 与 vim 的三个模式
1.1vim 或 vi 进入文件编辑模式
1、i #在光标所在处进入编辑模式 2、a #在当前光标后面进入编辑模式 3、A #在行尾进入编辑模式 4、o #在光标的下一行添加新行进入编辑模式 5、大O #在光标的上一行添加新行进入编辑模式 退出编辑模式ESC
1.2 命令模式
#光标定位键盘: hlkj 'h' #在当前行向光标左侧移动 'l' #在当前行向右移动 'k' #在文件中向上移动一行 'j' #在文件中向下移动一行 此处以上四个选项比较鸡肋可用箭头代替 '0' #光标移动到当前行首 '$' #光标移动到当前行尾 'gg' #光标移动至文件行首 'G(shift+g)' #光标移动至最后一行行首 '3G' #进入第三行 '/' #查找字符,n下一个,N上一个 (n N 是可以循环的)
1.3 文本编辑
#####
```shell
yy #复制
3yy #从光标处复制三行。
ygg #从光标所在从复制到行首首位
yG #从光标处复制到尾页
dd #删除一行
3dd #从光标处删除三行
dgg #从光标处删除到行首
dG #从光标处删除到行尾
d^ #删除当前光标之前的内容
p #粘贴到本行的下一行
大P #粘贴到本行的上一行
x #删除光标所在的位置
D #从光标处删除到本行行尾
u #undo撤销上次命令
r #可以修改一个字符(就是替换r+需要替换的一个字符)
```
1.4 尾行模式
shift+: #进入尾行模式 :10 #进入第10行 :w #保存 :q #退出 :wq #退出并保存 :q! #强制退出 :wq! #强制退出并保存
1.5 进入可视行、可视块模式
ctrl+v #进入可视块模式 shift+v #进入可视行模式
1.6 显示行首行尾符号
显示行首符号# set nu 显示行尾符号# set list 取消行首符号# set nonu 取消行尾符号# set nolist
1.7 查找替换
语法: shift+:s/匹配/替换/选项 #示例" :s/ha/sl/ #将"ha"替换为"sl" :1s/haha/wo/ #指定哪一行替换 :%s/haha/wo/ #替换全文相同的字段 :1,5s/haha/sk/ #指定1到5行替换 :s/haha/hoho/gi #替换haha为hoho'g'代表行内所有关键字'i'代表不区分大小写 #%代表匹配所有行 g代表行内所有关键字 :w/top/ss #将文件内内容添加到/top下并创建目录ss这个文件 :1,5 w/top/ss #指定文件中文件中一到五行内容添加到/top下并创建ss这个文件
文件类型
- 普通文件 (文本文件,二进制文件,压缩文件,电影,图片。。。)
d 目录文件 (目录文件)
b 设备文件 block device 设备文件,如硬盘,U盘;
c 设备文件 字符设备文件,比如终端,打印机。
l symbolic link 即符号链接文件, 又叫软连接文件
s socket 即套接字文件,用于实现两个进程进行通信
p 管道文件
时间类型
访问时间:atime,查看内容 修改时间:mtime,修改内容 改变时间:ctime,文件属性,比如权限,mv改名
查询文件的三个时间
[root@linux-server ~]# ls -l passwd -rw-r--r--. 1 root root 839 Oct 31 21:29 passwd [root@linux-server ~]# stat passwd File: ‘passwd’ Size: 839 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 33583688 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2019-10-31 21:29:40.750993492 +0800 Modify: 2019-10-31 21:29:36.449993550 +0800 Change: 2019-10-31 21:29:36.452993550 +0800 Birth: -
创建用户:useradd
创建用户:useradd
语法useradd 用户名
#示例
[root@licalhost~]# useradd haha
可加选项: -u -g -G -s
-u 可以修改他的UID
-g 可以修改可以指定用户的属组号
-G 可以指定他的附加组
-s 可以指定shell
【扩展】
-u 指定该用户的用户ID-c 为用户加上备注(备注文字会保存在passwd的备注栏位中)
-d 指定用户的家用户(默认为/home/username)
-e 指定账户的到期时间(格式为YYYY-MM-DD)
-g 指定一个用户组(包括基本组和扩展组)
-G 指定一个或多个用户的扩展组
-N 不创建于用户同名的基本用户组(默认创建)
-s 指定该用户默认的shell解释器(即指定该用户是否能够登录终端)
-m 自动建立用户的登录目录
-M 不自动建立用户的登录目录
-n 取消建立以用户名的名称为名字的群组
删除用户
语法userdel 用户名
#示例
[root@licalhost~]# userdel -r haha
#同时删除用户同时删除家目录、邮箱文件、用户信息
-r 是因为用户一旦创建成功就会产生家目录、邮箱文件、用户信息这三项
注意事项当删除用户后,只是删除了用户名称(只删除passwd、shadow、group文件中的用户信息),用户的家目录/home信息没有删除,用户的邮件/var/spool/mail没有删除
关于此用户的重要数据还存放在/home文件下,当再次创建此用户后会自动关联家目录等信息
userdel -r 用户 删除用户的同时并删除用户的家目录
-f 强制删除用户
修改用户
修改用户:usermod
1、修改用户名 -l
[root@licalhost~]# usermod -l haha heihei
执行这条命令之后再去id heihei就会告诉你没有这个用户
#-l 是 Linux 系统中的一个用户管理命令,用于改变用户的登录名称(login name),即用户名。这里的 -l 是选项,“l” 代表 “login”,作用是更改用户的主要登录名,而不是用户的实际全名。当你想要为一个已经存在的用户更换其登录名时,可以使用这个命令,但请注意,这不会影响用户的 UID(用户ID)或邮件地址等其他信息。执行这个操作前,通常需要具有管理员权限(root权限)。如果你不熟悉这个操作,建议谨慎操作,以防引起混乱
2、修改GID -g
[root@licalhost~]# usermod user1 -g web
gid需要提前存在
3、修改uid -u
[root@licalhost~]# usermod -u user1 kk
4、修改用户登录得shell -s
usermod -s /sbin/nologin user07
【扩展】
-u 修改用户的UID-s 修改用户登录终端,将用户的登录终端修改为/sbin/nologin,此用户就无法登录服务器了
-d 修改用户登录时的家用户(当-d 和 -m 一起使用时,可以将旧的数据移动到新的家目录中)
-c 填写账户的备注信息
-e 修改账户的到期时间,格式为(YYYY-MM-DD)
-g 变更用户组(包括基本组和扩展组)
-G 变更扩展组
-L 锁定用户,禁止其登录系统(可以通过passwd -S 用户名 查看该用户的状态)
-U 解锁用户,允许其登陆系统
修改密码
root用户可以给其他任何用户设置密码且不需要遵循密码设置规格,其他用户必须遵循密码设置规格
语法:1
passwd 用户名
#示例
[root@licalhost~]# passwd haha
语法:2
echo '新密码' | passwd &>/etc/mull
#示例
[root@licalhost~]# echo '1'| passwd &>/etc/mull
【扩展】
--stdin 允许用户通过标准输入修改用户密码-S 显示用户的密码是否被锁定,以及密码所采用的加密算法名称
-l 锁定用户,禁止其登录
-u 解锁锁定,允许用户登录