Linux操作日常小记

Linux操作日常小记

 

文章目录

 

应用安装

安装JDK

rpm或tar.gz安装包安装

rpm -ivh jdk-8u181-linux-x64.rpm

tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr

配置java环境变量

vi /etc/profile

#在profile文件末尾添加以下内容
export JAVA_HOME=/usr/java/latest
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.

export JAVA_HOME=/usr/java/jdk1.8.0_171
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar

使环境变量配置生效

source /etc/profile

安装gcc

联网安装

yum -y install gcc gcc-c++

yum -y install gcc*

离线安装

参考: Linux离线安装gcc4.8

下载gcc安装包

链接:https://pan.baidu.com/s/1GJKrGa5WTRSew8aqmAImFQ 提取码:yq3l

mpfr-3.1.1-4.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
kernel-headers-3.10.0-862.el7.x86_64.rpm
glibc-headers-2.17-222.el7.x86_64.rpm
glibc-devel-2.17-222.el7.x86_64.rpm
cpp-4.8.5-28.el7.x86_64.rpm
gcc-4.8.5-28.el7.x86_64.rpm

将其上传至离线服务器

安装

rpm -ivh *.rpm --nodeps --force

或按一下顺序安装

如不嫌麻烦,也可以按如下顺序执行安装命令:
rpm -ivh mpfr-3.1.1-4.el7.x86_64.rpm
rpm -ivh libmpc-1.0.1-3.el7.x86_64.rpm
rpm -ivh kernel-headers-3.10.0-862.el7.x86_64.rpm
rpm -ivh glibc-headers-2.17-222.el7.x86_64.rpm
rpm -ivh glibc-devel-2.17-222.el7.x86_64.rpm
rpm -ivh cpp-4.8.5-28.el7.x86_64.rpm
rpm -ivh gcc-4.8.5-28.el7.x86_64.rpm

验证

gcc -v

输出版本则安装成功

安装make

联网安装

yum -y install automake autoconf libtool make

离线更新

下载安装make

http://ftp.gnu.org/gnu/make/

上传至服务器

安装

#解压缩
tar -zxvf make-4.3.tar.gz
#进入安装目录
cd make-4.3
#配置
./configure --prefix=/usr/local/make
#编译安装
make && make install

安装vim

yum -y install vim*

安装zlib,zlib-devel

联网安装

yum -y install zlib zlib-devel

离线安装

下载安装包

http://www.zlib.net/zlib-1.2.11.tar.gz
https://centos.pkgs.org/7/centos-x86_64/zlib-devel-1.2.7-18.el7.x86_64.rpm.html

上传至服务器

安装

#解压缩
tar -zxf zlib-1.2.11.tar.gz
#进入安装目录
cd zlib-1.2.11
#配置
./configure --prefix=/usr/local/zlib
#编译安装
make && make install

#安装
rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm

安装zlib,zlib-devel

联网安装

yum -y install pcre-devel

离线安装

下载安装包

https://centos.pkgs.org/7/centos-x86_64/pcre-devel-8.32-17.el7.x86_64.rpm.html

上传至服务器

安装

#安装
rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm

安装openssl

联网安装

yum -y install openssl-devel-1.1.xxx

离线安装

参考: Linux系统安装 OpenSSL两种方法
参考:openssl离线安装

下载安装包

下载地址: https://github.com/openssl/openssl/tags

上传至服务器

安装

#解压缩
tar -zxvf openssl-OpenSSL_1_1_1i.tar.gz
#进入安装目录
cd openssl-OpenSSL_1_1_1i
#添加openssl配置 prefix 是安装目录,openssldir是配置文件目录
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl/ssl
#编译安装
make && make install
配置 shard作用是生成动态链接库
./config shared --prefix=/usr/local/openssl --openssldir=/usr/local/openssl/ssl
#清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件
make clean
#编译安装
make && make install
#添加配置
vi /etc/ld.so.conf
#文件的最后面,添加如下内容: /usr/local/openssl/lib,需要主要自己的安装目录下lib路径
#使配置生效
ldconfig
#添加OPESSL的环境变量
vi /etc/profile
#添加以下内容
export OPENSSL=/usr/local/openssl/bin(看清楚你的openssl/bin在哪里)
export PATH=$OPENSSL:$PATH
#使配置生效
source /etc/profile
#安装完毕,查看版本
openssl version

