文件和目录

  • file — 确定文件类型

  • less — 浏览文件内容

  • cp — 复制文件和目录

  • mv — 移动/重命名文件和目录

  • mkdir — 创建目录

  • rm — 删除文件和目录

  • ln — 创建硬链接和符号链接

确定文件类型

在 Linux 系统中,并不要求文件名来反映文件的内容。当调用 file 命令后,file 命令会打印出文件内容的简单描述。例如

cbwleft@cbwleft-VirtualBox:~/Desktop$ file gnome-terminal.desktop 
gnome-terminal.desktop: a /usr/bin/env xdg-open script, ASCII text executable

用 less 浏览文件内容

一旦 less 程序运行起来,我们就能浏览文件内容了。如果文件内容多于一页,那么我们可以上下滚动文件。按下“q”键, 退出 less 程序。

下表列出了 less 程序最常使用的键盘命令。

命令行为
Page UP or b 向上翻滚一页
Page Down or space 向下翻滚一页
UP Arrow 向上翻滚一行
Down Arrow 向下翻滚一行
G 移动到最后一行
1G or g 移动到开头一行
/charaters 向前查找指定的字符串
n 向前查找下一个出现的字符串,这个字符串是之前所指定查找的
h 显示帮助屏幕
q 退出 less 程序

通配符范例

模式匹配对象
* 所有文件
g* 文件名以“g”开头的文件
b*.txt 以"b"开头,中间有零个或任意多个字符,并以".txt"结尾的文件
Data??? 以“Data”开头,其后紧接着3个字符的文件

http://billie66.github.io/TLCL/book/chap05.html

mkdir - 创建目录

mkdir [OPTION]... DIRECTORY...

注意表示法: 在描述一个命令时(如上所示),当有三个圆点跟在一个命令的参数后面, 这意味着那个参数可以重复,就像这样:

mkdir dir1 dir2 dir3

cp - 复制文件和目录

cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
 
选项意义
-a, --archive 复制文件和目录,以及它们的属性,包括所有权和权限。 通常,复本具有用户所操作文件的默认属性。
-i, --interactive 在重写已存在文件之前,提示用户确认。如果这个选项不指定, cp 命令会默认重写文件。
-r, --recursive 递归地复制目录及目录中的内容。当复制目录时, 需要这个选项(或者-a 选项)。
-u, --update  当把文件从一个目录复制到另一个目录时,仅复制 目标目录中不存在的文件,或者是文件内容新于目标目录中已经存在的文件。
-v, --verbose 显示翔实的命令操作信息

mv - 移动和重命名文件

mv 命令可以执行文件移动和文件命名任务,这依赖于你怎样使用它。任何一种 情况下,完成操作之后,原来的文件名不再存在。mv 使用方法与 cp 很相像:

rm - 删除文件和目录

类 Unix 的操作系统,比如说 Linux,没有复原命令。一旦你用 rm 删除了一些东西, 它就消失了。Linux 假定你很聪明,你知道你在做什么。

比如历史上比较著名的bug:1.4.31 版本的 bumblebee

不小心多出来的一个空格结果是删除了整个usr目录

ln — 创建链接

ln 命令即可创建硬链接,也可以创建符号链接。可以用其中一种方法来使用它:

ln file link
创建硬链接,和:
ln -s item link
创建符号链接,”item” 可以是一个文件或是一个目录。

硬链接

硬链接和符号链接比起来,硬链接是最初 Unix 创建链接的方式,而符号链接更加现代。 在默认情况下,每个文件有一个硬链接,这个硬链接给文件起名字。当我们创建一个 硬链接以后,就为文件创建了一个额外的目录条目。硬链接有两个重要局限性:

  1. 一个硬链接不能关联与链接本身不在同一个磁盘分区上的文件。

  2. 一个硬链接不能关联一个目录。

一个硬链接和文件本身没有什么区别。不像符号链接,当你列出一个包含硬链接的目录 内容时,你会看到没有特殊的链接指示说明。当一个硬链接被删除时,这个链接 被删除,但是文件本身的内容仍然存在(这是说,它所占的磁盘空间不会被重新分配), 直到所有关联这个文件的链接都删除掉。知道硬链接很重要,因为你可能有时 会遇到它们,但现在实际中更喜欢使用符号链接,下一步我们会讨论符号链接。

符号链接

它和 Windows 的快捷方式差不多,如果先于符号链接删除文件,这个链接仍然存在,但是不指向任何东西。在这种情况下,这个链接被称为坏链接。在许多实现中,ls 命令会以不同的颜色展示坏链接,比如说红色,来显示它们的存在。

