Unix & Linux

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

2
如何从tmux内更改默认的新窗口目录
我最近从GNU屏幕转到了tmux。 我发现它非常相似,但是得到了更大的支持(由于neovim中的转义时间问题,我切换了-分辨率仅适用于tmux)。 不幸的是,在tmux中,我找不到与此类似的命令: screen -X eval "chdir $(some_dir)" 上面的命令从GNU屏幕中更改了新窗口/屏幕/窗格的默认目录,因此当我按Ctrl+ a(类似于tmux Ctrl+ b)时,在$(some_dir)目录中打开了新窗口。 tmux中有类似的东西吗? 解答: 我使用了@Lqueryvg答案,并将其与@Vincent Nivoliers建议的注释合并在一起,这给了我一个命令的新绑定,该命令attach -c "#{pane_current_path}"将当前目录设置为默认目录。 谢谢。
42 linux  tmux  gnu-screen 

3
如何通过HTTP或https使用ssh?
我在公司防火墙(允许通过http和https端口但不能通过ssh 22)后面有一个linux fedora21客户端便携式计算机,并且在我自己的路由器后面的家里有一个linux fedora21服务器。当我指定家庭服务器的公用IP地址时,使用https可以浏览(因为我配置了家庭路由器) 是否可以通过http / s端口ssh(远程shell)到我的家庭服务器? 我看到了一个名为的工具corkscrew。有帮助吗? opensshd并httpd在家庭服务器上运行。还有什么需要配置的?
42 sshd  http-proxy 

8
shell命令获取图像的像素大小
是否有Shell命令返回图像的像素大小? 我正在尝试使用convert(例如convert -delay 50 1.gif 2.gif -loop 0 animated.gif)从具有不同大小的不同gif开始生成动画gif 。 问题在于,转换仅使用第一个图像的大小作为gif动画的大小来重叠图像,并且由于它们的大小不同,因此结果有些混乱,旧帧的位在新帧下显示。

10
如何检查管道是否为空,如果不是,则对数据运行命令?
我已经在bash脚本中通过管道传递了一条线,并希望在将其提供给程序之前检查管道是否具有数据。 我发现有关搜索,test -t 0但在这里不起作用。始终返回false。那么如何确保管道中有数据呢? 例: echo "string" | [ -t 0 ] && echo "empty" || echo "fill" 输出: fill echo "string" | tail -n+2 | [ -t 0 ] && echo "empty" || echo "fill" 输出: fill 有别于标准/规范方式来测试上述管道是否产生了输出?输入需要保留,以将其传递给程序。这概括了如何将输出从一个进程传递到另一个进程,但仅在第一个进程具有输出时才执行?重点是发送电子邮件。
42 bash  shell  pipe 

4
/ tmp和/ run有什么区别?
根据FHS-3.0,/tmp适用于临时文件,/run适用于运行时变量数据。输入的数据/run必须在下次启动时删除,这对于来说不是必需的/tmp,但是程序仍然不能假定输入的数据/tmp将在下次程序启动时可用。这一切似乎和我很相似。 那么,两者有什么区别?程序应根据哪个标准来决定将临时数据放入/tmp还是放入临时数据/run? 根据FHS: 程序的子目录可能为/run; 对于使用多个运行时文件的程序,建议这样做。 这表明“系统程序”和“普通程序”之间的区别不是标准,程序的生存期也不是标准(例如,长期运行与短期运行过程)。 尽管在FHS中未提供以下基本原理,/run但为了克服/var为时已晚的问题,引入了这些基本原理,需要肮脏的技巧才能/var/run尽早提供。但是,现在/run引入并在FHS中对其进行了描述,似乎没有明确的理由同时具有/run和/tmp。
42 linux  files  filesystems  fhs 

4
zsh中的无限历史记录
在中zsh,我希望拥有无限的历史记录。我设置了HISTSIZE=,在bash。现在我导入了一个古老的历史 mv old_history .history 很大 wc -l .history 43562 .history 如果现在关闭并重新开始zsh,我会看到 wc -l .history 32234 .history 我可以拥有无​​限的历史zsh吗?

9
无法使用Ctrl + C停止bash脚本
我编写了一个带有循环的简单bash脚本,用于打印日期并ping到远程计算机: #!/bin/bash while true; do # *** DATE: Thu Sep 17 10:17:50 CEST 2015 *** echo -e "\n*** DATE:" `date` " ***"; echo "********************************************" ping -c5 $1; done 当我从终端运行它时,无法使用停止它Ctrl+C。似乎将传送^C到终端,但是脚本没有停止。 MacAir:~ tomas$ ping-tester.bash www.google.com *** DATE: Thu Sep 17 23:58:42 CEST 2015 *** ******************************************** PING www.google.com (216.58.211.228): 56 data bytes 64 …
42 bash  terminal  signals 

