小编fdu*_*uff的帖子

在本地和远程文件之间运行差异

我通过主机连接ssh,我想将diff某个配置文件与另一台主机上的对应配置文件进行比较(比方说),也可以通过 访问ssh,而无需在运行差异之前先手动下载远程文件。

bash ssh diff

49
推荐指数
3
解决办法
5万
查看次数

基于多个模式隐藏线

less经常用来查看日志文件,并且每隔一段时间我想通过隐藏包含一些关键字的行来过滤输出。

less有可能与过滤出布线&!<keyword>但每次只适用于一个关键词。我想指定要过滤掉的关键字列表。这是可能吗?

less logs filter

25
推荐指数
1
解决办法
9166
查看次数

将变量作为字符串或整数进行比较时是否有任何重大区别

出于好奇,在进行 bash 变量比较(其值为 an integer)时,可以针对某些声明为 anint或 as 的预定义值对其进行测试string

示例脚本

#!/bin/bash
f1()
{
        [ "$1" == "1" ] && echo "$FUNCNAME: \"1\" compared as string"
}

f2()
{
        [[ "$1" -eq 1 ]] && echo "$FUNCNAME: \"1\" compared as int"
}

f1 $1
f2 $1
Run Code Online (Sandbox Code Playgroud)

输出

$  ./param.sh 1
f1: "1" compared as string
f2: "1" compared as int
Run Code Online (Sandbox Code Playgroud)

$  ./param.sh blah
$
Run Code Online (Sandbox Code Playgroud)

这两个函数的行为方式相同,所以我想知道检查整数变量时是否有首选方法?我会去检查intvsint因为它更严格,但我想知道这样做是否有任何缺点string

在这种情况下,f2()对比较也更加严格,即传递一个十进制值会破坏它,而不 …

shell bash test

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

是否在任何地方为 bash 定义了终端颜色转义序列?

我在 Bash 脚本中经常使用颜色(主要在 CentOS 上),但为了使它们的使用更方便,我最终变量重新定义为颜色值:

local GRAY="\[\033[1;30m\]"
local LIGHT_GRAY="\[\033[0;37m\]"
local CYAN="\[\033[0;36m\]"
local LIGHT_CYAN="\[\033[1;36m\]"
local NO_COLOUR="\[\033[0m\]"
Run Code Online (Sandbox Code Playgroud)

或者也有tput

bold=`tput bold`
normal=`tput sgr0`
whitef=`tput setaf 7`
greenf=`tput setaf 2`
redb=`tput setab 1`
Run Code Online (Sandbox Code Playgroud)

我已经搜索了/etc/rc.d/init.d目录,但没有找到任何与颜色定义相关的内容。

是否已经有了这样的定义?如果不是,我会将它们放入一个文件中/etc/rc.d/init.d,并将其包含在我的脚本中,有点像/etc/rc.d/init.d/functions

colors bash terminal

24
推荐指数
1
解决办法
3336
查看次数

如果没有,如何告诉 rsyslog 创建日志文件?

rsyslog 的默认行为是将跟踪附加到现有日志文件。

现在,我已经看到(CentOs,Scientific Linux),当 rsyslog 已经运行时,您删除日志文件(例如,专门用于记录应用程序中的日志跟踪的文件),然后运行您的应用程序,rsyslog不会创建日志文件并且不会记录任何痕迹。

是否有一个配置选项可以告诉 rsyslog 在附加跟踪之前创建一个日志文件?

注意:执行 aservice rsyslog restart将强制创建一个空的日志文件。

rsyslog.conf(未添加任何内容)

# rsyslog v5 configuration file

# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html

#### MODULES ####

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
#$ModLoad immark  # provides --MARK-- message capability

$SystemLogRateLimitInterval 1
$SystemLogRateLimitBurst 50000

# Provides …
Run Code Online (Sandbox Code Playgroud)

logs centos rsyslog

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

g++ 不识别标准 14 (-std=c++14)

我在 Ubuntu 14.04 上运行g++ 4.8.5(Ubuntu 4.8.5-2ubuntu1~14.04.1)。尝试使用-std=c++14参数时,g++ 输出: unrecognized command line option '-std=c++14'

即使在运行apt-get update和 时apt-get upgrade,问题仍然存在。那里发生什么事了?

ubuntu g++

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

如何导出“较少”输出的子集

我经常需要获取日志文件的子集并将其保存到文件中以备后用。我less经常在日志中查看和搜索并导出有趣的部分,我目前执行以下操作:

  1. less显示行号并记下我需要的行范围
  2. 回到cli,使用sed我提取我需要的范围并将其保存到文件中

是否可以从内部less(即没有sed部件)执行此操作?

less logs

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

在外部磁盘上执行大型 R/W 操作时系统滞后

在 Ubuntu 18.04 系统上执行大型磁盘映像操作时,我遇到了系统范围的延迟/滞后问题。这是系统规格:

处理器:英特尔酷睿 i7(任何内核都不会接近容量)

内存:12GB(永不接近容量)

系统盘:SSD(永不接近容量)

外部磁盘:USB 3.0 5400 和 7200RPM 旋转磁盘

这些大型磁盘映像操作基本上是:

nice ionice dd if=/dev/usbdisk1 of=/dev/usbdisk2

由于我的系统文件都不在任何 USB 磁盘上,理论上,这不应该引入太多延迟。但是我发现当我对多个 USB 磁盘进行映像时,系统就会开始爬行。为什么?我的理解是每个磁盘都有自己的IO队列,那这是怎么回事呢?我该如何补救?

另外,FWIW,我根本不在乎 USB 磁盘的成像速度,因此我认为可以减慢这些操作以促进系统平稳运行的解决方案。

performance io dd usb-drive

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

在实时 linux 操作系统上进行 c++ 编程

与标准 linux 内核相比,RT linux 内核上是否有任何问题的编程 RealTime C++ 应用程序(用户空间和 linux 驱动程序)?

Linux RT 补丁将更改应用于内核调度程序、信号量、静音等,我想知道这些更改是否对开发人员透明?或者在写这样的申请时需要特别小心吗?

linux real-time c++ linux-kernel

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

标签 统计

bash ×3

logs ×3

less ×2

c++ ×1

centos ×1

colors ×1

dd ×1

diff ×1

filter ×1

g++ ×1

io ×1

linux ×1

linux-kernel ×1

performance ×1

real-time ×1

rsyslog ×1

shell ×1

ssh ×1

terminal ×1

test ×1

ubuntu ×1

usb-drive ×1