linux笔记

cpu占用和核数查询教程

https://blog.csdn.net/wangxin6722513/article/details/43452075

Linux之在aws ec2上使用root用户登录

  • sudo passwd root
  • su root

安装websocket命令

  • npm config set registry http://registry.npm.taobao.org/
  • npm install -g wscat --registry https://registry.npm.taobao.org
  • wscat -c ws://echo.websocket.org
    wscat -c wss://real.OKEx.com:8443/ws/v3
    {"op": "subscribe", "args": ["swap/depth_l2_tbt:BTC-USD-SWAP"]}

centos7创建内存交换空间

// 创建swap文件:count为要改了数字1024*2*实际内存大小(M)其中2代表虚拟内存是实际内存的2倍
 sudo dd if=/dev/zero of=/home/swap bs=1024 count=4098000
// 将文件格式转换为swap格式的
 sudo mkswap /home/swap
// 再用swapon命令把这个文件分区挂载swap分区
sudo swapon /home/swap
//
free -m
// 为防止重启后swap分区变成0,要修改/etc/fstab文件
sudo vi /etc/fstab
/home/swap swap swap default 0 0
// 关闭(等待)
swapoff -a
// 启动
swapon /文件路径

https://blog.csdn.net/ygm_linux/article/details/24532809

  • sudo chmod 777 /home/swap
    https://jingyan.baidu.com/article/4dc408486bb3e7c8d946f125.html

linux目录

// 用户级的程序目录
/opt

后台启动命令

  • nohup command >/dev/null 2>&1 &

安装docker

https://www.runoob.com/docker/centos-docker-install.html

ll按时间跑排序

  • ll -t (降序)
  • ll -t | tac (升序)

查看cpu配置信息

  • cat /proc/cpuinfo
    https://www.cnblogs.com/black-mamba/p/7102615.html

查看磁盘

  • df -g

查看内存

  • free -m

aws linux主机root帐号登录

  • 创建root密码:sudo passwd root
  • 切换成root身份: su root
  • 修改sshd 配置文件:vim /etc/ssh/sshd_config

PasswordAuthentication yes
PermitRootLogin yes

  • 重新启动下sshd,sudo /sbin/service sshd restart
    以上都是在服务端执行的操作,现在就可以ssh [email protected] 进行登录了

统计一个进程的线程数

cat /proc/10830/status


linux笔记_第1张图片
image.png

linux mysql 定时任务备份

  • 创建备份脚本
cd /etc/cron.d/
sudo touch mysql-backup.sql
sudo chmod +x  mysql-backup.sql(sudo chmod 777  mysql-backup.sql)
sudo vi mysql-backup.sql

#!/bin/bash
mysqldump -h localhost -uroot -pBitCopt@MySQL#2019 bitcopt_db > /home/centos/mysql-backup/bitcopt_db-$(date +%Y%m%d%H%M%S).sql
  • 创建备份目录
sudo mkdir backup
sudo chmod +x backup(sudo chmod 777   backup)
  • 设置定时任务


# mysql mht_web backup
30 * * * *  /etc/cron.d/cleanUp-log.sh > /dev/null 2>&1

根据pid查询服务名称、路径

ps -aux |grep -v grep|grep 28990

vi文本操作

// 批量替换字符串
:%s/vivian/sky/  // 替换每一行的第一个 vivian 为 sky 
:%s/vivian/sky/g  // 替换每一行中所有 vivian 为 sky 
// 定位vi文本
跳到文本的最后一行:按“G”,即“shift+g”
跳到第一行的第一个字符:先按两次“g”
// 过滤vi文本信息,注意以上/error/p 中的p 必须要带着,后边的logs.log 是一个文件,输入上边的命令,则会打印出只含有error 的内容。
sed -n "/error/p" logs.log

修改hosts文件(修改完就生效)

sudo vi  /etc/hosts

