一道残阳铺水中
半江瑟瑟半江红
目录
Linux基本指令
罗列目录内容:ls 指令
显示当前目录位置信息:pwd 指令
切换工作目录:cd 指令
创建文件修改时间戳:touch指令
创建空目录:mkdir指令
删除空目录:rmdir指令
删除非空目录或文件:rm指令
查手册:man指令
复制文件或者目录:cp指令
记事本的编辑:nano指令
Linux基本指令
罗列目录内容:ls 指令
概念:罗列当前目录下的指定文件或者目录
格式:
ls (空格)[-选项][目录或文件] 例如 :ls -a tank.txt
注意:
- 个别命令使用不遵循此格式。比如:直接使用 ls 或者 不写入文件或者目录
- 当有多个选项时,可以写在一起。比如:ls -la
常用选项:ls :罗列当前目录的内容ls -l :查看详细信息,元素数据信息(用户、组、大小、创建时间、权限信息、文件类型)ls -a :查看所有文件包括隐藏文件 ( 以 . 开头的文件 )ls -al 或者 ls -la (指令的顺序随意):两个指令的功能并用,查看所有文件的详细内容
为了更好的观察目录下的文件名我们这里安装了 tree 进行展示:
安装指令
yum install -y tree
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件
(跟数据结构知识的联系)
这样我们就具体的知道当前目录下有哪些文件
格式: tree[路径]
我们这里的 . 表示在当前路径下
ls 罗列当前目录的内容
这样当前目录下的目录信息和文件信息都对的上了
ls -l 查看详细信息,元素数据信息
我们这里可以看到看到:用户、组、大小、创建时间、权限信息、文件类型的详细信息
不写目录或者文件名表示查看所有信息,当然我们也可以指定查看具体文件的信息,比如:
这里就只显示了 tank.txt 文件的信息啦 ~
注意:因为这个指令非常常用所以 Linux 将 ls -l 简化成 ll
ls -a 查看所有文件包括隐藏文件
这里 . 表示当前路径,.. 表示上一级路径
ls -al 查看所有文件的详细内容
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 一行只输出一个文件。
显示当前目录位置信息:pwd 指令
概念:显示用户当前所在的目录
格式:
pwd
常用选项:无
Linux 下的 /符号 是路径分割符,而我们起始的目录 /root 称之为根目录
切换工作目录:cd 指令
概念:改变工作目录,将当前工作目录改变到指定的目录下
格式:
cd 目录名
常用选项:
cd .. :返回上级目录cd + 绝对路径:例如,/root/Mack/Tankcd + 相对路径:例如,./Tankcd ~:进入用户家目cd - :返回最近访问目录
cd + 绝对路径
此时我们还在 root根目录 下,cd 之后就到了指定的路径下
绝对路径是从 /斜线根 开始的路径
cd + 相对路径
相对路径是不从 /斜线 开始的路径,而是从当前目录或指定的目录开始
热键:
<1>在使用cd命令时,如果使用键盘上 Tab键 的自动补齐功能,可以提高输入速度和准确度
这个 Tab键 的自动补齐功能同样适用于其他命令
(是连续按两次哦~)
<2>在指令输错的时候,可以按 ctrl + c 进行终止
cd ~ 进入用户家目
root 用户首次登录,所处的路径,叫做 root 的家目录
如下图首次登入的路径是 /root 就是家目录
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 使用指定的日期时间,而非现在的时间。
创建一个文件
创建多个文件
注意:以上我们创建多个同名文件(一个数字之差),若我们想要查看这类文件的所有内容
我们可以 文件名* 进行访问
创建空目录:mkdir指令
概念:在当前目录下创建一个空目录
格式:mkdir [选项] 文件名
常用选项:
mkdir -p :递归创建多个空目录
mkdir 创建一个空目录
mkdir -p 创建多个空目录
当前目录中创建了多个目录
当前目录往后依次进行创建(每个目录中创建一个空目录)
我们先进入 My目录 再递归创建 4 个空目录,然后 tree . 一下就知道创建是否成功
为什么是递归创建呢?原因是我们的 Linux 中文件和目录都是由一个树组成的
而树我们在数据结构中学过是递归创建的
删除空目录:rmdir指令
概念:rmdir是一个与mkdir相对应的命令。mkdir是建立空目录,而rmdir是删除空目录
格式:
rmdir 文件名
常用格式:
rmdir -p :当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除
rmdir 删除空目录
rmdir -p 递归删除空目录
那怎么删除非空目录呢?我们这里引出一条指令 -- rm
删除非空目录或文件:rm指令
概念:可以同时删除文件或目录
格式:
rm [选项] 文件名
常用选项:
rm -f : 即使文件属性为只读 ( 即写保护 ) ,亦直接删除rm -i : 删除前逐一询问确认rm -r : 删除目录及其下所有文件rm -rf :直接删除当前目录下的所有内容
rm -r 递归删除目录及其以下所有文件(但是要询问,因为你是Boss,怕出错所以反复询问)
因为我的 dir1 中有一个 dir2 目录所以是非空目录
删除的时候要递归到最后一个目录,再回溯往前删除文件及目录
rm -fr 递归删除目录及其以下所有文件(无需询问,直接删除)
查手册:man指令
安装 man指令 的代码
yum install -y man-pages
概念:Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助
格式:man [选项] 查询命令
常用选项:
-k 根据关键字搜索联机帮助 -num 只在第num章节找 -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕
手册的内容:
解释一下, 手册分为 8 章1 是普通的命令2 是系统调用 , 如 open,write 之类的 ( 通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)3 是库函数, 如 printf,fread4 是特殊文件, 也就是 /dev 下的各种设备文件5 是指文件的格式, 比如 passwd, 就会说明这个文件中各个字段的含义6 是给游戏留的, 由各个游戏自己定义7 是附件还有一些变量, 比如向 environ 这种全局变量在这里就有说明8 是系统管理用的命令, 这些命令只能由 root 使用, 如 ifconfig
以下举个例子~ 比如说我 C语言 中的 srtren函数 忘记了,想在 Linux 中查找资料
当我输入完这条指令时,页面就会跳转到函数的简介
我们查询完毕,按 q 退出查询
复制文件或者目录:cp指令
概念:将一个目录或者文件的内容拷贝到另一个目录或者文件上
格式:
cp [选项] 源文件或目录 目标文件或目录
常用选项:
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在 -i 或 --interactive 覆盖文件之前先询问用户 -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理 -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
cp 将源文件拷贝到目标文件中
cat -- 指令是查看文件内容
cp -r 将源目录拷贝到目标目录中
因为目录是树形结构,所以我们要递归拷贝~
记事本的编辑:nano指令
安装记事本的代码
yum install -y nano
格式:
nano [文件名][后缀]
我这里举个栗子~
我们输入 nano指令 并创建好文件后就会进入编辑界面
在这个地方按 clrt+x键 之后,按 Y + enter(回撤)就能退出编辑
如果想要运行还需要安装我们的 gcc 编译器:
gcc 编译器的安装指令
sudo yum install gcc
然后编译链接运行即可~