小编lmc*_*als的帖子

是否有一个单线允许我创建一个目录并同时进入它?

我发现自己重复了很多:

mkdir longtitleproject
cd longtitleproject
Run Code Online (Sandbox Code Playgroud)

有没有办法在一行中完成而不重复目录名称?我在这里狂欢。

command-line shell bash

215
推荐指数
5
解决办法
10万
查看次数

使用 echo 和 cat 测试串行环回的意外结果

所以我有一个标准的 RS232 串行端口,它通过简单地从 Tx 到 Rx 运行一条线来环回自身。我正在通过运行echocat在两个单独的终端中测试环回:

cat /dev/ttyS1
echo "hi" > /dev/ttyS1
Run Code Online (Sandbox Code Playgroud)

我的问题是输出。我希望在运行 cat 的终端上看到一个“嗨”回来,但我得到了这个:

hi
[2 newlines]
hi
[4 newlines]
hi
[8 newlines]
hi
[16 newlines]
hi
[32 newlines]
hi
Run Code Online (Sandbox Code Playgroud)

...依此类推,直到 I ctrl+ c cat

打断 cat 后,如果我再次运行它,它不会输出“hi”,直到我第二次运行 echo。

这是正常的吗?知道为什么我会看到这种行为吗?

编辑:换行,我的意思是 ASCII 0x0A。此输出中没有回车。

echo serial-port cat

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

CUPS 远程打印机入口在本地停止

我的笔记本电脑上的本地 CUPS 守护进程在我的 CUPS 服务器上有一个远程打印机的条目。我的本地 CUPS 守护进程认为这台打印机已停止,但事实并非如此。CUPS 为我提供的唯一用于管理此远程打印机的界面是指向服务器上 CUPS 打印机的超链接。

当我不在本地网络上时尝试查询此远程打印机上的状态时,往往会发生这种情况。然后本地 CUPS 将永久标记它已停止并说它找不到它。

但是,一旦我回到本地 LAN,它就永远不会删除'stopped'状态。(即使重新启动也无济于事)

我可以再次打印的唯一方法是停止我的本地 CUPS 进程,编辑/etc/cups/printers.conf文件以手动将状态更改为“空闲”,然后重新启动 CUPS 服务器。

肯定有更好的方法吗??

编辑:

哦,是的,我之前通过创建一个新的远程打印机条目解决了这个问题。但是,我找不到任何方法来删除旧的远程打印机条目。我也必须为此编辑printers.conf。有没有办法管理远程打印机条目?

编辑:

这是 CUPS 1.4.3。我还发现了一个“cupsenable”命令,该命令仅在“新增功能”页面和在线的 printers.conf 文档中提及。下次我会尝试一下,看看它是否有效。

printing cups

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

apt-get -f install 卡在“损坏的文件系统 tarfile”上

apt-get我的Raspberry Pi有问题。这是我尝试安装软件包时的输出:

pi@raspberrypi ~ $ sudo apt-get -f install cowsay
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 emacs23 : Depends: libm17n-0 (>= 1.6.1) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Run Code Online (Sandbox Code Playgroud)

sudo apt-get -f install 没有帮助:

sudo apt-get -f install
Reading package …
Run Code Online (Sandbox Code Playgroud)

apt package-management raspberry-pi

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

在硬状态中显示的 screenrc 中动态生成的日志文件

我想在启动时使用日期和时间的组合作为 GNU 屏幕日志文件的文件名。在 screenrc 中,如果我把

logfile '~/log/screen_%H_%m%d%Y_%0c-%t.%n'
Run Code Online (Sandbox Code Playgroud)

我得到一个动态生成的文件,例如

screen_nanna13_06062012_08:03-bash.0
Run Code Online (Sandbox Code Playgroud)

现在我希望 screen 在硬件状态栏中显示这个文件名。我不能使用

hardstatus string '~/log/screen_%H_%m%d%Y_%0c-%t.%n'
Run Code Online (Sandbox Code Playgroud)

因为只要时间改变,占位符就会更新。

我可以提出的解决方案涉及在屏幕启动之前执行的 bash 代码,但这并不好,因为单独的屏幕窗口应该获得自己的动态日志文件。

屏幕中有变量替换机制吗?

gnu-screen

8
推荐指数
1
解决办法
3201
查看次数

使用 -Syu 更新所有 ArchLinux 软件包时出错

我使用 Kde 使用 Arch Linux。

我有一段时间没有更新软件包了,我在尝试更新时遇到了问题:

我尝试的第一件事是:sudo pacman -Syu正如文档所说,我收到此错误:

:: Synchronizing package databases...
 testing is up to date
 core is up to date
 extra is up to date
 community is up to date
:: The following packages should be upgraded first :
    pacman
:: Do you want to cancel the current operation
:: and upgrade these packages now? [Y/n] y

