前言:
在今天的学习中,我们将会学习到ls,touch,mkdir,rmdir,cp,pwd,man等指令用法以及所属知识点讲解,在Linux所使用的环境为:Ubuntu 20.04 server 64bit。
一、目录类指令
我们将会介绍以下指令:
whoami,ls,pwd,mkdir,rmdir,touch,rm,cd
1.1 whoami
- 功能:打印用户有效id
- 语法:whoami
1.2 pwd
- 功能:显示用户当前所在的目录
- 语法: pwd
1.3 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 一行只输出一个文件。
注意:以上不需要特别记忆,需要用到时,进行查询即可。
这里,我们说一下,以上不同的选项可进行组合。如:-a,-l。可组合为以下几种:-al,-a -l,-la,-l -a。四种,其表的意思皆相同。
里面的文件先不用管,看看结果即可。
其中ls -l的缩写就是ll指令,ll并非系统原生的指令,而是一种简写。
1.4 touch
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
语法:touch [选项]... 文件...
1.5 mkdir
功能:在当前目录下创建一个名为 “dirname”的目录。
语法:mkdir [选项] dirname...
选项: -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立 好那些尚不存在的目录,即一次可以建立多个目录;
如果,要建立一个多目录,即:a/b/c/d/e,我们要借助指令-p来完成。
对于tree指令,有的服务器没有按照,我们可输入以下指令进行安装:apt install -y tree
1.6 rmdir
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
语法:rmdir [-p][dirName]
常用选项: -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
该指令,我们用的不多,我们主要使用下面这个。
1.7 rm
功能: 删除文件或目录
语法: rm [-f-i-r-v][dirName/dir]
适用对象: 所有使用者
常用选项:
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件
1.8 cd
功能: 改变工作目录。将当前工作目录改变到指定的目录下。
语法: cd 目录名
用例:
cd .. : 返回上级目录 cd /root/test/dir3 : 绝对路径 cd ../dir3 : 相对路径 cd ~:进入用户家目 cd -:返回最近访问目录
绝对路径:绝对路径就是从我们的根目录下(/), 定位到某一个特定位置, 具有唯一性的路径叫做绝对路径。
相对路径:如果我们目前在mydir目录/或文件下, 如果test目录下还有一个dir3,那么../dir3就是dir3相对于mydir的相对路径。
二、目录
在Linux系统中,我们会建立一个有一个的目录,那么?我们该如何理解呢?目前大家使用最多的系统应该为:Windows系统。在该系统中,我们进行存储内容时,会建立一个又一个的文件夹。所以,我们可以大胆推测:目录 == 文件夹。
与Windows系统文件分割不同,Windows使用\进行分割,Linux系统使用/进行分割。
对于路径,大家学过了二叉树应该都能明白,其存储的本质就是多叉树。
这里说一下. 与 .. 的作用
我们可以用cd指令对目录或者文件进行访问,当我们使用cd . 的指令时,就是对目前目录/文件进行访问,使用cd .. 指令时,就是对他的上一级目录进行访问。其他指令也是如此。
我们这里注意:对于root也就是最顶端的节点,我们使用.与..效果相同,不会访问其上级,因为它就是老大,不允许践踏其尊严!
那么,我们如何区分目录和文件呢?很简单!
前面以d开头的为目录,以-开头的为文件夹
三、man指令
我们这时有个问题:当我们遗忘某个指令用法时,我们该如何处理呢?总不能一直从网上搜集资料吧!我们就要查文档,那该如何查询呢?
这时,我们就可以使用man指令了。
语法: man [选项] 命令
man一共有八章,其中重要的是前三章。前八章内容分别为:
1 是普通的命令
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3 是库函数,如printf,fread
4是特殊文件,也就是/dev下的各种设备文件
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig
用法如下:
-k 根据关键字搜索联机帮助 num 只在第num章节找
-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。
完!