vim中执行cmd
1 | !cmd |
vim中编写额外的文件
1 | args filename |
sed处理文件
at和crontab定时
流重定向
“>”: 输出重定向, 这个操作符会覆盖已有文件的内容, 若文件不存在, 则创建
“>>”: 同样也是输出重定向, 这个操作符会将内容添加到文件尾部, 同样的, 若文件不存在, 则创建文件
@note:
比较特殊的是内联输入重定向: “<<”, 我现在也不太明白这东西的实质用法和含义
只知道它的行为: 它可以使用命令行的内容作为输入流, 并且可以指定一个”标识”来表示结束
管道
@brief:
将一个命令的输出作为另一个命令的输入. 例如:
1 | cat file | less |
cat仅仅只是查看文件, 但并不会增加一些控制功能(如翻页, 搜索…)
less则提供了相关的更高级的功能, 将cat的输入(文件内容)作为less的输入
@note:
其实这个例子很没有必要, 现实中这么写, 可能会被diss到死. 因为可以直接使用 less file
创建一个新文件
1 | touch file |
置空文件内容
1 | cat /dev/null > file |
@note:
更加简便的方式是 > file
单引号和双引号
需要注意的是, 单引号中, 双引号不需要转义.
同样的, 双引号中, 单引号不需要转义
这会在某些场合下, 让你的字符串更加简洁易懂, 同时还更好改, 更不容易写错
@ps:
我曾在一次 crontab 任务中遇到这种场合, 我使用了 crontab file 的形式来添加任务
同时使用 echo + 重定向 的形式往文件中添加内容, 而要执行的命令中就包含些许单引号和双引号
(不过我倒是没有在这里面用到这个技巧, 因为我第一次就写对了 :) )
md5加密
1 | echo "test" | md5sum |
查看自己的公网信息
curl cip.cc
简析: curl 为一个在服务器中传递数据的攻击, 而 cip.cc 为一个查询网络信息的网站
当你登录 cip.cc 时, 它应当会根据你访问网站时的信息, 查询你 IP 的相关信息, 并返还给你
传递大量文件(远端和本地)
rsync
具体用法参照 man 手册
查看本地IP端口信息
1 | netstat -tunlp |
t : TCP
u : UDP
n : 不经过域名服务器
l : 显示监控中服务器的socket
p : 显示监控中的程序识别码和名称
@btw: 可以加入 -a 选项, 这会将所有(包括当前未监听)的端口信息都列出来
与之相关的命令还有 nmap, nc
查看本机服务
1 | service --status-all | grep running |
这个命令可以查看本机现在运行的所有服务
@note: –status-all 之间不能空格. “–status -all” 这是错误的写法