centos7 rabbitmq安装教程

  • 安装erlang(centos7下要使用这个安装包,不然又其他奇怪问题)
  • sudo yum install epel-release
  • sudo yum remove erlang-erts-R16B-03.18.el7.x86_64 (卸载之前版本)
  • wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/esl-erlang_20.3.8.23-1centos7_amd64.rpm
  • sudo rpm -ivh esl-erlang_20.3.8.23-1centos7_amd64.rpm
    下载地址 https://github.com/rabbitmq/erlang-rpm/releases/tag/v20.1.7.1
  • 安装socat
sudo yum install socat
  • rabbitmq密钥导入
# import the new PackageCloud key that will be used starting December 1st, 2018 (GMT)
sudo rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
# import the old PackageCloud key that will be discontinued on December 1st, 2018 (GMT)
sudo rpm --import https://packagecloud.io/gpg.key
sudo rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
  • 下载rabbitmq最新版
    https://www.rabbitmq.com/download.html
  • 安装rabbitmq
sudo rpm -ivh rabbitmq-server-3.7.15-1.el7.noarch.rpm
  • 启动rabbitmq服务器

sudo chkconfig rabbitmq-server on

  • rabbitmq命令
sudo /sbin/service rabbitmq-server start
sudo /sbin/service rabbitmq-server stop
sudo /sbin/service rabbitmq-server status
sudo service rabbitmq-server restart
  • 启动web管理网站
 sudo find / -name rabbitmq-plugins
sudo /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.5/sbin/rabbitmq-plugins enable rabbitmq_management
sudo /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.15/sbin/rabbitmq-plugins enable rabbitmq_management
// 重启
sudo service rabbitmq-server restart
  • 登录web管理网站
// 创建用户
sudo rabbitmqctl  add_user admin admin
// 给予用户分配权限
sudo rabbitmqctl  set_user_tags  admin administrator
// 给予控制权限,解决程序不能创建exchange、队列问题
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
// 重启
sudo service rabbitmq-server restart

centos一键安装脚本

  • jdk脚本

