AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-258010

Arcticooling's questions

Martin Hope
Arcticooling
Asked: 2018-01-18 20:18:12 +0800 CST

创建/更改文件并获取它 - 都在一行中

  • -3

我需要一个命令来创建/更改某些文件,然后在 Bash 中将所有文件都放在一行中。

知道它是否可能(或为什么不可能)对我来说很重要,因为这可以通过防止在sourceor中的需要来帮助在一些长脚本中节省几行./。

例如,我有这个代码模板可以将别名添加到/etc/bash.bashrc:

cat <<-"APPENDIX" >> /etc/bash.bashrc
    alias shortcut="command"
    alias shortcut="command"
APPENDIX
source /etc/bash.bashrc

如何source /etc/bash.bashrc通过在文件更改时获取文件来保存该行?

注意:我确实拥有关于/etc/bash.bashrc.

source here-document
  • 1 个回答
  • 209 Views
Martin Hope
Arcticooling
Asked: 2018-01-18 14:17:31 +0800 CST

将 curl 标准输出回显到 crontab

  • -3

这是我存储在我的 Github 帐户中的 crontab 模式:

source ~/.profile
0 0 * * *
# More cron commands

作为练习,我尝试将标准输出数据通过管道传输curl到我的 crontab 中(我已将 Github 路径更改为一般模式)。

1)我尝试使用一个简单的管道:

curl https://raw.githubusercontent.com/user/repo/master/cronjobs | crontab

这失败并出现错误:

“-”:0:糟糕的一分钟

crontab 文件中的错误,无法安装。

2)我尝试使用heredoc:

curl https://raw.githubusercontent.com/user/repo/master/cronjobs | cat > crontab

这失败并出现错误:

没有进行任何修改

3)我尝试将curl输出回显到crontab.

echo "curl $(https://raw.githubusercontent.com/user/repo/master/cronjobs)" | crontab

这失败并出现错误:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0...: command not found
100   505  100   505    0     0    804      0 --:--:-- --:--:-- --:--:--   804
(23) Failed writing body

您可以看到我已经尝试了三种不同的方法将数据从标准输出发送到 crontab,但没有任何效果。如果我想将它直接传递给 crontab 而不是cron.d文件,我还剩下什么?

pipe cron
  • 2 个回答
  • 4223 Views
Martin Hope
Arcticooling
Asked: 2018-01-17 08:31:23 +0800 CST

在一行中创建一个同名的用户和数据库

  • 1

这就是我直接从 Bash 创建 MySQL 授权的所有特权数据库用户和具有相同名称的相应数据库实例的方式:

echo "CREATE USER "${domain}"@"localhost" IDENTIFIED BY \"${dbup}\";" | mysql -u root -p"${dbrp}"
echo "CREATE DATABASE ${domain};" | mysql -u root -p"${dbrp}"
echo "GRANT ALL PRIVILEGES ON ${domain}.* TO ${domain}@localhost;" | mysql -u root -p"${dbrp}"

前两个命令能否以某种方式合并为一个命令?

shell-script mysql
  • 2 个回答
  • 2167 Views
Martin Hope
Arcticooling
Asked: 2018-01-17 01:12:55 +0800 CST

缩短读取操作

  • -2

这是我当前的read操作,可以正常工作,但我想缩短:

echo "Please save your DB root password:" && read -s dbrp
echo "Please save your DB user password:" && read -s dbup

这就是我试图缩短它并且非常失败的方式(提示对我很重要):

echo "Please save your DB passwords (root, then non-root):" && read -s dbrp && echo "\n" && read -s dbup

它已经在我想要的一行中,但我对此并不满意,因为:

  1. 有两个read -s命令,而不是只有一个。
  2. 我必须使用echo /n来打破行,而我想要打破没有它。

有什么可以改善的吗?

更新