对于符号链接,有一点值得记住,执行的大多数文件操作是针对链接的对象,而不是链接本身。 而 rm 命令是个特例。当你删除链接的时候,删除链接本身,而不是链接的对象。

 

Linux 系统中的目录

目录评论
/ 根目录,万物起源。
/bin 包含系统启动和运行所必须的二进制程序。
/boot

包含 Linux 内核,最初的 RAM 磁盘映像(系统启动时,由驱动程序所需),和 启动加载程序。

有趣的文件:

  • /boot/grub/grub.conf or menu.lst, 被用来配置启动加载程序。
  • /boot/vmlinuz,Linux 内核。
/dev 这是一个包含设备结点的特殊目录。“一切都是文件”,也使用于设备。 在这个目录里,内核维护着它支持的设备。
/etc

这个目录包含所有系统层面的配置文件。它也包含一系列的 shell 脚本, 在系统启动时,这些脚本会运行每个系统服务。这个目录中的任何文件应该是可读的文本文件。

有意思的文件:虽然/etc 目录中的任何文件都有趣,但这里只列出了一些我一直喜欢的文件:

  • /etc/crontab, 定义自动运行的任务。
  • /etc/fstab,包含存储设备的列表,以及与他们相关的挂载点。
  • /etc/passwd,包含用户帐号列表。 
/home 在通常的配置环境下,系统会在/home 下,给每个用户分配一个目录。普通只能 在他们自己的目录下创建文件。这个限制保护系统免受错误的用户活动破坏。
/lib  包含核心系统程序所需的库文件。这些文件与 Windows 中的动态链接库相似。
/lost+found  每个使用 Linux 文件系统的格式化分区或设备,例如 ext3文件系统, 都会有这个目录。当部分恢复一个损坏的文件系统时,会用到这个目录。除非文件系统 真正的损坏了,那么这个目录会是个空目录。
/media  在现在的 Linux 系统中,/media 目录会包含可移除媒体设备的挂载点, 例如 USB 驱动器,CD-ROMs 等等。这些设备连接到计算机之后,会自动地挂载到这个目录结点下。
/mnt 在早些的 Linux 系统中,/mnt 目录包含可移除设备的挂载点。
/opt 这个/opt 目录被用来安装“可选的”软件。这个主要用来存储可能 安装在系统中的商业软件产品。
/proc 这个/proc 目录很特殊。从存储在硬盘上的文件的意义上说,它不是真正的文件系统。 反而,它是一个由 Linux 内核维护的虚拟文件系统。它所包含的文件是内核的窥视孔。这些文件是可读的, 它们会告诉你内核是怎样监管计算机的。
/root root 帐户的家目录。
/sbin 这个目录包含“系统”二进制文件。它们是完成重大系统任务的程序,通常为超级用户保留。
/tmp 这个/tmp 目录,是用来存储由各种程序创建的临时文件的地方。一些配置,导致系统每次 重新启动时,都会清空这个目录。
/usr 在 Linux 系统中,/usr 目录可能是最大的一个。它包含普通用户所需要的所有程序和文件。
/usr/bin /usr/bin 目录包含系统安装的可执行程序。通常,这个目录会包含许多程序。
/usr/lib 包含由/usr/bin 目录中的程序所用的共享库。 
/usr/local 这个/usr/local 目录,是非系统发行版自带,却打算让系统使用的程序的安装目录。 通常,由源码编译的程序会安装在/usr/local/bin 目录下。新安装的 Linux 系统中,会存在这个目录, 但却是空目录,直到系统管理员放些东西到它里面。
/usr/sbin 包含许多系统管理程序。 
/usr/share /usr/share 目录包含许多由/usr/bin 目录中的程序使用的共享数据。 其中包括像默认的配置文件,图标,桌面背景,音频文件等等。
/usr/share/doc 大多数安装在系统中的软件包会包含一些文档。在/usr/share/doc 目录下, 我们可以找到按照软件包分类的文档。
/var 除了/tmp 和/home 目录之外,相对来说,目前我们看到的目录是静态的,这是说, 它们的内容不会改变。/var 目录是可能需要改动的文件存储的地方。各种数据库,假脱机文件, 用户邮件等等,都驻扎在这里。
/var/log 这个/var/log 目录包含日志文件,各种系统活动的记录。这些文件非常重要,并且 应该时时监测它们。其中最重要的一个文件是/var/log/messages。注意,为了系统安全,在一些系统中, 你必须是超级用户才能查看这些日志文件。

完整的 Linux 文件系统层次体系标准可通过以下链接找到:

http://www.pathname.com/fhs/

 

posted on 2015-11-17 20:41  cbwleft  阅读(125)  评论(0)    收藏  举报