1.将jdk安装包放到sh脚本同一个目录
2.sudo bash jdk.sh(自定义sh脚本
https://www.cnblogs.com/chenglee/p/10131564.html

  • nginx脚本
    https://blog.csdn.net/qq_38591756/article/details/82952936

centos7 防护墙 端口命令

  • 查看防火墙状态

sudo systemctl status firewalld

  • 启动防火墙

sudo systemctl start firewalld

  • 停止防火墙

sudo systemctl stop firewalld

  • 开放端口

sudo firewall-cmd --zone=public --add-port=8333/tcp --permanent

  • 重启防火墙

sudo firewall-cmd --reload

  • 查看已经开放的端口

sudo firewall-cmd --list-ports

https://blog.csdn.net/achang21/article/details/52538049

清空文件内容

echo "" > filename 

复制目录到另一个目录

  • 如果dir2目录不存在,则可以直接使用

cp -r dir1 dir2

  • 如果dir2目录已存在,则需要使用

cp -r dir1/. dir2

修改时区

timedatectl list-timezones |grep Shanghai    #查找中国时区的完整名称
Asia/Shanghai
timedatectl set-timezone Asia/Shanghai    #其他时区以此类推

查看当前时区

timedatectl status 

创建多级目录

mkdir -p /www/bitcopt/com

linux 开放端口

https://blog.csdn.net/TE28093163/article/details/78200665/

压缩包

// tar结尾,目录后面不加斜杠
 sudo tar -cvf backstage.tar dirname
// gz结尾
gzip -d all.gz

解压缩

···
// tar结尾
tar zxvf filename.tar
// gz结尾
gunzip all.gz
···

linux nginx安装

  • 安装编译工具及库文件

sudo yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

  • 安装 PCRE, 作用是让 Nginx 支持 Rewrite 功能

cd /usr/local/src/ # 一定要装在这个目录,不然ngnix编译出错
sudo wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
解压安装包:
sduo tar zxvf pcre-8.35.tar.gz

进入安装包目录:
cd pcre-8.35
编译安装:
sudo ./configure
sudo make && sudo make install
查看pcre版本
pcre-config --version

  • 安装 Nginx

sudo wget http://nginx.org/download/nginx-1.14.2.tar.gz #修改为自己要的版本 http://nginx.org
解压安装包:
tar zxvf nginx-1.6.2.tar.gz
进入安装包目录:
cd nginx-1.6.2
编译安装:
sudo ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
sudo make && sudo make install
查看nginx版本:
/usr/local/nginx/sbin/nginx -v

  • 环境配置

sudo vi /etc/profile
source /etc/profile

  • 启动nginx,切换到管理员用户

sudo /usr/local/webserver/nginx/sbin/nginx -c /usr/local/webserver/nginx/conf/nginx.conf

注:-c 指定一个文件,即指定配件文件。默认的路径是安装目录下的conf/nginx.conf
当然你不指定就是这里,指定的话,可以自定义,只要有权限访问即可。

linux redis安装

  • 下载redis
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make test
  • centos7 g++: command not found,CentOS5.7默认没有安装gcc,这会导致我们无法make成功。使用yum安装。
sudo yum -y install gcc
  • zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
sudo make MALLOC=libc
  • 如果报错:You need tcl 8.5 or newer in order to run the Redis test
sudo yum install tcl.x86_64
  • 将redis安装到/usr/local/bin/
 sudo make install
  • 后台启动
redis-server &
  • 三种启动方式
// 默认配置
redis-server &
// 指定配置
redis-server /home/centos/redis-5.0.5/redis.conf &
// 使用redis启动脚本设置开机自启动
  • 通过指定配置文件启动
redis-server /你的路径/redis.conf &
  • 测试服务是否启动(默认端口)
redis-cli ping
  • 客户端建立连接
redis-cli -h ip地址 -p 6379 -a 密码
redis-cli -h 3.114.94.64 -p 6379 -a marketHdege
  • redis查看状态
ps -ef |grep redis
  • 关闭redis服务
redis-cli shutdown
  • 使redis外网可以访问
打开redis.conf文件,注释掉bind 127.0.0.1
protected-mode yes 改为 protected-mode no
  • 查看redis版本
 redis-server -v
  • 修改配置文件,默认后台运行
打开redis.conf文件,修改daemonize yes
  • 清空当前数据库中的所有 key
redis-cli flushdb
  • 清空整个 Redis 服务器的数据
redis-cli flushall
  • 修改密码
# 修改密码(永久生效)
sudo find / -name "redis.conf"
sudo vi redis.conf
# 搜索关键字
/requirepass 
# 把 # 去掉,foobared 替换成自己的密码
requirepass myPassw0rd
# 查询密码
127.0.0.1:6379> config get requirepass
# 修改密码(重启服务器后失效)
CONFIG set requirepass "runoob"
# 输入密码
AUTH "runoob"

https://cloud.tencent.com/developer/article/1404215
官方教程:https://redis.io/topics/quickstart

centos mysql5.7 安装

  • 安装前,我们可以检测系统是否自带安装 MySQL:

rpm -qa | grep mysql

  • 如果你系统有安装,那可以选择进行卸载:

rpm -e mysql完整名字  // 普通删除模式
rpm -e --nodeps mysql完整名字  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

  • 在http://repo.mysql.com/找到指定版本

sudo wget http://repo.mysql.com/mysql57-community-release-el7.rpm
sudo rpm -ivh mysql57-community-release-el7.rpm
sudo yum update
sudo yum install mysql-server

  • 重启MySQL:

sudo systemctl restart mysqld

  • 启动 MySQL:

sudo systemctl start mysqld

  • 查看 MySQL 运行状态:

sudo systemctl status mysqld

  • mysql5.7 默认情况下 MySQL 服务器的登录密码为空

输入mysql登录mysql

  • 当登录时,有可能有初始密码,有可能遇到:Access denied for user 'root'@'localhost' (using password: NO)

cat /var/log/mysqld.log | grep password

image.png
  • 默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:

mysqladmin -u root password "";

  • 当已有密码时,修改密码:

set password for root@localhost = password('BitCopt@MySQL#2019');

  • 现在你可以通过以下命令来连接到Mysql服务器:

mysql -u root -p

参考教程:
https://www.runoob.com/mysql/mysql-install.html

redhat RPM安装软件包

#rpm -i example.rpm 安装 example.rpm 包;
#rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;
#rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度

java jdk安装

https://www.cnblogs.com/liugh/p/6623530.html

ssh远程登录服务器方式

  • 通过git申请公钥,在本地生成id_rsa.pub文件,里面存放公钥,和密钥文件
 ssh-keygen -t rsa -C "100***[email protected]"
  • 将公钥添加到服务器
  • 打开git命令行终端,登录服务器
 ssh  [email protected]

xshell生成通过公钥方式登录

cd ~/.ssh/
ls
rz
ls
cp authorized_keys authorized_keys.bak
cat maozhengyi.pub >> authorized_keys
cat authorized_keys

https://www.cnblogs.com/dadonggg/p/8350423.html

winscp公钥方式登录

https://www.cnblogs.com/feipeng8848/p/8549697.html

linux java cpu占用过高分析方法

https://blog.csdn.net/u010862794/article/details/78020231

后台运行python

// 后台启动程序
nohup python2 app.py  &
// 查看本终端的进程
jobs -l

根据进程号查询路径

···
ps -ef | grep java
ls -l /proc/进程号
···

xshell下载文件到window

sz file

安装:sudo yum install lrzsz

window上传到linux

rz 

linux上传到window

sz

查看可用内存

free -m

查看PATH

echo $PATH

修改PATH

通过修改profile文件:
vim /etc/profile
让/etc/profile文件修改后立即生效 ,可以使用如下命令:

. /etc/profile
注意: . 和 /etc/profile 有空格
方法2:
让/etc/profile文件修改后立即生效 ,可以使用如下命令:
source /etc/profile

解压zip文件

unzip ***.zip

设置定时任务(优先选择方法二)

  • 方法一(作用于全局):
    1.创建sh文件
cd /etc/cron.d/
sudo touch timing.sh

2.设置权限

sudo chmod 644 timing.sh

3.编辑/etc/crontab文件

sudo vi /etc/crontab

*/30 * * * * bash /home/centos/script/mysql-backup.sh > /dev/null 2>&1


image.png

4.设置脚本路径


linux笔记_第2张图片
image.png
  • 方法二:
    1.编辑定时任务
crontab -e
image.png

2.查看定时任务列表
···
crontab -l
···
查看日志:

sudo find / -name cron
  • 注意:

1.不需要加用户名
2.路径都用全路径,不然找不到
3.放在crontab脚本的位置:/etc/cron.d/

  • 定时命令
// 每3小时执行一次
1 */3 * * * bash  /etc/cron.d/cleanUp-log.sh

监控磁盘、cpu性能脚本

#/bin/sh
url=""

disk_max=90
disk_msg="chatId=id&message=磁盘容量超过$disk_max"
disk_partition=/dev/vda1
df_num=`df -h |grep $disk_partition |awk -F'[ %]+' '{print $5}'`
[ $df_num -ge $disk_max ] && curl -d "$disk_msg"  "$url"

cpu_max=20.0
cpu_msg="chatId=id&message=cpu使用率超过$cpu_max"
cpu_num=`top -n 1 | grep %Cpu | gawk '{print $2}' | bc` #cpu
if [ `echo "$cpu_num >= $cpu_max" | bc` -eq 1 ]
then
        curl -d "$cpu_msg"  "$url"
fi

删除文件

rm 文件名
rm -r 递归删除目录及其内容

移动、复制文件

mv cp

你可能感兴趣的:(linux笔记)