常用的文件与目录操作命令
Linux终端是NOI竞赛中最重要的编程环境之一。掌握基本的命令行操作可以大大提高编程效率。
/ 表示/(反斜杠)
# 查看当前所在目录
pwd
# 列出当前目录内容
ls
ls -l # 详细信息
ls -a # 显示隐藏文件(以.开头的文件)
ls -la # 详细信息+隐藏文件
# 切换目录
cd /home/noi # 切换到指定目录
cd .. # 返回上一级目录
cd ~ # 返回用户主目录
cd - # 返回上一次所在目录
# 创建目录
mkdir homework # 创建单个目录
mkdir -p project/noi1 # 递归创建多级目录
# 删除目录
rmdir empty_folder # 删除空目录
rm -r folder # 递归删除目录及其内容
# 创建文件
touch main.cpp # 创建空文件
echo "Hello NOI" > test.txt # 创建并写入内容
# 复制文件
cp source.cpp backup.cpp # 复制文件
cp -r project/ project_backup/ # 递归复制目录
# 移动/重命名文件
mv old.cpp new.cpp # 重命名
mv main.cpp homework/ # 移动到目录
# 删除文件
rm test.txt # 删除文件
rm -rf folder/ # 强制递归删除(慎用!)
# 查看文件内容
cat main.cpp # 显示全部内容
less main.cpp # 分页查看(q退出)
head -n 20 main.cpp # 查看前20行
tail -n 20 main.cpp # 查看后20行
tail -f log.txt # 实时查看文件增长
# 查看文件权限
ls -l main.cpp
# 输出示例: -rwxr-xr-- 1 user group 1234 Jan 1 12:00 main.cpp
# 修改权限
chmod +x run.sh # 添加执行权限
chmod 755 main.cpp # 设置权限为 rwxr-xr-x
chmod 644 main.cpp # 设置权限为 rw-r--r--
# 权限数字含义:
# 4 = 读(r), 2 = 写(w), 1 = 执行(x)
# 755 = 4+2+1, 4+0+1, 4+0+1 = rwx, r-x, r-x
尝试在下方虚拟终端中输入命令:
可尝试命令:ls, pwd, mkdir test, echo hello, cat test.txt, rm test.txt
| 快捷键 | 功能 |
|---|---|
| Ctrl + C | 中断当前命令 |
| Ctrl + D | 退出当前会话 |
| Ctrl + L | 清屏 |
| Ctrl + A | 移动到行首 |
| Ctrl + E | 移动到行尾 |
| ↑ / ↓ | 浏览历史命令 |
| Tab | 自动补全 |
输入文件名或命令的一部分后按 Tab 键自动补全:
使用 ↑ 和 ↓ 键浏览历史命令,或使用 history 查看:
# 将输出保存到文件
ls -l > filelist.txt
# 将错误信息保存到文件
g++ main.cpp 2> errors.txt
# 将标准输出和错误都保存
g++ main.cpp &> all.txt
# 追加内容到文件
echo "New test" >> test.txt