小编Pat*_*zek的帖子

如果用户名包含@ 符号,我如何 sftp 到服务器

我必须将服务器 sftp 发送到特定端口,但用户名包含 @ 符号。

假设用户是“user@example.com”,而 ftp 服务器只是“example.com”

我会以

sftp -oPort:8777 user@example.com@example.com
Run Code Online (Sandbox Code Playgroud)

正如我已经测试过的那样,什么显然不起作用。

什么样的业余爱好者会用@ 创建用户名?好的,我的老板做到了。

我该如何解决?

users ssh sftp

28
推荐指数
2
解决办法
5万
查看次数

媒体已更改:请插入标有“Debian GNU/Linux”的磁盘

我使用从 Debian 安装 CD/DVD 的第一个 DVD ISO“刻录”的 USB 闪存驱动器安装了 Debian 7。

我做了一个非常小的安装,没有 Debian 桌面环境、打印服务器和标准系统实用程序。

安装并重新启动后,我看到了一个控制台,上面写着Debian GNU/Linux 7 主机名 tty1。我提供了登录用户名和密码。

在我输入命令后sudo apt-get install xorg,弹出一条错误消息,指出:

Media changed: please insert the disk labeled 'Debian GNU/Linux 7.4.0 _Wheezy_ - Official amd64 DVD Binary-1 20140208-13:47' in the drive and press Enter
Run Code Online (Sandbox Code Playgroud)

我将同一个 USB 闪存驱动器插入同一个端口,等待几秒钟后,我按了 Enter。

弹出同样的错误信息。

我在一些同事的建议下尝试了以下步骤:

  1. 删除/删除所有条目/etc/apt/sources.list并重新启动计算机
  2. dmesg 和 fstab 显示 USB 拇指驱动器安装在 /dev/sdb1
  3. sudo mount /dev/sdb1 /media/usb0
  4. sudo apt-cdrom -m -d /media/usb0 add

执行上述操作后,会出现以下错误消息:

Using CD-ROM mount …
Run Code Online (Sandbox Code Playgroud)

media usb debian

15
推荐指数
1
解决办法
2万
查看次数

bash脚本中的两个文件比较?

如何在shell脚本中找到匹配数据的两个文件并在shell中的另一个文件中重复存储数据?

#!/bin/bash

file1="/home/vekomy/santhosh/bigfiles.txt"
file2="/home/vekomy/santhosh/bigfile2.txt"

while read -r $file1; do
    while read  -r $file2 ;do
        if [$file1==$file2] ;  then
            echo "two files are same"
        else
            echo "two files content different"
        fi
    done
done
Run Code Online (Sandbox Code Playgroud)

我写了代码,但没有用。怎么写?

bash file-comparison

11
推荐指数
2
解决办法
8万
查看次数

硬件时间和系统时间的区别

我想知道 Linux“硬件时间”和“系统时间”之间的区别。

从查询它的进程的角度来看,计算机使用什么时间?是硬件时间还是系统时间?

linux

8
推荐指数
2
解决办法
1万
查看次数

如何在终端中打印 shell 函数的代码?

我正在使用zsh并且在一些 shell 脚本中定义了一些实用程序 shell 函数,其中很少有调用 from ~/.zshrc,所以假设我们不知道这些函数的位置。一个功能是:

function k.pstree.n {
    if [ "$1" != "" ]
    then
        pstree -p | grep -C3 "$1"
    else
        printf "  Please specify the name of the process you want to show!\n"
    fi
}
Run Code Online (Sandbox Code Playgroud)

如何打印该shell函数的代码?

我可以想到像这样的搜索和 grep:

find $(pwd) -name "*sh*" -type f -printf "\"%p\"\n" | xargs grep -C5 "k.pstree.n"
Run Code Online (Sandbox Code Playgroud)

但这假设我大致知道此处不正确的位置。

zsh function

7
推荐指数
1
解决办法
2345
查看次数

通配符 SSL 证书不适用于裸域

我已经*.example.com在 Apache/Ubuntu 14.04 上部署了通配符证书(Comodo PlatinumSSL)。如果客户端访问https://www.example.comhttps://example.com在 Firefox 中抛出此问题,则一切正常:

example.com uses an invalid security certificate. 
The certificate is only valid for *.example.com 
(Error code: ssl_error_bad_cert_domain)
Run Code Online (Sandbox Code Playgroud)

从 vhost 文件中提取:

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        SSLEngine on
        ServerName example.com
        ServerAlias www.example.com *.example.com
        DocumentRoot /var/www/html
        SSLCertificateFile      /etc/ssl/localcerts/example_com.cer
        SSLCertificateKeyFile /etc/ssl/localcerts/example_com.key
        SSLCertificateChainFile /etc/ssl/localcerts/example_com_interm.cer
    </VirtualHost>
</IfModule>
Run Code Online (Sandbox Code Playgroud)

我怎么都https://www.example.comhttps://example.com工作没有警告?

ssl apache-httpd

6
推荐指数
1
解决办法
5779
查看次数

wget 获取文件列表

wget在 bash 脚本中使用从网站获取文件列表,文件是顺序的,格式http://example.com/00001.csv等。

当我点击最后一个文件时,有没有办法终止/结束脚本?

这是我到目前为止的脚本。

#!/bin/bash 
url="example.com"; 
for a in {00000001..18923230} do 
wget -nc -q ${url}$a.csv 
done 
Run Code Online (Sandbox Code Playgroud)

bash wget

3
推荐指数
1
解决办法
4769
查看次数

在非交互模式下卷曲

我正在尝试自动化包括安装锈的东西

curl https://sh.rustup.rs -sSf | sh . 
Run Code Online (Sandbox Code Playgroud)

这是用户输入的交互和查询以从“1”、“2”或“3”中进行选择。

我无法弄清楚如何自动输入值。

例如apt-get,有一个-y选项尝试捕获并输入提示。

不确定,它是如何完成的curl

command-line scripting curl

3
推荐指数
1
解决办法
1167
查看次数

为普通用户创建公共文档目录

我们通常会看到个人网页,例如http://example.com/~someone/,在这种情况下,“某人”是“example.com”的用户。

默认情况下如何启用此功能,因此每当我们添加新用户“foo”时,http://example.com/~foo/都会自动创建?“~someone”中的波浪号是可选的、可定制的吗?

软件环境:

网络服务器:Apache 或 Yaws(基于 Erlang 的网络服务器)

webserver multiuser apache-httpd

2
推荐指数
1
解决办法
1267
查看次数

“从可移动媒体加载丢失的固件?” (Debian)

我正在从 USB 驱动器将 Debian 安装到我的笔记本电脑上,它要求我提供以下固件文件:brcm/brcmfmac43241b4-sdio.bin

我的笔记本电脑上已经有另一个 Linux 发行版,所以我已经有了这个文件。Debian 安装程序说“固件可以从可移动媒体加载,例如 USB 记忆棒”,因此我将文件放在 (FAT32) USB 记忆棒上并将其插入我的笔记本电脑并尝试继续安装程序,但它没有找不到该文件,即使它位于第二个 USB 记忆棒的根目录(仅目录)中。

我还尝试将文件放在第二个 USB 记忆棒上的此路径中,但它不起作用:/brcm/brcmfmac43241b-sdio.bin

如何让第一个 USB 记忆棒上的 Debian 安装程序识别第二个 USB 记忆棒中的文件是它想要的文件?

linux debian firmware system-installation debian-installer

2
推荐指数
1
解决办法
1万
查看次数