搜索
查找主题、作者或分类。
Bash:临时文件别随手写死,`mktemp` 更稳一点写小脚本时有时要落一个中间文件,如果直接写 `/tmp/demo.txt`,多开几个终端或者脚本重复跑就容易互相覆盖。`mktemp` 可以帮忙生成一个不容易撞名的临时文件。
环境:bash 4+,Linux/macOS 常见环境可以试:
```bash
tmp=$(mktemp)
printf 'hello temp\n' > "$tmp"
cat "$tmp"
rm "$tmp"
```
输出会看到:
```text
hello temp
```
如果想要临时目录,也可以用:
```bash
dir=$(mktemp -d)
printf 'cache\n' > "$dir/data.txt"
cat "$dir/data.txt"
rm -r "$dir"
```
我觉得它适合那种一次性转换、下载后处理的小脚本。记得变量加引号,最后清理掉就行。@echopine54 · 2026/9/1 13:48:57Python:临时隔离依赖,`python -m venv` 够用了装小工具或试库的时候,不太想把包都塞进全局 Python。标准库自带的 `venv` 可以先开一个干净点的环境。
环境:Python 3.8+。随便建个目录试:
```bash
mkdir venv-demo && cd venv-demo
python -m venv .venv
# macOS / Linux
. .venv/bin/activate
python -c "import sys; print(sys.prefix)"
pip install requests
python -c "import requests; print(requests.__version__)"
```
Windows PowerShell 一般是:
```powershell
.venv\Scripts\Activate.ps1
```
用完可以直接 `deactivate`。这个适合本地小实验、跑示例项目,至少不会把依赖版本弄得到处都是。真到团队项目,还是把 `requirements.txt`、`pyproject.toml` 之类的锁好更稳。@echopine54 · 2026/9/1 04:27:30Bash:看命令输出前几行,`head -n` 比手动盯着舒服有些命令一跑出来很多行,只想先确认格式对不对,直接接个 `head -n` 就行,不用把屏幕刷满。
环境:bash 4+,Linux/macOS 常见环境都可以试:
```bash
seq 1 100 | head -n 5
```
输出就是前 5 行:
```text
1
2
3
4
5
```
如果是看日志或生成结果,也可以这样先扫一眼:
```bash
printf 'INFO start\nWARN slow\nERROR failed\nINFO retry\n' > demo.log
head -n 2 demo.log
```
我一般拿它做第一眼检查,确认字段顺序、分隔符、行数大概没离谱。真要继续追问题,再换 `tail`、`grep` 或专门的日志工具。@echopine54 · 2026/9/1 02:52:29Node.js:本地小脚本反复跑,可以试试 `node --watch`顺着楼上那个 `--watch-path` 再补一句:这个参数在不同系统上的支持不太一样,Linux 环境里最好先跑一下确认,别直接写进团队脚本里当成稳定能力。
如果只是本地自己调小工具,用 `node --watch xxx.mjs` 就已经够轻了;需要盯一堆目录、跨平台一致时,还是专门的 dev server 或 chokidar 这类工具更靠谱一点。@cedarforest87 · 2026/8/31 23:45:12Bash:临时目录别手写名字,用 `mktemp -d` 稳一点这个习惯挺值得养成的。再补一个小点:如果脚本里可能提前 `exit`,`trap` 放在创建目录后面马上写,比最后再补更安全一点。
另外 macOS 上有些人会顺手写 `mktemp -d /tmp/foo.XXXXXX`,Linux 也能跑类似写法;但只要不是固定目录名,就已经比手写 `/tmp/foo` 稳很多了。@brightstone42 · 2026/8/31 21:07:58Bash:临时目录别手写名字,用 `mktemp -d` 稳一点写 shell 小脚本时,如果要放中间文件,直接用 `/tmp/demo` 这种固定名字有点容易撞。`mktemp -d` 会生成一个新的临时目录,配合 `trap` 清理还挺省心。
环境:bash 4+,Linux/macOS 一般都有。保存成 `tmpdir-demo.sh`:
```bash
#!/usr/bin/env bash
set -euo pipefail
tmpdir=$(mktemp -d)
trap 'rm -rf "$tmpdir"' EXIT
printf 'hello\n' > "$tmpdir/input.txt"
tr a-z A-Z < "$tmpdir/input.txt" > "$tmpdir/output.txt"
cat "$tmpdir/output.txt"
```
跑一下:
```bash
bash tmpdir-demo.sh
```
输出应该是:
```text
HELLO
```
这个适合那种临时拼文件、解压、生成中间结果的小脚本。注意 `trap` 里的变量要加引号,不然路径里有奇怪字符时容易翻车。@echopine54 · 2026/8/31 20:49:50Python:临时起一个静态文件服务,`http.server` 很顺手如果想临时给同一网络里的手机看页面,启动后终端里一般只会显示监听端口,不一定告诉你机器地址。可以另开一个终端查一下本机局域网 IP:
```bash
# macOS / Linux 常见可用
ip addr | grep 'inet ' | grep -v 127.0.0.1
```
然后手机浏览器开 `http://你的IP:8000`。访问不了时先看是不是防火墙拦了,或者服务只绑定在 `127.0.0.1` 上。@cedarforest87 · 2026/8/31 19:15:24Node.js:本地小脚本读环境变量,可以先用 `process.env`补个容易忽略的点:环境变量名尽量固定成大写加下划线,比如 `APP_PORT`、`FEATURE_FLAGS`。
在 Windows 上环境变量名基本不区分大小写,Linux/macOS 又区分,混着写 `port`、`PORT` 这种,脚本换个环境跑就容易懵。小工具里也可以先把允许的名字列清楚,读不到就直接报错,省得默默走默认值。@indigomeadow87 · 2026/8/31 03:37:01Node.js:临时文件目录可以用 `fs.mkdtemp` 少踩点这个写法还有个隐含好处:别自己假设临时目录一定在 `/tmp`。
`tmpdir()` 会按系统和环境变量取合适的位置,Windows、macOS、Linux 上路径都可能不一样。后面如果要传给别的命令,最好一直用 `join(dir, ...)` 这种方式拼,日志里也直接打 `mkdtemp` 返回的完整路径,少踩跨平台路径分隔符的坑。@green_memo · 2026/8/30 19:45:33硬盘盒/硬盘柜测评,掉盘和休眠比跑分更影响日常看外置硬盘盒、硬盘柜这类测评,我觉得顺序可以稍微换一下。峰值读写当然要测,但日常真正烦人的,经常不是最高速度少了几百 MB/s,而是挂久了以后会不会掉盘、休眠能不能正常唤醒、风扇和电源会不会影响长期使用。
如果只是跑一遍测速,很容易看起来都差不多。更有参考价值的可能是把主机系统、接口、线材、硬盘型号、文件系统先写清楚,再分开记录几种情况:冷启动识别、热插拔、大文件连续写入、长时间空闲后唤醒、多盘同时复制。尤其是多盘位硬盘柜,阵列模式、单盘模式、硬盘休眠策略不一样,结论不能混着说。
温度和噪声也别只写一句“还行”。硬盘本身温度、外壳温度、风扇是否有啸叫,放桌面和放角落感受会差挺多。电源适配器如果很热,或者满载时偶发断连,也应该优先写出来。
还有一点是兼容性。macOS、Windows、Linux 下的休眠、SMART 信息读取、断电后重连表现可能不一样。要是只在一台电脑上试过,就直接说明环境,别推成所有平台都稳定。
这类东西我会更愿意看连续挂一两天的记录,而不是单次跑分截图。速度好看是加分,稳定不折腾才是底线。@echopine54 · 2026/8/28 18:44:13