我在那里使用echo时出错(除了添加\n.read有它自己的提示添加选项:

read -sp "What's your DB root password?" dbrp
read -sp "What's your DB user password?" dbup
variable echo
  • 1 个回答
  • 121 Views
Martin Hope
Arcticooling
Asked: 2018-01-16 16:20:26 +0800 CST

缩短数据库和 WordPress 实例创建脚本

  • -1

我如何进一步缩短以下脚本,其目的是创建一个数据库 && WordPress 实例,然后根据给定的域更改权限并重新启动服务器?

${domain}代表我在脚本执行中作为参数传递的域。 ${drt}代表文档根 ( /var/www/html)。

#!/bin/sh
domain="$1"
echo "What's your DB root password?" && read -s dbrp
echo "What's your DB user password?" && read -s dbup

echo "CREATE USER "${domain}"@"localhost" IDENTIFIED BY \"${dbup}\";" | mysql -u root -p"${dbrp}"
echo "CREATE DATABASE ${domain};" | mysql -u root -p"${dbrp}"
echo "GRANT ALL PRIVILEGES ON ${domain}.* TO ${domain}@localhost;" | mysql -u root -p"${dbrp}"

cd ${drt}
curl -L http://wordpress.org/latest.tar.gz | tar -zxv -C ${domain}/
cp ${domain}/wp-config-sample.php ${domain}/wp-config.php
sed -i "s/database_name_here/${domain}"/g ${domain}/wp-config.php
sed -i "s/username_here/${domain}/g" ${domain}/wp-config.php
sed -i "s/password_here/${dbup}/g" ${domain}/wp-config.php

chown -R ${domain}:${domain} ${domain}/* && chmod -R a-x,a=rX,u+w ${domain}/* && systemctl restart nginx.service

我的目标是将其缩短 2-3 行,但我认为这可能是不可能的。

我想过:

1)删除cd ${drt}语法并开始${drt}在我需要的任何地方添加。

2)以这种方式联合前2个sed:

sed -i "s/_name_here/${domain}"/g ${domain}/wp-config.php

我想知道您是否认识其他可以缩短(统一)的内容。

sed directory
  • 1 个回答
  • 458 Views
Martin Hope
Arcticooling
Asked: 2018-01-16 11:27:32 +0800 CST

cron.d(如 /etc/cron.d/)和 crontab 有什么区别?

  • 46

/etc/cron.d/目录 cron.d(如)和之间的主要区别是什么crontab?

据我了解,可以创建一个文件,/etc/cron.d/my_non_crontab_cronjobs然后将任何想要的内容放入其中,就像将它们放入crontabvia中一样crontab -e。

那么两者的主要区别是什么?

debian cron
  • 2 个回答
  • 62404 Views
Martin Hope
Arcticooling
Asked: 2018-01-16 09:08:28 +0800 CST

如何通过该目录的名称更改目录的所有者和组?

  • 0

我有一个 Ubuntu 16.04 Nginx 服务器环境,在文档根目录下有几个 CMS (WordPress) 网站。

所有站点目录都www-data以递归方式作为所有者和组。


根据我得到的一些安全咨询,这是有问题的,因为来自一个站点的数据可能会改变任何其他相邻站点(例如,安装在其中一个站点的 CMS 中的恶意模块)。

我假设解决方案是更改此命令,该命令在添加新站点后始终运行(并且在更改所有者和组的更新后也在 cron 中):

chown -R www-data:www-data /var/www/html/*

对于一些条件命令,这些命令不仅将这些特征更改www-data为站点目录的实际名称,而且还更改为站点目录的实际名称。

为了澄清,每个站点目录的所有者应该是domain.tld,组也应该是domain.tld(我总是根据站点的 domain.tld 命名站点目录)。

什么可能是这样的条件命令?


注意:Nginx 用户和目录/var/www/html/都将保留在www-data:www-data.

G-Man更新:

我还没有测试,但我认为如果你${domain}作为变量 ( $1) 的第一个参数传递,这很好:

chown -R ${domain}:${domain} ${domain}/*

虽然我会保留它:

chown -R ${domain}:www-data ${domain}/*

当然,adduser ${domain} --disabled-password --disabled-login之前是需要的,如果没有做过。

security nginx
  • 1 个回答
  • 1525 Views
Martin Hope
Arcticooling
Asked: 2018-01-16 06:38:14 +0800 CST

crontab 没有得到 bash.bashrc 变量

  • -1
这个问题在这里已经有了答案:
cron 忽略“.bashrc”和“.bash_profile”中定义的变量 8 个答案
4年前关闭。

在 Ubuntu 16.04 Bash 4.3.46(1) 的末尾,/etc/bash.bashrc我声明了以下变量:

drt="/var/www/html"

我找到了文件 ( source /etc/bash.bashrc)

我执行crontab -e并添加只是为了测试* * * * * touch /var/www/html/myFile.sh。这有效,但* * * * * touch ${drt}/myFile.sh没有。

如果声明的变量bash.bashrc是全局变量,为什么它不被处理crontab?

更新1

我不想将流复制drt="/var/www/html"到crontab(或cron.d)中,以避免原则上的冗余。

更新2

我关注了这个会话,似乎标记为正确的答案并没有解决我的问题。

第二个答案对我来说有点不清楚——为什么要把这个条件语句放在(一些?)bashrc文件中。

我还尝试了与bash.bashrc(添加SHELL=/bin/bash到开头的第三种解决方案crontab,保存文件并获取bash.bashrc但在* * * * * touch ~/myfiile测试中没有变化。

因此,我要求重新提出这个问题,或者至少澄清一个答案。

variable cron
  • 1 个回答
  • 1226 Views
Martin Hope
Arcticooling
Asked: 2018-01-15 15:33:25 +0800 CST

除了邮件和日志之外,系统是否创建或扩展了任何文件?

  • 0

除了邮件和日志之外,系统是否创建或扩展了任何文件?

AFAIK,默认情况下由系统创建和/或扩展的唯一文件是/var/mail/文件和/var/log/文件(通过文件大小扩展)。

为了解决这个问题,我在这些目录中的文件上重定向了 `/dev/null。

但是,除了邮件和日志之外,是否还有更多文件需要我担心它们会一直被 Linux 系统本身创建和扩展?

disk inode
  • 2 个回答
  • 39 Views
Martin Hope
Arcticooling
Asked: 2018-01-15 13:35:31 +0800 CST

如果该文件中尚不存在此字符串数据,则将其附加到文件中(全部在一行中)

  • -2

如果该文件中还没有确切的数据,那么使用 herestring 将单行数据附加到文件末尾的“优雅”单行方式是什么?

这是我的字符串附加模式:

cat >> /var/www/html/myFile <<< "myOutput"
shell-script text-processing
  • 3 个回答
  • 1037 Views
Martin Hope
Arcticooling
Asked: 2018-01-15 06:09:36 +0800 CST

如何在没有 for 循环的情况下将参数传递给 Bash 脚本变量?

  • -3

我有以下用于制作 webapp conf 文件的脚本(在 下/etc/nginx/sites-available/)。

这是脚本:

#!/bin/sh

for domain; do
    cat <<-WEBAPPCONF > /etc/nginx/sites-available/${domain}.conf
        server {
            root var/www/html/${domain};
            server_name ${domain} www.${domain};
            location / {
                index index.php index.html index.htm fastcgi_index;
                try_files $uri $uri =404 $uri/ /index.php?$args;
            }
            location ~ \.php$ {
                fastcgi_pass unix:/var/run/php/php*-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
            }
        }
    WEBAPPCONF
    ln -s /etc/nginx/sites-available/${domain}.conf /etc/nginx/sites-enabled/
done

systemctl restart nginx.service

鉴于它有for一个变量循环domain,我可以通过将这些域作为参数传递给多个域来运行它domain:

bash ~/nwsm domain_1.tld domain_2.tld

我的问题

请假设无论出于何种原因,我都不喜欢使用for循环并且每次只使用一个域:

如果我要删除for domain; do ... done语法,我假设我将无法将域作为参数传递,因为没有domain变量可以将其作为值保存。因此,我问什么是更改脚本的正确方法,以便它只处理一个域参数,而没有for循环?

我不确定只是domain在脚本开头添加是正确的方法。

附录

关于为什么有人甚至想要这样做的一些弱论据(因为for loop老实说这些作品很好):

1)在追求极简主义时减少线条的数量。

2)让自己同时在精神上同时使用一个域将减少额外输入和拼写错误的机会,并将简化对已编写内容的验证。

3)for当您使用稀疏数量的域(<=5 个域)时,在某些小型环境中使用循环是多余的。

bash variable
  • 1 个回答
  • 540 Views
Martin Hope
Arcticooling
Asked: 2018-01-15 04:45:48 +0800 CST

Bash:每个未定义变量一个参数

  • 0

假设我创建了一个文件~/myScript.sh:

#!/bin/sh

for myVar; do
    echo "Hi"
done

如果我在bash myScript没有参数的情况下执行,我将一无所获,但如果我使用一个或多个参数执行它,我将根据这些变量的数量获得输出(该变量似乎使脚本依赖于传递的参数):

bash ~/myScript.sh arg0 arg1

基于未定义变量的 for 循环myVar将适用于自身(对不起arg0,arg1如果这个措辞很糟糕),我会得到这个输出:

你好

你好

(每个参数一个“嗨”)。


我最初假设一个for循环与一个参数一起工作,所以如果我有myVar_0andmyVar_1和arg0and arg1,那么myVar_0将与arg_0andmyVar_1一起工作,arg1但我进一步测试,我错了——所有for循环都与所有参数一起工作:

#!/bin/sh

for myVar_0; do
    echo "Hi"
done

for myVar_1; do
    echo "Hello"
done

将返回bash myScript arg0 arg1:

你好

你好

你好

你好

旁注:我假设如果想要“每 1 个 for 循环 1 个参数”,我只需要在本地范围内使用 Bash 函数。

我的问题

与 Bash 匹配的“所有 for 循环的所有参数”的名称是什么?

bash variable
  • 2 个回答
  • 601 Views
Martin Hope
Arcticooling
Asked: 2018-01-14 11:51:26 +0800 CST

将下载实用程序(如 wget)的 url 合并到一行中

  • 4

考虑以下wget代码:

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/papj.sh
wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/nixta.sh

有没有什么优雅的方法可以将上述相同基本 URL 的不同终端合并成一行而不是 2 行或更多行?

伪代码:

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/papj.sh||nixta.sh
command-line wget
  • 2 个回答
  • 353 Views
Martin Hope
Arcticooling
Asked: 2018-01-14 10:49:18 +0800 CST

posix / chmod中的大写X是什么?

  • 28

我知道什么是ugoa(所有者、组、其他人、全部)或rwx(读取/正确/执行)或 4,2,1 或-, f, d, l,我试图阅读man chmod以了解什么是大写X,chmod但没有它的一个条目。然后我在 posix/chmod 中阅读了这篇文章,但被困在了这段话中:

仅当目标 a) 是目录 b) 已经为用户、组和其他中的任何一个设置了至少一个可执行位时,才设置可执行位。

我还在这篇文章中读到了这个代码示例:

chmod -R u=rwX,g=rX,o=rX testdir/

testdir/我知道关于所有者 (u)、组 (g) 和其他 (o)的 , 有递归权限,但我承认我仍然错过了大写 X 的意图。

也许这里的教学措辞可以对此有所了解(我在这里发表这篇文章的主要原因是因为我没有找到关于这个的 SE 会议)。

更新

对不起,我错过了那个男人。我没想到 X 会出现在参数列表之前,我认为搜索返回 x 而不是 X,我的错。

permissions chmod
  • 3 个回答
  • 15577 Views
Martin Hope
Arcticooling
Asked: 2018-01-14 02:45:36 +0800 CST

如果文件中不存在这些行,如何将多行附加到文件中?

  • 4

如果文件中不存在这些行,如何将多行附加到文件中?

例如,要添加多个全局别名,/etc/bash.bashrc我使用heredocument:

cat <<-"BASHRC" >> /etc/bash.bashrc
    alias rss="/etc/init.d/php*-fpm restart && systemctl restart nginx.service"
    alias brc="nano /etc/bash.bashrc"
BASHRC

我被批评说这个操作不包括检查行是否已经存在的方法,如果错误地重新执行 heredocument,我可能会导致冗余以及冲突。

shell-script text-processing
  • 6 个回答
  • 2145 Views
Martin Hope
Arcticooling
Asked: 2018-01-14 01:07:30 +0800 CST

读取值验证

  • 1

有没有办法验证或确认用户写了它的意思read?

  • 例如,用户打算写“Hello world!” 但误写了“Hello world@”。

  • 这与电子邮件/电话字段的联系表单验证非常相似。

有没有办法在阅读时提示用户“请重新输入输入”?

我在man read.


注意:输入是密码,所以我不想打印或将其与已经存在的字符串进行比较。

command-line input
  • 2 个回答
  • 352 Views
Martin Hope
Arcticooling
Asked: 2018-01-13 09:59:08 +0800 CST

将 Github 中的内容通过管道传输到 crontab

  • 2

我现在不在测试环境面前,但我希望下载一个 Bash 脚本,curl然后将其内容加载到 crontab 中。

Github 原始文档中出现的内容例如:

0 0 * * * ... 
0 0 * * 0 ...

你觉得这个代码模板还好吗?

curl -O https://raw.githubusercontent.com/user/repo/master/file.sh | crontab
pipe cron
  • 1 个回答
  • 651 Views
Martin Hope
Arcticooling
Asked: 2018-01-12 20:46:56 +0800 CST

使用 heredocument 重定向到 crontab

  • 0

可以crontab用heredocument打印吗?

我尝试了这些但失败了:

cat <<-"CRONTAB" > crontab
    0 0 * * * cat /dev/null > /var/mail/root
    0 1 * * 0 certbot renew -q
CRONTAB

和:

bash <<-"CRONTAB" > crontab
    0 0 * * * cat /dev/null > /var/mail/root
    0 1 * * 0 certbot renew -q
CRONTAB

另一方面,这不是 heredocument,但有效:

# CRONTAB
echo "
    0 0 * * * cat /dev/null > /var/mail/root
    0 1 * * 0 certbot renew -q
" | crontab

因此,我想知道 heredocument 是否有可能。

cron io-redirection
  • 1 个回答
  • 610 Views
Martin Hope
Arcticooling
Asked: 2018-01-12 08:31:34 +0800 CST

将 find-chmod 用于目录,将 find-chmod 用于常规文件 [重复]

  • 0
这个问题在这里已经有了答案:
使用 1 个命令更改所有文件夹权限 2 个答案
4年前关闭。

我有这些命令:

find /var/www/html/* -type d -exec chmod 755 {} \;
find /var/www/html/* -type f -exec chmod 644 {} \;

我从斯蒂芬基特的回答中了解到,我可以这样组合它们:

find /var/www/html/* -exec chmod a-x,a=rX,u+w {} \+

这些chmod论点让我读起来不太舒服,尤其是在语法方面(我还没有find熟悉a-x,a=rX和u+w在接下来的几天里会采取认真的方式)。

那里可以使用数字吗?如果没有,可能有一种更舒适的方法来联合这两个命令,即使比提议的特定命令长一点点?

find chmod
  • 1 个回答
  • 3552 Views
Martin Hope
Arcticooling
Asked: 2018-01-11 21:58:40 +0800 CST

在 Ubuntu-Nginx-https 环境中保护 PHPmyadmin,无需更改 URL 或 tmux

  • 0

我目前在我的环境中保护 PHPmyadmin (PMA) 尤其是防止暴力攻击 (BFA) 的ubuntu-nginx-https方法是以下一种或多种:

1)将 PMA 目录的位置更改为有线且难以猜测的位置。

2)从永久IP登录。

3)通过认可的 VPN 登录(由于下面的评论,这是一个编辑)。

4)在单独的tmux会话中临时运行 PMA:

cat <<-"PHPMYADMIN" > /opt/pma.sh
    #!/bin/bash
    find /var/www/html -iname '*phpmyadmin*' -exec rm -rf {} \;
    cd /var/www/html && wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip
    find /var/www/html -type f -iname '*phpmyadmin*.zip' -exec unzip {} \;
    find /var/www/html -type d -iname 'phpmyadmin-*' -exec mv {} phpmyadmin \;

    sleep 2h

    find /var/www/html -iname '*phpmyadmin*' -exec rm -rf {} \;
    tmux kill-session
PHPMYADMIN
chmod +x /opt/pma.sh

cat <<-"BASHRC" >> /etc/bash.bashrc
    alias pma="tmux new-session -d 'bash /opt/pma.sh'"
BASHRC
source /etc/bash.bashrc

然后:

pma # execute script and use pma for 2 hours.

为什么我不习惯使用这些方式

  1. 如果有人发现有线不直观的 PMA 路径,它仍然可以尝试暴力破解它。

  2. 我负担不起。我有时可能会在公寓之间移动。

  3. 这可能是一个不错的选择,尽管为此目的可能会让人不知所措(我在这个时代没有其他 VPN 用途)。

  4. 这个脚本很重,并且延长了我使用的已经很长的 Nginx 服务器环境设置(NSES)脚本。

我的问题

我还剩下什么来保护 PMA 在我的环境中免受暴力攻击ubuntu-nginx-https?

ubuntu security
  • 1 个回答
  • 378 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve