Linux学习笔记(二) 文件管理

简介: Linux学习笔记(二) 文件管理

这篇文章主要介绍 Linux 系统中一些常用的文件管理命令,列举如下:

pwdlscdcpmvrmlnmkdircatmorelessheadtail


pwd 命令,全称是 print working directory,用于显示当前工作目录的路径

> pwd
# /home/user

ls 命令,全称是 list,用于列出当前工作目录的内容,常用的参数如下:

  • -a:显示所有文件,包括隐藏的文件和目录
  • -l:显示详细信息,如果没有此参数,则只会显示名称
  • -t:显示的内容按修改时间排序
  • -s:显示的内容按文件大小排序
> ls -l
# drwxrwxr-x 2 user user 4096 Sep 12 16:05 folder
# -rw-rw-r-- 1 user user   12 Sep 12 16:00 file

加上 -l 参数后,每个文件或目录显示的内容包含七个字段,各个字段的具体含义如下:

  1. 文件描述:这个在下一篇文章中会有详细的介绍,感兴趣的朋友不妨先睹为快
  2. 子项数目:若是文件,则值为 1;若是目录,则为该目录中包含的子目录和文件的总数目
  3. 文件所有者
  4. 文件所属组
  5. 文件大小,以 Byte 为单位,目录多以 4096 表示
  6. 修改时间,格式为 Month Day Hour:Minute
  7. 文件名称

cd 命令,全称是 change directory,用于切换工作目录,几个常用目录的切换命令如下:

  • cd ~  :切换到主目录,该命令可简写为 cd
  • cd /  :切换到根目录
  • cd -  :切换到前一个目录
  • cd ..:切换到上一级目录
> cd

cp 命令,全称是 copy,用于复制文件与目录,常用的参数如下:

  • -r:将子目录和文件一同复制,在复制目录时使用
  • -p:除了复制内容,还把修改时间和访问权限一同复制
  • -d:复制时保留链接
  • -f:若 destination 中存在同名文件,直接覆盖
  • -i:若 destination 中存在同名文件,要求用户确认是否覆盖
  • -a:常用于复制目录,相当于 -dpr 的组合
> cp [option] source0 [,source1 [,source2 [,...]]] destination

mv 命令,全称是 move,用于移动文件与目录,常用的参数如下:

  • -f:若 destination 中存在同名文件,直接覆盖
  • -i:若 destination 中存在同名文件,要求用户确认是否覆盖
> mv [option] source0 [,source1 [,source2 [,...]]] destination

技巧:该命令可以用于重命名文件,例如将 A 重命名为 B,则可以写作 mv A B


rm 命令,全称是 remove,用于删除文件与目录,常用的参数如下:

  • -r:将子目录和文件一同删除,在删除目录时使用
  • -f:强制删除,无论文件或目录现在是什么状态都会删除
  • -i:删除前逐一询问是否要删除
> rm [option] source0 [,source1 [,source2 [,...]]]

注意:使用这个命令时一定要格外小心,因为在 Linux 中删除等于永久移除,永远也找不回来了


ln 命令,全称是 link,用于建立链接文件

> # 建立硬链接,此时新文件和原文件都指向同一份数据(实际上是指向同一个 i-node)
> ln source destination
> # 建立软链接,此时新文件只会存储原文件的位置信息,并不保存任何实际的文件内容
> ln -s source destination

这里直接用例子来说明:

