Unix & Linux

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


1
重新运行多个历史记录命令
假设您刚刚运行了十几个命令。说... $ cd foo/ # history cmd #10000 (my history is very long) $ ... more commands ... $ cd ../ # history cmd #10012 我知道,!-12 && !-11 && !-10 && (and so on) && !!如果碰巧刚运行过它们(不太可能)或!10000 && !10001 && !10002 && (and so on),我可以重新运行它们,但是有没有比在每个历史记录号上加上一个“砰”号和“&”号简单的方法呢? 在bash中也许我没有意识到某种范围的东西? 例如!{10000-10012}#这样的东西,只能工作。

9
使用find移动文件时保留目录结构
我创建了以下脚本,将定义的旧文件从源目录移动到目标目录。运行良好。 #!/bin/bash echo "Enter Your Source Directory" read soure echo "Enter Your Destination Directory" read destination echo "Enter Days" read days find "$soure" -type f -mtime "-$days" -exec mv {} "$destination" \; echo "Files which were $days Days old moved from $soure to $destination" 该脚本可以很好地移动文件,它也可以移动源子目录的文件,但不会在目标目录中创建子目录。我要在其中实现此附加功能。 举个例子 /home/ketan : source directory …



4
是否可以在zsh的配置文件中包含文件?怎么样?
我想要一个文件,例如。f仅具有zsh别名(出于纯正的原因)。然后,我想在.zshrc文件中包含f文件,以便在.zshrc中可见f中定义的别名。 可能吗? 如果是这样,我可以创建一个脚本,例如。my_alias($my_alias ll 'ls -l')将别名附加到f文件。我当然可以做 $echo {alias command} >> ~/.zshrc 但这使.zshrc变得一团糟。 另外,在bash中看起来如何? 更新 如果有人同意我的想法,这是解决方案,这要感谢phunehehe: # source aliases ALIASFILE=~/.aliasesrc source $ALIASFILE function add_alias() { if [[ -z $1 || -z $2 || $# -gt 2 ]]; then echo usage: echo "\t\$$0 ll 'ls -l'" else echo "alias $1='$2'" >> $ALIASFILE …

2
在.tmux.conf中复制(到X剪贴板)快捷方式
为了将文本复制到tmux中的X剪贴板,我目前要做的是: 进入选择模式 prefix[ 开始选择space(使用mode-keys vibtw) 选择文本并按 enter 使用以下命令将tmux缓冲区复制到X剪贴板 prefixctrl+c (我有一个映射为 bind C-c run "tmux show-buffer | xclip -selection clipboard -i" 我试图通过为选择模式进行映射来消除其中的一些步骤。我试过了: bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i" 这给了我和错误: .. usage: bind-key [-cnr] [-t key-table] key command [arguments] (我无法复制该错误) 我怎样才能解决这个问题? 编辑:我已经意识到我可以像常规选择一样使用鼠标选择并复制到tmux缓冲区(前3个步骤)(尽管突出显示不会持续,它仍然会选择文本),然后使用以下绑定复制到x剪贴板: bind-key -n C-c run …

3
rm无法删除文件
chmod 777 -R /mnt rm -rf /mnt/* rm: cannot remove 'omitted': Read-only file system rm: cannot remove 'omitted': Read-only file system 请告诉我我该怎么做?
22 rm  readonly 

3
在shell命令中。?? *是什么意思?
在下面的命令将tar所有的“点”文件和文件夹: tar -zcvf dotfiles.tar.gz .??* 我熟悉正则表达式,但是我不懂如何解释.??*。我执行ls .??*并tree .??*查看了列出的文件。为什么此正则表达式包含.以例如开头的文件夹中的所有文件?
22 wildcards  tar 

4
事后查找命令执行时间
我刚刚从bash提示符处执行了一个长时间运行的过程。事后看来,我希望我继续尝试time一下,或者记下启动它的时间。 有什么方法可以追溯获取此信息?在.bash_history似乎不包含时间戳。 在我的特殊情况下,它是Mac OS X,但我对一般的Unix / Linux解决方案感兴趣。 要澄清的是,该过程现已完成,除非绝对必要,我宁愿不要再次运行它!



5
获取SSH转发信号
我希望能够通过ssh发送信号(SIGINT最重要)。 该命令: ssh server "sleep 1000;echo f" > foo 将开始在服务器上进入睡眠状态,并在1000秒后将“ f \ n”放入本地计算机上的foo文件中。如果按CTRL-C(即,将SIGINT发送到ssh),它将杀死ssh,但不会杀死远程服务器上的睡眠。我希望它杀死远程服务器上的睡眠。 所以我尝试了: ssh server -t "sleep 1000;echo f" > foo 但是,如果stdin不是终端,则会出现此错误: Pseudo-terminal will not be allocated because stdin is not a terminal. 然后SIGINT仍然不转发。 所以我尝试了: ssh server -t -t "sleep 1000;echo f" > output 但是然后foo中的输出不是'f \ n'而是'f \ r …
22 ssh  remote  tty  signals 

3
CentOS eth0无法启动
为什么我的新CentOS虚拟机eth0在启动时不会启动界面? 我必须每次手动启动。 我怎样才能解决这个问题?
22 networking  boot 

2
使用Awesome WM + Gnome,在随机时间后鼠标单击停止工作
我在Linux Mint中将Awesome Window Manager与Gnome一起使用。我一天几次遇到以下问题: 突然,鼠标部分停止工作,这意味着我仍然可以移动光标,但是单击任何鼠标都无法执行任何操作。此外,光标在应时(例如,将鼠标悬停在链接上)不会改变。 在重新启动计算机或使用Ctrl + Alt + Backspace重新启动X服务器之前,此状态不会更改。 尽管如此,该系统仍能正常工作。(我现在没有鼠标在写此消息) 我认为这不太可能是鼠标,因为更改鼠标不会更改其行为。 对我来说,感觉就像是整个屏幕上都覆盖了一个不可见的窗口,或者某些应用程序“捕获”了鼠标并没有释放它,但这仅是猜测。 我什至通过TeamViewer进行了尝试,它显示出相同的行为-移动作品,悬停和单击则没有。 我应该提到的问题是全球性的,不限于任何特殊程序。 现在,我知道该错误的确切发生时间:如果我在菜单栏或工具栏上没有菜单或按钮的位置(例如,“帮助”菜单的右侧)单击某个Gtk应用程序(例如Nautilus,Gedit,Ubuntu软件中心)在Nautilus中),则会发生此错误。如果我关闭相应的应用程序,它将消失。 我将为此启动一个新线程。
22 gnome  mouse  awesome 

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.