小编Siv*_*iva的帖子

在 X11 转发中设置显示分辨率

我有一台正在运行的机器RHEL6.7,这台机器通过ssh另一台机器连接,我正在使用X11转发来转发图形。

问题是,当我运行该程序时,我的机器上的缩放比例都搞砸了。有没有办法告诉服务器我的屏幕显示?

x11

5
推荐指数
1
解决办法
3891
查看次数

可以同时运行 cron 作业吗?

我们想在午夜的同一时间删除以下作业的所有文件

0 0 * * * root  [[ -d /var/log/ambari-metrics-collector ]] && find  /var/log/ambari-metrics-collector  -type f -mtime +10 -regex '.*\.log.*[0-9]$' -delete 

0 0 * * * root  [[ -d /var/log/kO ]] && find  /var/log/Ko  -type f -mtime +10 -regex '.*\.log.*[0-9]$' -delete 

0 0 * * * root  [[ -d /var/log/POE ]] && find  /var/log/POE  -type f -mtime +10 -regex '.*\.log.*[0-9]$' -delete  

0 0 * * * root  [[ -d /var/log/REW ]] && find  /var/log/REW  -type f -mtime +10 -regex '.*\.log.*[0-9]$' …
Run Code Online (Sandbox Code Playgroud)

linux cron rhel shell-script

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

如何合并不同行的文件?

合并不同文件行的最快命令行方式是什么?例如,我有两个文件:

.txt:

foo  
bar
foobar
Run Code Online (Sandbox Code Playgroud)

b.txt

foo
foobar
line
by
bar
Run Code Online (Sandbox Code Playgroud)

我想得到以下输出:

foo
bar
foobar
line
by
Run Code Online (Sandbox Code Playgroud)

有没有什么快速的方法可以像上面的例子那样合并文件?(行的顺序并不重要)

awk sort paste

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

find mmin X min - 开始“查找”或“查找”查找文件时是 X 分钟?

假设,我在一个文件夹中有大约 10,000 个文件。我一直在使用每小时 crontab 来查找在过去 60 分钟内修改过的文件,然后对其进行处理。

find -mmin -60在 01:00:00调用

假设第一个文件在 00:00:00 被修改,并且很容易在 01:00:00 通过“查找”找到。

然后,假设第 10,000 个文件也在 00:00:00 被修改

现在是 01:10:00并且“find”仍在努力达到第 10,000 个文件

那么现在,在 70 分钟后,“查找”会返回在 00:00:00 修改的第 10,000 个文件吗?

find

5
推荐指数
1
解决办法
495
查看次数

Virtual Box - Ubuntu 16.04 的共享文件夹问题

我有一个 Virtual Box GUI 版本 5.1.14r112924 (Qt5.6.2) 和一个来宾操作系统 Ubuntu-16.04.2(64 位)和一个主机操作系统 Windows 7 Enterprise。

我的共享文件夹功能和剪贴板模式曾经可以工作,但几天前,没有任何组件的更新,我的来宾操作系统上的共享文件夹是空的,而它在我的主机操作系统上包含很多文件。

我安装了来宾添加(5.2.8_KernelUbuntu r120774):

会话信息

文件夹配置如下:

在此处输入图片说明

