小编Ama*_*ain的帖子

如何使用上一个命令的参数?

我知道Esc+ .给你最后一个命令的最后一个参数.

但我对最后一个命令的第一个参数感兴趣.有关键绑定吗?

在同一行,有没有从最后一个命令获取第n个参数的通用方法?我知道,在bash脚本,您可以使用$0,$1等等,但这些并不在命令行工作.

那么,如何迭代前面命令的第0个参数,就像我们可以通过连续按Esc+ 来完成最后一个参数.

bash command-line keyboard-shortcuts input-history

265
推荐指数
8
解决办法
8万
查看次数

有效测试Linux上是否打开了端口(没有nmap或netcat)

从bash脚本中,如何快速查明端口是否445在服务器上打开/侦听.

我尝试了几个选项,但我想要一些快速的东西:
1.lsof -i :445 (需要几秒钟)
2. netstat -an |grep 445 |grep LISTEN(需要几秒钟)
3. telnet(它不会返回)
4. nmap,netcat在服务器上不可用

知道一种不首先枚举的方法和之后的greps会很高兴.

linux bash shell port

192
推荐指数
10
解决办法
42万
查看次数

从ifconfig的输出中提取MAC地址的最佳方法是什么?

ifconfig输出中提取MAC地址的最佳方法是什么?

样本输出:

bash-3.00# ifconfig eth0        
eth0      Link encap:Ethernet  HWaddr 1F:2E:19:10:3B:52    
          inet addr:127.0.0.66  Bcast:127.255.255.255  Mask:255.0.0.0    
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          ....
          ....
Run Code Online (Sandbox Code Playgroud)

我应该使用cut,AWK还是其他任何东西,以及一种方法相对于另一种方法的优点和缺点.

regex linux command-line-interface

61
推荐指数
4
解决办法
9万
查看次数

vim - 如何读取文件到当前缓冲区的行范围

我想从文件foo.c读取行n1-> n2到当前缓冲区.

我试过了: 147,227r /path/to/foo/foo.c

但我得到:"E16:无效范围",但我确定foo.c包含超过1000行.

vim

55
推荐指数
4
解决办法
3万
查看次数

如何将ex命令输出重定向到当前缓冲区或文件?

如何将ex命令的输出重定向或管道输入到当前缓冲区或文件中?

例如,我想将所有寄存器的内容读入当前缓冲区,在ex模式下显示使用:registers.

vim redirect buffer command

43
推荐指数
6
解决办法
2万
查看次数

如何让Vim突出显示匹配的括号?

当我在Vim中浏览代码时,我需要查看左右括号/括号,并且按下%似乎没有效果.

我试过了:set showmatch,但是当你输入一个括号时,它会使光标前后跳跃.但是,如果我正在浏览已编写的代码该怎么办?

vim

26
推荐指数
2
解决办法
5万
查看次数

在数组中查找两个重复数字的算法,无需排序

有一个大小为n的数组(数字介于0和n - 3之间),只重复2个数字.元素随机放置在数组中.

例如,在{2,3,6,1,5,4,0,3,5} n = 9,重复数为3和5.

找到重复数字的最佳方法是什么?

PS [你不应该使用排序]

algorithm search

26
推荐指数
7
解决办法
5万
查看次数

是否有任何g ++选项来转储类布局和vtables?

我想看看g ++如何为类和虚拟表提供内存.

有没有办法使用g ++的选项转储这些信息?

c++ g++

18
推荐指数
1
解决办法
7186
查看次数

如何在sscanf中传递可变长度宽度说明符?

sscanf(input_str, "%5s", buf); //reads at max 5 characters from input_str to buf
Run Code Online (Sandbox Code Playgroud)

但我需要使用%MACRO_SIZE而不是%5s

一个简单的解决方案是为它创建一个格式字符串

char fmt_str[100] = "";    
snprintf(fmt_str, 100, "%%%ds", MACRO_SIZE);
sscanf(input_str, fmt_str, buf);
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来实现同样的目标?

c

13
推荐指数
2
解决办法
7147
查看次数

逗号在C中的while循环中分隔表达式

我以前从未见过这么久的声明.

while(printf("> "), fgets(str, 100, stdin), !feof(stdin)) {
..
..
}
Run Code Online (Sandbox Code Playgroud)

我在网上看到,来自while循环的条件是最右边的[!feof(stdin)].然后,使用上面的while语句而不是什么

while(!feof(stdin))
{
       printf("> ");
       fgets(str, 100, stdin);
       ...
       ...
}
Run Code Online (Sandbox Code Playgroud)

另外,while语句是一个表达式,1,1是一个有效的表达式吗?

c

13
推荐指数
1
解决办法
6398
查看次数