linux环境配置

网络环境配置

软件安装

  • brew

    • brew install git
    • brew install nginx
    • brew install node
      • n install 18
      • n use 18
    • brew install python
  • 修改yum镜像源

    • vscode 链接服务器
    • 打开项目目录/etc/yum.repos.d/
    • 修改镜像源地址为https://mirrors.aliyun.com/centos/
1
2
3
# #mirrorlist=http://#mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=cr&infra=$infra
# baseurl=http://mirror.centos.org/$contentdir/$releasever/cr/$basearch/os/
baseurl=https://mirrors.aliyun.com/centos/8/cr/x86_64/os/
  • yum 安装软件
    • yum -y upgrade升级
    • yum -y install yum-utilsyum仓库管理工具
    • yum versionlock clear解除锁的状态
    • yum install -y git
    • 安装nginx
    • 安装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 链接

配置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