linux服务器日常操作纪录集锦

本文提供了一系列Linux服务器的基础操作技巧,包括文件管理、服务控制、数据库管理和系统维护等。特别关注于MobaXterm的使用介绍及PostgreSQL数据库的管理命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux服务器日常操作纪录集锦

1. liunx连接管理工具

   作为小白入门时使用的是Xshell、Xftp,突然有天被公司告知没有版权不允许使用。自此需求其他软件,MobaXterm最终解决了问题(据说是免费的,没有考证)。Windows用久了,就觉得可视化界面更方便,主要是命令不熟吧,毕竟高端的操作往往只需要一行命令。
   MobaXterm官网地址:[https://mobaxterm.mobatek.net/](https://mobaxterm.mobatek.net/)
   初始化界面如下:

在这里插入图片描述

2. 基础命令行

文件夹导航

$ cd ./目标路径
$ cd ./目标路径/子目录

例如: 
cd ./user
cd ./user/local

单文件夹创建

$ mkdir 文件夹名

例如:
mkdir home  

多文件夹创建(多文件夹创建,不同文件夹之间空格)

$ mkdir 文件夹名1 文件夹名1

例如:
mkdir home home2  

文件夹授权

Chmod  777

文件删除

$ rm -f  文件名

例如:
rm -f  text

文件夹删除

$ rm -rf  文件夹名称

例如:
rm -f  home

文件查找

$ find /folder/folder1/folder2/ -name fileName.ext

例如:
find /usr/local/redis/ -name redis.conf

文件夹查找

whereis nacos

查找进程

ps -ef|grep nacos
.tar.gz压缩包解压命令
tar -zxvf  gzname.tar.gz

.zip压缩包解压命令(需要安装unzip)
unzip  zipname.zip

查看文件夹占用空间
du sh *

查看占用空间最大的前十文件夹
du -s * | sort -nr | head

查看根目录占用空间
df -hl

查看历史命令
history

3.Nacos运行脚本

Nocas启动服务
sh startup.sh -m standalone 

或 后台运行
nohup sh startup.sh -m standalone &

关闭服务
sh shutdown.sh

查看运行状态
ps -ef |grep nacos

4.磁盘扩容

查看当前分区情况
fdisk -l

新建分区
fdisk /dev/vdb
在fdisk的交互模式中,依次输入:
	n     //创建新分区
	p     //创建主分区
	1        //默认分区编号1,按照提示可以输入其他分区编号2,3,4等
	<回车>   //默认起始扇区位置。
	<回车>   //默认结束扇区位置。如果是把全部空间分给这个分区,继续回车。如果只分部分,可输入例如:+100G
	w        //保存

查看新建分区的组织结构
lsblk

格式化
mkfs -t ext4 /dev/vdb1

创建挂载磁盘分区文件夹
mkdir /var/lib/docker

挂载磁盘分区(临时挂载,如果服务器重启将失效)
mount /dev/vdb2 /var/lib/docker

查看磁盘分区的UUID
blkid

将UUID绑定到fstab,服务器重启会自动挂载
echo "UUID=b4004490-e5a9-42be-b87c-82e2be5c75f9 /var/lib/docker ext4 defaults 0 0">>/etc/fstab

5.pgsql操作

// psql 登录
psql -U 用户名 -h ip -p 端口 -d 数据库名
psql -U postgres -h 127.0.0.1 -p 5432 -d em

// 删除模式(登录psql)
DROP SCHEMA 模式名 CASCADE;

// 授权
-- 授予用户user_name对模式schema_name的使用权限
GRANT USAGE ON SCHEMA schema_name TO user_name;
 
-- 授予用户user_name对模式schema_name中所有表的SELECT权限
GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO user_name;
 
-- 授予用户user_name对模式schema_name中所有序列的使用权限
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA schema_name TO user_name;
 
-- 授予用户user_name对模式schema_name中所有函数的执行权限
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA schema_name TO user_name;
// 数据库备份命令

pg_dump  -U 用户名 -h ip -p 端口 数据库名 > 备份文件名称
pg_dump  -U postgres -h 192.168.0.1 -p 5432 em > em_backup_file_20230613

// 恢复命令
./psql  -U 用户名 -h ip -p 端口 -d pre_gstanze -f  备份文件名称
./psql  -U postgres -h 192.168.0.1 -p 5432 -d em -f  em_backup_file_20230613


--备份schema
pg_dump -U 用户名 -h ip -p 端口 -d pre_gstanze -f  -d 数据库名 -n 模式名> 备份文件名称
pg_dump -U postgres -h 192.168.0.1 -p 5432 -d em -n stdb > em_stdb_backup_file_20230613

--恢复schema
./psql em_stdb_backup_file_20230613

-- 自定义导出格式
pg_dump -U 用户名 -h ip -p 端口 -d 数据库名称 -n 模式名 --format custom --blobs  --encoding UTF8 --verbose --file "备份文件路径"
pg_dump -U postgres  -h 127.0.0.1 -p 5432 -d dbname -n data --format custom --blobs  --encoding UTF8 --verbose --file "/home/data.backup"

-- 自定义格式导入
pg_restore  --dbname=postgresql://用户名:密码@ip:端口/数据名 --role "postgres"    --verbose "备份文件路径"  > 日志路径 2>&1
pg_restore  --dbname=postgresql://postgres:postgres@127.0.0.1:5432/dbname --role "postgres"    --verbose "/home/data.backup"  > /var/lib/pgsql/db.log 2>&1

// 修改数据库的账户密码
psql -U postgres
ALTER USER postgres WITH PASSWORD ‘new_password’;

// pgsql 导入sql备份
# 登录到 PostgreSQL
psql -U your_username -d postgres

# 创建新的数据库
CREATE DATABASE new_database;

# 连接到新数据库
\c new_database

# 执行 SQL 备份文件
\i /path/to/backup.sql

6.Postgresql 无法重启的问题,日志如下:

LOG:  database system is shut down
LOG:  database system was interrupted while in recovery at 2023-10-20 11:10:55 CST
HINT:  This probably means that some data is corrupted and you will have to use the last backup for recovery.
LOG:  database system was not properly shut down; automatic recovery in progress
FATAL:  could not open directory "pg_tblspc/memory/PG_11_201809051": Not a directory
LOG:  startup process (PID 11314) exited with exit code 1
LOG:  aborting startup due to startup process failure
LOG:  database system is shut down
LOG:  database system was interrupted while in recovery at 2023-10-20 11:11:13 CST
HINT:  This probably means that some data is corrupted and you will have to use the last backup for recovery.
LOG:  database system was not properly shut down; automatic recovery in progress
FATAL:  could not open directory "pg_tblspc/memory/PG_11_201809051": Not a directory
LOG:  startup process (PID 13397) exited with exit code 1
LOG:  aborting startup due to startup process failure
LOG:  database system is shut down

解决方法:删除以下目录中所有文件:

/var/lib/pgsql/11/data/pg_tblspc
## pg目录说明
bin目录:
/usr/pgsql-11/bin

data目录:
/var/lib/pgsql/11/data

log目录:
/var/lib/pgsql/11/data

查看端口监听,例如检查默认端口5432
$ systemctl status postgresql-11

$ netstat -ntlp | grep 5432
启动命令
$ systemctl start postgresql-11

停止命令
$ systemctl stop postgresql-11

重启命令
$ systemctl restart postgresql-11

7.jar包运行命令(不生成nohup.log文件)

nohup java -jar xxx.jar >/dev/null 2>&1 &

/dev/null是一个虚拟的空设备(任何信息只进不出,想象物理中的『黑洞』),任何输出信息被重定向到该设备后,将会石沉大海

>/dev/null 表示将标准输出信息重定向到『黑洞』,意味着不保存信息

2>&1 表示将标准错误重定向到标准输出

后台运行java服务不生成nohup.log文件实例

#!/bin/sh
JAR_NAME=java-service.jar
tpid=$(ps -ef | grep -v 'grep' | egrep $JAR_NAME| awk '{printf $2 " "}')
echo $tpid
if [ $tpid ]; then
 echo "sever is running , stop first"
 kill -9 "$tpid"
else
 echo "ready to start"
fi

sleep 3
   
rm -f tpid  
nohup java  -server -Xms2048m -XX:MetaspaceSize=128M  -Dfile.encoding=UTF-8 -Dspring.config.location=application.properties -jar $JAR_NAME >/dev/null 2>&1 &
echo $! > tpid  
echo starting server ...  

jar 运行控制台查看日志

java -server -Xms2048m -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=2048M 
-Dfile.encoding=UTF-8 -Dspring.config.location=application.properties -jar java-service.jar

8.更新jar包里的相关文件后运行报nable to open nested entry '********.jar’错误

原因:需要更新的文件拖拽到jar包目录下之后winrar会自动压缩
解决:手动拖拽文件到jar包中,不压缩直接存储文件加上*.文件后缀名(例:*.jar)

1、winrar打开jar包并拖拽需要更新文件到指定目录
在这里插入图片描述
2、更新之后查看文件大小,如mysql-connector-java-8.0.11.jar大小1.9M(2,036,609 字节),则正常可运行
在这里插入图片描述
在这里插入图片描述

9. vmware安装liunx虚拟机并设置固定ip

1、在vmware编辑 --> 虚拟网络编辑器,选择NAT模式,并设置子网ip(参考主机ip)
在这里插入图片描述
2、点击NAT设置设置网关最后一位为254
在这里插入图片描述
3、修改liunx的ip、网关、子网掩码等,进入liunx系统编辑网卡配置文件,命令为

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

修改
BOOTPROTO=static 网络分配方式必须修改为静态;
ONBOOT=yes 系统启动是否激活网卡,默认no;
添加
IPADDR=192.168.102.6
PREFIX=24
GATEWAY=192.168.102.254
IPV6_PRIVACY=NO
NETMASK=255.255.255.0
修改完成,Esc退出,输入:wq退出保存。
在这里插入图片描述

4、resolv.conf文件新增nameserver
nameserver 192.168.102.254

5、reboot重启服务器

服务器时间查看并修改

// 时间查看
timedatectl status

// 修改系统时间
sudo date --set="2024-08-06 11:03:00"
### 回答1: Linux是一种操作系统,而-bash是Linux中的一种shell(命令行解释器),它允许用户在命令行中输入命令并执行它们。-bash是Linux默认的shell之一,它提供了许多有用的功能和命令,使用户能够更轻松地管理和操作系统。 ### 回答2: Linux -bash 是指 Linux 系统中的 Bash(Bourne Again SHell)终端或命令行界面。 Bash 是一种常用的 Unix shell,它是用于管理和执行命令行操作的基础工具。它允许用户在 Linux 系统上输入和执行各种命令,与系统进行交互,并管理文件和文件夹。 Linux -bash 提供了一个交互式环境,用户可以在其中执行各种命令。它可以用于执行系统管理任务,如安装软件包、配置网络设置、管理用户和权限等。此外,还可以使用 bash 脚本编写批量处理任务,实现自动化和脚本化操作。 在 -bash 终端中,用户可以使用各种命令来探索文件系统、浏览文件和文件夹、编辑文本文件等。用户可以通过输入命令和参数,实现不同的操作和功能,比如复制、移动、删除文件,修改文件权限等等。 -bash 终端也提供了强大的命令行编辑和历史纪录功能。用户可以使用上下箭头键浏览之前输入的命令,并进行修改和再次执行。此外,可以使用 Tab 键进行自动完成操作,节省输入命令的时间和工作量。 总而言之,Linux -bash 是 Linux 系统中常用的命令行界面,在系统管理、文件操作和批处理方面提供了丰富的功能和灵活性,是 Linux 用户和系统管理员必不可少的工具之一。 ### 回答3: Linux的-bash是一种命令行解释器,也称为Bourne Again SHell。Bash是Unix操作系统中最常用的shell之一,由于Linux是基于UNIX的,因此Bash也成为了Linux中最常用的shell。 -bash表示当前用户所使用的shell环境是Bash。在Linux系统中,当我们打开终端或者SSH登录到服务器时,会自动进入一个shell环境,这个环境中我们可以使用各种命令来执行各种操作。 Bash是一个功能强大且灵活的shell,它支持大量的命令,可以用于管理和操作文件、目录、进程、权限、网络等各个方面。通过Bash,我们可以输入命令并执行,也可以编写shell脚本来进行自动化操作。 在-bash下,我们可以使用各种命令来管理Linux系统,比如ls命令用于列出当前目录下的文件和子目录,cd命令用于切换目录,pwd命令用于显示当前所在的目录,mkdir命令用于创建新的目录,rm命令用于删除文件和目录,等等。 此外,Bash还支持各种运算符和控制结构,允许我们编写复杂的shell脚本来自动化任务。我们可以使用if语句来进行条件判断,使用for和while循环来进行重复操作,还可以通过管道(|)来连接多个命令,实现更复杂的操作。 总之,Linux的-bash是一种强大的命令行解释器,它为我们提供了丰富的命令和功能,使我们能够高效地管理和操作Linux系统。无论是日常使用还是系统管理,熟练掌握-bash都是非常重要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值