4
与Google Hangouts,双显示器和GNOME Shell共享桌面
我有一台带有内置屏幕和一台显示器的笔记本电脑。 当我发起Google视频环聊并共享我的桌面时,我只希望共享附加的屏幕,但我不知道如何共享。 现在,我有两个监视器:LVDS1对应于笔记本电脑的屏幕,该屏幕配置为辅助屏幕,DP1并且是我的主屏幕。但是,如果我将笔记本电脑的屏幕更改为主屏幕,问题仍然存在。 $ xrandr Screen 0: minimum 320 x 200, current 3286 x 1468, maximum 8192 x 8192 LVDS1 connected 1366x768+1920+700 (normal left inverted right x axis y axis) 344mm x 194mm 1366x768 60.06*+ 1024x768 60.00 800x600 60.32 56.25 640x480 59.94 VGA1 disconnected (normal left inverted right x axis …

9
如何通过替换文件名中的字符串来重命名多个文件?该字符串包含“#”
https://serverfault.com/questions/70939/how-to-replace-a-text-string-in-multiple-files-in-linux https://serverfault.com/questions/228733/how-to-rename-multiple-files-by-replacing-word-in-file-name https://serverfault.com/questions/212153/replace-string-in-files-with-certain-file-extension https://serverfault.com/questions/33158/searching-a-number-of-files-for-a-string-in-linux 这些提到的文章都回答了我的问题。但是他们都不适合我。我怀疑是因为我要替换的字符串中包含#。有没有解决此问题的特殊方法? 我有一个图像文件,它在站点迁移期间将é替换为#U00a9。这些看起来像这样: Lucky-#U00a9NBC-80x60.jpg Lucky-#U00a9NBC-125x125.jpg Lucky-#U00a9NBC-150x150.jpg Lucky-#U00a9NBC-250x250.jpg Lucky-#U00a9NBC-282x232.jpg Lucky-#U00a9NBC-300x150.jpg Lucky-#U00a9NBC-300x200.jpg Lucky-#U00a9NBC-300x250.jpg Lucky-#U00a9NBC-360x240.jpg Lucky-#U00a9NBC-400x250.jpg Lucky-#U00a9NBC-430x270.jpg Lucky-#U00a9NBC-480x240.jpg Lucky-#U00a9NBC-600x240.jpg Lucky-#U00a9NBC-600x250.jpg Lucky-#U00a9NBC.jpg 我想将其更改为以下内容: Lucky-safeNBC-80x60.jpg Lucky-safeNBC-125x125.jpg Lucky-safeNBC-150x150.jpg Lucky-safeNBC-250x250.jpg Lucky-safeNBC-282x232.jpg Lucky-safeNBC-300x150.jpg Lucky-safeNBC-300x200.jpg Lucky-safeNBC-300x250.jpg Lucky-safeNBC-360x240.jpg Lucky-safeNBC-400x250.jpg Lucky-safeNBC-430x270.jpg Lucky-safeNBC-480x240.jpg Lucky-safeNBC-600x240.jpg Lucky-safeNBC-600x250.jpg Lucky-safeNBC.jpg 更新: 这些示例都以“ LU00a9ucky”开头,但是这里有许多名称不同的图像。我只是将字符串的“#U00a9”部分定位为“ safe”。
42 sed  rename  mv 

7
如何通过通配符复制多个文件?
我有一个文件夹,其中包含许多文件ABC。*(大约有100个此类文件)。我想将它们全部复制到名称以DEF开头的新文件。* 所以,我要 ABC.Page1 ABC.Page2 ABC.Topic12 ...etc 复制到 DEF.Page1 DEF.Page2 DEF.Topic12 ...etc 使用批处理命令(在BASH或类似格式中)执行此操作的最简单方法是什么?我正在考虑涉及sed或awk或xargs的内容,但是我很难弄清语法。我可以编写Python脚本,但我认为可能存在一种不太复杂的命令行解决方案。


2
如何通过GDB进入,过渡和退出?
我help在GDB时打过字,但没有发现任何有关跨入,跨入和跨出的信息。我在_start(break _start)中的Assembly程序中放置了一个断点。之后,我输入next并完成调试。我想那是因为它完成了_start,没有按照我的意愿介入。 有人可以帮忙吗?

7
从cat命令中获取前X个字符?
我有一个文本文件,正在我的shell脚本中输出到一个变量。我只需要前50个字符。 我已经尝试过使用,cat ${filename} cut -c1-50但是我获得的不仅仅是前50个字符了吗?这可能是由于cut寻找行(不是100%确定),而此文本文件可能是一个长字符串-确实取决于。 是否可以使用实用程序从cat命令中获取前X个字符?
42 cat  cut 

7
sed可以替换换行符吗?
sed和换行符有问题吗? 我有一个包含以下内容的文件test.txt aaaaa bbbbb ccccc ddddd 以下内容不起作用: sed -r -i 's/\n/,/g' test.txt 我知道我可以使用tr它,但是我的问题是为什么用sed似乎不可能。 如果这是逐行处理文件的副作用,那么我会对为什么会发生这种情况感兴趣。我认为grep删除新行。sed是否也一样?
42 sed 

1
成功连接到IP 0.0.0.0。怎么样?为什么?
我们正在localhost上提供端口,并希望在另一个过程中检查该端口是否可用。由于我们代码中的错误,它实际上试图连接到IP 0.0.0.0:<port>,并且由于某种原因它成功-strace证明: [...] connect(3, {sa_family=AF_INET, sin_port=htons(10002), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 [...] 这是什么意思?为什么行得通?
41 networking  tcp  strace 

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.