I'm Aron

Linux文件与目录操作

818 字
4 分钟
Linux文件与目录操作

查看目录内容:ls#

ls 用来列出目录中的文件和子目录。

Terminal window
ls [选项] [目录]

不写目录时,默认查看当前目录:

Terminal window
ls

常用选项:

选项作用
-l以长格式显示详细信息
-h配合 -l,用更易读的方式显示文件大小
-a显示隐藏文件
-d只显示目录本身,不展开目录内容
-t按修改时间排序

常见组合:

Terminal window
ls -lh
ls -la
ls -ld /etc
ls -lt

其中 ls -lh 很常用,可以看到权限、所属用户、所属组、大小、修改时间等信息。

查看当前位置:pwd#

pwd 用来显示当前工作目录。

Terminal window
pwd

切换目录:cd#

cd 用来切换工作目录。

Terminal window
cd [目标目录]

常用写法:

Terminal window
cd /etc
cd ~
cd ..
cd ../logs
cd

不带参数的 cd 默认回到当前用户的 HOME 目录。

创建目录:mkdir#

mkdir 用来创建目录。

Terminal window
mkdir 目录名

例如:

Terminal window
mkdir test

如果要一次性创建多级目录,使用 -p

Terminal window
mkdir -p project/logs/nginx

如果不加 -p,上级目录不存在时会报错。

有些 Shell 支持用大括号批量创建目录:

Terminal window
mkdir -p project/{bin,conf,logs,data}

这会创建:

Terminal window
project/bin
project/conf
project/logs
project/data

创建空文件:touch#

touch 常用于创建空文件,也可以更新文件的修改时间。

Terminal window
touch 文件名

例如:

Terminal window
touch app.log
touch README.md

如果文件不存在,会创建空文件;如果文件已经存在,会更新它的时间戳。

复制文件和目录:cp#

cp 用来复制文件或目录。

Terminal window
cp [选项] 源 目标

复制文件:

Terminal window
cp a.txt b.txt

复制文件到目录:

Terminal window
cp a.txt test/

复制目录需要加 -r

Terminal window
cp -r test test2

常用选项:

选项作用
-r递归复制目录及其内容
-f强制覆盖
-p保留源文件属性

实际工作中,如果复制配置文件,常见做法是先备份:

Terminal window
cp nginx.conf nginx.conf.bak

再修改原文件,这样出问题时可以快速恢复。

移动和重命名:mv#

mv 既可以移动文件,也可以重命名文件。

Terminal window
mv 目标

重命名:

Terminal window
mv old.txt new.txt

移动到目录:

Terminal window
mv app.log logs/

移动并改名:

Terminal window
mv app.log logs/app-2026.log

常用选项:

选项作用
-i覆盖前询问
-f强制覆盖
-n不覆盖已存在文件
-u源文件更新或目标不存在时才移动
-b覆盖前创建备份

对重要文件执行 mv 时,可以用 -i 降低误覆盖风险:

Terminal window
mv -i config.yml config.yml.bak

删除文件和目录:rm#

rm 用来删除文件或目录。

Terminal window
rm [选项] 文件或目录

删除文件:

Terminal window
rm a.txt

删除目录需要加 -r

Terminal window
rm -r test

常用选项:

选项作用
-r递归删除目录
-f强制删除,不提示
-i删除前逐个确认

rm 是高风险命令,尤其是 rm -rf。执行前建议先用 ls 确认目标:

Terminal window
ls test
rm -r test

本篇命令速查#

命令作用
ls -lh查看详细文件列表
ls -a查看隐藏文件
pwd查看当前位置
cd 目录切换目录
mkdir -p 目录创建多级目录
touch 文件创建空文件
cp 源 目标复制文件
cp -r 源目录 目标目录复制目录
mv 源 目标移动或重命名
rm 文件删除文件
rm -r 目录删除目录

评论区

文章目录