小编Sop*_*rez的帖子

使用grep检测行尾的模式

如果我做:

$ ls -R
.:
4Shared/  Cloud/

./4Shared:
UFAIZLV2R7.part3.rar

./Cloud:
UFAIZLV2R7.part2.rar.part
UFAIZLV2R7.part1.rar.part
UFAIZLV2R7.part4.rar.part
Run Code Online (Sandbox Code Playgroud)

如果我只想列出.rar文件,并且我使用grep,它也会向我显示.rar.part文件,这不是我的愿望。
我正在使用findls **/*.rar按照此线程中的说明解决此问题并且它们工作正常,但我想了解是否可以通过grep.

我试过(考虑EOL):

ls -R | grep ".rar\n"
Run Code Online (Sandbox Code Playgroud)

没有结果。
我想,如果greping发现问题出在发现在该行的末尾,但我不知道。

请问这里有什么帮助吗?

grep

89
推荐指数
3
解决办法
31万
查看次数

SmartMonTools:我怎么知道我的硬盘上是否正在运行任何 smartctl 测试?

我正在使用SmartMonTools测试硬盘

测试前的硬盘状态(几天前仅进行了一次简短的测试):

$ sudo smartctl -l selftest /dev/sda
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.16.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      5167         -
Run Code Online (Sandbox Code Playgroud)

所以我开始了漫长的测试

$ sudo smartctl -t long /dev/sda
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.16.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian …
Run Code Online (Sandbox Code Playgroud)

hard-disk smart smartctl

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

如何使用 Linux 作为网关?

注意:如果客户端设备(computer B在这个例子中)想要通过网关计算机获取互联网,他们可能仍然需要配置名称服务器解析。此处不作解释(网关不一定服务于互联网)。

我试图了解网络路由的基础知识。
所以我正在试验我的局域网(我现在不需要互联网,只需要局域网通信)。

我知道网络配置问题是一件相当复杂的事情,但我只是想让一台计算机(比如 A)充当另一个(比如 B)(都运行 Ubuntu Linux)的网关
我只需要 B 能够到达路由器,只有 A 才能到达。

情况是这样的:

Router for computer A  -->  192.168.0.1
Computer A - eth0      -->  192.168.0.2
Computer A - eth1      -->  192.168.1.1

Computer B - eth0      -->  192.168.1.2
Run Code Online (Sandbox Code Playgroud)

计算机A 连接路由器正常
计算机A和B连接罚款(平,SSH ...等)之间
计算机 B无法访问计算机 A的路由器

我在想,只需在 B 计算机A上添加作为默认网关在 A 上激活IP 转发将使 B 能够到达 …

networking routing

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

从 MAC 地址获取 OUI 供应商信息的命令行工具?

我发现一些工具似乎可以更新我系统上的OUI MAC 地址供应商数据库,例如get-ouiairodump-ng-oui-updateupdate-oui

update-oui(8)                          OUI                         update-oui(8)

NAME
       update-oui - download new version of the OUI and IAB lists

SYNOPSIS
       update-oui

DESCRIPTION
       update-oui  fetches  the  current  version  of the OUI and IAB lists from
       http://standards.ieee.org/regauth/oui/index.shtml and installs it, if the
       installed versions is older than 5 days.

       This utility requires curl, wget or libwww-perl to be installed.

OPTIONS
       -q     Be quiet. Do not output messages.

       -f     Force the update, even if the file …
Run Code Online (Sandbox Code Playgroud)

mac-address

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

Linux shell 脚本:只在存在时运行程序,如果不存在则忽略它

我编程的Linux shell脚本,将只有在合适的工具,比如它的执行过程中打印状态横幅figlet,被安装(是这样的:到达系统的路径)。

例子:

#!/usr/bin/env bash
echo "foo"
figlet "Starting"
echo "moo"
figlet "Working"
echo "foo moo"
figlet "Finished"
Run Code Online (Sandbox Code Playgroud)

我想为我的脚本工作无差错,即使figlet没有安装

什么是实用的方法

shell scripting executable

18
推荐指数
5
解决办法
8363
查看次数

VNC 服务器仅侦听来自本地主机的连接

我已经在 Raspbian(2.017年 9 月版本)上为我的 Raspberry Pi 2 B+安装了TightVNCServer

luis@Frambuesio:~$  vncserver -name Frambuesio -geometry 1280x1024 -depth 16

New 'Frambuesio' desktop at :1 on machine Frambuesio

Starting applications specified in /etc/X11/Xvnc-session
Log file is /home/luis/.vnc/Frambuesio:1.log

Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/luis/.vnc/passwd :1 to connect to the VNC server.

luis@Frambuesio:~$ netstat -ano | grep "5901"
tcp        0      0 127.0.0.1:5901          0.0.0.0:*               LISTEN      off (0.00/0/0)
tcp6       0      0 ::1:5901                :::*                    LISTEN      off (0.00/0/0)
Run Code Online (Sandbox Code Playgroud)

但是我的 VNC 查看器(来自远程 Windows 机器上的 RealVNC)在尝试连接时收到消息“连接被拒绝”,并且端口似乎没有在侦听: …

vnc

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

Nano Editor:删除到文件末尾

使用GNU 的 Nano Editor 时,是否可以从实际光标位置删除文本文件的末尾?

我现在的解决方法:按住CtrlK删除全行热键)。但是这种方法在慢速远程连接(telnet、SSH...等)上不太舒服。

nano

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

GRUB2:启动到第二个(另一个)硬盘

我已经研究过这个问题,但一直无法找到明确的答案……甚至是一个明确的问题。所以我会用一个简单的例子。

我的电脑有**两个硬盘:**

  • 硬盘 1MBR上带有GRUB2 的Ubuntu Linux 。
  • 硬盘 2任何其他操作系统(是否打扰哪个操作系统?)以及其他一些 MBR 加载程序。

GRUB2 仅引导至 Ubuntu(在我的示例中,在第一个硬盘上)。
发行update-grub检测不到第二硬盘上的操作系统,但我知道有一个。
如果我在启动时进入BIOS并将启动顺序更改为 Hard Disk 2,则第二个操作系统启动 OK

如何向 GRUB2 添加引导至第二个硬盘的条目

(事实是:我认为这个问题可以指定哪个是第二个硬盘中的操作系统。还是不是?)

os-prober使用此配置添加示例机器的请求输出:

luis@threepwood:~$ sudo os-prober
/dev/sdb1:Windows 7 (loader):Windows:chain
/dev/sdb7:Ubuntu 14.04.3 LTS (14.04):Ubuntu:linux
Run Code Online (Sandbox Code Playgroud)

在这个特定示例中(我在 BIOS 中更改了引导顺序)案例:

  • sdb 是 HDD-1。
  • sda 是 HDD-2。

dual-boot grub2

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

如何删除多行文本文件中大括号之间的所有文本?

例子:

This is {
the multiline
text file }
that wants
{ to be
changed
} anyway.
Run Code Online (Sandbox Code Playgroud)

应该变成:

This is 
that wants
 anyway.
Run Code Online (Sandbox Code Playgroud)

我在论坛中发现了一些类似的 主题,但它们似乎不适用于多行大括号。

如果可能,我更喜欢一些单行方法,例如基于 grep、sed、awk 等的解决方案。

编辑:解决方案似乎没问题,但我注意到我的原始文件包含大括号嵌套。所以我提出了一个新问题。谢谢大家:如何删除多行文本文件中嵌套大括号之间的所有文本?

grep sed awk text-processing

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

如何为我的屏幕列出可用的视频模式?

在 Windows 计算机上,有一个简单的“隐藏此屏幕不支持的模式”按钮。

如何通过 Linux命令行获得我实际连接的屏幕支持(接受)的可用视频模式? 即:我想回答这个问题:“这个屏幕是否支持我的 1280x1024 视频模式”

我已经阅读了hwinfo程序,但它似乎不再包含在 Ubuntu 中。

我测试的另一种方法使用vbetool,但我认为这不是合适的方法:

luis@Terminus:~$ sudo vbetool vbemode get
16673
Run Code Online (Sandbox Code Playgroud)

我也读过关于暗示在 GRUB菜单上执行命令的方法(如vbeinfo),但我想找到一些 Linux 内部的方法。

首选适用于任何 Linux 发行版的通用答案。
如果不可能,则接受 Ubuntu 或 Kali。

video

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