基于Ubuntu环境Git服务器搭建及使用
基于Ubuntu环境Git服务器搭建及使用
Chapter1 搭建本地git服务器及详细操作步骤
原文链接:https://blog.csdn.net/weixin_45805339/article/details/133318082
1.搭建本地git服务器
1.1 环境
服务器:Ubuntu18.04
客户端:windows10_x64、Ubuntu20.04
无论是服务端还是客户端都需要先安装git
Ubuntu安装方法:
sudo apt update
sudo apt install git
1.2 服务端配置
本地git仓库依赖OpenSSH进行数据传输,先检查时候已经安装OpenSSH:
kyland@kyland-u-wuhao:~$ dpkg --list | grep ssh
ii openssh-client 1:7.6p1-4ubuntu0.7 amd64 secure shell (SSH) client, for secure access to remote machines
ii openssh-server 1:7.6p1-4ubuntu0.7 amd64 secure shell (SSH) server, for secure access from remote machines
如上已经安装了OpenSSH,如果没有安装需要执行一下命令:
sudo apt install -y openssh-server openssh-client
查看ssh状态:
sudo systemctl status ssh
#如果没有启动,手动启动ssh服务
sudo systemctl enable ssh
1.3 创建git专属用户
在服务器终端输入如下命令,输入两次密码后(比如密码也是:git),一路回车就创建好了
kyland@kyland-u-wuhao:~$ sudo adduser git
[sudo] kyland 的密码:
正在添加用户"git"...
正在添加新组"git" (1001)...
正在添加新用户"git" (1001) 到组"git"...
创建主目录"/home/git"...
正在从"/etc/skel"复制文件...
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码
正在改变 git 的用户信息
请输入新值,或直接敲回车键以使用默认值
全名 []:
房间号码 []:
工作电话 []:
家庭电话 []:
其它 []:
这些信息是否正确? [Y/n]
1.4 创建git仓库
cd /home/git #进入git用户家目录
mkdir private_code_repository #创建本地私有git仓库目录
git@kyland-u-wuhao:~$ git init --bare RosProject.git #创建本地私有git仓库RosProject.git
已初始化空的 Git 仓库于 /home/git/RosProject.git/
1.5 配置免密登录基础
mkdir -p /home/git/.ssh/ #在git主目录下先创建一个.ssh目录以便后面使用
2.客户端拉取推送代码
2.1客户端创建ssh公钥
ssh-keygen -t rsa #终端输入一路回车
Generating public/private rsa key pair.
Enter file in which to save the key (/home/Administrator/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/Administrator/.ssh/id_rsa
Your public key has been saved in /home/Administrator/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:DyX41KiKahfSewidYUcINWBEDXfMuLRnuICwNMm16fQ Administrator@MS-TOVQOVTJPKXR
The key's randomart image is:
+---[RSA 3072]----+
|+BO==. |
|o=.==+ . o |
|+.o+= . + o |
|o.o*.+ + o |
| =.BE. S |
| o B . o |
| + = . |
| o + . |
|o . . |
+----[SHA256]-----+
#在家目录.ssh下生成:id_rsa(私钥)、id_rsa.pub(公钥)两个密钥
原文链接:https://blog.csdn.net/weixin_56546908/article/details/124600622
设置用户名和邮箱
使用命令git config --global user.name "名称"设置用户名
使用命令git config --global user.email “邮箱"设置邮箱
查看设置的用户名和邮箱
使用命令git config --global --list
生成密钥信息
输入命令ssh-keygen -t rsa -C"youremail”
之后一直回车即可
youremail:你自己的邮箱账号 。
补充:-t:指定要创建的密钥的类型。rsa:一种加密算法。-C:添加注释
红色框框内是生成的公钥和私钥的位置
查看创建好的公钥
可使用gedit或其他工具查看生成的公钥,
以下用gedit: gedit /home/ubuntutest/.ssh/id_rsa.pub
此公钥将用gitee中SSH公钥的配置
打开gitee—>设置—>SSH公钥
sudo chown git.git rsa.pub
git@ubuntu:~$ sudo cat >> .ssh/authorized_keys < rsa.pub
git@ubuntu:~$ vim .ssh/authorized_keys
Administrator@PC-xxx MINGW64 /d/123/testgit (master)
$ git clone git@192.168.1.101:/home/git/mytest/mytest.git
Cloning into 'mytest'...
git@192.168.1.101's password:
warning: You appear to have cloned an empty repository.
2.2 免密配置
将客户端公钥id_rsa.pub内容复制到服务端.ssh/下新建文件authorized_keys里,这样我们在拉取推送代码时,就不需要输入密码了。
3.仓库使用(拉取及推送代码分支)
3.1拉取仓库分支
第一次我们需要拉取在服务端创建的仓库:
git clone git@192.168.0.83:/home/git/private_code_repository/RosProject.git
cd RosProject #进入工程
Administrator@MS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ ls -lah #查看工程内容
total 4.0K
drwxr-xr-x 1 Administrator 197121 0 Sep 26 15:48 ./
drwxr-xr-x 1 Administrator 197121 0 Sep 26 15:45 ../
drwxr-xr-x 1 Administrator 197121 0 Sep 26 17:17 .git/
-rw-r--r-- 1 Administrator 197121 0 Sep 26 15:48 .gitignore
3.2推送代码分支
每次我们更改一个功能的时候都需要创建一个分支,如:
$ git checkout -b ros2_230926 #创建本地分支
Switched to a new branch 'ros2_230926'
更改或者添加代码文件之后要提交代码分支到远程仓库
Administrator@MS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ touch .gitignore #添加.gitignore文件
Administrator@MS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git status #查看当前分支状态
On branch ros2_230926
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
nothing added to commit but untracked files present (use "git add" to track)
Administrator@MS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git add . #将文件添加到git仓库缓存区(暂存区)
Administrator@MS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git status
On branch ros2_230926
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .gitignore
Administrator@MS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git commit -m'添加.gitignore' #将某些已被跟踪的文件提交到版本库(包含工作区和版本库)
#因为我们没设置git自身配置文件所以需要进行一下操作
Author identity unknown
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'Administrator@MS-TOVQOVTJPKXR.(
none)')
Administrator@MS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git config --global user.email "15840235191@163.com"
Administrator@MS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git config --global user.name "wuhao"
Administrator@MS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git commit -m'添加.gitignore' #提交到本地仓库成功
[ros2_230926 (root-commit) 0748e6c] 添加.gitignore
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 .gitignore
Administrator@MS-TOVQOVTJPKXR MINGW64 /d/git_pro/RosProject (ros2_230926)
$ git push -u origin ros2_230926 #在远程仓库创建该分支并且同步本地分支及远程分支
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 221 bytes | 221.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To 192.168.0.83:/home/git/private_code_repository/RosProject.git
* [new branch] ros2_230926 -> ros2_230926
branch 'ros2_230926' set up to track 'origin/ros2_230926'.
以上就完成了代码分支的推送
4.常用git指令
git checkout -b [分支名称] #创建本地分支
git status #查看本地分支状态
git add . #将文件添加到git仓库缓存区(暂存区)
git commit -m'[说明]' #将某些已被跟踪的文件提交到版本库(包含工作区和版本库)
git diff [修改文件路径] #查看修改文件详细内容
git reset [分支号] #本地仓库切换到该分支上,修改的代码保留
git reset --hard [分支号] #本地仓库切换到该分支上,修改的代码不保留
git rebase [分支名] #合并该分支到当前分支
git log #查看本地操作信息
Chapter2 创建局域网Git服务器
原文链接:https://blog.csdn.net/liigo/article/details/83790604
本文提供的方法适用于小型团队在局域网内通过git协同编码,基本配置简便易行,还额外提供基于SSH免密码提交代码的扩展方案。基本原理可参见文末总结。
一、基本步骤
第1步:安装 Linux,安装 Git
此处省略具体操作步骤。
第2步:创建 git 用户
在Linux系统内以管理员权限(root)执行如下命令创建Linux用户:
adduser git
此命令执行过程中会提示输入新用户的 登录密码,同时自动创建用户主目录/home/git,以及执行其他必要的工作。
该用户不一定非叫git,任意合法名称都行,例如 liigogit 等等,当然后续操作命令也要相应地修改,最终仓库地址也有所不同(仓库地址以此用户名开头)。
网上有方法禁止git用户登录SSH。我认为这一步是可选的。
第3步:创建 git 仓库
使用 git 用户登录Linux系统,在用户主目录 /home/git 内执行如下命令创建git仓库:
git init --bare myrepo.git
裸仓库(–bare)目录名称以后缀 .git 结尾是一种习惯性约定,并非必需。
该仓库本地目录是 /home/git/myrepo.git,或者 ~/myrepo.git,这个毫无疑问。
该仓库 远程目录 可以是以下任意一个:
git@192.168.0.2:/home/git/myrepo.git
git@192.168.0.2:~/myrepo.git
git@192.168.0.2:myrepo.git
咱们通常使用最后一个,因为它最简洁。
注意其中包含了用户名、IP地址、本地目录等信息;注意符号 @ 和 : 都是必不可少的。
第4步:客户端克隆 git 仓库
Git客户端可通过如下命令克隆仓库:
git clone git@192.168.0.2:myrepo.git
用户名git已经包含在仓库远程目录内,用户密码就是在第2步创建git用户时设定的那个密码。克隆仓库需要输入密码。
第5步:客户端推送 git 仓库
执行 git push 等命令时要求输入密码,就是第2步创建git用户时设定的那个密码。
至此,基本配置步骤已经完成,基础功能可用。如需免密码推送Git功能,请继续阅读本文。
二、配置SSH公钥免密码推送Git
经过以上5个步骤,Git服务器基本功能已经可用,但是至少还有两个缺点:
需要向团队所有成员公开git用户的密码,不太安全
每次推送仓库时都要输入git用户的密码,操作繁琐
下面为Linux系统的 git 用户配置 authorized_keys 文件,配置成功之后就无需公开其登录密码,推送时也无需输入密码,一并克服了两个缺点。
服务端配置文件 authorized_keys
使用 git 用户登录Linux,在其主目录 /home/git 内执行如下操作(无需管理员权限):
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600 authorized_keys
LIIGO人云亦云注:SSH系统要求 .ssh 目录权限是700(drwx------),.ssh/authorized_keys 文件权限是600(-rw-------)。
然后编辑该文件 /home/git/.ssh/authorized_keys ,逐行输入团队各成员提供的公钥文件内容(下文介绍生成SSH公钥私钥的方法)。
20221019 补记:可以使用ssh-copy-id命令将本机内指定的公钥文件内容推送追加到远程主机指定用户的authorized_keys文件末尾,示例如下:
ssh-copy-id -i id_rsa.pub git@192.168.0.2
三、客户端生成SSH公钥密钥
Linux用户
Linux登录用户在任意目录下执行命令 ssh-keygen 连续按三次回车键即自动生成如下两个文件:
~/.ssh/id_rsa
~/.ssh/id_rsa.pub
其中 id_rsa 就是刚创建的密钥文件(此文件名和路径不得随意变动),id_rsa.pub 是公钥文件。
团队各成员分别将自己的公钥文件 id_rsa.pub 或其内容发给git用户管理员,让他写入服务端 authorized_keys 文件。
TortoiseGit 用户
Tortoise Git 用户可通过 PuTTYgen.exe 创建公钥密钥。具体方法是点击Generate按钮,随意滑动鼠标直至创建完成,生成的公钥文本显示在窗口上方多行只读编辑框内,复制其内容发送给git用户管理员,让他写入服务端 authorized_keys 文件。最后还要点击 Save private key 按钮保存密钥文件(.ppk,Putty密钥文件,区别于OpenSSH密钥文件(id_rsa),但利用PuTTYgen.exe,前者可以导出后者)。还有一点要特别注意,通过 Tortoise Git 图形界面克隆仓库时需勾选"Load Putty key",并选定前面生成的Putty密钥文件(.ppk)。至于Pageant.exe,不用管他,Tortoise Git会自动启动它并自动加载Putty密钥文件。
LIIGO多说一句,对于Github上的仓库,要应用公钥密钥,通过TortoiseGit克隆仓库时必须使用SSH地址(形如git@github.com:liigo/rust.git),而非HTTPS地址(形如https://github.com/liigo/rust.git)。Github网站仓库首页同时提供这两类链接(“Clone with SSH” VS “Clone with HTTPS”)。
四、总结
服务器是开启了SSH服务的Linux系统,在其中创建名称为 git 的Linux用户(同时也是SSH登录用户)专用于管理Git仓库,仓库位于服务器本机目录 /home/git/name.git 内(name.git是目录名),仓库SSH地址即客户端克隆地址是 git@ip:name.git,Git克隆命令行是 git clone git@ip:name.git。
在未配置SSH公钥的情况下,需要向仓库使用者公开 git 用户的登录密码,克隆(clone)/拉取(pull)/推送(push)等操作都需要输入该密码。在服务端配置好文件 /home/git/.ssh/authorized_keys 并录入各使用者SSH公钥后,就无需公开该登录密码,所有Git操作都不用输入密码。
前面的基本操作步骤都很简单,可以提供基本的Git服务;配置SSH公钥的操作相对复杂,但客户使用体验更好。
此方法的缺点是,不能有针对性的分别设置团队各成员的权限,所有人都能完全操控Git仓库。
可能有朋友产生疑问,团队所有成员共用一个git用户提交代码,还能分清代码是谁写的吗?当然能。Git客户端推送时携带了代码作者的姓名和邮件地址,都完整的体现在 git log 里面,这个无需担心。Github网站后端也是如此操作的,并无不妥。
Chapter3 内网搭建git服务器
Windows11生成密钥对,并把公钥放到git服务器,用于免密
Chapter4 局域网Git服务器和客户端的搭建和简单使用
原文链接:https://blog.csdn.net/vhcjgc/article/details/124043169
一、软件下载安装
在Windows下,需要安装两个工具:Git for Windows 以及 TortoiseGit。
Git for Windows是Git的官方Windows版本,提供了Git的所有功能,但是由于Git完全是为了Lnix系统开发的开源软件,注重功能而忽略了易用性,对于初学者不是特别友好。
TortoiseGit则为Git for Windows加上了一个易用的右键菜单,并且将文件状态等信息很好地与Windows资源管理器的整合。
安装步骤参考
二、使用
1、服务器操作
首先新建一个文件夹名为test.git,(用作交换各客户端的代码目录,仅用于被推送。)
设置共享
共享文件夹设置好了之后。右键点击>git在这里创建版本库>弹出将复选框打上勾,确定即可
查看共享目录
服务器ip+文件夹名称
如
172.16.202.23\test.git
在客户机查看此共享文件夹是否创建成功
win + R
输入
172.16.202.23
打开了服务器的共享文件夹
至此,服务器已经配置好了。 这个目录是共享的目录。也是将来在客户端电脑上要克隆的地址。
2、客户端的克隆和推送操作
新建文件夹,右键>Git克隆
选择目标文件夹,点击确定
随便添加一个文件
右键>git 提交
点击推送
在本机的另一个文件夹中克隆
可以看到版本已经更新
相关文章:

【Linux之升华篇】Linux内核锁、用户模式与内核模式、用户进程通讯方式
alloc_pages(gfp_mask, order),_ _get_free_pages(gfp_mask, order)等。字符设备描述符 struct cdev,cdev_alloc()用于动态的分配 cdev 描述符,cdev_add()用于注。外,还支持语义符合 Posix.1 标准的信号函数 sigaction(实际上,该函数是基于 BSD 的,BSD。从最初的原子操作,到后来的信号量,从。(2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的。

Ubuntu下安装和配置Redis
找到 /ect/redis/redis.conf 文件修改如下:注释掉 127.0.0.1 ,如果不需要远程连接redis则不需要这个操作。使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG。默认情况下,Redis服务器不允许远程访问,只允许本机访问,所以我们需要设置打开远程访问的功能。执行sudo apt-get install redis-server 安装命令。查看 redis 是否启动,重新打开一个窗口。停止/启动/重启redis。

linux常用操作指令—— 查看磁盘、内存使用情况(df、du、free、top)
显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示。free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。当文件系统也确定删除了该文件后,这时候du与df就一致了。实例4:显示目前磁盘空间和使用情况 (最常用)top:“实时查看” ,按。退出 (实时动态显示)

Linux下netstat命令详解&&netstat -anp | grep 讲解
Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

Linux命令——根据端口号查进程
查出的数据第二列(16615)是elasticsearch的进程号。通常我们会根据端口号查进程号,或者通过进程号查端口号。linux环境下,我们常常会查询进程号pid。最常用ps -ef |grep xx。根据端口port查进程。根据端口port查进程。根据进程pid查端口。根据进程pid查端口。

Linux搜索文件&搜索文件名&替换文件内容
locate是Linux系统提供的一种快速检索全局文件的系统命令,它并不是真的去检索所以系统目录,而是检索一个数据库文件locatedb(Ubuntu系置/var/cache/locate/locatedb),该数据库文件包含了系统所有文件的路径索引信息,所以查找速度很快。time结尾的选项,其单位为天,min结尾的选项其单位为分钟,这些选项的值都为一个正负整数, 如+7,表示,7天以前被访问过的文件,-7表示7天以内被访问过的文件,7表示恰好7天前被访问的文件。:快速返回某个指定命令的位置信息。

GIT常用命令大全
git config --global color.ui true //让git显示颜色//忽略特殊文件//.gitignore文件 # Windows: Thumbs.db*.egg*.egg-infodist//把该文件也提交到git$ git add -f App.class //强制添加被忽略的特殊文件。

TortoiseGit的使用详解
然后A修改了,A想上传代码,发现冲突了,原因是A依靠的是1版本的代码进行了修改,而此时远程仓库的代码是2版本,这样当然会产生冲突。当从远程仓库拉取代码时,代码会直接拉取到工作区,然后我们要添加、提交,然后才可以把拉取的代码放入本地仓库,本地仓库的代码可以通过推送,推送到远程仓库,这是一个大循环。解决冲突的办法就是,先把远程仓库的2版本的代码进行拉取,然后TortoiseGit会列出冲突的文件代码,然后自己手动解决、选择自己需要的代码,右键选择解决冲突,最后再重新上传就可以了。点击拉取,可以下载文件。

[Ubuntu 22.04] Docker安装及使用
容器的生命周期由用户控制,用户可以选择手动删除容器或让其保留在系统中以供之后使用。选项允许你在容器内部创建一个交互式的终端会话,使你可以像在本地终端一样与容器进行交互。你可以在容器内执行命令,查看输出并输入命令。镜像拉取完成后,可以使用以下命令创建并启动一个基于 Ubuntu 20.04 镜像的容器。列出所有正在运行的容器,并显示它们的容器ID、镜像、命令、创建时间、状态等信息。以下命令可以中止容器,改命令将向容器发送一个停止信号,使其正常停止并退出。这将显示所有容器的列表,包括正在运行的和已停止的容器。

CSS局限属性contain:优化渲染性能的利器
在网页开发中,优化渲染性能是一个重要的目标。CSS局限属性contain是一个强大的工具,可以帮助我们提高网页的渲染性能。本文将介绍contain属性的基本概念、用法和优势,以及如何使用它来优化网页的渲染过程。

svn和git的本质区别是什么
上边图中,跨越了区的箭头,它中间的区数据都会同步。例如:git checkout ,它是将本地仓库数据更新到暂存区和工作区的。

TCP服务器最多支持多少客户端连接
本文从理论和实际两个方面介绍了一个 TCP 服务器支持的最大连接数

C程序的内存空间布局(栈、堆、数据区、常量区、代码区)
较详细的介绍了栈、堆、数据区、常量区、代码区

给服务器开通telnet的流程
但一些特殊场景下,比如要升级ssh,ssh不能用时,需要使用telnet,用过要关闭此服务。需要首先安装,如果telnet-server服务在xinetd之前安装了,要先删除telnet-server,再安装xinetd。安装顺序:xinetd--》telnet--》telnet-server。安装顺序:xinetd--》telnet--》telnet-server。2、卸载rpm包(如果已经安装了,又不清楚顺序,可以都卸载后统一安装)注意:telnet-server服务启动依赖xinetd服务,

如何在Nginx中配置防盗链?
防盗链是一种防止网站资源被非法下载的技术。当用户尝试直接访问一个受保护的资源时,服务器会返回一个403 Forbidden错误,提示用户该资源受到保护,不能直接访问。这样可以避免用户通过搜索引擎或其他方式获取到未经授权的资源。通过以上步骤,我们可以在Linux系统中的Nginx Web服务器中使用Shell脚本实现防盗链的配置。这种方法可以有效地保护网站资源不被非法下载,提高用户体验,同时防止恶意攻击。在实际项目中,我们可以根据实际需求灵活配置受保护资源的URL和处理方式。

使用DockerFile构建镜像与镜像上传
首先Dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像。

python基础小知识:引用和赋值的区别
通过引用,就可以在程序范围内任何地方传递大型对象而不必在途中进行开销巨大的赋值操作。不过需要注意的是,这种赋值仅能做到顶层赋值,如果出现嵌套的情况下仍不能进行深层赋值。赋值与引用不同,复制后会产生一个新的对象,原对象修改后不会影响到新的对象。如果在原位置修改这个可变对象时,可能会影响程序其他位置对这个对象的引用

k8s 使用tomcat官方镜像部署集群并解决访问页面404
官方镜像这里有个坑,使用kubectl启动之后,页面报错404,仔细检查发现,是因为tomcat的webapp目录下没有对应的文件,所以连初始界面都无法显示。要想显示,必须要根据官方镜像自己构建一个Dockerfile。根据上面的信息可以看出,该POD部署在k8s-node1上,映射POD的8080端口到master的30088端口上。这里需要将镜像上传到自己搭建的registry,并配置nodes节点都可以正常访问5000端口。三、根据官方镜像自己构建一个一次性就能启动的Tomcat镜像。

Centos系统上安装PostgreSQL和常用PostgreSQL功能
PostgreSQL安装成功之后,会默认创建一个名为postgres的Linux用户,初始化数据库后,会有名为postgres的数据库,来存储数据库的基础信息,例如用户信息等等,相当于MySQL中默认的名为mysql数据库。权限代码:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、TRIGGER、CREATE、CONNECT、TEMPORARY、EXECUTE、USAGE。为了方便我们使用postgres账号进行管理,我们可以修改该账号的密码。

linux切换root用户su - root和su root的区别
通过tty客户端登陆的shell就是login shell,通过在图形界面使用ctrl+shift+t的方式新建的shell是no login shell。登录的流程,会执行 /etc/profile,/etc/profile.d/下定义的*.sh都会执行。su - root,产生一个登录shell去执行后面的指令。no login shell 读取的文件和顺序为:/etc/bashrc和~/.bashrc。su root,产生一个非登录交互shell,非登录交互shell,只执行用户目录下。

Git 的基本概念、使用方式及常用命令
Git的基本概念、使用方式及常用命令

Python中如何简化if...else...语句
我们通常在Python中采用if...else..语句对结果进行判断,根据条件来返回不同的结果,如下面的例子。这段代码是一个简单的Python代码片段,让用户输入姓名并将其赋值给变量user_input。我们能不能把这几行代码进行简化,优化代码的执行效率呢?以下是对各行代码的解读。这里使用了or这个逻辑运算符,当user_input不为空时,user_input为真,name就被赋于user_input的值。采用这种方法可以轻松实现if...else语句的简化。我们可以使用一行简短的代码来实现上面的任务。

轻松管理Linux磁盘空间命令:df
通过使用--output选项,可以自定义df命令的输出格式,选择显示的列以及它们的顺序。这对于筛选特定信息以便进一步处理非常有用。本文我们介绍了Linux系统上的df命令,包括基本用法、进阶用法、实际案例和场景应用,以及一些实用技巧和注意事项。df命令是系统管理中的一个重要工具,能够帮助用户有效管理磁盘空间,预防和解决潜在问题。在实际使用中,请根据具体情况选择合适的df命令选项和参数,并结合其他命令,以获取更全面的系统信息。

Docker网络配置&网络模式
网络相关概念,子网掩码、网关、规则的介绍及网络模式bridge、host详解,Dockers自定义网络配置

Linux grep命令教程:强大的文本搜索工具(附案例详解和注意事项)
grep(Global Regular Expression Print)命令用来在文件中查找包含或者不包含某个字符串的行,它是强大的文本搜索工具,并可以使用正则表达式进行搜索。当你需要在文件或者多个文件中搜寻特定信息时,grep就显得无比重要啦。

保持Python程序在Linux上持续运行的几种方法
主要是用来定时执行任务的,但你也可以利用它来监控你的Python脚本是否正在运行,并在需要时重新启动它。是一个非常实用的命令,它可以让你的Python脚本在你退出shell后继续运行。总结起来,根据你的具体需求和环境,你可以选择以上任何一种方法来保持Python程序在Linux上的持续运行。使用这些工具,你可以随时断开SSH连接,而不用担心脚本会停止运行。通过这种方式,你可以安全地关闭终端,而脚本会继续在后台执行。这样,你的Python脚本就会作为系统服务运行,并且会在系统启动时自动启动。

linux环境中一次启动多个jar包,并且设置脚本开机自启
我们在通过jar启动项目时,有时候会比较多,启动会比较麻烦,需要编写shell脚本启动,将启动脚本存放在需要启动的jar包路径下。(文档存放在 /home/process_parent )PORTS 端口号,多个用空格隔开MODULES 模块,多个用空格隔开MODULE_NAMES 模块名称,多个用空格隔开。

windows11通过虚拟机安装Ubuntu20.04
window11通过虚拟机VMware Workstation 17 Player安装ubuntu20.04

开发版ubuntu系统上如何进行开机自启(四种方法一览)
如果省略该字段,则 systemd 将默认将当前服务的启动顺序设置为与其他服务无关,即在启动过程中没有任何依赖性关系,服务的启动顺序由系统自行决定。【ExecStart】 关键字段,服务启动命令,指定服务启动时需要执行的命令或脚本【WantedBy】用于指定服务的自动启动级别,在 Linux 系统中,多用户模式是指允许多个用户同时登录并使用系统资源的模式,与之相对的是单用户模式,只有一个用户可以登录并使用系统资源。保存文件的方法根据所使用的编辑器而有所不同,通常是按下特定的键组合,然后选择保存并退出。

你了解计算机网络的发展历史吗?
计算机网络是指将一群具有独立功能的计算机通过被互联起来的,在通信软件的支持下,实现的系统。计算机网络是计算机技术与通信技术紧密结合的产物,两者的迅速发展渗透形成了计算机网络技术。简而言之呢,计算机网络就是实现两台计算机相互沟通的介质。