> # 建立一个文件 fileA
> touch fileA
> # 创建 fileA 的硬链接 fileB
> ln fileA fileB
> # 创建 fileA 的软链接 fileC
> ln -s fileA fileC
# 此时三个文件的关系,大致可以用下图表示
#
#         i-node(指向实际保存数据的磁盘块)
#          /  \ 
#         /    \
#     fileA    fileB
#      /
#     /
#   fileC(保存了 fileA 的位置信息)
> # 写入 fileA
> echo "Hello World" > fileA
> # 查看 fileB 的内容,发现与 fileA 的内容相同
> # 因为 fileB 和 fileA 指向同一个 i-node,所以读取的数据是一样的
> cat fileB
> # 查看 fileC 的内容,发现与 fileA 的内容相同
> # 因为 fileC 首先根据保存的位置信息找到 fileA,然后根据 fileA 指向的 i-node 读取磁盘内容
> cat fileC
> # 删除 fileA
> rm fileA
# 此时三个文件的关系,大致可以用下图表示
#
#         i-node(指向实际保存数据的磁盘块)
#             \ 
#              \
#              fileB
#       
#      
#   fileC(保存了 fileA 的位置信息)
> # 查看 fileB 的内容,发现和原来的一样
> # 删除 fileA 并不影响 fileB 指向原来的 i-node
> cat fileB
> # 查看 fileC 的内容,发现找不到对应的文件
> # 删除 fileA,fileC 根据保存的位置信息找不到 fileA
> cat fileC

mkdir 命令,全称是 make directory,用于创建目录

> mkdir folder

顺便补充一下,创建一个文件,可以用 touch 命令来实现

> touch file

cat 命令,全称是 concatenate,用于读取并打印内容,常结合重定向符一起使用

若没有指定文件,则从键盘读取内容;如果有指定文件,则从文件读取内容

> # 由键盘读取内容,并通过重定向符写入到文件
> cat > file
> # 由键盘读取内容,并通过重定向符追加到文件
> cat >> file
> # 由文件读取内容,并打印在屏幕上,可用于查看文件
> cat file
> # 由文件读取内容,并通过重定向符追加到另一个文件,可用于拼接文件
> cat file >> file2

由键盘读取内容时,按 Enter 确认输入,按 Ctrl+C 结束输入


more命令,用于分页显示文件内容,对于长文件的阅读来说比较适合

> more file

在此阅读模式下,按Enter 滚动到下一行,按 Space 跳转到下一页,按 q 退出


less 命令,交互式地显示文件内容,对于长文件的阅读来说比较适合

> less file
• 1

在此阅读模式下,可以用方向键 控制屏幕滚动,按 q 退出


head 命令和 tail 命令,分别用于显示文件最前面和最后面的内容,常用的参数如下:

  • -c Number:指定显示 最前/最后 Number 个字节
  • -n Number:指定显示 最前/最后 Number 行
> # 显示文件最前面 5 个字节
> head -c 5 file
> # 显示文件最后面 5 行
> tail -n 5 file

文章知识点与官方知识档案匹配,可进一步学习相关知识

目录
相关文章
|
8月前
|
网络协议 Java Linux
Linux学习笔记
Linux学习笔记
114 0
|
8月前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux 读取命令 read命令使用指南
【Shell 命令集合 文件管理】Linux 读取命令 read命令使用指南
106 0
|
8月前
|
监控 网络协议 Shell
【Shell 命令集合 文件管理】Linux 远程文件复制命令 rcp 命令使用教程
【Shell 命令集合 文件管理】Linux 远程文件复制命令 rcp 命令使用教程
101 0
|
8月前
|
Shell Linux C语言
【Shell 命令集合 文件管理】Linux 删除 rm命令使用指南
【Shell 命令集合 文件管理】Linux 删除 rm命令使用指南
198 0
|
4月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
3月前
|
存储 安全 Linux
Linux文件管理命令md5sum awk
通过结合 `md5sum`和 `awk`,不仅可以高效地进行文件完整性校验,还能灵活地处理和分析校验结果,为系统管理、数据审计等工作提供强大的支持。
98 2
|
3月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
53 3
|
3月前
|
存储 Linux
Linux文件管理(超详细讲解)
Linux文件管理(超详细讲解)
294 5
|
4月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
5月前
|
存储 Linux Shell
Linux 导航和文件管理
Linux 导航和文件管理
33 0