Unix & Linux

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

4
从bash函数返回值
我有一个函数,如果数字是有效的十位数,则返回1: valNum() { flag=1 if [[ $1 != [1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ]]; then echo "Invalid Number" flag=0 fi return $flag } 它被称为: if [[ $(valNum $num) -eq 1 ]]; then #do something fi 如果该数字有效,则该功能运行正常,但如果输入无效数字,则显示语法错误。


2
在Mac上安装Linux时,我应该注意什么?
我有一个Macbook Pro,但我很喜欢它,尽管我仍然想念我的Linux机器,但是我需要很多东西,它们与Mac OS X并不完全兼容。我听到了很多关于在Mac OS上安装Linux的故事,有人说这是这不是问题,但其他一些人则倾向于不同的说法。 我的问题是,在Mac OS计算机上安装Linux是否合适?优缺点都有什么? 我对虚拟机非常了解,但是说实话,当它们在物理硬件上运行时,它们运行得并不好。

2
/ proc / sys与/ sys / modules / mod / parameter
我一直想知道最近几天它是如何工作的。我们可以使用sysctl设置内核运行时参数,echo boolen 1> /proc/sys/module/exactParameter但/sys/modules/module/parameters/parameter也可以设置值。 是否/proc/sys/仅将与模块相关的参数仅硬编译到内核中?还是可以为可加载内核模块设置参数? LKM加载到运行的内核中后,会在中显示其参数/sys/modules/module/paraeter/params。这是否意味着编译到内核的模块没有参数? 这两个目录之间有什么区别。
10 linux  kernel  sysctl  proc 

4
我可以作为Android应用安装方便的小型Unix虚拟机吗?
适用于Android的Ubuntu似乎没有使用。 明天我要去旅行,所以我需要带一台基本的Linux机器。我宁愿随身携带平板电脑,也不愿携带笔记本电脑。因此,有没有可以作为Android应用程序安装的合理的简单Linux虚拟机。我可以从找到的任何PC上(最好通过USB电缆)与Putty一起使用? 我希望至少能够运行emacs,git和rsync。最好是Python。

4
格式化xargs输出
我想更改输出xargs显示的格式 cat k.txt 1 2 3 和 cat k.txt | xargs 1 2 3 但是我想有1, 2, 3或1|2|3。有什么建议?
10 xargs 

4
获取垂直光标位置
这听起来可能很奇怪,但是我知道如何像这样在Bash中设置垂直光标位置: echo -e "\e[12H" 这会将光标移动到第12行(从1开始)。 那么如何使用linux bash获取光标位置(行号)呢?如果我可以简单地将此值存储在变量中,以便可以进行计算,则将很有帮助。 编辑: 这是我得到的错误: $ sh rowcol.sh -en read: 9: Illegal option -d test.sh: 12: Bad substitution
10 shell  terminal 



1
Xfce和Xscreensaver似乎并未将键盘活动视为“活动”-如何进行更改?
从Debian Squeeze升级到Wheezy之后,Xfce和Xscreensaver的组合似乎并没有将键盘活动视为用户活动。 由于有时我有时仅长时间使用键盘,因此这意味着由于缺少鼠标输入,屏幕保护程序最终会激活。这有点烦人,但是再次按下按键(或鼠标碰伤)将导致屏幕保护程序消失,并等待另一段时间才能再次插入。 如何使系统将键盘输入视为活动?我查看了屏保首选项,但找不到任何相关的内容。 或者,如何切换到接受键盘输入作为用户活动的屏幕保护程序子系统?(我只需要一个黑屏屏幕保护程序,并在X中配置延迟后监视DPMI挂起并关闭电源。) 如果很重要,我使用的是直接挂在PC上的USB键盘(两者之间没有USB集线器)。鼠标也是USB。
10 xfce  debian 


3
将SQL查询的输出分配给变量
我正在连接到oracle数据库并触发查询并将输出分配给变量,但是当我回显该变量的值时,它将无法正确打印。 count=`sqlplus -s $configuser/$configpass@$ORACLE_SID <<END set pagesize 0 feedback off verify off heading off echo off; select max(cust_id) from cutomers exit; END` echo $count 在数据库上触发查询返回正确的结果。但是“ count”变量的值不正确。

1
您可以在Bash中使用几种不同的方式创建“别名”?
我只知道两种方式:alias foo=bar和function foo() { bar }。 我问的原因是-突然在我的bash会话之一中-我无法运行ln命令,因为bash出错了-bash: /usr/local/.../ln: No such file or directory(其中/usr/local/.../是PATH环境变量中的条目之一)。 但这不是PATH问题,因为如果我运行which ln它,它会输出预期的二进制文件/usr/bin/ln(如果我指定了绝对路径,则可以很好地运行)。 我还检查了ln我的alias和function声明,没有任何内容: $ declare -f | grep ln $ alias | grep ln 该问题仅在一次bash会话中发生。如果我启动一个新的shell,它会再次正常工作,但是我想知道是在bash的这一特定会话中突然导致此问题的原因。 关于什么可能导致此的任何想法?
10 bash  shell  alias 

5
笔记本电脑的温度比正常情况高30°C;据报道CPU /负载正常。是什么原因引起的,如何诊断?
我正在ThinkPad t420笔记本电脑上运行最新的Arch Linux,并且遇到间歇性散热问题,我的温度将从典型的〜45°C升高到〜75-90°C,并保持在那里直到我重新启动。 我已经运行几个诊断工具,包括明显的htop和其他人的谷歌搜索曾建议,其中包括powertop,iostats和别人肯定我不记得。到目前为止,无论我的机器是正常运行还是处于高温状态,我都没有发现明显的问题,而且表面上看没有任何差异。 我还一一杀死了大多数可疑进程(数据库和其他守护程序),希望找到隐藏的罪魁祸首,但无济于事。 除了这些尝试,我不知道从哪里开始进行故障排除。我希望有人可以指出正确的方向,开始寻找更深层次的问题。 准确地说,我的问题不是如何冷却机器,而是什么会导致(据报道)CPU和负载正常的系统中出现持续30度以上的热量变化?我可以使用哪些工具/方法进行诊断? 一些说明可能会有所帮助: 我可以冷却系统(例如,完全脱离风扇控制),但是如果不理会它会立即再次变热。这似乎表明保温不是问题,而是某种东西不断产生热量。 htop进入此热状态后,按正常报告CPU使用率和负载。这包括内核线程。根据htop,系统实际上是空闲的(系统范围内CPU使用率为1-2%,负载为0.10)。 我的机器使用Intel HD集成显卡,并且没有其他显卡。如@braiam所指出的,该型号可以选择使用nVidia卡。我没有选择它。 @terdon调出了CPU调速器设置。我的CPU设置为powersave 我的特定处理器是2.7GHz Core i7-2620M。 编辑:在撰写此问题时,我的风扇控制无法正常运行,并且即使在高温下也以中等RPM范围(3900 RPM)连续运行。在@Alex和@JustDanyul的建议下,此问题已修复。但是,潜在的问题仍然存在。

1
注销时,SIGHUP在什么情况下不发送到作业?
我从一个声称正在跑步的用户那里得到了一个答案 foo 2>&1 >& output.log & foo即使他们注销也将导致继续运行。根据该用户的说法,这甚至可以通过SSH连接工作。 我真的不相信,因为我的印象是,在断开与SSH的连接或终止TTY的情况下,shell及其进程将收到SIGHUP,从而导致它们终止。这一点,我的假设下,被使用的唯一理由nohup在这样的情况下,或者tmux,screen等。 然后,我查看了glibc的手册: 该信号还用于向与该会话相关联的作业报告终端上控制过程的终止;该终止有效地断开了会话中的所有进程与控制终端的连接。 这似乎证实了我的想法。但进一步看,它说: 如果进程是具有控制终端的会话领导者,则将SIGHUP信号发送到前台作业中的每个进程,并且将控制终端与该会话解除关联。 那么,这是否意味着放在后台的作业将不会收到SIGHUP? 令我进一步困惑的是,当Zsh警告我我正在运行作业时,我进行了一个交互式Zsh会话,yes >& /dev/null &并键入exit,然后再次键入后exit,告诉我说它已经完成了一项工作。在Bash中执行完全相同的操作会使工作继续进行……
10 ssh  tty  signals 

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.