笔记---Linux学习
记录一些开发、运维和学习过程中使用过的东西…
1 命令行
1.1 ls命令
使用的系统是window10下Ubuntu18.04子系统
# 列出当前文件夹下的最早创建的 .sql文件,只取第一个文件
ls -l -crt ./*.sql | awk '{print $9 }' | head -1
# ls -l -crt 按照时间排序列出目录
# awk 配合ls使用,'{print $9 }'表示取第几列的数据
# head -1 从上开始取第几个条数据
ls -l -crt ./*.sql | awk '{print $9 }' | wc -l
# wc -l 配合ls使用,统计目录下的文件数量
1.2 Mysql数据库备份
# 备份mysql数据库
mysqldump -u root -p 123456 database_name > /root/mysqlbackup/mysql-$filename.sql
1.3 Mongodb数据库备份和还原
# 备份mongodb数据库
mongodump -h 127.0.0.1:27017 -u admin -p 'password' -d $DatabaseName -o /data/bak/$DatabaseName/${DatabaseName}_${DATE} --authenticationDatabase admin
# 还原mongodb的备份文件
mongorestore -h 127.0.0.1:27017 -u admin -p 'password' -d $DatabaseName /data/bak/$DatabaseName/${DatabaseName}_${DATE}/$DatabaseName --authenticationDatabase admin
1.4 异机上传文件
不同服务器之间
# sshpass -p "password" /usr/bin/scp -P 22 path/filename.tar.gz user@ip:path
sshpass -p "1234567" /usr/bin/scp -P 22 ./bak/mysql.tar.gz admin@127.0.0.1:/home/admin/
1.5 日志查看
nginx日志一般存放于 /var/log/nginx 目录下
# 查看实时日志
tail -f access.log
tail -100f access.log
# 查看有指定字符串的日志
tail -f error.log |grep params
1.6 ubuntu配置ip和网关等
1.6.1 修改网络配置文件(永久)
修改/etc/netplan目录下的网络配置文件:
sudo vim /etc/netplan/00-xxxxx.yaml
# 最新ubuntu20.04版本
network:
version: 2
dhcp4: false
ethernets:
ens160:
addresses:
- 192.168.1.100/24 # ip
gateway4: 192.168.1.100/24 # 网关
nameservers:
addresses: [8.8.8.8,8.8.4.4]
routes:
- to: 0.0.0.0/0
via: 192.168.1.100/24
修改完后,执行 sudo netplan apply 应用配置。
1.6.2 临时修改IP
使用ifconfig命令,例如:
sudo ifconfig eth0 192.168.1.100
这种方法重启后会失效。
1.7 SSH默认端口修改
ssh服务的默认端口是22,在 Linux 系统中,可以通过以下步骤更换 SSH 服务的默认端口(22)为其他端口(以10022为例):
编辑 SSH 配置文件:
sudo vi /etc/ssh/sshd_config
# 找到 Port 配置行,修改为新端口号
# 默认情况的下 Port 22是注释掉的,打开注释并将端口号改为新的10022
Port 10022
保存配置文件,并重启 SSH 服务:
sudo systemctl restart sshd
修改防火墙规则,开放新端口(如果有防火墙):
sudo firewall-cmd --add-port=10022/tcp --permanent
sudo firewall-cmd --reload
后续就可以通过新端口连接 SSH 了:
ssh user@server_ip -p 10022