目录
何为指令
基本常用指令
1.clear
2.exit
3.whoami
4.pwd
5.which
6.alias
7.tree
ls指令
pwd指令
cd指令
touch指令
mkdir指令
rmdir指令 && rm指令
rmdir指令
rm指令
man指令
cp指令
何为指令
指令的本质其实就是可执行程序。
指令 == 可执行文件 == C/C++程序
基本常用指令
1.clear
清屏。
2.exit
退出当前连接机器。
3.whoami
显示当前用户。
显示我当前是root用户
4.pwd
全称Print Working Directory,打印用户当前所在目录。
当前目录是root
在Linux中,目录 == 文件夹
目录就像我们在windows系统里的文件夹
- 文件 == 内容 + 属性。
内容就是我们在文件中写入的字母汉字等,而文件的属性就是文件的类型大小修改时间等等,我们往往容易忽略文件的属性,但文件属性是学习文件的所必须要理解的。
有关文件的属性,就拿文件的类型举例子,有txt、pdf、zip等等。
5.which
显示指令所在目录
6.alias
给指令起别名
这个别名是临时的,当你退出你的机器重新上线后,这个别名就是失效了。
检查一个指令是否在你的系统中是另一个的指令别名。
以ll 与 ls -l举例。
7.tree
打印连续目录
tree .
打印当前连续目录
ls指令
全称: list directory contents,列出目前工作目录所含的文件及子目录。
语法:ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
ls指令选项:
- -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
- -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录。
- -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件。
- -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件。
- -l 列出文件的详细信息。
- -n 用数字的 UID,GID 代替名称。
- -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。
- -r 对目录反向排序。
- -t 以时间排序。
- -s 在l文件名后输出该文件的大小。
- -R 列出所有子目录下的文件。(递归)
- -1 一行只输出一个文件。
1.只有ls
mydir是我新建的目录,也就是文件夹,该文件夹为空。(新建目录在mkdir指令)
2.ls -l
如何判断是目录还是普通文件?
3.ls -a
在Linux中,以点.开头的文件是隐藏文件,ls -a就是专门打印隐藏文件的,其它ls指令都做不到。
多个选项可以分开写,可以连着写,可以不按顺序写。
以ls -l 和ls -a举例
4.ls -l 与 ll
在大多数类 Linux 系统中,ll 通常是 ls -l 的别名。这个前面提到了,现在再说一下加深记忆。
这样做的原因是方便书写。
在Ubuntu 20.04下,在其他发行版本可能有所不同。
pwd指令
全称:Print Working Directory,显示当前用户的目录
这个指令没有选项,比较简单,不多赘述。
当前目录是/root/mydir
cd指令
全称:Change directory,改变目录。
我们在Windows中使用鼠标双击打开文件夹,而在Linux中,cd指令的功能就是类似的。
语法:cd目录名
功能:改变工作目录,将当前工作目录改变到指定的目录下。
常用的cd指令:
cd. . :返回上一级目录
cd /home/linux/ :绝对路径
cd . ./day02/ :相对路径
cd ~ :进入用户家目录
cd - :返回最近访问目录
在Windows系统中,使用反斜杠 ' \ ' 作为路径分隔符。
在Linux系统中,使用斜杠 ' / ' 作为路径分隔符。
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件,这颗树也是一颗多叉树。
在Linux中,任何一个目录(包括空目录),系统默认都会带 . 和 .. 目录,它们分别是当前目录和上级目录。
' / ' Linux中是非常特殊的目录,称为根目录,当我们使用cd ..一直回退到根目录时就不能在回退了。
绝对路径:从根目录起始一路经过多个目录定位到某一个具体的目录或者文件。
相对路径:以当前位置为起点,然后去定位到具体文件。
touch指令
语法:touch [选项] .. 文件 ...
功能:touch命令可以新建一个不存在普通文件,也可更改文档或者目录的日期时间,包括存取时间和更改时间
- -a 或- -time=atime或- -time=access或- -time=use只更改存取时间。
- -c 或- -no-create 不建立任何文档。
- -d 使用指定的日期时间,而非现在的时间。
- -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
- -m 或- -time=mtime或- -time=modify 只更改变动时间。
- -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
- -t 使用指定的日期时间,而非现在的时间。
新建一个test .cpp文件。
补充知识,用stat获取文件的Acess、Modify、Change时间。
-
访问时间(Access Time):指的是文件最后一次被打开或读取的时间。这个时间戳记录了文件内容被访问的事件。
-
修改时间(Modify Time):指的是文件最后一次被修改的时间。这通常发生在文件内容被写入或更改时。
-
改变时间(Change Time):有时也称为元数据改变时间(Metadata Change Time),指的是文件的元数据最后一次被修改的时间。元数据包括文件的权限、所有者、链接数等属性,不包括文件内容的修改。
mkdir指令
全称:make directory,用于创建目录。
语法:mkdir [选项] dirname…
功能:在当前目录先创建一个名为"dirname"的目录常用选项:-p , - - parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
创建一个dir1的目录
创建一个连续的目录 /dir1/dir2/dir3
可以用tree指令打印连续目录,但有些系统没有装,得装了先。
Ubuntu :apt install (-y) tree 用该指令安装。
Centos : yum install -y tree
tree dir1
用-p 选项创建一串目录,并用tree打印。
rmdir指令 && rm指令
rmdir指令
全称:Remove directory,删除空目录。
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除目录。
【语法】:rmdir [-p][dirName]
【适用对象】:具有当前目录操作权限的所有使用者
【功能】:删除空目录
【常用选项】:-p 当子目录被删除后如果父目录也变成空目录的化,就连带父目录一起删除
删除/d空目录
这个指令只能删除空目录,不能删除连续的目录,较为局限。
rm指令
rm也就是remove,可以删除文件或者目录。
语法:rm [选项][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录常用选项:
- -f 即使文件属性为只读(即写保护),亦直接删除(强制删除)。
- -i 删除前逐一询问确认。
- -r 删除目录及其下所有文件。
rm默认只能删除普通文件。
删除dir1及其底下的所有目录。(要加 -r)
man指令
Linux 中的指令选项有很多,很难将其全部记住,当遇到不熟悉的指令时,我们就可以使用 man 指令去查询 Linux 的联动手册
语法:man [选项] 指令
常用选项:
- -k 根据关键字搜索联机帮助
- num 只在 num 章节找
- -a 将所有章节显示出来
1.我们来查下 ls 指令,我们就能查到有关 ls 指令的用法信息。
2.我们也能对 man 指令进行查询。
Linux 手册的内容是分章节的,不同内容对应不同章节,上面就是章节号及其对应的内容。
- 1 是普通的命令
- 2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要 加什么头文件)
- 3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
- 5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
- 6 是给游戏留的,由各个游戏自己定义
- 7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
- 8 是系统管理用的命令,这些命令只能由root使用,如ifconfig
3.查询 C 语言的 printf 函数,就是章节 3 中的库函数。
cp指令
语法:cp [选项] 源文件或者目录 目标文件或目录
功能:复制文件或者目录到指定目录
常用选项:
- -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
- -i 或 --interactive 覆盖文件之前先询问用户
- -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录 或符号链 接,则一律视为普通文件处理
- -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
1.拷贝文件到当前目录,同一目录的文件不许重名,所以拷贝得到的文件名不能与源文件的名字一样。
2.拷贝文件到指定目录,若指定目录不存在,则报错。
3.拷贝目录到指定目录,要带 -r 选项。
拜拜,下期再见😏
摸鱼ing😴✨🎞