Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

2
Cron工作,随机开始,但在时间范围内
我希望脚本每天从0900到1200之间的任何时间每天运行一次。 我不确定破折号语法是不是意味着该脚本将在每个小时之间运行一次9-12,或者该脚本将在两个时间之间随机运行9-12?因为我需要后者。
12 cron 

1
“ NO-CARRIER”和“ DOWN”对无线接口意味着什么?
我有一台远程服务器,当服务器无法访问Internet时,我记录了某些命令的输出。 它使用无线接口连接到Internet。 在工作状态下,输出ip link list显示为: 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000 link/ether 00:13:ef:b0:29:74 brd ff:ff:ff:ff:ff:ff 当它不工作时,ip link listshows 的输出: 3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DORMANT qlen 1000 link/ether 00:13:ef:b0:29:74 brd ff:ff:ff:ff:ff:ff 这是什么NO-CARRIER和DOWN意味着无线接口?对于以太网,这意味着电缆已断开。 对于如何进一步调试连接为什么不起作用的任何建议,我也将不胜感激。wicd-cli -y -l在中断期间,我也进行了扫描,看来访问点仍在广播。我在内核消息中找不到任何其他硬件或软件错误。

3
使用UsePAM的基于密码和SSH密钥的登录已过期是
有一台SLES 11机器。用户通过SSH和pubkey登录(混合使用,有些用户使用密码,有些用户使用ssh密钥) sshd_config具有: UsePAM yes PasswordAuthentication yes PubkeyAuthentication yes 问题:如果使用pubkey登录的用户的密码过期,则系统将提示该用户更改密码。 问题:如果用户具有有效的SSH密钥并且密码已过期,我们如何设置PAM或sshd配置以允许用户登录?- 无需弹出“更改密码”。 UPDATE#1:解决方案不能是:“ UsePAM no” SERVER:~ # cat /etc/pam.d/sshd #%PAM-1.0 auth requisite pam_nologin.so auth include common-auth account requisite pam_nologin.so account include common-account password include common-password session required pam_loginuid.so session include common-session SERVER:~ # UPDATE#2:解决方案不能是:将用户密码设置为永不过期 更新#3: SERVER:/etc/pam.d # cat common-account #%PAM-1.0 …
12 ssh  users  password  pam 

