【Linux】Linux环境配置

前言

配置环境变量的位置在/etc/profile文件中(系统级别的配置文件)
~/.bashrc是用户级别的配置文件

在修改/etc/profile之后需要执行source /etc/profile命令使修改内容生效
~/.bashrc是该用户每次登入时会自动运行。以root用户进入时会执行/root/.bashrc配置文件,以steam用户进入会执行/home/steam/.bashrc配置文件

两个文件可以实现完美的搭配:

  1. 修改/etc/profile配置文件实现自己的需求,如export PS1='[\t \u@\h \w]\$ '
  2. ~/.bashrc文件末尾添加source /etc/profile

这样在每次用户进入后都会执行一遍source /etc/profile命令,使/etc/profile配置文件生效

创建快捷方式

/usr/bin/路径下创建一个pbulic快捷方式,使其指向/home/hexo/public

1
ln -sf /home/hexo/public /usr/bin/public
  • ln:创建链接命令
  • -s:表示创建软链接
  • -f:表示在目标文件存在时强制删除并重新创建

public可以是文件夹,也可以是文本文件,也可以是执行文件(linux一个路径下不允许同时存在同名文件,同名的文件夹和文本文件也不行,所以不用担心索引错)
不管是什么,在访问/usr/bin/public时等同于访问/home/hexo/public

  • 文件夹:cd /usr/bin/public等同于cd /home/hexo/public
  • 文本文件:vim /usr/bin/public等同于vim /home/hexo/public
  • 执行文件:/usr/bin/public等同于/home/hexo/public

执行文件最好放在/usr/bin/路径下,该路径下的执行文件是全局可用的
如,使用ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx创建了nginx的快捷方式,则在任意路径下执行nginx都等同于执行/usr/local/nginx/sbin/nginx

使用systemctl让服务器在后台运行

需要在/etc/systemd/system/路径下创建后缀为.service服务器配置文件,如vim /etc/systemd/system/pal.service

文件内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[Unit]
# 服务器简介
Descripteion=pal server
# 前置service,都在/etc/systemd/system/下,network.target是连接上网络
After=network.target XXX.service

[Service]
# 指定运行的sh
ExecStart=/path/to/start/PalServer.sh
# 停止和重新加载服务时执行的命令
ExecStop=/path/to/stop/command
ExecReload=/path/to/reload/command
# 指定服务器运行的用户和组
User=yourusername
Group=yourgroupname
# 定义服务器在退出后是否自动重启
Restart=always

# 默认格式
[Install]
WantedBy=multi-user.target
systemctl常用命令 含义
sudo systemctl daemon-reload 重载服务,每次修改后需要执行
sudo systemctl start pal 启动服务,可不用后缀直接使用pal
sudo systemctl stop pal 停止服务
sudo systemctl restart pal 重启服务
sudo systemctl status pal 查看状态
sudo systemctl enable pal 设置开机启动
sudo systemctl disenable pal 关闭开机启动
sudo journalctl -u pal 查看服务日志
sudo journalctl -f 持续输出所有后台服务器日志

配置shell命令提示符

PS1代表提示符的变量,可以在shell中输入echo $PS1查看当前PS1的值

个人喜欢的一个配置export PS1='[\t \u@\h \w]\$ '

缩写 含义
\d 代表日期,格式为weekday month date
\H 完整的主机名称
\h 仅主机的第一个名字
\t 显示24小时格式的时间,HHMMSS
\T 显示12小时格式的时间
\A 显示24小时格式的时间,HHMM
\u 当前账户的账号名称
\v BASH的版本信息
\w 完整的工作目录名称,家目录会以~显示
\W 利用basename去的工作目录名称,所以只会列出最后一个目录
# 下达的第几个命令
$ 提示字符,如果是root,提示符为#,普通用户则为$