当前位置:首页 > IT技术 > 其他 > 正文

Centos-基础操作
2022-05-11 11:00:33

配置yum源

sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
sudo yum makecache

初始化配置

shell脚本

查看端口占用

# 网络工具netstat
yum install net-tools -y
# 查看监听的端口
netstat -lnpt
# 查看端口占用
netstat -lnpt |grep 5672

防火墙常用命令

# 查看firewall服务状态
systemctl status firewalld
# 查看firewall运行状态
firewall-cmd --state
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查看防火墙规则
firewall-cmd --list-all
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口 常用80,443,22,21,3306,8080
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
# 重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;

修改主机名/DNS

# 查看主机信息
hostnamectl
# 设置主机名
hostnamectl set-hostname xxx

查看DNS

cat /etc/resolv.conf

VIM

# 搜索xxx
/xxx
取消搜索结果高亮
:noh

SED

添加
# 在第1行的上一行追加内容
sed -i 1i追加内容 index.conf
# 在第1行的下一行追加内容
sed -i 1a追加内容 index.conf

# 正则匹配
# 在匹配到的行的上/下一行追加内容
sed -i '/内容/i222' index.conf
sed -i '/内容/a222' index.conf

# 在最后一行添加内容
sed -i '$a内容' index.conf

删除
# 删除第1行
sed -i 1d index.conf
# 从第一行开始删除,每隔2行就删掉一行,即删除奇数行
sed -i '1~2d' index.conf
# 删除1~2行
sed -i '1,2d' index.conf
 #删除1~2之外的所有行
sed -i '1,2!d' index.conf
 #删除最后一行
sed -i '$d' index.conf  
#删除空行
sed -i '/^$/d' index.conf   
#删除匹配到
sed -i '/123/d' index.conf 

替换
# 替换第一行的内容
sed -i 1c替换内容 index.conf

# 正则匹配
# 替换匹配到的行全部内容
sed -i '/111/c222' index.conf
# 替换最后一行
sed -i '$c333' index.conf

建议使用'' 包括内容

SCP

scp -P 端口 c://xxxx.txt user@ip:/home/root

1、从服务器上下载文件
scp username@servername:/path/filename /var/www/local_dir(本地目录)

 例如scp root@192.168.0.101:/var/www/test.txt  把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)


2、上传本地文件到服务器
scp /path/filename username@servername:/path   

例如scp /var/www/test.php  root@192.168.0.101:/var/www/  把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中

3、从服务器下载整个目录
scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)

例如:scp -r root@192.168.0.101:/var/www/test  /var/www/  

4、上传目录到服务器
scp  -r local_dir username@servername:remote_dir
例如:scp -r test  root@192.168.0.101:/var/www/   把当前目录下的test目录上传到服务器的/var/www/ 目录

SSH免密

本地机器执行 ssh-keygen -t rsa 命令,生成密钥文件其中id_rsa为私钥文件,id_rsa.pub为公钥文件

本地机器执行命令如:ssh-copy-id -i ~/.ssh/id_rsa.pub root@服务器IP, 将公钥文件传输的远程机器,并生效

查看远程机器的~/.ssh/authorized_keys文件,可以看到对应的变化:本地机器的公钥已经增加到远程机器的配置文件中了。

如果你现在以本地的root身份生成密钥并上传到服务器的话,你用root去SSH连接服务器的话是不需要密码的,但是别的用户连接是仍然需要密码的:
因为免密码登录的处理是用户对用户的,切换其他用户后,仍然需要输入密码,这个时候可以用别的用户再次生成密钥上传到服务器就行。

公钥传到远程机器并生效的操作,可用其他方式实现,如scp后修改authorized_keys。
远程机器的.ssh目录需要700权限,authorized_keys文件需要600权限。

Cron

root用户下 输入 crontab -l 显示no crontab for root
这个问题非常简单,同样在 root 用户下输入 crontab -e
按 Esc 按: wq 回车
在输入 crontab -l 就没有问题了
主要原因是由于这个liunx服务器 第一次使用 crontab ,还没有生成对应的文件导致的,执行了 编辑后 就生成了这个文件

本文摘自 :https://www.cnblogs.com/

开通会员,享受整站包年服务立即开通 >