如果我做:
$ 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文件,这不是我的愿望。
我正在使用find或ls **/*.rar按照此线程中的说明解决此问题并且它们工作正常,但我想了解是否可以通过grep.
我试过(考虑EOL):
ls -R | grep ".rar\n"
Run Code Online (Sandbox Code Playgroud)
没有结果。
我想,如果greping发现问题出在发现在该行的末尾,但我不知道。
请问这里有什么帮助吗?
我正在使用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) 注意:如果客户端设备(
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 能够到达 …
我发现一些工具似乎可以更新我系统上的OUI MAC 地址供应商数据库,例如get-oui、airodump-ng-oui-update或update-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) 我编程的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在没有安装。
什么是实用的方法?
我已经在 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)在尝试连接时收到消息“连接被拒绝”,并且端口似乎没有在侦听: …
使用GNU 的 Nano Editor 时,是否可以从实际光标位置删除到文本文件的末尾?
我现在的解决方法:按住CtrlK(删除全行热键)。但是这种方法在慢速远程连接(telnet、SSH...等)上不太舒服。
我已经研究过这个问题,但一直无法找到明确的答案……甚至是一个明确的问题。所以我会用一个简单的例子。
我的电脑有**两个硬盘:**
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。例子:
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 等的解决方案。
编辑:解决方案似乎没问题,但我注意到我的原始文件包含大括号嵌套。所以我提出了一个新问题。谢谢大家:如何删除多行文本文件中嵌套大括号之间的所有文本?
在 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。