一、Linux基础
1. 基本配置
%s/*****/g //修改内容
set nu //显示序列号
sudo apt update // 更新源
sudo apt list --upgradable //查看更新的内容
sudo apt upgrade //更新系统软件包
sudo apt install sl -y //下载软件
sl //运行软件
sudo apt remove sl -y //卸载软件
sudo netplan --debug apply //调试网络ip
sudo netplan apply //启动网络配置
wget //下载
set nu/set nonu //显示行号/关闭行号
rm a?c -rf //删除a?c ? 代表通配一个字符
grep -E ‘$|#’ t.txt | nl > l.txt //显示无空行无注释,且显示行号,并加入到l.txt文件中
sed -i ‘/iii/i java2’ t .txt //在含iii的一行前面一行加入java2
sed -i ‘/2/a lalala’ t .txt //在后加一行
sed -i ‘3 i x’ t .txt //在第三行前加x
sed -i ‘3 a x’ t .txt //在第三行后加x
sed -i ‘1,3d’ t.txt //删除1到3行
\r\n //换行
1.1 固定Ip设置
//查看ip地址
ip a
//打开配置文件,输入i编辑,配置完成后保存。
sudo vim /etc/netplan/00-install-config.ymal
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0jtJ2iQ4-1641179821093)(C:\Users\Jsm\AppData\Roaming\Typora\typora-user-images\image-20211229171238367.png)]
//完成配置保存
sudo netplan apply
1.2 时区配置
sudo tzselect //选择时区
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime //设置软连接
date //查看时间
date -R //查看时间
1.3 中文字符集设置
echo $LANG //查看字符集
//安装中文语言字符
sudo apt install language-pack-zh-han* -y
//编辑文件
sudo vim /etc/default/locale
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4EuuDH4y-1641179821095)(C:\Users\Jsm\AppData\Roaming\Typora\typora-user-images\image-20211229172630553.png)]
//编辑保存,然后添加配置
sudo vim /etc/environment
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aO0UtZpb-1641179821095)(C:\Users\Jsm\AppData\Roaming\Typora\typora-user-images\image-20211229172746594.png)]
//重启电脑生效
sudo reboot
//配置文件立即生效
source /etc/default/locale
//查看
echo $LANG
date
1.4 jdk环境变量配置
//下载java从官网
wget https://download.orcle.com/java/17/latest/jdk-17_linux-64_bin.tar.gz
//解压,并移动到/usr/local/jdk-17.0.1目录下
tar -zxvf jdk-17_linux-x64_bin.tar.gz //解压
sudo mv jdk-17.0.1 /uar/local/ //移动
//配置环境变量,首先编辑/etc/profile文件,在文件的最下方加入配置
sudo vim /etc/profile //编辑
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7KQtsuLi-1641179821095)(C:\Users\Jsm\AppData\Roaming\Typora\typora-user-images\image-20211229194503609.png)]
//环境变量配置文件立即生效
source /etc/profile
//查看java版本信息
Java -version
1.5 vim编辑器
dd //删除当前行
4dd //删除本行和以下3行
ggdG //清除所有内容
dG //当前行到文件尾全部删除
yy //复制行
p //粘贴
u //撤销
//光标定位
:1 //回 头行
:$ //文件尾
:15 //到15行
:/hello //到hello的那一行
//删除操作
g/^$/d //g全部 d删除 删除空行
g/^#/d //删除注释行
//查找替换
%s/java/javascript/g //全部查找java并替换尾javascript
1,3s/abc/aa/g //1到3行中的按abc替换为aa
s/abc/aa/g //在当前行替换
.,+3s/abc/aa/g //当前行向下三行替换
/1[3,5,8]\d\{9\} //查找电话号码
1.6 版本信息
cat /etc/os-release //查看发行版信息
cat /proc/version //查看版本信息
//查看系统是32位还是64位
getonf LONG_BIT
uname -m
1.7 关机重启
//linux重启
reboot
shutdown -r now //立即重启(root用户使用)
shutdown -r 10 //过10分钟重启(root)
shutdown -r 20:35 //在时间20:35时候重启(root)
//关机命令
halt
poweroff //立刻关机
shutdown -h now //立刻关机(root)
shutdown -h 10 //10分钟后关机
1.8 tomcat配置
//下载tomcat到本地,修改名称为tomcat
mv tomcat-1.9.9 tomcat
//移动tomcat
mv tomcat /usr/local/
//修改tomcat配置文件添加权限
mv /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat //复制catalina.sh并命名为tomcat,移动到init.d下
chmod 755 tomcat //为tomcat添加权限
vim tomcat //修改配置文件如下
### BEGIN INIT INFO
# Provides: tomcat
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Should-Start: $network $time
# Should-Stop: $network $time
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start tomcat daemon at boot time
# Description: Start tomcat daemon at boot time
### END INIT INFO
JAVA_HOME=/usr/local/jdk-17.0.1
JRE_HOME=/usr/local/jdk-17.0.1
CATALINA_HOME=/usr/local/tomcat
CATALINA_BASE=/usr/local/tomcat
//添加到系统自启动
update-rc.d tomcat defaults
//系统重新加载
sudo systemctl daemon-reload
//将tomcat服务设置为开机自启
sudo systemctl enable tomcat
/lib/systemd/systemd-sysv-install anable tomcat //出现not a native service执行
sudo systemctl restart tomcat //重启
sudo systemctl start tomcat //系统启动tomcat
sudo systemctl status tomcat //查看tomcat启动状态
sudo service tomcat start //启动tomcat
1.9 查找文件
sudo find ~ -name j.txt //从家目录找
sudo find / -name j.txt //从根目录找
//将查找的扩展名为ymal的文件复制到指定目录
sudo find /etc/netplan/ -name '*.ymal' | xargs cp /home/jsm
//过滤查找的文件
sudo find /etc/netplan/ -name '*.ymal' | grep netplan
sudo find /etc/netplan/ -name '*.ymal' | more
sudo find /etc/netplan/ -name '*.ymal' | cat -n
sudo find /etc/netplan/ -name '*.ymal' | less
1.10 防火墙
sudo ufw status //防火墙状态
sudo systemctl status ufw
sudo service ufw status //防火墙服务状态
//安装防火墙
sudo apt install ufw -y
//卸载防火墙
sudo apt remove ufw -y
//启动防火墙
sudo ufw enable
//禁用防火墙
sudo ufw disable
//临时停用防火墙
sudo systemctl stop ufw
//允许地址访问
sudo ufw allow ssh //允许远程访问
sudo ufw allow 6379 //允许端口号访问
sudo ufw allow 80/tcp //允许ip端口号为80的访问
sudo ufw allow 80:90/tcp //允许80到90访问
sudo ufw allow 192.168.21.89 //允许这个地址访问
sudo ufw allow from 192.168.11.166 to any port 22 //允许这个地址访问任何端口号为22
sudo ufw deny from 23.24.25.0/24 //禁止访问
//移除访问
sudo ufw delete allow 192.168.21.89
sudo ufw status numbered //状态显示序号
sudo ufw delete 5 //删除第五行的规则
80到90访问
sudo ufw allow 192.168.21.89 //允许这个地址访问
sudo ufw allow from 192.168.11.166 to any port 22 //允许这个地址访问任何端口号为22
sudo ufw deny from 23.24.25.0/24 //禁止访问
//移除访问
sudo ufw delete allow 192.168.21.89
sudo ufw status numbered //状态显示序号
sudo ufw delete 5 //删除第五行的规则