标签: linux

如何区分两个 XML 文件?

在 Linux 上,如何在两个 XML 文件之间生成差异?

理想情况下,我希望能够将其配置为严格的某些内容,或放松某些内容,例如空格或属性顺序。

我经常会关心这些文件在功能上是否相同,但 diff 本身使用起来会很烦人,尤其是在 XML 文件没有很多换行符的情况下。

例如,以下对我来说应该没问题:

<tag att1="one" att2="two">
  content
</tag>

<tag att2="two" att1="one">
  content
</tag>
Run Code Online (Sandbox Code Playgroud)

linux xml diff

94
推荐指数
5
解决办法
9万
查看次数

logrotate 配置文件语法 - 可能有多个通配符条目吗?

由于手册页没有回答我的问题,而且我不想强制循环,所以我决定在这里提出这个问题。

logrotate 的手册页给出了以下示例:

   "/var/log/httpd/access.log" /var/log/httpd/error.log {
       rotate 5
       mail www@my.org
       size 100k
       sharedscripts
       postrotate
           /usr/bin/killall -HUP httpd
       endscript
   }
Run Code Online (Sandbox Code Playgroud)

所有带有通配符的示例都只包含一个条目。现在,我感兴趣的是是否也允许这样做:

   /var/log/httpd/*.log /var/log/httpd/*/*.log {
       # ... same as above
   }
Run Code Online (Sandbox Code Playgroud)

原因如下:我有多个虚拟主机,我将它们拆分为“拥有”这些虚拟主机的用户。由于日志文件是世界可读的,我想将一个文件夹绑定挂载到用户主目录中,但将其限制为用户“拥有”的日志文件,这是通过将日志分离到文件夹中最容易实现的(并绑定- 无论如何安装都需要该方案)。因此,我正在寻找一种解决方案来轮换该目录下的日志文件/var/log/httpd以及该目录的子目录下的所有日志文件 -无需按名称列出每个子目录。

一般来说,手册页不提供通配符规则是否可能有多个条目或仅用于完整路径的线索。我正在使用 Debian“Squeeze”附带的 logrotate 版本 3.7.8-6,但我认为这不一定特定于发行版或程序版本。

linux debian logging debian-squeeze logrotate

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

如果 SSH 闲置了一段时间,如何防止它断开连接

我有一个到一台机器的 ssh 连接,该连接在 30 分钟没有用户输入后被该机器断开。但是,如果我开始类似的操作top,连接将保持活动状态。由于这是客户端的机器,我无法重新配置该机器的 SSH 服务器。所以我正在寻找一种方法来自动检测空闲并启动类似top. 一种 Bash 的“屏幕保护程序”。

我知道我可以用 来做到这一点screen,但不幸的screen是没有安装,而且我无法安装软件。所以我需要使用 Bash 提供的东西。

明确地说:我正在寻找一种解决方案,我在登录后启动一次,然后我想使用该终端,走开,两小时后回来继续工作,在走开之前不输入任何内容。此外,我不希望隧道的东西(为此我推荐伟大的工具sshuttle

有任何想法吗?

linux ssh bash

94
推荐指数
3
解决办法
13万
查看次数

在 /etc/resolv.conf 中,“搜索​​”配置选项究竟是做什么的?

如果我将选项设置为服务器本身的域名,是否意味着在查询外部互联网之前首先使用服务器本身来查找域名?即/etc/hosts会被查询?

例如:

search  example.com
Run Code Online (Sandbox Code Playgroud)

linux dns

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

在 Linux 上从 zip 存档中删除单个文件

我有一个 zip 存档(在带有-j -r标志的脚本中自动创建),我想从中删除一个文件。我按照文档进行了尝试。

zip -d "picture_43_9.jpg" gallery.zip
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

zip warning: picture_43_9.jpg not found or empty   
zip error: Nothing to do! (picture_43_9.jpg)  
Run Code Online (Sandbox Code Playgroud)

无论如何,有在归档中这样的文件,它不是空的:

unzip -l .../gallery.zip | grep -i 43_9.jpg  
1477092  2013-05-22 14:23   picture_43_9.jpg 
Run Code Online (Sandbox Code Playgroud)

关于我做错了什么的任何想法?

linux zip

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

跨平台文件系统

我希望我的外部驱动器可以从 Linux、Mac OS X 和 Windows 读取和写入。

FAT32 可以工作,但 4 GB 的文件大小限制是这些天的一个阻碍。有没有其他选择?

linux mac storage filesystems cross-platform

92
推荐指数
8
解决办法
3万
查看次数

How to copy symlinks to target as normal folders

i have a folder with symlinks:

marek@marek$ ls -al /usr/share/solr/
razem 36
drwxr-xr-x   5 root root  4096 2010-11-30 08:25 .
drwxr-xr-x 358 root root 12288 2010-11-26 12:25 ..
drwxr-xr-x   3 root root  4096 2010-11-24 14:29 admin
lrwxrwxrwx   1 root root    14 2010-11-24 14:29 conf -> /etc/solr/conf
Run Code Online (Sandbox Code Playgroud)

i want to copy it to ~/solrTest but i want to copy files from symlink as well

when i try to cp -r /usr/share/solr/ ~/solrTest

i will have symlink here:

marek@marek$ ls -al ~/solrTest …
Run Code Online (Sandbox Code Playgroud)

linux symbolic-link command-line cp

92
推荐指数
3
解决办法
11万
查看次数

在 Windows 中,Linux 的“~”(波浪号)相当于什么?

在 Linux 中,我们可以通过在~之后输入波浪号 ( ) 字符来转到用户主页cd

cd ~
Run Code Online (Sandbox Code Playgroud)

如何在 Windows 中做同样的事情?

每次,我都需要输入:

cd C:\Document and Settings\freewind
Run Code Online (Sandbox Code Playgroud)

那太无聊了。

windows linux command-line

92
推荐指数
5
解决办法
4万
查看次数

比 sshfs 更快地挂载远程文件系统的方法?

我一直在使用 sshfs 远程工作,但它真的很慢而且很烦人,尤其是当我在上面使用 eclipse 时。

有没有更快的方法在本地挂载远程文件系统?我的第一要务是速度。

远程机器是 Fedora 15,本地机器是 Ubuntu 10.10。如有必要,我也可以在本地使用 Windows XP。

linux remote filesystems nfs sshfs

92
推荐指数
6
解决办法
9万
查看次数

如何按文件名和部分路径搜索文件?

通常我有一个文件名,它是部分路径,例如“content/docs/file.xml”。

有没有一种简单的方法来搜索该文件,而无需手动将其名称分成几部分以分别提供目录名和文件名?

如果find以这种方式工作会很棒,所以我可以运行find content/docs/file.xml,但不幸的是它没有。

linux search command-line find

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