在后台启动tmux tmux new -d -s name
给tmux输入发送指令 tmux send-keys -t name:0 "echo hello" C-m
Tag
在后台启动tmux tmux new -d -s name
给tmux输入发送指令 tmux send-keys -t name:0 "echo hello" C-m
https://downloads.mysql.com/archives/community/
tar -xf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gzgroupadd mysql && useradd -r -g mysql mysql注意,以下示例步骤中安装mysql的位置为/usr/local/mysql,mysql数据文件夹为/usr/local/mysql/data
vim /etc/my.cnf参考:http://c.biancheng.net/view/7618.html
这儿的不要乱写,容易导致各种奇奇怪怪的问题
[mysqld]
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
max_connections=200
symbolic-links=0
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8
[mysqld_safe]
log-error=/usr/local/mysql/error.log
pid-file=/usr/local/mysql/mysqld.pid文档:https://www.mysqlzh.com/doc/13/78.html
# 创建数据文件夹, 日志文件夹, 设置所有者
cd /usr/local/mysql && mkdir logs && touch error.log && chown mysql:mysql -R *bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql --initialize解决./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
sudo apt install -y libaio-dev numactlcp support-files/mysql.server /etc/init.d/mysql解决Unit mysql.service does not exist, proceeding anyway.
修改vim /etc/init.d/mysql
# 若/etc/my.cnf中指定了mysql目录,则此处也需要指定
basedir=/usr/local/mysql
datadir=/usr/local/mysql/datasystemctl enable mysql或者
service mysql startmysql -u root -p
# 在接下来的一行中输入密码解决./mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
apt-get install -y libncurses*-- 更新密码
alter user 'user'@'host' identified by 'password';
-- 刷新权限
flush privileges;以下内容参考于 https://blog.csdn.net/qpzkobe/article/details/102833458
# 创建用户 username替换为用户名, host替换为地址, password替换为密码
# 示例 CREATE USER 'mc'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
# 删除用户 username替换为用户名, host替换为地址
# 示例 DROP USER 'mc'@'localhost';
DROP USER 'username'@'host';
# 授权 privileges替换为权限, databasename替换为库名, tablename替换为表名, username替换为用户名, host替换为地址
# 示例 GRANT all ON playerpoints.* TO 'mc'@'localhost';
GRANT privileges ON databasename.tablename TO 'username'@'host';
# 撤销授权 privileges替换为权限, databasename替换为库名, tablename替换为表名, username替换为用户名, host替换为地址
# 示例 REVOKE all ON playerpoints.* FROM 'mc'@'localhost';
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
# 刷新权限
flush privileges;Linux screen命令用于多重视窗管理程序。
screen为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。
下文中使用name作为默认的screen名字示例,实际使用中需要替换成你创建的screen的名字
screen -S name # 创建一个名字为name的screen在screen中按下ctrl + a,然后按d(注意如果开启中文输入法可能会失效)
screen -ls # 查看存在的screenscreen -x name # 进入名为name的screen(允许多个终端同时进入)若打开了多个同名的screen, 则需要先使用 screen -ls 列出并找到要打开的screen对应的id, 然后使用 screen -x id 进入对应的screen
screen -x 12345 # 进入id为12345的screenexit # 若当前处于screen则退出screen, 否则会退出当前bashscreen -dmS name # 创建一个名为name的screen但是不进入screen -x -S name -p 0 -X stuff "ls\n" # 外部调用名为name的screen输入ls并回车(\n代表回车)此处的 -p 0 意为若存在多个screen则选择第0个(从0开始),若你没有同名的screen则可以去掉
screen -S name -X quit # 从外部关闭名为name的screen先按 ctrl + a , 然后按esc
我自己的服务器用的是Centos7, 最近设置环境变量的时候发现设置完source之后PATH居然没有变化
# 修改环境变量(我是写在文件最前面的)
vim /etc/profilesource /etc/profile然后在profile里面设置完环境变量的地方echo了一下, 发现输出的PATH是正确的
经过排查之后发现
/etc/profile.d 里面有一个 mysql.sh
PATH=/usr/local/src/openJDK/bin:/usr/local/src/node/bin:/home/mysql/mysql/bin:/usr/local/src/ffmpeg:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/home/mysql/mysql/bin怪不得PATH总是改完没反应
这里将它重命名为 mysql.sh.bak , 再source刷新之后, PATH就正确了
# 进入 .ssh 文件夹
cd ~/.ssh# 处理旧的密钥文件
mv id_rsa id_rsa.bak
mv id_rsa.pub id_rsa.pub.bak# 输入后按3次回车
ssh-keygen -t rsa# 将公钥写入authorized_keys
cat id_rsa.pub >> authorized_keys若出现问题无法登陆,则检查日志 /var/log/secure
Authentication refused: bad ownership or modes for file /root/.ssh/authorized_keys
原因:
sshd 为了安全,对属主的目录和文件权限有所要求。如果权限不对,则 ssh 的免密码登陆不生效
用户目录权限为 755 或者 700,就是不能是 77x
.ssh 目录权限一般为 755 或者 700
rsa_id.pub 及 authorized_keys 权限一般为 644
rsa_id 权限必须为 600
# 设置权限(权限错误会无法登陆)
cd ~/.ssh
chmod 644 authorized_keys id_rsa.pub && chmod 600 id_rsa && chmod 700 .报错:configure: error: C++ compiler cannot create executables
解决办法:yum install -y automake autoconf libtool gcc gcc-c++
从官网下载,这里选LTS(长期支持版)

