centos开启网卡
虚拟机安装好centos后,centos的网卡默认是未开启的状态 可以通过下面的方式修改
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
# 修改
ONBOOT=yes
CentOS8 图形界面和命令行切换
# 查看目前默认的启动默认
# 命令行模式 :multi-user.target<br/>
# 图形界面模式:graphical.target
systemctl get-default
# 设置为图形界面模式
systemctl set-default graphical.target
# 设置为命令行模式
systemctl set-default multi-user.target
SSH关闭X11Forwarding
修改sshd_config
vim /etc/ssh/sshd_config
X11Forwarding no
systemctl restart sshd
firewalld
启停
systemctl stop firewalld
systemctl disable firewalld
systemctl enable firewalld
systemctl start firewalld
firewall有两种开放方式:
- 按服务
- 按端口
公共部分:
-
--permanent 将命令操作持久化,否则reload、restart、reboot后都会失效
-
默认所有命令操作都是非持久化的
-
firewall-cmd --reload 重新加载firewall配置
按服务
# 列出所有服务
firewall-cmd --get-services
# 添加服务
firewall-cmd --add-service=jenkins
firewall-cmd --add-service=jenkins --permanent
firewall-cmd --reload
# 列出已添加的服务
firewall-cmd --list-services
# 移除已添加的服务
firewall-cmd --remove-service=jenkins
firewall-cmd --remove-service=jenkins --permanent
firewall-cmd --reload
如果要添加的端口并没有服务对应
就要新建一个服务,在/usr/lib/firewalld/services,随便拷贝一个xml文件到一个新名字,比如myservice.xml,把里面的内容改改就可以了,short是服务名,port是需要开放的端口
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>Transmission-client</short>
<description>Transmission is a lightweight GTK+ BitTorrent client.</description>
<port protocol="tcp" port="51413"/>
</service>
按端口
# 添加端口:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 查看开放的端口:
firewall-cmd --zone=public --list-ports
# 移除端口
firewall-cmd --remove-port=8080/tcp --permanent
获取shell脚本所在的目录
SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
chmod
转载自: www.runoob.com/linux/linux…
根据下面图片的内容,得出:
- 读:4
- 写:2
- 执行:1
只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。
# 基本用法
chmod [-cfvR] [--help] [--version] mode file...
# 从某文件复制权限
chmod --reference=editormd.amd.js editormd.amd.min.js
chown
# 设置文件的owner
RUN chown -R 348:348 /usr/local/bin/docker-entrypoint.sh
# 从某文件复制文件的owner
chown -R --reference=$fromFile $toFile
curl
设置请求头
-H 'Accept: application/json, text/plain, /' 直接将浏览器的头内容复制到单引号内,跟再-H后即可
curl忽略ssl证书异常
- --insecure
- -k 两者二选一
find
find path -name $name
find ./ -name "install_args.txt"
grep
# 递归查找当前目录下所有包含AAA字符的文件
grep -r AAA .
# 使用正则
ls -lha /|grep -e " b.*"
sshpass实现免密登录
基本使用
# 从known_host中将目标IP删掉,以免IP对应机器重装后指纹发生变化导致失败
# 非必须
sudo sed -i "/${targetIp}/d" /root/.ssh/known_hosts
#StrictHostKeyChecking=no,忽略known_hosts的校验,直接往known_host中写入目标IP
# 命令用双引号括起来
sshpass -p ${password} ssh -o StrictHostKeyChecking=no root@${targetIp} "echo hello"
大坑
curl http://ip:port/file.sh | bash
上述命令,若file.sh中有sshpass,会导致sshpass后的命令都无法执行,初步判断是由于sshpass为了成功输入密码,切换了输入流,导致管道失效,bash无法再读取到后面的命令了
压缩解压
tar
# 压缩
tar -czf jenkins-data.tar.gz jenkins
tar -cf ../mysql.tar *
# 解压
tar -zxvf ***.tar.gz
tar -xvf ***.tar
unzip
unzip -qo wp-editormd.10.2.1.zip
- -q 不显示文件列表
- -o 强制覆盖
ubuntu apt-get
# 搜索
apt-cache search java
# 安装open-jdk
apt-get install openjdk-8-jdk
xargs
- -a file 从文件中读入作为 stdin
- -e flag ,注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止。
- -p 当每次执行一个argument的时候询问一次用户。
- -n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。
- -t 表示先打印命令,然后再执行。
- -i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。
- -r no-run-if-empty 当xargs的输入为空的时候则停止xargs,不用再去执行了。
- -s num 命令行的最大字符数,指的是 xargs 后面那个命令的最大命令行字符数。
- -L num 从标准输入一次读取 num 行送给 command 命令。
- -l 同 -L。
- -d delim 分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改的是xargs的分隔符。
- -x exit的意思,主要是配合-s使用。。
- -P 修改最大的进程数,默认是1,为0时候为as many as it can ,这个例子我没有想到,应该平时都用不到的吧。
docker ps -aq | xargs -i docker rm -f {}
用户操作
# 创建、删除分组
groupadd --system --gid 348 elasticsearch
groupdel elasticsearch
# 创建、删除用户
adduser --system --no-create-home --shell /bin/false --gid 348 --uid 348 elasticsearch
adduser --gid 348 --uid 348 elasticsearch
userdel elasticsearch
# 查看用户列表
cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1 |grep -v -E '(shutdown)|(halt)|(sync)'