centos基础学习

nmtui更改主机名
tmp目录存储临时文件

文件处理
file+文件名  查看文件属性
批量创建文件touch file{0..9}.txt      mkdir dir{0..9}
批量删除文件rm -rf file{0..9}
mkdir -p a/b/c/d 递归创建子目录

指定时间创建文件
touch -t 202105121500 abc
touch -t CCYYMMDDHHMMSS 文件名
mkdir $(date +%Y%m%d)
用户权限
rwx         rwx             rwx
所属用户u       所属组g        其他用户o
r=4  w=2  x=1
文件aa1,aa2的所属用户是user1,所属组是user2
chown user1:user2 aa1 aa2
ACL
acl: 文件系统的防火墙
设置其他用户不能访问: setfacl -m u:用户名:rwx 文件名
查看文件的ACL信息: getfacl 文件名
WC
wc -l filename 输出 filename 的行数
wc -c filename 输出 filename 的字节数
wc -m filename 输出 filename 的字符数
wc -w filename 输出 filename 的单词数
重新配置yum源
ali
cd /etc/yum.repos.d
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecake
yum repolist
yum install epel-release
yum update

163
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 
mv  CentOS7-Base-163.repo  CentOS-Base.repo
yum clean all  
yum makecache  
yum update
yum仓库配置
rpm -qa 查看系统已经安装的软件包
yum list 查看系统所有的软件包
yum repolist列举已安装的仓库
yum配置 mount /dev/cdrom test
网卡配置
添加网卡
nmcli connection add con-name hahaha(网卡名) type ethernet autoconnect yes ifname ens33
nmcli connection modify hahaha ipv4.addresses "IP地址/24"
nmcli connection modify hahaha ipv4.gateway "IP地址"
nmcli connection modify hahaha ipv4.dns "8.8.8.8"
nmcli connection modify hahaha ipv4.method "manual"

cd /etc/sysconfig/network-scripts网卡目录
nmcli connection up 网卡名称  启用网卡
磁盘挂载
文件系统永久挂载
fdisk  +1G
mkfs.ext4 /dev/sdb1
mkdir /mnt/test
vim /etc/fstab
/dev/sdb1   /mnt/test       ext4    defaults 0 0
UUID="" /mnt/test ext4 defaults 0 0
mount -a 
df -h
cd /mnt/test
vim a.sh

磁盘分区后执行的命令,以免系统黑屏
fdisk---partprobe   parted---udevadm settle

MBR---BIOS---4个主分区---15个子分区---fdisk(容易存在单点故障)
GPT---gdisk
磁盘填零dd if=/dev/zero of=/dev/sdb bs=1M count=10
dd命令是用来操作磁盘,if是指定从哪里读,/dev/zero是linux系统的造0器它可以产生源源不断的0,of是将0写到哪里去,bs是块大小,count是数量,执行完之后发现出现了newdisk磁盘大小为10M
1MB=1000KB 1MIB=1024KIB
blkid查看文件系统(查看磁盘的UUID)
格式化磁盘为ext4  mkfs.ext4 /dev/sdb
计划任务
一次性计划任务---at      
at now+5min  at 8am+10days  at 2021-05-08
atq查看一次性计划任务

黑名单vim /etc/at.deny
白名单vim /etc/at.allow       
白名单>黑名单

周期性计划任务---crontab
*   *   *   *   *
min hour    day mounth  day of week
分   时   日   月   周

crontab -eu root
0 6 * * * systemctl restart httpd
30 6 15,30 * * (每个月的15和30日)
30 6 */10 * * (每隔十天的早上六点半)
30 6 1 1 *(每年的1月1日)
30 6 * * sun(每周日)
30 6 * * 1-5(每周周一到周五)
0,30 * * * *(每隔半小时) echo 3 > /proc/sys/vm/drop_caches(清理缓存)
* 9-17/2 * * *(朝九晚五每隔两小时)
30 6 1 * 7(每周日或每个月的第一天)

