使用shell中的计算器bc, 可以直接计算16进制

1
echo 'ibase=16;C06D1000-C06A5E78' | bc

使用netcat聊天与收发文件

首先建立起监听端口的为服务端, 对于聊天来说, 谁是服务端并不重要. 但如果你想从服务器A向服务器B发送文件 那么, 你必须在服务器B上监听端口, 然后在服务器A上进行连接发送

聊天

  • 服务端
1
nc -l -p 9999    # 使用Netcat监听9999端口
  • 客户端
1
nc 127.0.0.1 9999 # 访问9999端口

收发文件

  • 服务端
1
nc -l -p 9999 > android.tar.gz
  • 客户端
1
2
3
4
nc -c <IP> 9999 < android.tar.gz

# -c参数, 如果不进行添加文件传输完成后两端也不会关闭连接
# -c, --close close connection on EOF from stdin

使用&&以及管道, 快速调试代码

这个是我在进行刷题以及面试时候用到的一个小技巧, 这里与大家分享, 希望能有所帮助

1
g++ game1.cpp -o game1 && cat input1.txt | ./game1

整个一段话分为两部分, 首先进行编译: g++ game1.cpp -o game1 而后, 使用管道将input1.txt中的内容作为标准输入. 为方便测试 这里我将自己的程序以及数据进行粘贴.

  • game1.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include<bits/stdc++.h>

using namespace std;

string solve(string& str) {

string out = str;
if(out[0] > '2')
out[0] = '0';
if(out[0] == '2' && out[1] >= '4')
out[0] = '0';
if(out[3] >= '6')
out[3] = '0';
if(out[6] >= '6')
out[6] = '0';

return out;
}
int main()
{
int n;
cin >> n;
string str;
while(n > 1) {
cin >> str;
cout << solve(str) << endl;
n--;
}
cin >> str;
cout << solve(str);
return 0;
}
  • input1.txt
1
2
3
2
12:23:90
34:12:23

快速将文件复制到剪贴板

下面这条命令可以直接在命令行中将text.txt文件全部粘贴至剪贴板. 也是我在刷题目以及笔试时 爱用的命令, 配合Vim, 以及上述的快速调试方法, 真的很轻松.

1
xsel -b < test.txt