Linux基础指令

一级目录

二级目录

三级目录

一、基础概念

在使用各种指令之前需要知道一些名词与概念

1.在系统上磁盘的文件是成树状的,一个文件夹里面可以有多个文件夹与文件

这个所说的系统可以是Linux系统或者Windows系统
我们电脑上所在的C盘上点进去可以看到多个文件夹或者文件
Linux上也是树状存储结构,而此时我的最外层的文件夹是’ / ',也称为根目录,因为它像是一棵树的根
在这里插入图片描述
在这里插入图片描述
这时我root目录下的文件,形象的树形结构
在这里插入图片描述

2.文件夹可以称为目录,有时候说创建目录就是创建文件夹

为什么可以把文件夹称为目录
个人理解是目录包含下一级的所有文件,而文件夹也包含下一级所有文件
两个理念在这时可以说是相同的

3.文件分为文件属性与文件内容,一个空的文件也需要空间存储文件属性

在这里插入图片描述
可以看到一个txt文件有几个信息,在此注意的是类型、大小
txt文件的大小是0KB,但一个文件的外壳都不存储(文件属性)怎么存内容

4.建议使用软件Xshell 7

Xshell 7是连接服务器的软件,这时建议服务器去购买或者白拿
渠道是阿里云、华为云、腾讯云,当然首先得建议是大公司的服务器
白拿,在阿里云上有学生优惠与免费使用,完成一些任务可以白拿三个月或者七个月
为啥建议云服务器,不使用VM虚拟机配合CentOS那些虚拟机,或者使用双系统?
我的回答是新手使用虚拟机要安装与配置环境这些繁琐操作
云服务器有不贵的,可以官网购买,也可以找某宝一些商家购买

5.Xshell复制ctrl + insert与粘贴shift + insert

在Xshell上Windows的CV是不管用的,不同系统是有不同规则
Xshell的复制是ctrl + insert,粘贴是shift + insert

6.超级管理员账号root与普通账号XXX

自己所在的服务器一开始登录就是root账号,root权限超级高,不小心操作还能把Linux系统删了
普通账号是自己在root账号基础下起名并且分配一个账号
自己一个服务器就不需要开普通账号了,两者差别并不大
超级管理员账号可以控制普通账号,可以删除普通账号
如果你和他人共用一个服务器并且是普通账号需要担心是否会被“踢出”服务器

7.家目录概念

家目录就是登录账号第一时间所处的目录
超级管理员账号的家目录路径是在/root,root就是家目录
普通账户的家目录就是超级管理员开创账号时所建的名字XXX
通常从根目录寻找路径也是/XXX
Windows下的/C:/用户/XXX就是当初微软注册时的账户名,也是你的家目录

8.绝对路径与相对路径

绝对路径就是从最外层文件(目录)开始进入进入目录,到达文件所在的位置之前的路径
在这里插入图片描述
能看到从E盘开始进入到txt文件之前的路径
相对路径就是不从根目录开始寻找,通常是从当前文件开始寻找其他文件路径
相对,通常就是相对于当前位置目标文件所在的位置

9.指令、程序、可执行程序都是一回事

指令是程序写的,可执行程序也是程序经过编译连接得到的
执行指令或者可执行程序就是在执行程序
在Linux上这三者是一回事

二、文件属性查看与所在位置

1.ls [选项] [文件或目录] //查看目录或者文件

ls指令后面不添加任何信息可以查看当前文件夹(目录)下所有子文件夹(子目录)与文件
也可以指定查看哪个文件夹下详细信息
在这里插入图片描述
ls后面的选项现阶段主要的是 -a -l -d
-a是显示当前文件下的所有的子文件、目录,包括 . 与 … 文件
在这里插入图片描述

不要小瞧这里的. 与… 文件,一个点是当前目录,后面以“./XXX.out”实现运行文件
在这里插入图片描述
而两个点可以退出当前目录进入上一级目录,配合cd指令使用
中括号前的名字就是所在目录
在这里插入图片描述
-l是详细显示当前目录下的子文件信息,但不包括一个点两个点
在这里插入图片描述
-d是把目录当成文件来显示,后面通常增加指定目录名
在这里插入图片描述
只有对比才有区别
三个选项可以配合使用,也可以加上路径一起使用

2.pwd查看当前所在目录(绝对路径)

没啥选项添加,也没啥指向位置路径添加
在这里插入图片描述

3.cd移动自己当前位置

cd可以跟着绝对路径或者相对路径
在这里插入图片描述
cd /路径,从根目录开始进入,绝对路径
cd 路径,我先两个点返回上级目录再进入onw目录,相对路径,相对于newl的路径
cd … 返回上一级目录
除了根目录没有上一级目录外,自己身处的目录都可以使用cd两个点返回上一级目录
当然,如果你身在文件里面(不是文件夹)拓展内容不能cd出来
cd ~ 回到自己的家目录
家目录就是你登录账号之后第一时间所处的目录就是家目录
当然,从根目录开始寻也容易找到
在这里插入图片描述
cd - 返回上一次所在的目录位置,方便两个目录切换
在这里插入图片描述
第一用相对路径进入onw目录,然后pwd显示自己所在位置
后面两个cd - 切换位置,newl和onw两个目录之间互相转换