ldd /usr/local/openssl/bin/openssl
会出现类似如下信息:
linux-vdso.so.1 => (0x00007fffe4b69000)
libssl.so.1.1 => /usr/local/openssl/lib/libssl.so.1.1 (0x00007f6b760b6000)
libcrypto.so.1.1 => /usr/local/openssl/lib/libcrypto.so.1.1 (0x00007f6b75bcc000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f6b759c8000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6b757ac000)
libc.so.6 => /lib64/libc.so.6 (0x00007f6b753de000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6b76348000)

#查看路径
whereis which openssl

安装sqlite

参考: SQLite 简介

联网安装

参考: CentOS 安装Sqlite3

yum -y install sqlite sqlite-devel

离线安装

参考: 【数据库】SQLite3的安装

下载安装包

https://www.sqlite.org/download.html
上传至服务器

安装

#解压缩
tar -zxvf sqlite-autoconf-3340000.tar.gz
进入安装目录
cd sqlite-autoconf-3340000
#配置
./configure --prefix=/usr/local/sqlite
#编译安装
make && make install

安装mysql

联网安装

yum -y install mysql-server
yum -y install mysql-client
yum -y install libmysqlcppconn-dev libmysqlclient-dev libmysql++-dev

离线安装

参考: Centos7离线安装mysql8
Linux上离线安装Musql8.0版本
linux 安装mysql8.0
在CentOS7中使用rpm包安装MySQL8.0.22的全过程演示

下载安装包

https://dev.mysql.com/downloads/mysql/
在这里插入图片描述

上传至服务器

安装

#查看是否已安装过
rpm -qa|grep mariadb
#安装过则删除
rpm -e --nodeps mariadb-libs
#解压缩
tar -xvf mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar
#解压缩后有以下安装包
rpm -ivh mysql-community-libs-8.0.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-common-8.0.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.22-1.el7.x86_64.rpm
逐个安装,命令如下:
【必须安装】
rpm -ivh mysql-community-common-8.0.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.22-1.el7.x86_64.rpm
【非必须安装】
rpm -ivh mysql-community-libs-compat-8.0.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.22-1.el7.x86_64.rpm

安装过程种会应不必要依赖缺失停止
可添加--nodeps --force命令
如:rpm -ivh mysql-community-libs-8.0.22-1.el7.x86_64.rpm --nodeps --force

#查看版本
mysql -V
#初始化
mysqld --initialize
#启动服务
systemctl start mysqld.service
#设置开启自启动
systemctl enable mysqld
#查看密码
cat /var/log/mysqld.log |grep password
#登录
#mysql -uroot -p
#修改root用户密码为 Abc@110!
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘Abc@110!’;
#远程访问授权
create user ‘root’@’%’ identified with mysql_native_password by ‘Abc@110!’;
grant all privileges on . to ‘root’@’%’ with grant option;
flush privileges;
#修改加密规则, Mysql 8.0 版本 和 5.0 版本加密规则不同,现在得工具加密规则只支持旧的加密方式
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root’ PASSWORD EXPIRE NEVER;
flush password;
#查看mysql版本
select version();

安装 wget

联网安装

yum -y install wget

离线安装

参考: windows安装wget

  1. 下载wget-1.11.4-1-setup.exe
    https://jaist.dl.sourceforge.net/project/gnuwin32/wget/1.11.4-1/wget-1.11.4-1-setup.exe
  2. 载后双击安装,全部默认安装(C:\Program Files (x86)\GnuWin32)
  3. 设置系统环境变量
    系统环境变量,新建 GNU_HOME=C:\Program Files (x86)\GnuWin32
    在path中添加 ;%GNU_HOME%\bin
    点击确定环境变量添加完毕
    运行
    wget -c https://hao.360.cn/ -O D:/Workspace/test.html
    抓取到了此网页面保存到了D:/Workspace/目录下面,并且重新命名为test.html
    wget命令格式详解:
      wget [参数列表] [目标软件、网页的网址]
      -o,–output-file=FILE 将软件输出信息保存到文件
      -a,–append-output=FILE将软件输出信息追加到文件
      -d,–debug显示输出信息
      -q,–quiet 不显示输出信息
      -i,–input-file=FILE 从文件中获取URL
      -O, --output-document=FILE下载文件保存为别的文件名
      -nc, --no-clobber 不要覆盖已经存在的文件
      -N,–timestamping 只下载比本地新的文件
      -T,–timeout=SECONDS 设置超时时间
    -nd, --no-directories 不建立目录
      -x,–force-directories 强制建立目录

