Linux文件与目录操作
818 字
4 分钟
Linux文件与目录操作
查看目录内容:ls
ls 用来列出目录中的文件和子目录。
ls [选项] [目录]不写目录时,默认查看当前目录:
ls常用选项:
| 选项 | 作用 |
|---|---|
-l | 以长格式显示详细信息 |
-h | 配合 -l,用更易读的方式显示文件大小 |
-a | 显示隐藏文件 |
-d | 只显示目录本身,不展开目录内容 |
-t | 按修改时间排序 |
常见组合:
ls -lhls -lals -ld /etcls -lt其中 ls -lh 很常用,可以看到权限、所属用户、所属组、大小、修改时间等信息。
查看当前位置:pwd
pwd 用来显示当前工作目录。
pwd切换目录:cd
cd 用来切换工作目录。
cd [目标目录]常用写法:
cd /etccd ~cd ..cd ../logscd不带参数的 cd 默认回到当前用户的 HOME 目录。
创建目录:mkdir
mkdir 用来创建目录。
mkdir 目录名例如:
mkdir test如果要一次性创建多级目录,使用 -p:
mkdir -p project/logs/nginx如果不加 -p,上级目录不存在时会报错。
有些 Shell 支持用大括号批量创建目录:
mkdir -p project/{bin,conf,logs,data}这会创建:
project/binproject/confproject/logsproject/data创建空文件:touch
touch 常用于创建空文件,也可以更新文件的修改时间。
touch 文件名例如:
touch app.logtouch README.md如果文件不存在,会创建空文件;如果文件已经存在,会更新它的时间戳。
复制文件和目录:cp
cp 用来复制文件或目录。
cp [选项] 源 目标复制文件:
cp a.txt b.txt复制文件到目录:
cp a.txt test/复制目录需要加 -r:
cp -r test test2常用选项:
| 选项 | 作用 |
|---|---|
-r | 递归复制目录及其内容 |
-f | 强制覆盖 |
-p | 保留源文件属性 |
实际工作中,如果复制配置文件,常见做法是先备份:
cp nginx.conf nginx.conf.bak再修改原文件,这样出问题时可以快速恢复。
移动和重命名:mv
mv 既可以移动文件,也可以重命名文件。
mv 源 目标重命名:
mv old.txt new.txt移动到目录:
mv app.log logs/移动并改名:
mv app.log logs/app-2026.log常用选项:
| 选项 | 作用 |
|---|---|
-i | 覆盖前询问 |
-f | 强制覆盖 |
-n | 不覆盖已存在文件 |
-u | 源文件更新或目标不存在时才移动 |
-b | 覆盖前创建备份 |
对重要文件执行 mv 时,可以用 -i 降低误覆盖风险:
mv -i config.yml config.yml.bak删除文件和目录:rm
rm 用来删除文件或目录。
rm [选项] 文件或目录删除文件:
rm a.txt删除目录需要加 -r:
rm -r test常用选项:
| 选项 | 作用 |
|---|---|
-r | 递归删除目录 |
-f | 强制删除,不提示 |
-i | 删除前逐个确认 |
rm 是高风险命令,尤其是 rm -rf。执行前建议先用 ls 确认目标:
ls testrm -r test本篇命令速查
| 命令 | 作用 |
|---|---|
ls -lh | 查看详细文件列表 |
ls -a | 查看隐藏文件 |
pwd | 查看当前位置 |
cd 目录 | 切换目录 |
mkdir -p 目录 | 创建多级目录 |
touch 文件 | 创建空文件 |
cp 源 目标 | 复制文件 |
cp -r 源目录 目标目录 | 复制目录 |
mv 源 目标 | 移动或重命名 |
rm 文件 | 删除文件 |
rm -r 目录 | 删除目录 |














