Unix & Linux

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


10
您如何将良性用户赶出系统?
我之前在Google上进行了搜索,并注意到了几种方法,但是我猜想Google并不了解全部。那么,如何你踢用户关闭你的Linux机器?还如何去看看他们首先登录?和相关...如果用户登录到X11 DE,您的方法是否有效(这不是我只是好奇的要求)?

9
搜索带有我刚刚输入的前缀的上一个命令
我们可以使用向上和向下箭头在命令历史记录中导航。 在某些IDE(例如Matlab)中,如果我们输入一些内容然后按箭头键,则仅在以输入内容开头的历史记录命令之间滚动。那真的很方便,但是在Shell终端中,这是行不通的。 有什么方法可以在Shell终端中获得类似的功能?还有其他提高终端使用效率的技巧吗?

8
尝试添加GPG公钥时密钥服务器超时
我正在尝试添加公共密钥以使用CPG安装程序。但是我对此很陌生,但是我发现的每个命令都给了我同样的错误: gpg --keyserver keyserver.ubuntu.com --recv-keys 94558F59 gpg: requesting key 94558F59 from hkp server keyserver.ubuntu.com gpg: keyserver timed out gpg: keyserver receive failed: keyserver error 我似乎怎么可能在某种形式的封锁背后,这使得无法建立与密钥服务器的连接。我调查了许多OP问题,并尝试了所有可以找到的命令,但没有任何效果。有人以前有这个问题吗?
66 bash  ubuntu  gpg 

4
在du命令中使用--exclude
这可能是基本的东西,但我无法使其工作。我正在尝试使用DU来获得文件总大小减去某些目录的大小。我需要排除一个特定的目录,uploads而不是每个目录uploads。例如,我的文件结构看起来像这样: /store /uploads /junk_to_ignore /more_junk_to_ignore /user_one /uploads /user_two 我可以运行以下命令: du -ch --exclude=uploads* 它给我的文件大小减去所有“上传”目录。但是,在尝试排除某些目录(及其所有子目录)时,我失败了。我尝试了以下方法的变体: du -ch --exclude=./uploads* du -ch --exclude='/full/path/to/uploads/*' 但似乎无法弄清楚。如何排除特定目录?

13
正确锁定外壳脚本?
有时,您必须确保同时运行一个Shell脚本实例。 例如,通过crond执行的cron作业本身并不提供锁定(例如,默认的Solaris crond)。 实施锁定的常见模式是这样的代码: #!/bin/sh LOCK=/var/tmp/mylock if [ -f $LOCK ]; then # 'test' -> race begin echo Job is already running\! exit 6 fi touch $LOCK # 'set' -> race end # do some work rm $LOCK 当然,这样的代码具有竞争条件。在一个时间窗口中,两个实例的执行都可以在第3行之后在一个实例能够触摸$LOCK文件之前进行。 对于cron作业,这通常不是问题,因为两次调用之间的间隔为几分钟。 但是事情可能会出错(例如,当锁文件位于NFS服务器上时)会挂起。在这种情况下,几个cron作业可以在第3行上阻塞并排队。如果NFS服务器再次处于活动状态,那么您将听到大量并行运行的作业。 在网上搜索时,我发现了锁运行工具,这似乎是解决该问题的好方法。使用它可以运行需要锁定的脚本,如下所示: $ lockrun --lockfile=/var/tmp/mylock myscript.sh 您可以将其放入包装器中,也可以从crontab中使用它。 lockf()如果可用,它将使用(POSIX),然后回退到flock()(BSD)。并lockf()支持NFS上应该是比较普遍的。 有替代品lockrun吗? 那其他的cron守护程序呢?有普通的crond支持健全的锁定吗?快速浏览Vixie …

3
如何在多个命令上运行时间并将时间输出写入文件?
我想运行time命令来测量几个命令的时间。 我想做的是: 测量所有这些加在一起的运行时间 将time输出写入文件 将STDERR我要测量的命令写到STDERR 我确实不希望做的是 将几个命令写到一个单独的脚本中(为什么?因为所有这些已经是我以编程方式生成的脚本,因此创建另一个临时脚本会比我想要的更混乱) 到目前为止我尝试过的是: /usr/bin/time --output=outtime -p echo "a"; echo "b"; 不起作用,time仅在第一个上运行。 /usr/bin/time --output=outtime -p ( echo "a"; echo "b"; ) 不起作用,(是意外令牌。 /usr/bin/time --output=outtime -p { echo "a"; echo "b"; } 不起作用,“没有这样的文件或目录”。 /usr/bin/time --output=outtime -p ' echo "a"; echo "b";' 不起作用,“没有这样的文件或目录”。 time ( echo "a"; echo …

1
粘滞位最初应用于文件时是做什么的?
在不同的地方可以看到时下指责是一个完全名不副实的“粘滞位”,因为它的功能现在是影响上的目录,并作为一个写权限受限删除标志。 回答者在AskUbuntu回答中写道:“通常在目录上使用粘性”。我观察到,实际上现代系统实际上在实践中似乎从未将其应用于文件,但是很久以前,通常的情况是将其应用于(可执行程序映像)文件而不是目录。(当谈到现代文件使用的稀缺性时,还有一个相关的问题是在当前文件系统中是否没有使用粘性位。) 这提示了问题: 什么也应用到可执行文件的粘滞位吗?那就像setuid吗? 注意过去时。这不是粘性位如何工作?现在。那是它过去的工作方式。

6
在Python中执行Shell命令
我目前正在研究渗透测试和Python编程。我只想知道如何在Python中执行Linux命令。我要执行的命令是: echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080 如果我只是print在Python中使用并在终端中运行它,它的效果与执行它的效果相同,就好像您自己键入并按Enter?
65 python 

5
如何防止SSH会话冻结?
我拥有ServerAliveInterval并且在ClientAliveIntervalSSH客户端/服务器配置文件中也有几台机器也设置为540的情况(我想将其设置为540以上不是一个好主意)。我使用许多SSH会话,这些会话目前在几分钟后会冻结。 我该如何解决?我想要的是完全不冻结会话,例如,如果我在8点打开一个会话并且在4个小时内不使用它,则仍然可以在12点再次使用它而不必再次登录。
65 ssh 

3
这些用于关闭Linux服务器的命令之间有什么区别?
阅读“停止和关闭命令之间有什么区别?” ,我通常对使用或不使用-h / -r选项的命令关闭功能有什么了解。 “停止”命令将关闭系统电源,使其进入系统的运行级别0。 “关闭”命令无需执行-h或-r命令即可关闭系统电源,以运行级别1。 命令“ poweroff”进入运行级别0或1怎么办?这是这三个命令之间的唯一主要区别吗?
65 rhel  shutdown 



4
尝试升级时协议版本不匹配(客户端8,服务器6)
我正在尝试升级到比当前版本1.6更新的版本(已修复错误)。我在Ubuntu上,最近升级到Ubuntu 13.04。 理想情况下,我想使用tmux 1.8甚至1.9版本。我已经下载了较新的版本,但无法使它们工作。 我下载了1.9a,但是当我尝试运行它时,它就挂了。 我尝试了此下载:http : //sourceforge.net/p/tmux/tmux-code/ci/master/tree/README#l26 并做了 $ sh autogen.sh $ ./configure && make 但我明白了 $ ./tmux $ protocol version mismatch (client 8, server 6) 我尝试下载并使用1.8.4版本,但下载的文件似乎没有我可以使用的文件。
65 tmux 


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.