CentOS 7 主机名相关命令

查看当前主机名

hostname

查看主机状态

hostnamectl status

修改主机名

hostnamectl set-hostname xxxxxx

CentOS 7 防火墙相关命令

参考: Centos7 防火墙开放端口,查看状态,查看开放端口
Linux防火墙操作命令,开放或关闭端口

查看防火墙状态

systemctl status firewalld

启动防火墙

systemctl start firewalld

关闭防火墙

systemctl stop firewalld

关闭防火墙自启动

systemctl disable firewalld

关闭防火墙自启动

systemctl enable firewalld

查看防火墙已开放端口

firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports: 8091/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

firewall-cmd --zone=public --query-port=80/tcp
yes

防火墙开放端口(开放端口后需重载防火墙)

firewall-cmd --zone=public --add-port=8080/tcp --permanent
success
firewall-cmd --reload
success

–zone #作用域
–add-port=8080/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
firewall-cmd --reload 并不中断用户连接,即不丢失状态信息

取消防火墙开放端口

firewall-cmd --zone= public --remove-port=80/tcp --permanent

安装相关命令

rpm安装包安装

rpm -ivh xxxxxxxxxxxxxxxxxxx.rpm

rpm常用安装命令参考: rpm命令常用选项

tar安装包安装

tar -zxvf xxxxxxxxxxxxxxxxxxxx.tar.gz -C /usr

make 编译安装

make && make install

make 编译安装之卸载

make uninstall

yum安装

yum install xxxxxxxxxxxxx
yum -y install xxxxxxxxxxxxx

yum查看已安装应用

yum list installed

yum卸载

yum -y remove xxxx

创建用户相关命令

创建用户组

groupadd xxxxxxxxxx
注:xxxxxxxx代表组名

创建用户

useradd -g xxxxxx yyyyyy
注:xxxxxxx代表组名;yyyyyy代表用户名

切换用户

su xxxxxxxxx
注:xxxxxxxxx 代表用户名

修改文件用户权限指令

chown -R xxxxxxxxx:yyyyyyyyyy /mmmmm/nnnnnn/
注:xxxxxxxxx:yyyyyyyyyy 代表 组名:用户名; /mmmmm/nnnnnn/ 代表 文件地址

curl指令

linux操作系统中的网络命令可以发送任何请求方式的http请求
curl -XGET 127.0.0.1:9200

vi/vim 时显示行号

:set nu

wget下载指令

wget xxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxx代表 资源地址

指令详解可参考:https://www.cnblogs.com/semonxv/p/3816366.html

注意:使用该指令需预先安装wget
安装指令:yum -y install wget

查看某一进程状态 ps | grep

ps -ef | grep xxxxxx

eg. ps -ef | grep tomcat
在这里插入图片描述

注:windows查看系统进程指令
netstat -ano | findstr "port端口"

远程连接应用 telnat

telnat ip port

查看该pid下线程对应的系统占用情况 top

top -Hp xxxxxpid
注:xxxxxpid 代表应用进程pid
eg. top -Hp 384
在这里插入图片描述

下载当前的java线程栈 sudo

sudo -u xxxxx jstack -l xxxxxpid>/1.txt
注:xxxxx表示应用名称 ; xxxpid表示该应用的进程pid
eg. sudo -u tomcat jstack -l 384>/1.txt

dump java堆数据

sudo -u xxxxx jmap -dump:live,format=b,file=/dump201612271310.dat xxxxxpid
注:xxxxx 代表应用名称 ; xxxxxpid 代表进程pid
eg. sudo -u tomcat jmap -dump:live,format=b,file=/dump201612271310.dat 384

查看系统盘符使用情况 df

df -h
可以查看磁盘各分区大小、已用空间等信息
在这里插入图片描述

查看指定目录下的文件(文件/文件夹)大小 du

du -h /xxx --max-depth=num
注: /xxx 文件夹名字 ;–max-depth=num 文件夹深度
eg. du -h tomcat8 --max-depth=1
在这里插入图片描述
eg. du -h tomcat8 --max-depth=2
在这里插入图片描述

du -ah --max-depth=num 可以列出当前目录下文件及目录大小

du -sh *

查看当前目录以下搜索文件和子目录大小

不删除文件前提下清空文件

> catalina.out 重定向清空文件
true > catalina.out
truncate -s 0 catalina.out

