1、安装 VMware 虚拟机及下载 Linux
Linux 系统各种版本 ISO 镜像下载(RHEL,CentOS 等一大堆)
2、Linux教程
2.1、常用命令
#切换目录 cd ~,cd ..,cd /
cd (按tap 时打印当前路径文件)
#打印工作目录
pwd
#列出目录和文件
ls -l
ll -h(显示具体大小G,M)
#列出目录
ll | grep '^d'
#列出过滤文件名(多个文件名)
ls | grep 'log|slf4j' -E
#创建目录,-p:递归创建
mkdir -p 目录名
#创建文件
touch 文件
#复制文件和目录 -a 复制目录等
cp - a 源文件 目标文件
#复制多个文件
cp a.txt b.txt mydir
#删除文件和目录
rm -rf 文件或目录
#移动文件 -v 显示移动过程
mv -v 源文件 目标路径
#移动多个文件到文件夹
mv a.txt b.txt c.txt -t mydir
#重命名文件
mv a.txt b.txt
#输出到文件,清掉覆盖
> zeng.txt
#输出到文件,追加
>> zeng.txt
#tar打包
tar -cvf xx.tar 目标文件或文件夹
#tar解包到当前目录
tar -xvf xx.tar
#zip打包
zip -r my.zip 要压缩的目录或文件
#zip解包
unzip my.zip 被解压到哪里的目录或文件
#gz压缩
gzip 文件
#gz压缩目录
gzip -r 目录
#gz压缩保留源文件
gzip -c 源文件 > 名字
#gz解压
gzip -d 压缩文件
#查看文件
cat 文本路径 | grep '查找文本' | wc -l
tail -n 行数 文件路径 | grep '查找文本'
--color=auto(本次链接高亮文本)
-c (总数)
-n (显示行)
-i (忽略大小写)
- v(忽略文本)
tail -f 文件路径 | grep '查找文本'(监听匹配文本)
#查找文本
grep '文本' *file
-v 反向查找
-r 递归目录查找
#or 查询
grep '150\|140'
#vi下
#Esc 键返回命令模式,Ins键编辑模式
#撤销,恢复撤销
u
Ctrl键+r
#删除一行,Esc退出编辑模式
d键两下
#保存,退出,强制(以下为组合)
:wq!
g(跳到第一行)
G(跳到最后一行)
10 G(跳到第10行)
Ctrl+F,B(往前,后一页)
:set nu(显示行)
:?查找文本(按n向上或N向下)
:s%/查找文本/&/gn(所有行查找匹配数)
:m,ns/查找文本/&/gn(m和n行间查找匹配数)
#linux之间传递文件
scp 源路径 目标路径
scp ip:/opt ip:/opt/
#pssh并行命令
https://blog.csdn.net/daocaokafei/article/details/114546001
#网络io
ifstat 1
#查看磁盘io情况----iostat 命令详解(https://www.jianshu.com/p/5fed8be1b6e8)
iostat -xdk 1
#进程io----Linux 查看磁盘IO并找出占用IO读写很高的进程(https://www.cnblogs.com/shetao/p/14338588.html)
iotop
pidstat -d 1
#查看磁盘挂载情况
lsblk
#查看磁盘使用情况
df -h
#查看文件大小情况
du -achd 1
du -ach --max-depth=1 文件
du -sh * | sort -rh | head -10
du -achd | sort -rh | head -10
#查看整机
top(按q退出,按c显示其他内核,shift+m内存排序)
#查看内存(两秒刷新)
free -h -s 2
watch -n 2 -d free -h
#查看cpu详情
lscpu
#查看cpu使用情况
vmstat -n 2 3
#查看所有进程
ps -ef
#查看进程信息(路径等)----Linux /proc/$pid部分内容详解(https://www.cnblogs.com/likui360/p/6181927.html)
ll /proc/{pid}
#查看进程打开的文件
ls /proc/{pid}/fd | wc -l
ls -lt /proc/{pid}/fd
#查看网络情况
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
netstart -ant/lnt (连接,监听)
#查看端口
ss -tanl
#查看端口占用情况
netstat -ntulp | grep 端口
#
lsof -i
lsof -i :端口
lsof -i -s TCP:LISTEN
#看ip通不通
ping ip
#看port通不通
telnet ip port
#查看操作历史
history
#清屏
clear
#设置密码
passwd
#切换账号
su - root
#提升权限删除文件
chmod 777 .
#查看有哪些命令可以用
compgen -c
#查看可执行文件路径
which flink/hbase
#curl命令发送请求--参数说明:https://www.ruanyifeng.com/blog/2019/09/curl-reference.html
#注意:-i参数打印出服务器回应的 HTTP 标头。
-I参数向服务器发出 HEAD 请求,然会将服务器返回的 HTTP 标头打印出来。
-k参数指定跳过 SSL 检测。
-v调试打印日志
curl -H ’Content-type:application/json;charset=UTF-8’ -X POST -k -v -i 'http://xxx.com?a=str&b=1' --data 'c=str&d=1&'
#验证机器是否有外网
curl -l 'http://www.baidu.com'
2.2、工具包
ubuntu系统是apt-get ,centos是 yum (rpm)
#apt-get 更新安装工具包
apt-get update
apt-get -y install xxx
#安装vim
apt-get -y install vim
或者yum安装
yum -y install vim
#安装ssh
apt-get -y install openssh-server
service ssh status # 查看ssh服务启动情况
service ssh start # 启动ssh服务
#配置ssh,允许root登陆
vim /etc/ssh/sshd_config
将PermitRootLogin的值从withoutPassword改为yes - 允许root登陆
将UseDNS yes 改为 UseDNS no - 开始我这个没改,xshell一直报错
#To escape to local shell, press 'Ctrl+Alt+]'
#重启ssh服务
service ssh restart # 重启动ssh服务
#查看ip
apt-get -y install net-tools
ifconfig
#下载
apt-get -y install wget
wget xxx
3、Linux 联网和 Windows 交互
3.1、Centos7 联网
su 命令切换成 root 账户
su - root
进入这个路径修改
cd /etc/sysconfig/network-scripts
修改这个文件并保存
vi ifcfg-ens33
将ONBOOT修改为yes
按Esc
输入:q! 为不保存退出,wq保存退出
重启网络服务命令
service network restart
ping下成不成功
ping www.baidu.com
按 Ctrl+c 退出 ping 命令
3.2、Xshell 连接 Linux
3.3、Xshell 跟 Linux 互传文件
4、Linux 部署项目
#内存加下端口放通
iptables -I INPUT -p tcp --dport 51516 -j ACCEPT
#后台启动
nohub xxx &
#启动特定main方法(可以增加配置,vm命令)
java -cp 包路径 类名
Linux的shell命令检测某个java程序是否执行
#显示用户名,pid,命令等有哪些jar包加载
ps -ef |grep java|grep “ ”
" "l里面写上你需要grep查找的java程序名字应该就可以了
#显示java进程
jps -lm
#打印进程目录路径
pwdx 进程id
#强制退出
kill -9 pid
#查看进程线程情况(-m 显示所有线程 -p pid使用cpu时间 -o 该参数后用户自定义格式)
ps -mp pid -o THREAD,tid,time
jstack pid | grep tid(16进制线程小写英文) -A60
Linux单独替换.class
jar -uvf 包路径 替换的.class路径(多个空格分开)
查看jar的类
for file in ./*jar; do echo $file; jar -tvf $file | grep 'class name' ; done
Linux后台启动Python程序(参考:https://www.cnblogs.com/wuminda/p/13219091.html)
#一般使用
nohup python -u xxx.py > log.log 2>&1 &
#不记录任务日志
nohup python -u xxx.py > /dev/null 2>&1 &
#只记录异常日志
nohup python -u xxx.py > /dev/null 2>error.log 2>&1 &
5、遇到的问题
装了 Docker 后不能用了
win10系统1903版 VMware Workstation 与 Device/Credential Guard 不兼容.在禁用 Device/Credenti