常用 Linux command 备忘录
sh Vs bash
sh
是一种协议 shell command language. 而 /bin/sh
和 /bin/bash
是对他的两种不同的实现, 早起他们基本是一致的,但是随着 bash 的发展,他们变得不兼容起来。/bin/sh
还是标准,/bin/bash
则效率更高
快捷键
ctr + w
光标处开始删除一个 wordctr + /
,ctr + _
撤销删除,具体细节有所不同,但是都能达到目的
查看当前目录下文件最近修改时间
两种方式,一种是通过 ls --full-time
显示
1 | ls --full-time |
另一种是 stat file_name
1 | stat test |
tee
查看信息的同时做写入操作
1 | ps | tee info.log # ps 输出进程信息的同时,将结果导入 info.log 中 |
重定向
1 | <: 输入重定向 |
示例:
1 | # 只能在一条命令中完成,文本过长会很累赘 |
curl
终端获取资源,Sample: curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
-s: 静默模式,去掉显示进度等信息
-S: 显示错误信息
-L: 自动站点跳转
将 query 结果存到本地文件
1 | curl url >> ret.json |
ping
ping
命令不需要带 protocal,如果要指定端口可以加 -p
1 | ping -p 8089 cloudsearch-dc8.cld.ondemand.com |
容量查询
1 | # 显示系统容量 |
ps 命令保留表头
1 | # 这个命令不是很好,比较繁琐,效率也不高。 |
查看文件/夹大小
1 | # du: disk usage |
链接 SFTP
建立联接
1 | sfpt username@1.1.1.1 # 回车输入密码 |
获取文件下载到指定路径
1 | get /export/sftp/test.csv /Users/my/Downloads |
上传本地文件到服务器指定路径
1 | put /Users/my/Downloads/re-produce.gif /export/sftp |
统计文件
- 当前目录下的文件个数,不包含文件夹
ls -l | grep '^-' | wc -l
- 当前目录下的文件个数,递归
ls -lR | grep '^-' | wc -l
- 当前目录下的文件夹个数
ls -l | grep '^d' | wc -l
解释:
ls -l
: 显示当前目录下所有文件,文件+文件夹grep '^-'
: 删选文件,grep '^-'
筛选文件夹。 示例-rw-r--r-- 1 jack staff 1061 Aug 3 16:53 LICENSE
wc -l
: 统计行数