* 8-18/4 * * *(朝八晚六每隔四小时)
0 5 2 * 6(周六或每个月的第二天凌晨5点)
* * 15 * 2-4(每周周二到周四或每个月15号)

查看周期计划任务crontab -lu root 
删除周期计划任务crontab -ru  root
系统优化
查看当前系统的调优策略tuned-adm active
tuned-adm list
balanced----在节能和性能之间折中的系统
desktop---加快交互式的响应速度
powersave----调优系统来获得最大程度的节能
virtual-guest---当系统在虚拟机上运行时调优系统来获得最高的性能
更换当前系统的调优策略tuned-adm profile balanced

图形化界面yum install cockpit
加入开机自启systemctl enable --now cockpit.socket
https://hostname:9090
shell-bash
$#:传递到脚本的参数数量
$*/%@:传递到脚本的所有参数
$?:命令退出状态,0表示正常退出,非0表示异常退出
$$:进程的PID

简单脚本
#!/bin/bash
if [ "$*" == "xxx 21 女" ];then
        echo "爱好"
elif [ "$*" == "学号" ];then
       echo "xxx 21 女"
elif [ "$*" == "爱好 21 男" ];then
       echo "xxx"
else
        echo "error"
fi
正则
行中完全匹配
cat words   grep cat /usr/share/dict/words
匹配开头
grep ^cat /usr/share/dict/words
匹配结尾
grep cat$ /usr/share/dict/words
完全匹配
grep ^cat$ /usr/share/dict/words
以c开头中间只有一个字符t结尾
grep ^c.t$ /usr/share/dict/words
以c开头中间任意字符t结尾
grep ^c.*t$ /usr/share/dict/words
以c开头t结尾 中间是a或者w
grep ^c[wa]t$ /usr/share/dict/words
中间含有2个字符且以c开头t结尾的字符串
grep 'c.\{2\}t' /usr/share/dict/words

过滤httpd.conf文件中#,空行和tab+#
cat httpd.conf |grep -v ^# |grep -v ^$ |grep -v "    #"
find
查找文件不论大小写
find -iname aa
find -iname "aa?"

查找文件>2M
find -size +2M
find -size -2M

查找文件在2M-4M之间
find -size +2M -a -size -4M
查找文件2M< or >4M
find -size -2M -o -size +4M

利用所属用户和uid查找文件
find -user user1
find -uid 1004
查找用户的uid
id user1

查找文件目录
find -type d
查找文件
find -type f
查找更新时间文件
查找文件,创建的文件>1day
find -ctime +1
find -ctime -1

查找文件,创建的文件>5min
find -cmin +5

查找文件权限是424的文件或目录
find -perm 424
find -perm 644
逻辑卷
步骤:磁盘分区  创建物理卷  卷尺(整合物理卷)    逻辑卷划分  格式化  挂载
t
8e
pvcreate /dev/sdb1 /dev/sdc1    pvs pvdisplay
vgcreate aaa /dev/sdb1 /dev/sdc1    vgs vgdisplay
lvcreate -n bbb -L 5G aaa       lvs lvdisplay
lvdisplay(查看分区情况)
mkfs.ext4 /dev/mapper/aaa-bbb
mkfs.ext4 /dev/aaa/bbb
mkdir /mnt/aaa
blkid
vim /etc/fstab(使用UUID永久挂载)
mount /dev/aaa/bbb /mnt/aaa

删除逻辑卷
lvremove /dev/aaa/bbb
vgremove aaa
pvremove
swap
t
82
mkswap /dev/sdb1
vim /etc/fstab
UUID    swap    swap    defaults 0 0
free -m
swapon -s
swapon /dev/sdb1
free -m
swapon -s
lsblk
selinux
enforcing       强制模式,一切都要遵守访问控制规则,同时如果违反规则,记录日志
permissive  仍然还是运行的但是不强制执行访问控制规则,日志仍然记录
disabled        selinux完全关闭
vim /etc/selinux/config 永久修改
ls -Z   查看selinux标签
ls -Zd  查看其他目录文件的标签
chcon -t 标签 文件名     修改文件标签
ps -Z   查看进程的标签
semanage port -l        查看端口的标签
通过修改日志,解决httpd报错问题
vim /etc/httpd/conf/httpd.conf 
systemctl restart httpd
semanage port -a -t http_port_t -p tcp 8989
lsof -i:8989
systemctl restart httpd

