我知道Esc+ .给你最后一个命令的最后一个参数.
但我对最后一个命令的第一个参数感兴趣.有关键绑定吗?
在同一行,有没有从最后一个命令获取第n个参数的通用方法?我知道,在bash脚本,您可以使用$0
,$1
等等,但这些并不在命令行工作.
那么,如何迭代前面命令的第0个参数,就像我们可以通过连续按Esc+ 来完成最后一个参数.?
从bash脚本中,如何快速查明端口是否445
在服务器上打开/侦听.
我尝试了几个选项,但我想要一些快速的东西:
1.lsof -i :445
(需要几秒钟)
2. netstat -an |grep 445 |grep LISTEN
(需要几秒钟)
3. telnet
(它不会返回)
4. nmap
,netcat
在服务器上不可用
知道一种不首先枚举的方法和之后的greps会很高兴.
从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还是其他任何东西,以及一种方法相对于另一种方法的优点和缺点.
我想从文件foo.c读取行n1-> n2到当前缓冲区.
我试过了: 147,227r /path/to/foo/foo.c
但我得到:"E16:无效范围",但我确定foo.c包含超过1000行.
如何将ex命令的输出重定向或管道输入到当前缓冲区或文件中?
例如,我想将所有寄存器的内容读入当前缓冲区,在ex模式下显示使用:registers
.
当我在Vim中浏览代码时,我需要查看左右括号/括号,并且按下%似乎没有效果.
我试过了:set showmatch
,但是当你输入一个括号时,它会使光标前后跳跃.但是,如果我正在浏览已编写的代码该怎么办?
有一个大小为n的数组(数字介于0和n - 3之间),只重复2个数字.元素随机放置在数组中.
例如,在{2,3,6,1,5,4,0,3,5} n = 9,重复数为3和5.
找到重复数字的最佳方法是什么?
PS [你不应该使用排序]
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)
有没有更好的方法来实现同样的目标?
我以前从未见过这么久的声明.
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是一个有效的表达式吗?