三、文件操作指令,增删查改

1.touch指令创建文件

格式是touch [文件名]
touch指令可以创建txt文件、C语言源程序(.c)文件等等的一些文件

2.mkdir指令创建目录(目录就是文件夹)

格式是mkdir [选项] [文件名]
当创建一个目录时,只需要mkdir 目录名
当创建目录嵌套着目录时这时要加上选项 -p
例如a目录里再生成一个b目录,b目录里再生成一个c目录,这样子嵌套时
格式就是 mkdir -p a/b/c
在这里插入图片描述

3.tree以树形查看目录的子文件

格式是tree [文件名(可以带路径)]
我们发现需要查看每一个目录内容时都要进入这个目录然后ls指令查看
这样一步一步来看挺麻烦的
tree指令可以查看目录下的所有目录和子文件关系
使用tree查看时可以带路径也可以不带
在这里插入图片描述

4.下载指令(tree指令无法使用或其他指令无法使用)

在root账号下的下载指令
格式是yum install -y XXX
如tree指令下载是yum install -y tree
其他的一些指令也可以这样下载

5.rmdir与rm删除文件与目录指令

两个的格式分别是
rmdir [选项] [文件名]
rm [选项] [文件名]
两个的文件名部分都可以加上路径,也可以删除目录

1)rmdir

rmdir的使用通常是删除空目录,意思就是目录里面还有一些文件就会无法删除
选项只有 -p,意思是当删除空目录之后,空目录所在的目录也为空时也会被删除
在这里插入图片描述
我以相对路径找到最里面的空目录c进行删除,使用-p指令之后把它的空父目录也删除了
删除到了我所在的目录下,我当前目录内容也是空的了
但因为“我”还在这个目录,所以无法删除
以上的方法只能删除空目录,无法删除文件,也无法删除非空目录
在这里插入图片描述

2)rm

建议使用rm删除,可以删除目录、非空目录与文件
rm的选项有 -f -r -i,通常使用-f 与 -r,或者两个一起使用
-f 选项的效果是不再询问是否删除,实现直接删除
-r 选项的效果是递归删除,通常是删除非空目录,如果没有选项 -r就不会删除非空目录
在这里插入图片描述
第一个没选项询问是否删除(y/n)
第二个 -f不询问直接删除
第三个没选项删除非空目录,无法删除
第四个选项 -rf,递归不询问直接删除,平常通常也使用这种,不询问强制删除全部内容

6.man指令查询指令选项

man是用来查手册的
格式是man [手册序号] [指令名称]
那个男人帮你解决看不懂指令,不懂选项作用
手册序号有八个,主要的是1、2、3
1、是普通的命令
2 、是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3、是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件,通常是C语言的库函数
感兴趣的可以百度继续查询
不添加手册序号通常从第一个开始往后查询
不懂的指令直接man XXX
在这里插入图片描述
键盘上下键可以翻滚页面查看(滚轮无法使用),不需要时按q即可退出查询
无法使用man指令的,下载指令是yum install -y man

7.cp复制文件与目录指令

格式是 cp [选项] 源文件或目录 目标文件或目录
这里的后面两个参数可以是文件也可以是目录,可以带上路径,从一个目录复制到另一个目录
选项通常只需要一个 -r(-R)递归
-r递归的作用是可以让一个目录里有多个文件或多个目录一起复制
没有-r有多个文件复制是出错的
当然,如果目的目录不存在也是无法移动的
在这里插入图片描述

8.mv剪切指令(移动)

格式是 mv [选项] 源文件或目录 目标文件或目录
mv是move的缩写,代表移动、位移,在这里还能进行重命名
主要选项是 -f强制,作用是当目标目录下有相同的文件名时强行覆盖
当前目录下重命名是mv 旧名称 新名称
在这里插入图片描述
也可以是移动之后并且重命名
格式是mv 源路径+旧名称 目标路径+新名称
在这里插入图片描述
一个点是当前目录,两个点是上级目录,把目录移过去并且命名为test1
这些路径可以是绝对路径,也可以是相对路径,各种搭配不同效果

9.nano指令修改文件内容

格式是nano 文件名
如果无法使用nano就使用下载,使用指令yum install -y nano
可以打开.txt文件.c文件与其他可编辑文件
在这里插入图片描述
进入编辑你需要的内容
完成之后使用Ctrl+x ,在输入y进行保存,回车就可以退出了

四、文件内容查看操作

文件内容修改可以使用普通编辑文档nano,其他高级的慢慢接触
查看文件内容有几个基础指令

1.cat指令

格式是cat [选项] 文件名
作用是内容全部显示在窗口
选项有 -n -b -s
-n 对输出的所有行进行编号
-b 对非空输出行编号
-s 不输出多行空行,把多行空行压缩成一行空行
两个编号选项可以和-s组合
在这里插入图片描述