这里我用的vmware虚拟机安装的ubuntu,如果要在实体机上安装ubuntu的话,可以使用ubuntu官网推荐的rufus
安装过程比较长并且没有什么需要操作的地方,跳过
安装好系统后,默认是英文,系统默认没有附带中文的语言文件,要更换语言就得下载。
下载之前首先要设置下载源,国内不配置下载源下载会非常慢(如果有弹窗让你更新的话先放着,等配置好下载源之后再更新)

关闭并且重载

等到进度条走完就完成了换源(如果有报错跳过即可)

安装完成后

设置格式

设置完成后重启就是中文得了
不要忘了设置输入法
将语言设置为中文后系统会询问是否改名标准文件夹,这里我选择不改
原因是之前用centos7(gnome桌面),中文输入法有时会失灵,无法输入中文,没办法进入中文名字的文件夹



ubuntu默认不允许直接使用root账户登陆,需要使用时请使用 su 指令切换到 root 账户,使用完毕之后用 exit 指令退出
第一次使用 su 切换toot账户之前需要先为root账户设置密码
输入 sudo passwd 为root账户设置密码,输入指令后需要输入3此密码,第一次是当前账户的密码,后两次是设置root账户的密码,输入后不显示是正常情况

wget的时候是不走系统代理的,解决办法
export https_proxy=192.168.48.1:7890 export http_proxy=192.168.48.1:7890 export ftp_proxy=192.168.48.1:7890
这里的 192.168.48.1:7890 是我本机的代理,使用时修改成你的代理地址
Ubuntu默认带了openssh-client,但是没有openssh-server
直接 apt install -y openssh-server 会提示

这里我们直接卸载已有的openssh-clileht
apt remove -y openssh-client
然后再安装openssh-server
apt install -y openssh-server
ps: 这里我使用的root账户安装,若是普通账户请在指令前添加 sudo
sudo apt remove -y openssh-client
sudo apt install -y openssh-server
本文教程中默认假设java文件夹位于 /usr/local/java,实际修改以你自己的java文件夹为准
输入指令后计算机会查找对应的可执行文件,查找的路径就是Path
这里以设置java的路径举例,假设java文件夹位于 /usr/local/java ,你在操作的时候需要把 /usr/local/java 替换成自己的软件的路径
打开系统路径文件
vi /etc/profile在vi里面默认不是编辑模式
按i或者右侧方向键上面那一块里面的insert键进入编辑模式
左下角显示 -- INSERT -- 或 -- 插入 -- 时就是进入了编辑模式,注意不要使用替换模式
在打开文件的最前面添加如下内容
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
# 检查是否设置完成
java -version
# 如果显示 bash: java: 未找到命令... 就代表你改的有问题
# 如果显示了java的具体信息就代表修改成功JAVA_HOME并非必须,也可以用改成如下方式(注意,两者二选一)
export PATH=$PATH:/usr/local/java/bin按esc,输入 :wq 保存并退出
source /etc/profile如果输入此指令后什么也没发生,别担心,这是正常情况,说明操作执行正常完了
通过查看Java版本检查Java是否被加入进path
java -version也可以直接查看path
echo $PATH