用户管理命令
/etc/passwd 用户信息
/etc/shadow 用户密码信息
/var/psool/mail 用户邮箱
useradd user1 添加用户
useradd user1 -u 2000 -s /sbin/nologin 添加用户并指定uid、shell
passwd user1 管理员设置指定用户密码,如果没指定用户则修改自己的密码
userdel user1 删除用户
userdel -r user1 删除用户、并删除/home/user1 和 /var/po/email
groupadd it 添加用户组
groupdel it 删除用户组
gpasswd -a user1 it 把user1添加进it组
gpasswd -M user1 it,fd 把user1添加进it和fd组
gpasswd -d user1 it 把user1从it组中删除
gpasswd -a user1 wheel 把user1添加进wheel组具有管理员权限
usermod user1 -s /sbin/nologin 添加用户并指定shell
usermod user1 -g it -G it,fd 指定主组和从组
su - user1 切换用户
id user1 查看用户
sudo useradd user2 使用管理权限添加用户
vim /etc/default/useradd和/etc/login.defs 下可以修改用户配置
chage -d -0 user1 密码重置
UGO权限命令
chown zhangsan.it file1 修改文件的拥有者和主组
chown zhangsan file1 修改文件的拥有者
chown .it file1 修改文件的主组
chgrp it file1 修改文件的主组
chmod u+x file1 拥有者增加执行权限
chmod u=rwx,g=rw,o=r file1 同时增加文件的ugo权限
chmod a=- file1 把文件ugo权限全部清空
chmod 777 file1 rwxrwxrwx权限
chmod 644 file1 rw-r--r--权限
chmod 000 file1 ---------权限
ACL权限命令
setfacl -m u:user1:rx /home/file2 修改权限
setfacl -m u:user1:rx,u:tom:r /home/file2 修改权限
setfacl -m m::r /home/file2 修改mask权限
getfacl /home/file2 查看权限
getfacl file2 | setfacl --set-file=- file3 复制file2权限给file3
继承命令
mkdir /111 创建111目录
setfacl -m d:u:user1:rwx /111 让111目录下的所有文件目录继承111的权限
mkdir /111/222 创建111/222目录
su - user1 切换user1用户
cd /111/222 进入111/222目录
touch 222.txt 可以创建成功
chmod u+s /bin/cat 给/bin/cat (对可执行的二进制文件)加suid权限
sgid权限
[root@zy /]# mkdir /home/it
[root@zy /]# chgrp it /home/it
[root@zy /]# chmod g+s /home/it
[root@zy /]# touch /home/it/it01.txt
[root@zy /]# ll /home/it/it01.txt
-rw-r--r--. 1 root it 0 Mar 15 21:06 /home/it/it01.txt
进程命令
ps -ef
ps aux | grep vim 查看所有vim的进程
ps aux | grep shhd
ps axo pid,uid --sort=-%cpu 自定义列查看进程并按cpu降序排序
ps axo user,pid,ppid --sort=-%cpu | less
pstree 进程树
top -d 1 动态每1秒查看所有进程
top -d 1 -p 1000 动态每1秒查看pid=1000进程
kill -1 100 重新加载pid=100的进程/不是所有进程都能重新加载
kill -9 100 强制关闭pid=100的进程
kill -15 100 自然关闭pid=100的进程
kill -18 100 继续pid=100的进程
kill -19 100 强制关闭pid=100的进程
pkill -u user1 关闭所有user1的进程
pkill -9 -t pts/1 强制踢出终端pts/1的用户
yum -y install screen 安装screen
在sehll 输入screen
sleep 3000
screen -list 查看screen
screen -r 1000 调用screen
重定向命令
date &>a.txt
date 1>a.txt 2>b.txt
cat <a.txt
cat >a.txt <<-EOF
11222
23244
EOF
(while :; do date ; sleep 2 ; done)
管道命令
ps aux | less
ip a | grep 'inet ' | awk '{print $2}' | awk -F"/" '{print $1}'
cat /etc/passwd | head -5 | awk -F":" '{print $1}'
储存管理
安装kvm虚拟机
virt-manager 打开kvm manager 界面管理窗口
----不可扩展分区
1.建立硬盘 查看硬盘 lsblk
2.建立基本分区 fdisk /dev/vda 或 gdisk /dev/vda
3.格式化分区 mkfs.ext4 /dev/vda1 或mkfs.xfs /dev/vda1
4.建立挂载点 mkdir /data1 --> mount /dev/vda1 /data1
或 blkid /dev/vda1查看/dev/vda1的uuid --> mount UUID="aassff-wrrtd-1fdrgh-fgtrre" /data1
----可扩展分区
1.建立硬盘 /dev/sda
2.创建物理卷 pvcreate /dev/sda
查看物理卷 pvscan /dev/sda
3.创建卷组 vgcreate datavg /dev/sda /dev/sdb
查看卷组 vgscan datavg
4.创建逻辑卷
lvcreate -L 100M -n lv1 datavg 或 lvcreate -l 25 -n lv2 datavg
lvcreate -l 100%FREE -n lv3 datavg
查看逻辑卷 lvscan
5.格式化分区 mkfs.ext4 /dev/datavg/lv1 或mkfs.xfs /dev/datavg/lv2
6.建立挂载点 mkdir /data{1..2}
7.打开编辑 vim /etc/fstab
加入下两行
/dev/datavg/lv1 /data1 ext4 defaults 0 0
/dev/datavg/lv2 /data2 xfs defaults 0 0
8.重新加载硬盘 mount -a
9.查看硬盘使用率 df -Th
10.拷贝数据到挂载点 cp -rf /etc /data1/etc1
11.查看硬盘使用率 df -Th
vg扩容 vgextend datavg /dev/sda
查看vgs pvs
pv数据迁移 pvmove /dev/vdb
移除pv vgreduce datavg /dev/vdb
lv扩容 lvextend -L 100M /dev/datavg/lv1
fs扩容
ext4 --> resize2fs /dev/datavg/lv1
xfs --> xfs_growfs /dev/datavg/lv1
快照
lvcreate -L 50M -n lv3-s -s /dev/datavg/lv3
mount -o ro /dev/datavg/lv3-s /datalv3-s -->ext4
mount -o nouuid /dev/datavg/lv3-s /datalv3-s -->xfs
看文件系统信息
dumpe2fs /dev/sda2
连接文件命令
ln /myln1/ln1.txt /testln 硬连接,删除源文件 不影响目标文件
(只能在同一文件系统分区下,并不能用于目录文件)
ln -s /myln1/ln1.txt /testln 符号连接,删除源文件 影响目标文件
打包、压缩命令
tar -czf bb.tar.gz bb
解压压缩命令
tar -xzf bb.tar.gz -C /tmp/
查看当前yum源仓库
yum repolist
基础源文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 备份base源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 替换源为阿里云
yum clean all 清除原来旧的yum数据库
yum makecache 更新yum仓库信息
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup 备份epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 替换源为阿里云
添加Nginx仓库源
vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
添加mysql仓库源
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql57-community-release-el7-11.noarch.rpm
添加zabbix仓库源
rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
查看是否安装过
yum list httpd
yum list | grep vnc
yum list installed httpd &>/dev/null && echo "安装过" || echo "没安装过"
安装包
yum -y install httpd
更新包
yum -y update httpd
重新装
yum -y reinstall httpd
卸载包
yum -y remove httpd
uname -a 查看主机名\内核的信息
yum search "http server" 查名字和描述
查询文件或命令的包名
yum provides vim
yum provides */vsftpd.conf
-------建立自己的源仓库-------
一.服务端
1.设置防火墙
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
2.关闭SELINUX
vim /etc/sysconfig/selinux --> SELINUX=disabled
3.安装vsftpd,开启vsftpd服务
yum -y install vsftpd
systemctl start vsftpd
systemctl enabled vsftpd
4.更新包
vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1
yum clean all
yum -y update
5.建立/var/ftp/update拷贝源文件
mkdir /var/ftp/update
find /var/cache/yum/x86_64/7/ -iname "*.rpm" -exec cp -rf {} /var/ftp/update \;
6.建立yum源
yum -y install createrepo
createrepo /var/ftp/update
二.客户端
1.删除原有源
rm -rf /etc/yum.repos.d/CentSO-Base.repo
vi /etc/yum.repos.d/update.repo
[update]
name=centos update
baseurl=ftp://192.168.122.222/update
gpgcheck=0
enabled=1
2.更新包
yum -y update
------自建提供其他nginx等源仓库------
一.服务端
1.mkdir /var/ftp/nginx
2.配置nginx的源
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
3.yum clean all
4.yum install nginx --downloadonly
5.find /var/cache/yum/x86_64/7/ -iname "*.rpm" -exec cp -rf {} /var/ftp/nginx \;
6.createrepo /var/ftp/nginx
二.客户端
1.删除原有源
rm -rf /etc/yum.repos.d/nginx.repo
vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx
baseurl=ftp://192.168.122.222/nginx
gpgcheck=0
enabled=1
2.安装包
yum -y install nginx
RPM管理工具
rpm -ivh ./mysql57-community-release-el7-11.noarch.rpm 安装rpm
rpm -qi ./mysql57-community-release-el7-11.noarch.rpm 查看安装信息
rpm -e ./mysql57-community-release-el7-11.noarch.rpm 删除安装
rpm -ivh ./mysql57-community-release-el7-11.noarch.rpm --force 强制安装
rpm -e ntfs-3g --nodeps 忽略依赖
安装源码--nginx
1.wget http://nginx.org/download/nginx-1.12.1.tar.gz 下载源码
2.tar -xf nginx-1.12.1.tar.gz 解压源码到当前目录
3.yum -y install gcc 安装编辑器gcc
4.yum -y install pcre-devel 安装pcre
5.yum -y install zlib-devel 安装zlib
6.yum -y install openssl-devel 安装openssl
7. 安装源码
./configure \
--user=www \
--group=www \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_sub_module \
--with-http_ssl_module \
--with-pcre
8.编辑源码
make
9.安装编译后的源码
make install
10.useradd www 创建用户www
11./usr/local/nginx/sbin/nginx 运行
ps aux | grep nginx 查看进程
12.ss -tnlp |grep :80 查看是否运行
13.systemctl stop firewalld临时关闭防火墙
14.firefox & 打开火狐浏览器
--------一次性调度执行at---------
atq 查看队列
systemctl start atd
systemctl enable atd
----创建任务----
方法一
1.1分钟后创建用户
at now +1min
at> useradd zhuzhu
at> <EOT>
2.1分钟后查看用户
id zhuzhu
方法二
1.创建文件at.job编辑内容
vim at.job
useradd yang
useradd sunlin
touch /home/`date +%F`_file.txt
2.at now +1min <at.job
3.atq
4.1分钟后查看用户
id yang sunlin
--------周期性调度执行cron(用户级)---------
systemctl status crond
ls /var/spool/cron 计划任务的存储位置
crontab -l 查看当前用户计划任务
crontab -l -u alice 查看指定用户计划任务
crontab -r 删除计划任务表
crontab -e 编辑计划任务
vim /etc/cron.deny 中编辑用户alice ,会禁止alice执行计划任务。
crontab -e
-->* * * * * date>>date.txt
tailf date.txt
--------周期性调度执行cron(系统级)---------
位置(1) --> vim /etc/crontab --> 0 2 * * * root /mysql_back.sh
位置(2) --> cat /etc/cron.d/0hourly --> 01 * * * * root run-parts /etc/cron.hourly
-------日志管理--------
日志存放路径/var/log
/var/log/messages 系统主日志文件
/var/log/secure 安全日志文件(用户登录信息)
/var/log/cron 计划任务日志文件
/var/log/yum 安装日志文件