5
Shell命令输出中的字符数
我正在编写一个脚本,该脚本需要一步来计算命令输出中的字符数。 例如,使用该命令readlink -f /etc/fstab应该返回,10因为该命令的输出为10个字符长。 使用以下代码,使用存储的变量已经可以做到这一点: variable="somestring"; echo ${#variable}; # 10 不幸的是,对命令生成的字符串使用相同的公式不起作用: ${#(readlink -f /etc/fstab)}; # bash: ${#(readlink -f /etc/fstab)}: bad substitution 我知道可以通过首先将输出保存到变量来做到这一点: variable=$(readlink -f /etc/fstab); echo ${#variable}; 但我想删除多余的步骤。 这可能吗?仅使用内置或标准实用程序与Almquist shell(sh)兼容是可取的。
12 shell  string  variable 

4
以非常低的优先级运行linux进程?
我有一个常规过程,它并不那么重要,但是会消耗大量的CPU能力,还有一个非常重要的过程,但是它花费了大部分时间空闲,但是当找到工作时,它确实需要很高的计算能力 我试图与运行nice -20 ./low_priority_process和nice --20 ./high_priority_process,但仍然较低优先级占用CPU的显著量时高优先级的进程是需要的人,我怎么可以运行一个过程,真的会产生或使用时CPU供电另一个进程甚至自动挂起
12 process  cpu  htop  priority  nice 

5
非交互式外壳扩展别名
运行以下命令时,我无法在主机帐户上扩展别名: ssh user@server "bash -c \"alias\"" 我的.bashrc文件是: echo .bashrc # .bashrc shopt -s expand_aliases # Source global definitions (commenting this out does nothing) if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions alias php="php55" alias composer="php ~/bin/composer.phar" 当我运行上面的ssh命令时,我确实看到了“ .bashrc”回显。但是,如果我尝试运行别名,我将一无所获。 我可以尝试“ bash -ic”,但这实际上是在脚本中,我无法轻易对其进行更改,并且我想知道为什么它不起作用。 输出 ssh …
12 bash  ssh  alias  bashrc 

5
在Debian中找到所有提供特定替代方案的软件包
Debian发行版具有Debian Alternatives系统。从Wiki: Debian替代系统为几种实现相同或相似功能的程序创建了一种方式,将它们列为同时安装但指定为默认实施的替代实现。例如,许多系统同时安装了多个文本编辑器。vi程序是编辑器的经典示例,它具有许多实现,例如nvi,elvis,vim等,但是应将哪个指定为默认值? 通常,Debian中有多个提供特定替代方案的软件包。如何获得Debian存储库中所有此类软件包的完整列表?让我们以vi替代为例。 注意:对已安装的软件包列表进行这样的查询很容易,但这不是这个问题所要的。

1
yum:RPM依赖关系树
我将安装RPM软件包,并且可以看到某些依赖项也需要安装X服务器库。我绝对确定我需要的软件包是服务器软件,不需要X服务器。 我想知道是否有一种方法可以像在Gentoo Linux中一样打印出RPM依赖项列表? 此命令仅输出第一级依赖项,因此不适合我: $ yum deplist <package name>
12 rhel  yum  rpm 

2
如何从xdotool窗口堆栈获取窗口ID
我需要激活或聚焦的窗口的ID。我尝试使用xdotool命令。有命令: xdotool getactivewindow 结果保存到窗口堆栈。我想从此窗口堆栈获取Widnow ID。命令 xdotool getactivewindow getwindowpid 不满足我 我不想按进程ID获取窗口ID。
12 xdotool 


3
如何在底部提示时启动XTerm?
启动XTerm时,提示从终端的第一行开始。运行命令时,提示会向下移动直到到达底部,然后一直停留在底部(甚至不行Shift- Page Down否则鼠标可以更改此值)。并非让终端生命周期的开始是“特殊的” ,而是提示应始终位于终端的底部。请注意,我有多行提示。 当然,它应该像以前一样工作(可调整大小,可滚动,输出中没有不必要的换行符,并且输出不会神秘地消失),因此PROMPT_COMMAND='echo;echo;...',类似的选择是不可行的。理想情况下,解决方案不应是特定于外壳的。 编辑:在目前的解决方案,在简单的情况下工作时,有几个问题: 它是针对Bash的。理想的解决方案应可移植到其他外壳。 如果其他进程进行了修改,PS1它将失败。一个例子是的virtualenv,这增加了(virtualenv)在开始的PS1,然后总是消失只是倍以上。 Ctrl- l现在删除历史记录的最后一页。 除了分叉XTerm之外,还有什么方法可以避免这些问题?
12 bash  terminal  xterm 

2
在路径中禁用bash的可执行文件缓存
请注意,这不是重复项。我要问的是禁用缓存,而不是清除它。如果您有要清除的缓存,则显然不会禁用它。 在极少数情况下,我会注意到bash在路径中发现的东西缓存,这并不是因为它有用,而是因为它令人讨厌。一个例子: ~ dc$ export PATH=$HOME/bin:$PATH ~ dc$ cat bin/which #!/bin/bash echo "my which" ~ dc$ which my which ~ dc$ rm bin/which ~ dc$ which which -bash: /Users/dc/bin/which: No such file or directory 在另一个外壳... ~ dc$ which which /usr/bin/which 我敢肯定,这种高速缓存在磁盘速度慢,内存昂贵且有限的美好旧时光中很有意义,因此您不能缓存太多-缓存路径比缓存查找命令所需的所有磁盘块便宜。但是这些天来,它并没有带来明显的好处,并且带来了许多无法解决的问题。这是一个错误的功能,很快就会成为错误。 而且我什至找不到禁用它的方法。有指针吗?
12 bash 


1
在XFCE中设置主监视器?
我必须监视: ------ ------ |VGA-1| |HDMI-1| ------ -------- 由于某些原因,VGA-1默认为主显示器。现在,这就是我试图解决的问题: 转到设置编辑,并将HDMI-1上的primary设置为True 这是Fedora主监视器的选择 现在看来,因为HDMI-1是“ xrandr --current”的主监视器,这似乎起到了作用。但是,面板仍在左侧(VGA-1)显示器上,我不确定我的HDMI-1是否是主要的。 这是一个错误还是我在这里做错了什么?

6
通过主/副数字对获取设备节点
下面的每个设备节点/dev都有其自己的主/副号码对。我知道我们可以通过的方式从设备节点检索这对数字stat,如下所示: stat -c 'major: %t minor: %T' <file> 或者,ls -l也显示这些数字。 但是,如何通过给定的主号和副号获得设备节点?我知道的唯一方法是某种ls -l+ awk技巧,但我真的希望有更好的解决方案。
12 udev 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.