注:如果需要使用物理机来验证服务是否成功,物理机应能与虚拟机通信; 1.在物理机的网卡上静态绑定网关>>>>>参考虚拟网络编辑器的网关 2.虚拟机需要关闭防火墙和/etc/sysconfig/selinux配置文件 解释命令: man 参数 ///解释命令(万能词) help 参数 //解释 参数 --help //解释 shutdown -r now reboot init 6 //重启 shutdown -h now poweroff init 0 //关机 date -s "2019-09-24 17:02:30" ///改变系统时间 set:number //添加文件行号 set:number! ///取消文件行号 :/cccc //查找字符串(按N) yum操作: install httpd httpd-devel -y //在etc下,添加httpd服务 yum list 参数 ///检查是否安装服务/安装什么服务 yum remove 参数 ///删除服务 yum install -y httpd* //安装http服务 yum -y update && yum -y upgrade //系统升级 如果该文件存在于移动的目标位置,会提示是否覆盖,y覆盖,n取消操作 pwd ///目前在哪个目录? top ///检查硬件性能 netstat -ntlp | grep 参数(sshd) ///过滤服务 fdisk -l //查看硬盘 df -h ///查看磁盘空间 free -m ////检查内存的使用情况 vimtutor //vim编辑器 ll //查看详细信息 ls 参数 ///查看简短信息 ls /qqq/*.txt | more //显示qqq目录下更多.txt结尾的文件 cd ///切换目录 cd /etc/sysconfig //切换到etc下的sysconfig目录 ps -ef ///查看服务 systemctl 控制 firewalld.service //对防火墙进行操作 名词解释:stop:停止 disable:禁止(自启动) status ://状态 start:启动 restart :重新开始 reload //重新加载 enable://可以 is-enable:启动状态 service 服务名称 名词 ///查看服务 firewall-cmd --zone=public --add-port=8080/tcp --permanent //如果不关防火墙,打开本机8080端口 更改高级管理设置: vim /etc/sysconfig/selinux //进入配置文件 将enforcing改为disable //一直关闭 将enforcing改为setenforce //临时关闭 :wq == :x //保存并退出 :q! ///强制退出(不保存) systemctl is-enable httpd.service ///检查所有激活的系统服务 sysctmctl get-default ///检查操作级别 绝对路径://etc/sysconfig/selinux //绝对路径:与根相比,从根开始,层层向下 相对路径(当前目录为/etc): sysconfig/selinux //相对路径,相对于当前路径的目录,前面不加/ hostnamectl set-hostname name ///更改主机名称 last ///检查谁登录主机。。 du -sh / ///查看从根目录开始硬占用的空间(也可以查看当目录或文件占用的空间,后跟路径) 磁盘编号理解: hd: IDE设备表示为hd sd:SATA、SCSI设备表示为sd 使用硬盘序号abc比如第一块SCSI硬盘是sda,第三块IDE硬盘是hdc 分区:分区用数字表示(主分区只有4个,逻辑分区从数字5开始,不管前面有没有主分区) 第一个3个SCSI设备的第二个逻辑分区表示:sdb6 通配符: | //或 ? //单个字符 * //多个字符 sudo passwd root //更改root用户密码 cd ~ ///快速返回当前用户目录 创建目录和文件: touch 1.txt 2.txt //创建文件为1.txt和2.txt mkdir -p /etc/sysconfig/999/888 //创建嵌套目录,在sysconfig下创建999,在999下创建888 vim 1.txt //编辑文件1.txt cd.. //回到上一级 cd ./vars/ //从当前目录进入vars history //历史 !9 ///调用第9个历史命令 ls ///查看(当前模式) ls /etc/sysconfig //查看/etc/sysconfig中的目录 快捷键: Ctrl U ---在光标前删除命令 Ctrl K ---删除光标后的命令 Ctrl L ----清屏 == clear Ctrl C ----取消编辑命令 过滤文件或目录的复制、移动和删除: cp //复制(参数与rm相同) rm //删除 rm -f ///删除文件或目录时不要提醒用户,直接强制删除 rm -i ///提醒用户在删除文件或目录时确认。. rm -r ///删除目录必须使用此选项,表示将其递归到整个目录树. rm -rf {xx,xx,xx,xx} //同时删除多个文件 mv //移动(如果移动的位置与源地址相同或已存在该文件,则重命名此文件)
which //查找命令所在位置
find //查找目录或文件
find /etc/sysconfig -name "se*" //在sysconfig中找se开头的文件
and //等于
other //或者
find /etc/sysconfig -size +1024k -a -name "vim*" //在sysconfig中找大于1024kb并以vim开头的文件
find /etc/sysconfig -size +1024k -o -name "vim*" //在sysconfig中找大于1024kb或者以vim开头的文件
空格 //翻页
回车 //换行
q //退出
查看文件内容:
cat //查看
cat /etc/redhat-release //查看系统版本
cat /proc/version //查看系统内核及开发环境、时间等信息
cat /etc/redhat-release /proc/version //同时查看系统版本及开发环境
cat /proc/cpuinfo /proc/meminfo //同时查看CPU和内存信息
cat /proc/loadavg //查看CPU负载均衡
如果想要同时查看多个文件,在路径中间+空格
echo $PATH //显示系统设置好的环境变量值
/etc/httpd/conf/httpd.conf //网站配置文件
echo 12345 >1.txt. //将内容写进1.txt
echo 34567 >>1.txt //追加内容
more 2.txt //分页显示文件内容
head -5 3.txt //显示3.txt的前5行内容
tail -5 3.txt //显示3.txt的后5行内容
tail -f 3.txt //实施更新文件内容
wc -l //统计行
wc -w //统计单词数
wc -c //统计字节数
tree /etc //以树状显示目录
过滤文件内容:
grep -i //查找内容忽略大小写
grep -v //反向
grep "12345" 1.txt //在1.txt中查找12345的内容
grep -v "^#" /etc/sudo.conf | grep -v "^$" //筛选etc下的sudo.conf文件含有开头,并不含空行的内容
grep "^我" /etc/1.txt | grep "!$" //过滤1.txt中以"我"开头并以"!"结尾的内容
netstat -ntlp | egrep "22|25" //过滤出22和25端口
文件压缩及远程备份
gzip -d == gunzip
gzip -9 文件名 //压缩文件
gzip -d 文件名 //解压文件
tar cvfz 打包结果.tar.gz 源文件 //打包
tar xvfzC 源文件 解压结果 //解压(tar:使用tar解压,gz:解压为gzip)
tar xvfz /888/ /999/000.tar.gz //把999下的000.tar.gz解压到888目录
(c:打包 x:解包 v:详细信息 z:gzip f:指定名字 C:解压释放文件 )
跨系统传文件:
1)FlashFXP:图形化工具
2)远程拷贝
scp /tmp/etc.tar.gz 192.168.100.1 //远程拷贝,默认在用户的家目录
scp /tmp/etc.tar.gz 192.168.100.1:/bin //远程拷贝到bin的目录下
3)rzsz
rz:上传
sz:下载 路径 //默认下载到win10的下载里面
rpm包安装程序:
参数:
rpm -qa //查看全部已安装的RPM软件包
rpm -qi //查看指定软件包的名称、版本、许可协议、用途等详细信息
rpm -ql //显示指定软件包在当前系统中所安装的所有目录、文件列表
rpm -qf //查看指定的文件或目录是由哪个安装包所安装的
rpm -i //在当前系统安装一个新的RPM软件包
rpm -e //卸载指定的软件包
rpm -U //检查并升级系统中的某个软件包,若该包原来未安装,则等于-i选项
rpm -F //检查并更新系统中的某而过软件包,若......................,则放弃安装
rpm -h //在安装或升级软件包的过程中,以“#”号显示进度
rpm -v //显示软件安装过程中的详细信息
rpm --force //强制安装某个软件包
rpm --nodeps //在升级、卸载、安装软件包的时候,不检查与其他软件包的依赖关系
rpm --import KEY... //导入公钥
rpm --rebuilddb //重建RPM数据库
rpm --initdb //重建RPM数据库
命令格式:
rpm -q wireshark //查看是否安装wireshark
rpm -qa | wc -l //查看安装的RPM软件包个数
ls | grep wireshark //过滤出wireshark的rpm包
rpm -i wireshark-1.10.14-25.el7.x86_64.rpm //安装wireshark
rpm -e wireshark //卸载wireshark
源代码安装apache(http)过程:
1.先下载httpd.tar.zg的包到物理机 //官网https://downloads.apache.org/httpd/
2.通过rz的方式将httpd.tar.gz包上传到CentOS 7 //
3.创建一个目录为apache //其路径为:/apache
4.将httpd.tar.gz的包解压到/apache //查看后发现有httpd目录
5.进入httpd目录 //开始配置
6. ./configure --prefix=/apache //将解压出的httpd目录配置到创建的apache目录中
7.可能会提示依赖关系,需安装apr,pcre,这两个包都可以通过yum方式安装,不行的话,用源码方式安装
8.这两个包安装完成后,再重新配置文件
9.make //编译
10. make install //安装(启动各个程序)
11.vim /apache/htdocs/index.html //编辑首页
12./apache/conf/httpd.conf 将Servername localhost:80 //将服务名称改为本机
13./apache/bin/apachectl start //开启http服务
14.通过本机IP去访问网页
su - mist //切换到用户的家目录
su mist //切换用户,但保持当前目录不变
passwd //重置当前登录用户的密码
passwd mist //重置mist密码
echo 1978823 | passwd --stdin sjc //将sjc用户的密码设为1978823
useradd sjc //创建一个用户为sjc
userdel sjc //删除用户sjc
groupadd test //添加组账号
gpasswd -a mist root //将mist用户添加至root组
gpasswd -M mist,shell root //同时将mist,shell添加到root组
gpasswd -d mist root //将mist用户从root组移除
groupdel 10012 //删除组账号
groups mist //查mist用户属于哪个组
id mist //查看该用户ID信息及组信息
cut -d : -f 1 /etc/passwd //查看系统中有哪些用户
cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1 //查看可以登录系统的用户
chage -M 300 root //密码有效的最大天数为300
chage -m 30 root //密码有效的最小天数为30
chage -l root //查看root的影子信息
/etc/passwd //用户信息
/etc/group //组信息
/etc/shadow //影子文件
账号和权限管理:
/etc/passwd字段表示
1)用户名称
2)加密的密码字符串,用x表示
3)用户账号的UID号
4)所属基本组账号的GID号
5)用户全名
6)用户的家目录
7)登录shell信息 >> 可登陆:/bin/bash 不可登录:/sbin/nologin
useradd 选项 用户名
-u:用户的UID,该UID未被其他用户使用
-d:指定用户的宿主目录
-e:可指定日期 YYYY-MM-DD格式
-g:指定用户的基本组名(或GID号)
-G:指定用户的附加组名(或GID号)
-s:指定用户登录的shell
passwd 选项 用户名
-d:清空指定用户的密码,仅使用用户名登录>>delete
-l:锁定账户>>lock
-S:查看用户状态>>status
-u:解锁用户账户>>unlock
usermod修改用户账号属性
-L:永久锁定账号
-U:解锁用户账号
-u:修改用户的UID号
-d:修改用户的家目录位置
-e:修改用户账号失效时间
-g:修改用户的基本组名(或GID号)
-G:修改用户的附加组名(或FGD号)
-l:更改用户账号的登录名称
groupadd -g 10000 group1 //创建一个GID10000的组为group1
文件表示:
-rwxr-xr-x :
-:文件 d:目录 l:链接文件
rwx:属主 r-x:属组 r-x:其他(除属主和属组外所有用户)
目录: x:进入 r:看、显示 w:写、删除、复制
文件:r:read 4,读 w:write 2,写 x: 1,执行
chmod -R /date //对date目录及子目录或文件有完全权限
chmod 755 2.txt //更改权限为属主可读可写可执行,属组可读可执行,其他为可读可执行
chmod g+w 111 //111文件属组加上写入权限
umask //权限的反掩码
root //属主
:root //属组
chown root:root 2.txt //将这个文件的属主和属组都改为root、
chgrp root 222 //将文件的属组该改为root
磁盘管理和文件系统
1.加硬盘
2.分区
3.格式化
4.挂载
fdisk /dev/sdb //进入sdb磁盘
n:新建分区 p:主分区 e:扩展分区 l:逻辑分区 t:更改分区类型
fdisk -l //查看磁盘分区
cat /sbin/mkfs //常用分区类型
partprobe /dev/sdb //刷新sdb硬盘
mkfs.xfs /dev/sdb3 //将sdb3分区格式化为xfs格式
mkswap /dev/sdb1 //将该分区设为交换分区
free -m //查看交换分区容量
df -hT //查磁盘使用情况
swapon /dev/sdb4 //开启该swap分区
swapoff //关闭
mount /dev/sdb1 /mnu/sdb //将sdb挂载到sdb目录下
umount /dev/sdb1 //卸载硬盘
永久挂载:vim /etc/fstab>>编辑,添加要挂载的分区
vgdisplay //查看卷组名称
pv:物理卷 vg:卷组 lv:逻辑卷
scan:扫描 create:建立 display:显示 remove:移除 extend:扩展 reduce:减少
pvcreate /dev/sdb1 /dev/sdc1 //将sdb1和sdc1创建为物理卷
vgcreate mist /dev/sdb1 /dev/sdc1 //创建mist卷组并把他们加入该卷组
lvcreate -L 9G -n lv1 mist //创建逻辑卷容量为9G
lvextend -L 3G /dev/mist/lv1 //把逻辑卷扩大3G
磁盘配额
mount -o usrquota,grpqouta /dev/sdb1 /date //挂载+支持用户和组配额(在fstab中也要修改>>defaults,usrquota,grpquota)
xfs_quota -x -c 'limit -u bsoft= bhard= isoft= ihard= 用户名/组名' /挂载点 "限制组时,用户所属组必须为基本组"
注:限制用户为u 限制组为g
xfs_quota -x -c 'limit -u bsoft=10MB bhard=20MB isoft=5 ihard=10 mist' /date //对mist用户限制配额为软容量10MB,硬容量20MB,软文件数5,硬文件数10
dd if=/dev/zero of=/date/123 bs=1M count=2 //测试,写入文件123,容量为1MB,个数为2
xfs_quota -c 'quota -uv 用户名' /挂载点 //查看用户磁盘容量限制
xfs_quota -c 'quota -i -uv 用户名' /挂载点 //查看用户磁盘文件个数限制
xfs_quota -x -c 'report -abi' //查看磁盘配置所有信息
进程和计划任务管理
ps //查看静态进程统计信息
a:显示当前终端所有用户的进程信息
u:以用户名为主的格式输出进程信息
x:显示当前用户在所有终端的进程信息
-e:显示系统内所有的进程信息
-l:以长格式显示进程信息
-f:以更完整的格式显示系统进程信息
aux:以用户为主,显示所有用户所有终端进程信息 -elf:以长格式显示系统完整进程信息
top //查看动态进程信息
pstree -aup //查看系统的进程树
pstree -ap mist //mist用户打开的进程
& //在后台运行进程
Ctrl+Z //调入后台并暂停进程
jobs -l //查看挂起的进程
bg //运行后台暂停的进程
fg //把后台的进程恢复到前台运行
pgrep -l "sshd" //查sshd的进程编号
kill //杀死进程
kill -9 //强制杀死进程
jobs -l //查进程编号
killall //终止多个同名进程
echo /porc/$$/fd //查看当前进程的PID
计划任务管理
at //一次性
1)某一时间: at 19:20 2021-21-21
2)多久之后: at now +1min/hours/days/weeks
Ctrl+D //保存提交
atq //查询未执行的计划
atrm //删除计划任务
crontab //周期计划任务
cat /etc/crontab //查询周期计划解释
-e:编辑任务计划
-l:列表显示计划任务
-r:删除计划任务
-u:指定计划任务属于哪个用户,默认为当前用户 crontab -u mist -e
* * * * *
分 时 天 月 周
*:表示该范围的任意时间
, :间隔的多个不连续的时间
-:连续的时间范围
/:间隔的时间频率
ping //测试网络是否联通;对象:ip、域名
-s 1000 //字节数为1000
-c 10 //ping 10 次:
traceroute www.baidu.com //路由追踪
tracert //Windows
route //查询路由表信息
-n (以数字形式显示)
nslookup www.baidu.com //显示DNS解析信息
ifdown/up +名称 //关闭/开启网卡
部署samba服务:
global //全局配置
security = share | user | server
share //没有设置账号和密码
user //设置主机的密码文件做为登入的验证文件
server //由其他服务端做登录验证判断
smbpasswd -a 用户名 //将用户名添加到samba共享用户中
pdbedit -L //查询有哪些共享用户
pdbedit -x -u 用户名 //删除共享用户
注意:访问共享文件夹时,输入的密码不是系统用户的密码,是samba用户的密码
配置文件
comment = This is xxx //注释
path=/home/GX //共享文件夹路径
writeable = yes //可以写入read only = no
public = no //不公开,有特定用户和密码才能进入 guest ok =no
valid users = @smb //访问权限>>组
write list = @smb //写入权限>>组
browseable = yes //别人访问该IP是否发现共享文件夹
@name //name组
name //name用户
访问:
Linux: smbclient -L 192.168.100.131 -U 用户名
Windows: \\192.168.100.131
ftp服务:
当系统用户的shell信息等于/sbin/molgin时,该用户不可以登录到系统,但不影响使用该用户登录ftp
时间属性:(文件、目录都有效)
1)mtime = modified time #最近更改
文件的修改时间,内容的变化时间;
2)ctime = chage time #最近改动
文件属性、属组、属主、权限、硬链接
3)atime = access time #最近访问
访问时间、cat
find ./ -mtime -2 #查找当前路径下两天内修改过的文件
find ./ -mmin -2 #查找当前路径下20分钟内修改过的文件
stat 2.txt #查看该文件的时间属性等信息
重定向:
>:覆盖内容
>>:追加内容
进程在运行的时候会打开一些文件,文件的编号是文件的数字表示,访问进程其实就是访问文件的标识 —————— fd:文件描述符
0:标准输入(来自键盘)
1:标准输出(输到电脑、终端)
2:标准错误(输到电脑、终端)
>1.txt //使用重定向创建文件1.txt