Unix & Linux

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


4
Vim:s替换行中前N个<g次出现
在vim中,有时我会替换行中前几次匹配项,但是并不是每个人都愿意替换g。例如: a a a a a 至 b b b a a 我知道我可以使用:s/a/b/[enter]:[up][enter]:[up][enter],但是在三个重复中就很乏味了,我的行可能有10个以上的替换。 我试过了: :s/a/b/3g:vim抱怨尾随字符。 :s/a/b/3:更改此行以及随后两行中的第一个匹配项。 3:s/a/b:与以前相同。 :s/a/b/g3:更改此行以及随后两行的所有匹配项。 :3s/a/b:更改第3行上的第一个匹配项。 :/a/,3/a/s/a/b:更改文件中a包含的下一行和第三行之间的每一行的第一个匹配项a(如有必要,提示反转)。 :/a/,/\([^a]*a\)\{3\}/s/a/b/:更改此行与第二行之间每行的第一个匹配项,并在其上加上3 as(而且对于多字符搜索而言,这很难扩展)。 还有其他各种寻址模式,没有一种有效。我必须说,关于:s尝试找到该问题答案的命令,我已经学到了很多东西,但是我仍然没有解决。 有人知道怎么做吗? (特定范围的奖励点,例如第二到第四次出现)
13 vim  search  replace 


5
ssh服务器:突然“远程主机关闭连接”的原因
我的一台ec2服务器已停止接收ssh连接。操作系统是Ubuntu服务器8.04,而ssh服务器是标准服务器openssh-server。 经过数月的正常运行时间,我今天尝试连接到它,并收到以下消息: ssh_exchange_identification: Connection closed by remote host 知道可能出了什么问题吗? 更新:重新启动后,服务器开始接收新连接。磁盘使用率低于50%。
13 openssh 

1
为什么处理CPU使用率大于总CPU时间
当我运行TOP命令时,进程显示1208%的CPU使用率,并且在IRIX模式下,总的CPU usr时间为81.7%。当我关闭IRIX模式时,该进程显示99%的CPU使用率,总用户CPU时间为43%。 任何想法可能会发生什么? 更新 是否可以将VM配置错误,从而无法正确报告CPU使用率?
13 performance  cpu  top 


1
如何解决丢失的“最后修改”标题的问题?
我正在这样运行wget: wget --mirror --adjust-extension --convert-links --no-cookies http://tshepang.net -o log-main 我收到了很多这样的消息: Last-modified header missing -- time-stamps turned off. 我想这意味着即使我在本地也可以重新下载页面。 注意:我想要这样做,这样我每次运行命令镜像时都不必重新下载现有文件。
13 wget  web 

3
获取和设置Xorg的屏幕尺寸
我想get-screen-resolution在X会话期间运行命令 以获取“ 800x480”输出。(或任何实际的屏幕尺寸)。 有可用的东西吗?目前,我截屏并测量了结果*.jpg的width和height属性。 另外,如何在命令行的X会话期间设置屏幕尺寸?

3
USB 2.0设备是否正在全速运行?
如何确定我的USB闪存驱动器是否以全USB 2.0速度运行?目前,我只想验证驱动器是否已插入480 Mbps端口,但是在过去,我不确定给定的设备是否为USB 2.0或更旧的版本。除了测试读写速度外,我还想一种方法来确定其功能。
13 hardware  usb 


5
如何使用SSH通过另一台PC连接到PC
我有三台电脑。 PC1和PC2在专用LAN上,其中PC1被PC2称为192.168.0.2 PC2和PC3在另一个LAN上,其中PC2被PC3称为192.168.123.101 如何使用SSH 从PC3连接到PC1。 是否有类似的东西: ssh user@192.168.0.2 -via user@192.168.123.101
13 ssh 

2
Shell脚本:在其中使用sudo与在sudo中运行它?
在编写shell脚本时,其中的某些命令(而非全部)需要超级用户特权,我应该 将sudo添加到需要超级用户特权的命令中,并在不使用sudo的情况下运行shell脚本,或者 不要在需要超级用户权限的命令中添加sudo,而是使用sudo运行shell脚本? 第二种方式,我只需要提供一次密码,但是脚本中的所有命令都将以超级用户权限运行,包括那些不需要的命令。 第一种方式,我可能需要为不同的sudo命令多次提供密码,而超级用户特权仅授予那些需要它们的命令。 从安全性考虑,第一种方法更好。为了方便起见,第二种方法更好。 我一直在考虑采用第一种方法。因此,我不得不处理在shell脚本中为多个sudo命令提供密码的不便之处。 斯蒂芬·哈里斯(Stephen Harris)写道: 编写良好的脚本会检测它是否以正确的权限运行,而根本不会调用sudo,但是有很多错误的脚本 那我应该用第二种方式吗?如果是这样的话, 我怎么写“脚本将检测它是否以正确的权限运行,而根本不调用sudo”? 我如何提高其安全性,以避免在使用sudo运行脚本时为不需要超级用户的命令赋予超级用户特权的问题? 这种简单的方法是否能兼具这两种方法的优点:将sudo添加到只需要它的命令中,然后根据需要的方便性或安全性运行带有或不带有sudo的脚本?这种方法有问题吗? 谢谢。

2
是什么设置fs:[0x28](堆栈金丝雀)?
从这篇文章中可以看出,这FS:[0x28]是一个堆栈-canary。我正在使用此功能的GCC生成相同的代码, void foo () { char a[500] = {}; printf("%s", a); } 具体来说,我正在开会。 0x000006b5 64488b042528. mov rax, qword fs:[0x28] ; [0x28:8]=0x1978 ; '(' ; "x\x19" 0x000006be 488945f8 mov qword [local_8h], rax ...stuff... 0x00000700 488b45f8 mov rax, qword [local_8h] 0x00000704 644833042528. xor rax, qword fs:[0x28] 0x0000070d 7405 je 0x714 0x0000070f e85cfeffff …
13 linux  security  gcc  stack 

2
为什么会出现“警告:存储库'oss_update'已过时。考虑使用其他镜像或服务器。”?
在WSL上,我执行sudo zypper update,但收到此错误消息。 正在加载存储库数据... 警告:存储库'oss_update'似乎已过时。考虑使用其他镜像或服务器。 正在读取已安装的软件包... 没事做。 但是,执行时sudo zypper refresh,我没有收到任何错误消息。 Retrieving repository 'The Go Programming Language (openSUSE_Leap_42.3)' metadata ...............................................................................................................................................[done] Retrieving repository 'devel:languages:php (openSUSE_Leap_42.3)' metadata .......................................................................................................................................................[done] Repository 'oss' is up to date. Retrieving repository 'oss_update' metadata .....................................................................................................................................................................................[done] Retrieving repository 'PHP7 extensions (php7_openSUSE_Leap_42.3)' metadata ......................................................................................................................................................[done] All repositories have been refreshed 我检查了正在使用的存储库的列表zypper lr …

3
回显或打印/ dev / stdin / dev / stdout / dev / stderr
我想打印/ dev / stdin,/ dev / stdout和/ dev / stderr的值。 这是我的简单脚本: #!/bin/bash echo your stdin is : $(&lt;/dev/stdin) echo your stdout is : $(&lt;/dev/stdout) echo your stderr is : $(&lt;/dev/stderr) 我使用以下管道: [root@localhost home]# ls | ./myscript.sh [root@localhost home]# testerr | ./myscript.sh $(&lt;/dev/stdin)似乎只起作用,我还在人们使用的其他一些问题上发现:"${1-/dev/stdin}"尝试失败。

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.