一、文件
目录和文件是在磁盘上建立的,空文件是在磁盘上占用空间的(文件包括文件内容和文件的各种属性/元数据)即使本身没有内容,文件的各种属性也要占用空间。
文件等于文件内容数据加上文件属性数据。一般顺序:目录——文件夹——其他文件。
在windows系统中,我们以路径标识一个文件,如:"D:\zdl的c++\c-code\C++11"。而在Linux系统中也是这样,只不过是通过 / 作为路径分隔符。
路径则分为两类:1、绝对路径:从根目录开始,依次按树状结构向后进行查找定义称为绝对路径。2、相对路径:相对于当前所处的路径,当前的相对位置查找所处的位置。
使用路径标识文件的特点:从根目录到所在文件的路径具有唯一性。
Linux系统中,磁盘上的文件和目录组成一颗目录树,每个节点都是目录或文件。如下图:
目录树分为叶子节点和路上节点。对于叶子节点,既最后一层,可以有普通文件或者空目录,而路上节点只能是目录。
二、常见指令
linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。
想要熟练操作linux,就必须熟练使用各种常见的命令。接下来我们就来学习学习常见的命令。
1、pwd
语法: pwd
功能:显示当前所处的路径。
演示:
2、ls
语法:ls
功能:显示当前路径下的文件名
演示:
ls除了单独使用外还可以携带选项
常用选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如: ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。 ls –alk 指定文件
-l 列出文件的详细信息。
-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型, “*”表示可执行的普通文件; “/”表示目录; “@”表
示符号链接; “|”表示FIFOs; “=”表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。 (递归)
-1 一行只输出一个文件。
ls的选项有些多,下面我们选出几个重点来看一看。
1、ls -a
ls指令不显示隐藏文件,ls -a指令会显示隐藏文件。其作用就是相当于在windows下查看隐藏文件。
首先,我们需要来了解一下隐藏文件。在Linux中,以点开头的文件我们叫做隐藏文件。
上图第四行的前两个蓝色标记就表示隐藏文件。
我们使用命令来创建一个隐藏文件,来进行更直观的观察。如下:
下面对比一下ls 和 ls -a的作用:
第一行我们先创建了一个隐藏文件,使用 ls -a 能看见它,而使用 ls 则不能看见它。
2、ls -l
显示当前路径下的文件或者目录的更详细的属性信息。如下图:第6行显示出来了文件的创建时间等文件属性。
指令 ll 与 ls -l 的作用效果相同:
3、ls -i
功能:查看文件的 inode编号。
3、touch
语法:touch 文件名
功能:在当前路径下创建一个普通文件(touch命令可更改文档或目录的最近修改的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件)
演示:我们在创建了一个文件后可以通过 ls 来显示文件。
4、mkdir
语法:mkdir 文件名/目录名
功能:在当前路径下创建一个目录/文件夹(在当前目录下创建一个名为 “dirname”的目录)
演示:蓝色字体表示目录。
mkdir -p :创建一串路径(一次性创建多个目录)。
5、cd
语法:cd 目录名
功能:进入一个路径(改变工作目录,将当前工作目录改变到指定的目录下)
演示:
再如下图:
如上图,在 linux 中, 一个点(可使用 . 限定我们要执行的可执行程序在什么位置)表示当前路径,两个点(可帮助我们切换路径)表示直接上级路径。有了这两个概念,cd还可以像下面这样使用:
cd .. 返回上级目录。 就相当于windows下的返回作用。演示:(root前面的 / 叫做根目录)
cd - 返回到刚刚(上次)访问的目录。
6、rmdir 和 rm
rmdir:默认只能删除一个空目录。
rm:默认删除普通文件。如下图:
rm -f 强转删除。 rm -r 删除目录及其下所有文件(递归删除)。 rm -rf 强制递归删除所有文件。
7、man
Linux的命令有很多选项,我们不可能全记住,但是我们可以通过查看联机手册获取命令的信息。要使用man命令,需要安装man手册(在root用户下:输入命令yum install -y man-pages)。
语法:man [选项] 命令
8、cp
语法: cp [选项] 源文件或目录 目标文件或目录。
功能: 拷贝(复制)文件或目录(拷贝不是剪切)。
cp[选项] p1 p2 :将p1拷贝到p2。
cp -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。
cp -f 强行复制文件或目录, 不论目的文件或目录是否已经存在。
演示:将 zdl.txt 拷贝到了d3目录中。