安装 pip

  • cd /home & mkdir pip找个目录下载安装脚本
  • wget https://bootstrap.pypa.io/get-pip.py开始下载
  • python3 get-pip.py开始安装(python版本不能小于3.6
  • pip -V查看版本确认是否成功安装
    • 出现notfound,把pip加到环境变量echo 'export PATH=/usr/local/python/python3/bin:$PATH' >>~/.bashrc
    • source ~/.bashrc
  • pip install name安装(如:pip install jupyterlab
  • pip uninstall name卸载(如:pip uninstall jupyterlab
  • yum remove python-pip据说这样可以卸载pip

安装 yum

  • rpm -aq | grep yum检查
    1
    2
    3
    4
    5
    6
    7
    yum-metadata-parser-1.1.4-10.el7.x86_64
    yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch
    yum-langpacks-0.4.2-7.el7.noarch
    yum-plugin-versionlock-1.1.31-54.el7_8.noarch
    yum-3.4.3-168.el7.centos.noarch
    yum-plugin-copr-1.1.31-54.el7_8.noarch
    yum-utils-1.1.31-54.el7_8.noarch
  • rpm -qa|grep yum|xargs rpm -e --nodeps删除老的
  • 下载地址https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/ or http://centos.ustc.edu.cn/centos/7/os/x86_64/Packages/
  • 以下参考https://www.cnblogs.com/silva/p/14517829.html
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/lvm2-python-libs-2.02.187-6.el7.x86_64.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/libxml2-python-2.9.1-6.el7.5.x86_64.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-libs-2.7.5-89.el7.x86_64.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-ipaddress-1.0.16-2.el7.noarch.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-backports-1.0-8.el7.x86_64.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-2.7.5-89.el7.x86_64.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-setuptools-0.9.8-7.el7.noarch.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-kitchen-1.1.1-5.el7.noarch.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-chardet-2.2.1-3.el7.noarch.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/rpm-python-4.11.3-45.el7.x86_64.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-54.el7_8.noarch.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-aliases-1.1.31-54.el7_8.noarch.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-protectbase-1.1.31-54.el7_8.noarch.rpm &
    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
  • 安装
    1
    2
    3
    4
    rpm -Uvh --replacepkgs lvm2-python-libs*.rpm --nodeps --force &
    rpm -Uvh --replacepkgs libxml2-python*.rpm --nodeps --force &
    rpm -Uvh --replacepkgs python*.rpm --nodeps --force &
    rpm -Uvh --replacepkgs rpm-python*.rpm yum*.rpm --nodeps --force
  • 更换yum源,以下参考https://www.jianshu.com/p/bae36e20c74a
    • mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup备份原来的源
    • wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo下载
    • yum makecache生成缓存(有错误)
    • yum update --disableplugin=subscription-manager尝试不加在插件运行(发现没有错误了,可以禁掉或者删除)
    • yum autoremove subscription-manager -y删除它

yum 安装

安装git

安装nginx

安装brew官网

  • 官网安装方法:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • 内地加速安装方法:/bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/code-ba/brew-install@main/install.sh)"
    • linux安装完成如果不生效,添加下环境变量:
    • vim /etc/profile编辑
    • PATH=$PATH:$HOME/bin:/home/cxvh/.linuxbrew/bin添加这一句
    • source /etc/profile使其生效

安装apt-get

  • 安装curl https://raw.githubusercontent.com/dvershinin/apt-get-centos/master/apt-get.sh -o /usr/local/bin/apt-get
  • 修改权限chmod 0755 /usr/local/bin/apt-get
  • 使用sudo /usr/local/bin/apt-get install 包名 or apt-get install 包名

command

参考文档:

常用命令centos7.8
查看操作系统lsb_release -a
内核版本uname -a
磁盘空间查看df
df -Th
文件夹命令cd Desktop
ls -al /c/a.txt
ls显示不隐藏的文件与文件夹
ls -la是列出当前目录中的所有文件和目录,包括隐藏文件和目录
ls -a显示所有文件,包括隐藏文件和目录(以“.”为开始的文件和目录为隐藏文件)
ls -l长格式列出
ls -al 显示当前目录下的所有文件及文件夹包括隐藏的.和..等的详细信息
自定义别名vim ~/.bashrc——>>>alias ll=”ls -l –color=auto”
环境变量配置文件:~/.bash_profile、~/.zshrc、~/.profile、~/.bash_profile
目录/文件信息drwxr-xr-x. 2 Baran root 4096 Oct 29 16:43 Desktop
drwxr-xr-x:文件类型和权限。第1位:文件类型,剩余9位:文件权限
2:链接数(链接占用的节点i-node),普通文件链接数是1,目录链接数是子目录的个数。空目录有.. 和.目录,所以是2。
Baran:当前文件所属用户
root:当前文件所属组
4096:文件大小
Oct 29 16:43:最后修改日期
Desktop:文件或文件夹名称
文件类型d:目录
-:普通文件
l:链接文件
c:字符设备
b:二进制设备文件
p:管道
文件权限:rwx r-x r-x前3位:所属用户权限(u)。是否可读,是否可写,是否可执行。每一位可以用二进制0/1表示,3为合起来就是十进制数字。比如rwx,二进制表示就是111,十进制表示就是7。
中3位:所属组权限(g)。是否可读,是否可写,是否可执行。每一位可以用二进制0/1表示,3为合起来就是十进制数字。比如r-x,二进制表示就是101,十进制表示就是5。
后3位:其他用户权限(o)。是否可读,是否可写,是否可执行。每一位可以用二进制0/1表示,3为合起来就是十进制数字。比如r-x,二进制表示就是101,十进制表示就是5。
r:文件(可读取内容)、文件夹(可以 ls)
w:文件(可修改文件的内容)、文件夹(可以在其中创建或者删除子节点)
x:文件(能否运行这个文件)、文件夹(能否cd进入这个目录,或者 sh ./这个文件 能执行)
修改文件权限chmod g-rw haha.txt 表示将haha.txt对所属组的rw权限取消
chmod o-rw haha.txt表示将haha.txt对其他人的rw权限取消
chmod u+x haha.txt表示将haha.txt对所属用户的权限增加x
chmod a-x haha.txt表示将haha.txt对所有用户取消x权限
chmod 664 haha.txt也可以用数字的方式来修改权限,就会改成rw-rw-r--
chmod -R 770 aaa/将文件夹的所有内容权限统一修改,则可使用-R参数
CPU/内存/进程top(可按 m)
切换为管理员sudo su
安装curlsudo apt install curl
更新 apt apt-getsudo apt update && sudo apt upgrade or apt-get update
显示用户信息id username(如:id root
用户列表文件:/etc/passwd
用户组列表文件:/etc/group
查看系统中有哪些用户:cut -d : -f 1 /etc/passwd
查看可以登录系统的用户:cat /etc/passwd
查看某一用户:w username(如:w root,需要root权限)
查看登录用户:who
查看用户登录历史记录:last
创建用户useradd cxvh2021(创建完成 home 文件夹下会有新建用户名文件夹)
-u UID:指定 UID,这个 UID 必须是大于等于500,并没有其他用户占用的 UID
-g GID/GROUPNAME:指定默认组,可以是 GID 或者 GROUPNAME,同样也必须真实存在
-G GROUPS:指定额外组
-c COMMENT:指定用户的注释信息
-d PATH:指定用户的家目录
给用户设置密码passwd cxvh2021—>然后设置密文密码,再重复即可
删除用户userdel cxvh2021
删用户的目录rm -rf cxvh2021
切换用户su cxvh2021
添加用户组groupadd groupname(cat /etc/group 可以看到自己的分组和分组id)
新建用户同时增加工作组useradd -g testgroup testuser //新建testuser用户并增加到testgroup工作组
//注::-g 所属组 -d 家目录 -s 所用的SHELL
给已有的用户增加工作组usermod -G groupname username
删除用户组groupdel groupname
usermod –G testgroup testuser(强制删除该用户的主目录和主目录下的所有文件和子目录)
修改用户权限有一个简单粗暴的方法vi /etc/password(关于uid)
0 表示管理员(root)
1 - 500 表示系统用户
501 - 65535 表示普通用户 一般是这样的,不过不同的Linux版本可能有些偏差
chown [-cfhvR] [–help] [–version] user[:group] file…
创建文件夹mkdir test
创建文件echo “#test” >> README.md
echo ‘{}’ >> .babelrc
echo myname>abv.txt
echo text>abv.txt
查看端口netstat -tlunp
端口放行firewall-cmd –add-port=81/tcp –permanent
firewall-cmd –reload
Shell 命令-sed
字符串替换sed -i “s/artitalk:/artitalk: true/“ _config.butterfly.yml
重启reboot 普通重启
shutdown -r now 立刻重启(root用户使用)
shutdown -r 10 过10分钟自动重启(root用户使用)
shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
取消重启shutdown -c命令取消shutdown重启
curlcurl -h

目录介绍

1
2
3
4
5
6
7
8
9
10
home # 个人目录
soft
down
其他的文件目录
etc # 软件配置目录
sys # 系统目录
usr # 系统可执行文件放在这
sbin # 超级管理员要用到的一些执行文件
local # 本地执行的一些文件
var # 日志

文件相关

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ls # 目录
mkdir test # 创建文件夹
cd test # 进入文件夹
touch test.txt # 创建文件
# vi test.txt 创建并编辑文件
vim test.txt # 编辑文件
:wq # 保存文件
:q! # 不报错
cat test.txt # 查看文件内容
echo '123' >> test.txt # 追加内容
echo '321' > test.txt # 覆盖内容
rm test.txt # 删除文件 按 y
nkdir testdir # 创建文件夹
rm -r testdir # 删除目录 按 y
rm -rf testdir # 强制删除(谨慎!!!)

下载/压缩/解压

1
2
3
wget http://aa.cc/aaa.tar.gz
tar zxvf aaa.tar.gz # zxvf z->代表 gz 结尾 x->解压缩 v->显示所有解压过程 f->解压到 aaa 的文件夹里面
tar zcvf bbb.gar.gz aaa #

grep 命令

1
2
ps -ef | grep docker # grep 搜索的意思 后面跟关键字
kill -9 21937 # 终止进程 9->是强制终止的意思 21937->是pid

查看系统服务状态

1
2
3
4
5
6
service sshd status # 查看服务状态
service sshd restart # 重启服务->Redirecting to /bin/systemctl restart sshd.service
service sshd stop # 关闭服务
systemctl status firewalld.service

service ssh status

连接服务器

1
2
3
ssh -p 22 root@127.0.0.1 # ssh->安全外壳协议(Secure Shell 缩写) -p->指定端口 22端口 root->用户名 127.0.0.1->服务器地址
ssh root@127.0.0.1 # 使用默认端口连接
ssh -v username@cxvh.com # 使用域名链接

修改 SSH 默认端口

1
2
3
4
5
6
7
8
9
10
11
12
service sshd status
netstat -anlp | grep sshd
vi /etc/ssh/sshd_config # Port 23 自定义端口
semanage port -a -t ssh_port_t -p tcp 23 # 如果找不到 semanage 继续下面操作安装 semanage -bash:semanage:command not found
yum whatprovides semanage # 反查命令,找那个包有这个命令 # policycoreutils-python-2.5-29.el7.x86_64 : SELinux police core
yum install -y policycoreutils-python
semanage port -a -t ssh_port_t -p tcp 23
semanage port -l |grep ssh
semanage port -d -t ssh_port_t -p tcp 27000 # 删除端口
semanage port -l |grep ssh
service ssh restart
ssh -p 23 root@127.0.0.1 # 重新登录

SSH密钥登录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 本地
cd ~/.ssh
ls
# ssh-keygen # 生成OPENSSH密钥,和 git 类似
ssh-keygen -t rsa -m pem # 生成 pem 密钥
ls # .pub 是公钥
vi config # 编辑
> Host cxvh
> Port 23
> HostName 127.0.0.1
> User root
> IdentityFile ~/.ssh/id_rsa
> IdentitiesOnly yes
cat ~/.ssh/id_rsa.pub # 复制公钥
# 远端
cd ~/.ssh/ # 如果不存在 .ssh 目录的时候手动创建 mkdir -p ~/.ssh
vi authorized_keys # 粘贴本地公钥

# 通过 ssh 链接

安装go

  • wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
  • tar -C /usr/local -zxvf go1.10.3.linux-amd64.tar.gz
  • vim /etc/profile如果没有安装下sudo apt-get install vim
  • 把这两个export GOROOT=/usr/local/go export PATH=$PATH:$GOROOT/bin
  • ``
  • ``

配置HLDS服务端

  • 参考文档
  • 安装SteamCMD(通过此方法安装的服务端不支持盗版游戏)
    • 安装screenyum install screen(使shell在后台继续执行)
    • 查看当前系统是32还是64位的:uname -a
      • 如果是32位的请忽略,64位的安装32位的依赖:yum install glibc.i686 libstdc++.i686
    • 创建用户useradd -m steam(之所以需要创建一个新账户,是为了安全性而要求的。若使用root账户运行steamcmd会看到安全提醒)
      • 设置密码:passwd steam(可选设置)
    • 切换用户su - steam(切换到这个账户,注意这里的命令是 su空格-空格steam,这样做的话,切换后立即转到steam账户的~目录)
    • 创建steamcmd目录并进入:mkdir steamcmd & cd steamcmd
    • 下载steamcmd安装包:wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
      • 出现Unable to establish SSL connection.?通过下面方法即可下载
      • cd ~/steamcmd & wget --ca-certificate=ca-bundle.crt -c https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
    • 解压缩:tar -xvzf steamcmd_linux.tar.gz
    • 如果能成功运行说明安装成功:cd ~/steamcmd & ./steamcmd.sh
  • 安装HLDS
    • 运行:cd ~/steamcmd & ./steamcmd.sh
    • 登录匿名账号:login anonymous
    • 指定安装位置:force_install_dir ../cs1.6/
    • 查看支持的游戏服务端
      • 浏览器打开:valvesoftware.com
      • ctrl+f搜索游戏名,如:Counter-Strike
      • 找到Counter-Strike 1.6 Dedicated Server,查看对应ID为:90
    • 安装服务器:app_update 90
    • 运行服务器:screen ./hlds_run -game cstrike +port 26020 +maxplayers 16 +map de_dust2
      • 后台运行CF供电所:screen ./hlds_run -game cstrike +port 26021 +maxplayers 16 +map de_inferno
    • 启动游戏,在控制台输入连接上即可:connect 182.61.6.105:26020
  • Screen命令
    • 语法:screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]
    • screen -ls -> 列出当前所有的session
    • screen -S yourname -> 新建一个叫yourname的session
    • screen -r yourname -> 回到yourname这个session
    • screen -d yourname -> 远程detach某个session
    • screen -d -r yourname -> 结束当前session并回到yourname这个session
  • 其它配置
    • 服务器名称:打开/home/steam/cs1.6/cstrike/server.cfg,修改hostname

报错整理:

yum 相关

  • yum -y upgrade升级
  • yum -y install yum-utilsyum仓库管理工具
  • yum versionlock clear解除锁的状态

执行yum install git报错

1
2
3
4
5
Loaded plugins: fastestmirror

File contains no section headers.
file: file:///etc/yum.repos.d/nginx.repo, line: 1
'nx-stable]\n'
  • 原因:
    • 没有配置yum源
  • 解决方法
    • 修改vi /etc/yum.repos.d/CentOS-Base.repo
    • 删除旧的,重新下载阿里的
      • rm -f /etc/yum.repos.d/CentOS-Base.repo
      • wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
      • yum clean all
    • 如果上面两种方法都不行,可尝试
      • rm -f /etc/yum.repos.d/*
      • wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
      • yum clean all

node 相关

使用npm install -g cnpm安装cnpm不起作用

  • 解决方法:npm install -g cnpm --registry=https://registry.npm.taobao.org

shell

缺少执行权限,chmod +x bin/process/test.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
internal/child_process.js:403
throw errnoException(err, 'spawn');
^

Error: spawn UNKNOWN
at ChildProcess.spawn (internal/child_process.js:403:11)
at spawn (child_process.js:553:9)
at Object.execFile (child_process.js:237:17)
at Object.<anonymous> (E:\learn\cxvh-cli-test\test\bin\process\index.js:11:4)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18) {
errno: -4094,
code: 'UNKNOWN',
syscall: 'spawn'
}

sudo

  • 用户不在sudo文件users is not in the sudoers file

  • root用户执行命令:visudo

  • 在末尾添加用户,如:yourusername ALL=(ALL) ALL

  • 保存退出即可。

yum install -y nodejs

  • 报错:Error: Package: 1:npm-3.10.10-1.6.17.1.1.el7.x86_64 (epel)
  • 解决方法:yum install epel-release; yum install nodejs