centos7命令参数

2020/7/20 centos7

# ip 查看

  • ip addr

# 网络配置

  • nmtui

# 修改 hosts

vi /etc/hosts
# 保存后重启网络
sudo /etc/init.d/networking restart
1
2
3

# systemctl 服务

sudo systemctl start service_name   # 启动服务
sudo systemctl stop service_name    # 停止服务
sudo systemctl status service_name  # 服务状态
sudo systemctl restart service_name # 重启服务
sudo systemctl reload service_name  # 重载服务

# 启用与禁用
sudo systemctl enable service_name   # 开机自启用可以用enable启用
sudo systemctl disable service_name  # 禁用
1
2
3
4
5
6
7
8
9

# passwd

  • 修改密码: passwd root

# curl

curl https://www.baidu.com
curl -v https://www.baidu.com

# 把地址内容下载到某个文件里
curl -o file_name url
curl -o test.html https://www.baidu.com

# 用远程地址是文件,把文件下载下来,文件名使用远程文件的名字
curl -O file_url
curl -O https://raw.githubusercontent.com/amix/vimrc/master/README.md
1
2
3
4
5
6
7
8
9
10

# rsync 同步

# 参数
r(recursive)# 递归复制,复制同步的文件不保留文件的权限,创建与修改时间
a(archive)# 存档模式,可以递归复制,保留文件替身,复制同步的文件会保留文件的拥有者,用户名,时间,权限
z(compress)# 压缩传输,传输文件时会压缩文件
n(dry-run)# 假装同步,看看都有什么东西可以同步的,不会真正执行同步
h(human-readable)# 用人类都看懂的方式显示数字
P(progress)# 进度

# 基本用法:rsync 选项 源 目标
# 递归同步:
rsync -r 源 目标   # 递归模式同步不保留文件属性。
# 存档模式:
rsync -a 源 目标   # 保留文件属性
# 显示进度:
rsync -a -P 源 目标
rsync -aP 源 目标
# 删 除:
rsync -a -P --delete 源 目标
# 远 程:
rsync -a -P 用户@主机:源 目标
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# ssh root 禁用

# 查找:
/etc/ssh/sshd_config
# 将PermitRootLogin yes
# 修改为:
PermitRootLogin no

# 重新启动 sshd:
systemctl restart sshd.service
1
2
3
4
5
6
7
8

# 禁止 root 本地登录

# 修改配置 /etc/pam.d/login ,增加如下一行
auth required pam_succeed_if.so user != root quiet
1
2

# vmware-tools

  • vmware 虚拟机工具
su root
cd vmware-tools-distrib
ls
./vmware-install.pl
1
2
3
4

# port 修改

# 查找:/etc/ssh/sshd_config
#Port 22
# 修改为:
Port 5000

# 重启ssh:
systemctl restart sshd.service
1
2
3
4
5
6
7

# SELINUX

# 关闭 SELINUX

vi /etc/selinux/config  修改 SELINUX=disabled

# 查看selinux状态sestatus 如果是enabled就是开启状态
sestatus -v

# 重启ssh:
systemctl restart sshd.service
1
2
3
4
5
6
7

# 不关 SELINUX

  • 但是需要添加一下 SELINUX 的端口, 使用 semanage 工具
  • 安装 semanage
yum -y install policycoreutils-python

# 使用以下命令查看当前SElinux 允许的ssh端口
semanage port -l | grep ssh

# 添加20000端口到 SELinux
semanage port -a -t ssh_port_t -p tcp 5000

# 然后确认一下是否添加进去
semanage port -l | grep ssh

# 如果成功会输出
ssh_port_t   -->  tcp    5000, 22

# 重启ssh
systemctl restart sshd.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  • 防火墙中放行新加入端口

    • 方法 1
    # 启动 systemctl
    systemctl start firewalld.service
    # 开机时启用服务
    systemctl enable firewalld.service
    
    # 添加允许新端口号
    firewall-cmd --permanent --add-port=5000/tcp
    
    # 用该命令查询
    firewall-cmd --permanent --query-port=5000/tcp
    # 如果是yes就是添加成功,如果是no就是没成功
    
    # 成功后重载防火墙
    firewall-cmd --reload
    
    # 配置iptable
    
    iptables -A INPUT -p tcp --dport 5000 -j ACCEPT
    
    # 重启 iptable
    service iptables restart
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    • 方法 2
    # 复制 firewalld 有关 sshd 的设定档案:
    cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/
    
    # 使用 vim  (或任何文本编辑器) 开启 /etc/firewalld/services/ssh.xml,寻找:
    <port protocol="tcp" port="22"/>
    # 修改为:
    <port protocol="tcp" port="5000"/>
    
    # 储存后重新加载 firewalld:
    firewall-cmd --reload
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

# 通过软件源在线安装

sudo yum -y install 软件名
# 其中参数-y为所有选项均选则yes,不加-y则要手动确认
1
2

# 通过本地 rpm 包安装

sudo rpm -ivh 软件名
# 其中参数-i为安装,-vh为列出安装过程
1
2

# 安装 nginx

yum install epel-release -y
yum install nginx -y
nginx -t # 检测nginx的语法
service nginx status # 查看状态
service nginx start / reload
service nginx stop
systemctl enable nginx

# firewall设置:
systemctl start firewalld.service    #启动firewall
systemctl stop firewalld.service     #停止firewall
systemctl disable firewalld.service  #禁止firewall开机启动

# firewalld默认已经安装并启用了,如果需要nginx可以访问需要执行以下命令:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --zone=trusted --add-port=80/tcp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# nvm 安装换源

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

vim .bashrc
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

source ~/git/nvm/nvm.sh
1
2
3
4
5
6