vim index1.html(root)
mv index1.html /var/www/html
firewall-cmd --permanent --add-port=8989/tcp
firewall-cmd --reload
tail -n 30 /var/log/messages
/sbin/restorecon -v /var/www/html/index1.html
脚本

fdisk分区

#!/bin/bash
echo "n
p
1

+1G
w" |fdisk /dev/sdb && mkfs.ext4 /dev/sdb1
mkdir /mnt/xxx000
mount /dev/sdb1 /mnt/xxx000
echo "/dev/sdb1 /mnt/xxx000     ext4    defaults 0 0" >>/etc/fstab
mount -a
df -h

parted分区

#!/bin/bash
parted -s /dev/sdb mklabel gpt
parted -s /dev/sdb mkpart 11 ext3 0G 1G
sleep 1
mkfs.ext4 /dev/sdb1
mkdir /mnt/xxx000
mount /dev/sdb1 /mnt/xxx000
echo "/dev/sdb1     /mnt/xxx000 ext4    defaults 0 0" >>/etc/fstab
mount -a 
df -h

创建网卡

#!/bin/bash
nmcli connection add con-name hahaha type ethernet autoconnect yes ifname ens33
nmcli connection modify hahaha ipv4.addresses "192.168.71.147/24"
nmcli connection modify hahaha ipv4.gateway "192.168.71.2"
nmcli connection modify hahaha ipv4.dns "8.8.8.8"
nmcli connection modify hahaha ipv4.method "manual"
nmcli connection up hahaha
ping www.baidu.com

修改apache文件内容

#!/bin/bash
systemctl start httpd
touch /var/www/html/11.html
echo fjdksfjks 1> /var/www/html/11.html 2>/dev/null
sed -i s/index.html/11.html/g /etc/httpd/conf/httpd.conf
sed -i s/12.34.56.78/192.168.71.147/g /etc/httpd/conf/httpd.conf
systemctl restart httpd

创建ftp的yum源

#!/bin/bash
cd /etc/yum.repos.d
ls
rm -rf *
touch xxx.repo
rpm -qa|grep vsftpd
yum -y install vsftpd
systemctl start vsftpd
systemctl enable vsftpd
systemctl enable vsftpd
systemctl status vsftpd

文件处理

#!/bin/bash
cd /tmp
mkdir -p a/b/c/d
cd a/b/c/d
cp -r /etc/passwd xxx01
chmod 421 xxx01
useradd xxx
chown xxx xxx01
ls -l
ls -lR|grep xxx01|wc -l
cd ..
touch xxx{1..5}.txt
mkdir xxx{1..5}
ls

逻辑卷

#!/bin/bash
echo "n
p
1

+2G
t
8e
w" |fdisk /dev/sdb

echo "n
p
1

+2G
t
8e
w" |fdisk /dev/sdc
pvcreate /dev/sdb1 /dev/sdc1
vgcreate xxx01 /dev/sdb1 /dev/sdc1
lvcreate -n xxx02 -L 3G xxx01
mkfs.ext4 /dev/xxx01/xxx02
mkdir /mnt/xxx03
echo "/dev/xxx01/xxx02  /mnt/xxx03      xfs defaults 0 0" >>/etc/fstab
mount /dev/xxx01/xxx02 /mnt/xxx03
mount -a

swap

#!/bin/bash
echo "n
p
1

+3G
t
82
w" | fdisk /dev/sdc
mkswap /dev/sdc1
echo "/dev/sdc1     swap    swap    defaults 0 0" >>/etc/fstab
free -m
swapon -s
swapon /dev/sdc1
free -m
swapon -s
lsblk

连续创建用户

#!/bin/bash
for i in {1..10}
do
    useradd xxx$i
done
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容