Linux操作日常小记
Linux操作日常小记
文章目录
- Linux操作日常小记
-
- 应用安装
- 安装 wget
- CentOS 7 主机名相关命令
- CentOS 7 防火墙相关命令
- 安装相关命令
- 创建用户相关命令
- 修改文件用户权限指令
- curl指令
- vi/vim 时显示行号
- wget下载指令
- 查看某一进程状态 ps | grep
- 远程连接应用 telnat
- 查看该pid下线程对应的系统占用情况 top
- 下载当前的java线程栈 sudo
- dump java堆数据
- 查看系统盘符使用情况 df
- 查看指定目录下的文件(文件/文件夹)大小 du
- 不删除文件前提下清空文件
- 批量删除某个前缀的文件 find rm
- 修改密码
- jar包运行命令
- 设置静态IP
- 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
- 下载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- 载后双击安装,全部默认安装(C:\Program Files (x86)\GnuWin32)
- 设置系统环境变量
系统环境变量,新建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 防火墙相关命令
查看防火墙状态
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 xxxxxxeg. 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:查找的类型为文件
-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







浙公网安备 33010602011771号