# firewall-cmd

  • firewalld
# 启动:
systemctl start firewalld
# 查状态:
systemctl status firewalld
# 停止:
systemctl disable firewalld
# 禁用:
systemctl stop firewalld
# 在开机时启用一个服务:
systemctl enable firewalld.service
# 在开机时禁用一个服务:
systemctl disable firewalld.service
# 查看服务是否开机启动:
systemctl is-enabled firewalld.service
# 查看已启动的服务列表:
systemctl list-unit-files|grep enabled
# 查看启动失败的服务列表:
systemctl --failed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  • 配置 firewalld-cmd
# 查看版本:
firewall-cmd --version
# 查看帮助:
firewall-cmd --help
# 显示状态:
firewall-cmd --state

# 查看所有打开的端口:
firewall-cmd --zone=public --list-ports
firewall-cmd --permanent --zone=public --list-ports
# 查看开启的服务
firewall-cmd --permanent --zone=public --list-services

# 更新防火墙规则:
firewall-cmd --reload
# 查看区域信息:
firewall-cmd --get-active-zones
# 查看指定接口所属区域:
firewall-cmd --get-zone-of-interface=eth0
# 拒绝所有包:
firewall-cmd --panic-on
# 取消拒绝状态:
firewall-cmd --panic-off
# 查看是否拒绝:
firewall-cmd --query-panic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  • 开启端口
# /etc/firewalld/zones/public.xml

firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(永久生效)

firewall-cmd --zone=public --add-service=http --permanent

firewall-cmd --zone=public --query-port=80/tcp  #查看
firewall-cmd --zone=public --remove-port=80/tcp --permanent  # 删除

firewall-cmd --list-services
firewall-cmd --get-services
firewall-cmd --add-service=<service>
firewall-cmd --delete-service=<service>

# 参数解释
--add-service #添加的服务
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

# 开启某个端口
firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp # 永久
firewall-cmd --zone=public --add-port=8080-8081/tcp # 临时

# 启用某个服务
firewall-cmd --zone=public --add-service=https # 临时
firewall-cmd --permanent --zone=public --add-service=https # 永久

# 查看开启的端口和服务
firewall-cmd --permanent --zone=public --list-services # 服务空格隔开 例如 dhcpv6-client https ss
firewall-cmd --permanent --zone=public --list-ports # 端口空格隔开 例如 8080-8081/tcp 8388/tcp 80/tcp

# 重新载入,更新防火墙规则
firewall-cmd --reload
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
  • 详细使用
# 设置某个ip访问某个服务
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.4/24" service name="http" accept'
# 删除配置
firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.0.4/24" service name="http" accept'
# 设置某个ip访问某个端口
firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.0.1/2 port port=80 protocol=tcp accept'
# 删除配置
firewall-cmd --permanent --remove-rich-rule 'rule family=ipv4 source address=192.168.0.1/2 port port=80 protocol=tcp accept'

# 检查是否允许伪装IP
firewall-cmd --query-masquerade
# 允许防火墙伪装IP
firewall-cmd --add-masquerade
# 禁止防火墙伪装IP
firewall-cmd --remove-masquerade

# 将80端口的流量转发至8080
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080
# 将80端口的流量转发至192.168.0.1
firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.1.0.1
# 将80端口的流量转发至192.168.0.1的8080端口
firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# Yum 命令

yum(选项)(参数)

h  # 显示帮助信息
y  # 对所有的提问都回答"yes"
c  # 指定配置文件
q  # 安静模式
v  # 详细模式
d  # 设置调试等级(0-10)
e  # 设置错误等级(0-10)
R  # 设置yum处理一个命令的最大等待时间
C  # 完全从缓存中运行,而不去下载或者更新任何头文件
1
2
3
4
5
6
7
8
9
10
11

# 命令行命令失效

  • PATH=/bin:/usr/bin

# 常用命令

yum repolist
yum search xxx
yum info xxx
yum install xxx -y
yum -y install vim	# 安装vim
yum remove xxx -y
yum -y update && yum -y upgrade
yum install wget -y
yum install -y epel-release
yum -y install gcc gcc-c++
yum -y install gcc automake autoconf libtool make
yum -y install net-tools
netstat –apn
netstat -ntlp
ps -aux | grep tomcat
netstat -ntulp |grep 80  # 查看80端口
ssh # 远程登录,如ssh [email protected]
cat /etc/redhat-release # 查看系统版本
ps -ef | grep nginx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# ss server

mac SSR: https://github.com/qinyuhang/ShadowsocksX-NG-R
win SSR : https://github.com/shadowsocksr-backup/shadowsocksr-csharp
android SSR: https://github.com/shadowsocksr-backup/shadowsocksr-android
android SSRR: https://github.com/shadowsocksrr/shadowsocksr-android

win : https://github.com/shadowsocks/shadowsocks-windows
mac : https://github.com/shadowsocks/ShadowsocksX-NG
android : https://github.com/shadowsocks/shadowsocks-android

base: https://github.com/shadowsocks/shadowsocks/tree/master

https://segmentfault.com/a/1190000013242438
https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E
https://segmentfault.com/a/1190000012654072
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  • install
# 需要安装git
yum install python-setuptools && easy_install pip
pip install git+https://github.com/shadowsocks/shadowsocks.git@master
ssserver -c /etc/shadowsocks.json
vim /etc/rc.d/rc.local
ssserver -c /etc/shadowsocks.json -d start
1
2
3
4
5
6
  • config
# shadowsocks.json
# server ip : 101.*.*.*

{
    "server":"server ip",
    "server_port":23345,
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"password",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open":false
}
1
2
3
4
5
6
7
8
9
10
11
12
13

# 相关链接