参考:
linux 清空catalina.out日志 不需要重启tomcat
linux 清空catalina.out日志 不需要重启tomcat(五种方法)【转】

批量删除某个前缀的文件 find rm

find . -name 'xxxxx*.zip' - type f -print -exec rm -rf {} \;
注:
find :使用find命令搜索文件,使用它的-name参数指明文件后缀名。
. :是当前目录,因为Linux是树形目录,所以总有一个交集目录,这里根据需要设置
'xxxxx*.zip' :指明前缀和后缀名,*是通配符
-type f :查找的类型为文件
-print :输出查找的文件目录名
-exec :-exec选项后边跟着一个所要执行的命令,表示将find出来的文件或目录执行该命令。
注意: exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个\,最后是一个分号

eg. find . -name ‘201702*.zip’ - type f -print -exec rm -rf {} ;

修改密码

修改普通用户密码

获取root权限 : su - root
指定要修改的用户名 :passwd 用户名
输入两边新密码

修改 root密码

指定要修改的用户名 :passwd 超级用户名
eg. passwd root
输入两遍新密码

jar包运行命令

nohup java -jar xxxx.jar > xxxx.log 2 > &1 &
xxxx.jar是运行的jar包
xxxx.log是输出的日志
2 > &1 : 错误输出将和标准输出同用一个文件描述符,说人话就是错误输出将会和标准输出输出到同一个地方。
参考博文:
https://blog.csdn.net/Forward__/article/details/80646488
https://blog.csdn.net/Java_Mike/article/details/80383126

设置静态IP

编辑ens33网卡配置

vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO="status"    (动态IP用dhcp)
ONBOOT="yes"    (设置为开机启动)
IPADDR=192.168.0.1(填你的ip)            #IP地址
NETMASK=255.255.255.0  (填你的掩码值)      #掩码值
GATEWAY=192.168.0.0         (默认网关)
DNS1=8.8.8.8               (采用谷歌的默认DNS服务器 或 114.114.114.114 国内的DNS地址,是固定的)

重启网络服务

service network restart

Linux关机相关命令

shutdown

shutdown命令 安全地将系统关机。shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统。
例如:
安全关机命令:shutdown 会等待一会再关机
立刻关机命令:shutdown -h now
重启命令:shutdown -r now

halt

halt命令 立刻关机 相当于shutdown -h now,其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。但是这样子只停止了操作系统,电源还在工作。

init

init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。
init是切换执行等级的命令。
Linux共有7种执行等级,比较重要的是下面4种等级:
run level 0:关机
run level 3:纯命令行模式
run level 5:含有图形界面模式
run level 6:重启

reboot

reboot的工作过程差不多跟halt一样。不过它是引发主机重启,而halt是关机。

以上四个关机命令与Linux关机命令](https://blog.csdn.net/dante_k7/article/details/7469753)博文冲突,无奈加个声明
————————————————
版权声明:本文为CSDN博主「dante_k7」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dante_k7/article/details/7469753

poweroff

poweroff会先关闭系统,然后会发送一个关闭电源的信号给acpi。

systemd

现在新的发行版本是使用上了systemd,这些命令都是软连接到了systemctl或者systemd,意味着现在关机及电源管理,都是systemd接管了,所以这些命令都是一样的。

systemctl [指令]
halt 进入系统停止的模式,屏幕可能会保留一些讯息,这与你的电源管理模式有关
poweroff 进入系统关机模式,直接关机没有提供电力喔!
reboot 直接重新启动
suspend 进入休眠模式

查看某端口占用

netstat -tunlp | grep

[root@localhost /]# netstat -tunlp | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN     22245/java

ps -ef | grep pid

[root@localhost /]# ps -ef | grep 22245
root     19871 26321  0 11:40 pts/2    00:00:00 grep --color=auto 22245
root     22245     1  3 11:24 pts/2    00:00:34 java -jar xxxxxxx.jar


应用自启动相关

查看自启动列表

chkconfig --list

[root@localhost ~]# chkconfig --list
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。
    要列出 systemd 服务,请执行 'systemctl list-unit-files'。
    查看在具体 target 启用的服务请执行
    'systemctl list-dependencies [target]'。
mysql           0:关    1:关    2:开    3:开    4:开    5:开    6:关

添加应用至自启动列表

chkconfig --add mysql

移除自启动列表中应用

chkconfig --level 345 mysql off

待续。。。

posted @ 2019-04-04 16:23  IT-小浣熊  阅读(52)  评论(0)    收藏  举报