resolving dependencies...
looking for inter-conflicts...
error: failed to prepare transaction (could not satisfy dependencies)
:: packagekit: requires pacman<3.6.0 …
Run Code Online (Sandbox Code Playgroud)

arch-linux pacman upgrade package-management yaourt

7
推荐指数
1
解决办法
6013
查看次数

BIOS 启动后,将无法启动,要求选择操作系统,但无法启动

我正在运行 Linux Mint 13 MATE 64 位。一切都已经工作了几个星期。昨天,当我尝试启动计算机时,在 BIOS 屏幕闪烁后,我看到一个黑色背景的屏幕,上面写着:

GNU GRUB 版本1.99-21ubuntu3.4

然后有一个框,我可以从以下几行中进行选择:

Linux Mint 13 MATE 64-bit, 3.2.0-31-generic (/dev/sdb2)

Linux Mint 13 MATE 64-bit, 3.2.0-31-generic (/dev/sdb2) -- recovery mode

Previous Linux versions

Memory test (memtest86+)

Memory test (memtest86+, serial console 115200)
Run Code Online (Sandbox Code Playgroud)

底部写着:

Use the ? and ? keys to select which entry is highlighed. Press enter to boot the selected OS, 'e' to edit the commands before booting or 'c' for a command-line.
Run Code Online (Sandbox Code Playgroud)

我不知道它为什么开始这样做,更糟糕的是,我不知道如何离开这里。无论我选择哪个选项,我都无法启动操作系统。如果我选择前两个中的任何一个,它会重新启动以启动 BIOS,然后我又回到了开始的地方。如果我选择“以前的 Linux 版本”,我会得到基本上相同的屏幕,只有两个选项(与上面列出的前两个选项 Linux 13 …

grub boot

7
推荐指数
1
解决办法
7088
查看次数

如果文件已经有交换文件,如何在 VIM 中以只读模式打开文件?

当我使用该命令:e filename打开一个文件并且该文件已被另一个 vim 实例打开时,我收到一个提示,询问我是否要以只读模式打开该文件、仍然编辑、恢复、退出或中止。

当我尝试:silent! e filename时,vim 似乎挂了。但它确实在问我如何处理交换文件,只是我看不到它,因为我告诉它保持沉默。

如果文件无法以写入模式打开并且不需要用户交互,是否有任何命令可以告诉它以只读模式 打开文件?(我想将其集成到宏中以跳转/打开文件)。

vim swap files

6
推荐指数
3
解决办法
3217
查看次数

如何在登录时自动进入 sudo 的宽限期

知道从他/她登录的那一刻起给用户一个 sudo 的宽限期可能是一个安全问题,我仍然认为在我的设置中这将是安全性和可用性之间的有益权衡。

问题是:如何做到这一点?据我所知,sudo 没有为它提供 CLI。

我可能会以某种方式将 gdm 输入的密码转为类似sudo false,但同样:如何以纯文本形式获取用户密码提供的密码?我应该pam为它编写一个自定义模块吗?

或者最好沉浸在 sudo 的实现细节中并作为 root 直接操作时间戳数据库?

sudo gdm linux-mint

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

我可以从我的备份方案中排除 /run 吗?

我已经为我的 Linux 系统编写了一个基于 rsync 的系统备份。目的是能够完全从保存中重新部署系统,所以我不仅备份 homedirs。我已经从备份中排除了一些顶级目录:/proc/sys/mnt/tmp

我想知道我是否可以排除/run并仍然能够获得可行的保存?我观察到它在我的备份磁盘上占用了大量磁盘空间(主要是/run/shm)。

backup rsync directory-structure

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

什么是linux上的进程“[123.45.78.901-ma]”,其中数字是NFS服务器的IP地址?

我在 Linux 上看到名为“[123.45.78.901-ma]”的进程,其中数字是我们 NFS 服务器的 IP 地址。有谁知道这些过程是什么,我可以在哪里找到有关它们的信息,或者搜索网络的好关键字?

背景:

我看到了一台机器上的进程,其中 NFS 正在发生一些奇怪的事情 - 有些东西似乎陷入了一个循环中,发出了大量 NFS 请求(读取、更新和 authrefrsh),但所有明显的候选者(如用户程序)可能这样做已经被杀了。

[123.45.78.901-ma]问题的机器上存在大量进程(在短时间内),但在运行正常的机器上不存在(至少时间不够长以至于我检测到它们)。

因此,这些过程似乎以某种方式参与了问题,但我不知道如何。

我在“不间断睡眠”中寻找进程时找到了它们,通过

while [ 1 ] ; do ps -w -w -e -o pid,state,tname,time,args| grep ' D ' | grep -v grep; sleep 0.1; done
Run Code Online (Sandbox Code Playgroud)

系统详情:

  • 红帽企业 Linux 工作站 6.3 版(圣地亚哥)

  • Linux [...] 2.6.32-279.5.1.el6.x86_64 #1 SMP Tue Jul 24 13:57:35 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

提前致谢!

linux nfs

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