所以我的 C:/LocalData/Share 中的文件应该在 /media/sf_Share/ 中可用,但事实并非如此:(

我尝试重新启动来宾操作系统,从 ISO 映像更新来宾添加(这也带来了麻烦):

在此处输入图片说明

我已经尝试从 Virtual Box 中取出光驱并阅读它,但没有任何帮助。我可以从安装的驱动器运行 ISO,但这也给了我一个问题:

因为它仍然是安装的,所以我可以从那里安装它,但它给了我错误。

使用 apt-get 安装它们的工作是什么:

sudo apt-get install virtualbox-guest-additions-iso
Run Code Online (Sandbox Code Playgroud)

我还确保将我的用户添加到 vboxsf 组

sudo usermod -G vboxsf -a

并且该文件夹的权限正常:

在此处输入图片说明

这安装了它们,但我找不到访问主机操作系统上文件的方法:(

我花了很多精力来设置我的来宾操作系统并配置所有内容。我想避免仅仅因为无法在主机和来宾操作系统之间共享文件和复制文本而重新开始配置。

还有什么我可以尝试的吗?

ubuntu virtualbox shared-folders

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

删除旧的日志文件

在一定时间后创建了一些带有时间戳的日志文件。

/mylog/path
Log_file_2018-07-19-22-55-31Z.tgz
Log_file_2018-07-20-01-29-11Z.tgz
Log_file_2018-07-20-10-36-49Z.tgz
Log_file_2018-07-21-18-26-36Z.tgz
Run Code Online (Sandbox Code Playgroud)

我需要根据日期删除旧日志。例如,我只想要最近 5 天的日志,并且应该删除旧的日志。每天创建的日志文件数量各不相同。如何实现这一目标?

shell shell-script

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

SNMP - 在此 OID 的此代理上没有可用的此类对象

我在 CentOS 7 最小安装中安装了一个 snmpd,用于系统参数搜索,例如:

snmpget -v 2c -c public 127.0.0.1 .1.3.6.1.2.1.2.2.1.2
Run Code Online (Sandbox Code Playgroud)

对于上述命令,我得到以下结果:

IF-MIB::ifDescr = No Such Object available on this agent at this OID
Run Code Online (Sandbox Code Playgroud)

当我执行:

 snmpwalk -v 2c -c public 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

要检查 IF-MIB 是否由 snmpd 加载,我得到以下结果:

     SNMPv2-MIB::sysDescr.0 = STRING: Linux vm_test.whatever.com 3.10.0-862.6.3.el7.x86_64 #1 SMP Tue Jun 26 16:32:21 UTC 2018 x86_64
     SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
     DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (90641) 0:15:06.41
     SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
     SNMPv2-MIB::sysName.0 = STRING: vm_test.whatever.com
     SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf)
     SNMPv2-MIB::sysORLastChange.0 = …
Run Code Online (Sandbox Code Playgroud)

linux centos snmp

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

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

AWK - 打印最后一列和空值

$NF如果我们不知道最后一列号,我们可以打印文件中每行的最后一列。

但我面临的困难是最后一列有一个空值。

例如,解析who命令

$ who
root     tty1         2018-01-25 09:36
root     pts/0        2018-05-30 07:39 (192.168.1.134)
root     pts/1        2018-05-28 23:12 (192.168.1.134)
root     pts/2        2018-06-01 10:01 (192.168.1.188)
Run Code Online (Sandbox Code Playgroud)

得到结果:

$ who | awk '{print $NF}'
09:36
(192.168.1.134)
(192.168.1.134)
(192.168.1.188)
Run Code Online (Sandbox Code Playgroud)

预期结果

(192.168.1.134)
(192.168.1.134)
(192.168.1.188)

让我知道在单行中获得预期结果的可能性。

编辑 1:上述场景只是一个例子。我不喜欢更改分隔符来实现结果。

编辑 2:字段少于最大值的行中没有任何内容(输出的空行)

linux awk shell-script

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

在另一个脚本中运行一个脚本

我正在尝试在另一个脚本中运行一个脚本,如下所示:

$a="$(sh test_part.sh /AB/pass_file.txt)"
echo $a
Run Code Online (Sandbox Code Playgroud)

现在sh test_part.sh /AB/pass_file.txt返回如下输出:

ABD
SDFDR
TDFDG
DGFKFH
Run Code Online (Sandbox Code Playgroud)

我想将其按$a原样存储在变量中。使用我当前的脚本,我收到以下错误:

test_part.sh: line 2: $'=ABD\nSDFDR\nTDFDG\nDGFKFH': command not found
Run Code Online (Sandbox Code Playgroud)

scripting

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