当前位置:首页>Linux>初始阶段 第11课 Linux for AI

初始阶段 第11课 Linux for AI

  • 2026-10-10 15:46:53
初始阶段 第11课 Linux for AI
很多时候,系统仅有终端,没有像 Windows 或 Mac 一样的查找文件功能,无法可视化浏览、不能访问文件系统、不能安装“包”,仅能在终端 Terminal写命令才可以与机器交互时,一些 Linux命令就是唯一操作这些内容的方式。
文件系统展示
下面是一个典型的 Linux 文件目录结构。
核心命令
路径切换
pwd                       # 显示当前目录

ls                          #当前目录中有哪些文件

ls -la                     # 显示当前目录中包含隐藏文件在内的所有文件

cd /path/to/dir    #去到此路径下

cd ~                      # 回到主目录

cd ..                      # 返回上一层目录

文件和目录

mkdir my-project            # 创建一个目录

mkdir -p a/b/c              # 一次创建多个内嵌的目录

cp file.txt backup.txt      # 创建一个文件副本

cp -r src/ src-backup/   # 用递归的方式创建一个目录的副本

mv old.txt new.txt          # 重命名文件

mv file.txt /tmp/           # 移动一个文件

rm file.txt                    # 彻底删除一个文件

rm -rf my-dir/              # 彻底删除目录及期内所有内容

读文件

cat file.txt                    # 将文件内容显示在terminal 里

head -20 file.txt           # 显示文件的前20行内容

tail -20 file.txt             # 显示文件的最后20行内容

tail -f log.txt               # 实时监控日志(Ctrl+C 停止)

less file.txt                  # 滚动浏览文件 (按 q 键退出)

搜索

grep "error" training.log           # 列出含有"error"的所有行

grep -r "learning_rate" .      # 搜索当前目录所有包含“learning_rate"的                                          文件

grep -i "cuda" config.yaml       # 区分大小写的搜索

find . -name "*.py"                 # 在当前目录下搜索所有 python 文件

find . -name "*.ckpt" -size +1G     # 搜索所有检查点大于1G 的文件

权限
ls -l 文件名                     #列出文件的所有者、权限
包管理(使用 apt工具)
用户和 sudo
过程和systmd
上面三条因无执行环境,暂直接上截图。
磁盘空间

df -h                       # 列出所有挂载的磁盘的使用情况

df -h /home                 # /home 的使用情况

du -sh *                    # 当时目录下,所有文件的大小

du -sh ~/.cache             # 缓存的大小

du -sh /data/checkpoints/   # 核查 checkpoints 的大小

du -h --max-depth=1 / 2>/dev/null | sort -hr | head -20

                                    # 找到最大空间的占有者

网络

# Download files

wget https://example.com/model.bin      #用wget 下载一个文件

curl -O https://example.com/data.tar.gz   # 用curl 下载一个文件

curl -s https://api.example.com/health | python3 -m json.tool  

# 获取一个 API,以 json(美化)形式输出。

# Transfer files between machines

scp model.bin user@remote:/data/   # 把本地文件拷贝到远程

scp user@remote:/data/results.csv .# 从远程拷贝到本地

scp -r user@remote:/data/checkpoints/ ./local-dir/   

     #拷贝目录到本地

# 同步目录

rsync -avz --progress ./data/ user@remote:/data/

rsync -avz --progress user@remote:/results/ ./results/

tmux:保持会话活跃

tmux 可以在合上电脑后,仍然让训练运行。前方介绍过这个工具。

WSL2工具(为 Windows 用户)

Windows 用户可以利用 WSL2运行真实的 Linux 环境,不需要做双系统。

把 MAC 中的命令在 LINUX 上运行时,要注意一些命令陷阱,如
macOS
Linux
Notes
brew installsudo apt install
不同包的名字。brew in stall htop 与sudo apt install htop 功能一致,但是 brew install readling 和 sudo apt install libreadline-dev 却不一致。
open file.txtxdg-open file.txt
在远程无 GUI 的环境中,用 cat 或 less 打开文件,而不是 open
pbcopy
 / pbpaste
Not available
使用 SSH 通讯时,管道与剪切板不能互通数据
~/.zshrc~/.bashrc
macOS默认 zsh;所有 Linux 服务器使用 bash
/opt/homebrew//usr/bin/
, /usr/local/bin/
二进制代码存在不同的位置
sed -i '' 's/a/b/' filesed -i 's/a/b/' file
macOS 的sed 命令需要一个空字符串-i;Linux 不需要
Case-insensitive filesystem
Case-sensitive filesystem
Model.py
 和 model.py在 linux 中是不同的文件(大小写敏感)
Line endings \n
Line endings \n
换行符一样。但 WIndows 使用\r\n换行,会破坏 bash 的脚本。但运行 dos2unix 可以解决
这些命令,还需要多练习、应用。

最新文章

随机文章