优点是滚轮可以滚动查看,内容适量时比较友好
缺点是如果文件内容很多,滚轮不一定好翻,有行号也不一定好定位
cat还有一个功能是当是tac 文件名时则会反向打印

2.more指令

格式是more [选项] 文件名
选项有 -n对所有行进行编号
一开始是先填满屏幕的显示,用回车可以逐行加载
空格可以跳过这些行加载剩下的行,一次加载一个窗口的内容
现版本可以使用滚轮滑动之前加载的了(可能版本更新加载的空格与滚轮控制)
按q可以退出显示

3.less指令

格式是less [选项] 文件名
less指令可以使用键盘上下键来滑动
选项中 -n可以显示行号
进出查看之后可以使用“/XXX”来查找需要的数据
在查看完之前不加载整个文件,与more指令相比,more虽然不显示完,但是已经加载完了
不能使用滚轮来滑动

4.head指令与tail指令还有与管道|结合

1)head

格式是head [-n] [行数] 文件名
head指令是查看文件的前几行,head后面通常加上 -n和前几行
在这里插入图片描述
少了 -n虽然会打印出来,但是会报警告
少了需要前几行就直接不打印了

2)tail

格式是head [-n] [行数] 文件名
通常与head一样的使用方法,作用是查看后几行
在这里插入图片描述
与head的规则大同小异

3)管道 |

格式是 入管指令 | 出管指令
管道|的作用是把两个指令拼接使用
例如,假设我需要8000之后的10行内容
我是否可以先用head拿到前8010行,再使用tail拿后10行
思维是我先用管道入管接收前8010行,再出管时用tail接收后10行,
理论成立,实践开始:
在这里插入图片描述
管道不仅能在查看文件中使用,还能多个指令配合使用

五、其他指令

1.date指令

格式是date +[选项]
%H : 小时(00…23)
%M : 分钟(00…59)
%S : 秒(00…61)
%X : 相当于 %H:%M:%S
%d : 日 (01…31)
%m : 月份 (01…12)
%Y : 完整年份 (0000…9999)
%F : 相当于 %Y-%m-%d
以上的选项可以搭配,例如:date +%Y/%m/%d_%H:%M:%S
在这里插入图片描述
也可以显示时间戳:date +%s(小写)
时间戳的本质是英国1970年凌晨12点的时间(我国是早上8点)到现在的秒数
时间戳可以转换成现在的时间,搜索时间戳转换现在的时间
时间戳->时间:date -d@时间戳
在这里插入图片描述

2.cal指令

格式是cal [选项]
cal指令的作用是,如手机日历(月历表)表一样展示月份
选项有 -y -3 -j
-y 后面加年份就可以展示那一年的十二个月份(每个月的月历表)
-3 后面通常不加年份,展示的是当前月、前一个月和后一个月三个月的月历表
-j 就是显示当前日期在本年中的第几天,从1月1日开始计算
在这里插入图片描述

3.find指令

格式是find -name 文件名
上面的格式是以文件名来查找
现阶段主要使用来找文件
在这里插入图片描述
可以试着拓展其他选项

4.grep指令

格式是grep [选项] 文件名
选项有 -i -n -v
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
当没有选项或-n 时,会区分大小并且特别显示出来:
在这里插入图片描述
-v 是反向选择,当一行有你找的字符串就不会显示出来
在这里插入图片描述
grep只对文件操作

5.zip/unzip与tar压缩解压指令

1)zip

格式是zip 目录(文件) [选项] (一个或多个文件)
zip就是压缩文件或者目录,和Windows上的一样
压缩文件通常是把文件所占空间压小
易于传输与下载
选项有 -r,意思为递归,当一个目录下有多个文件时,没有-r的压缩会只要是一个空文件夹
在这里插入图片描述

2)unzip

==格式是unzip .zip文件 [-d path] ==
主要是把zip文件解压成文件(目录),-d选项可以指定目录
解压指令中还可以更改文件名
在这里插入图片描述

3)tar

==压缩格式是tar [-czf] .tgz文件(一个或多个文件)
解压格式是tar [-xzf] .tgz文件 [-C path] ==
与zip/unzip格式大同小异,选项有很多,建议一套使用
压缩的是-czf,解压的是-xzf
如果需要查看压缩/解压过程就加-v选项
在这里插入图片描述
在这里插入图片描述
如果需要压缩到其他路径,带上选项-C

六、拓展指令

1.which

格式是 which 指令
当你不知你的指令是否存在时,可以使用which来查找
which会把你使用的指令绝对路径显示出来
在这里插入图片描述

2.whoami指令

格式是 whoami
这个指令的意思是“我是谁”
这里的“我”就是登录账号的名称
在这里插入图片描述

感言

多用指令就能记忆深刻一点,这里全是个人理解,全是理论知识
需要自己慢慢的实践才能知道它的主要用处
在这里插入图片描述

  • 23
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值