Linux基本操作符(1)

W...Y的主页 😊

代码仓库分享 💕


目录

Linux的登录

Linux下基本指令

指令操作的理解

几个与用户操作符

[ls 指令](#ls 指令)

pwd命令

[cd 指令](#cd 指令)

touch指令

mkdir指令

[rmdir指令 && rm 指令](#rmdir指令 && rm 指令)


什么叫操作系统,我相信如果是学计算机的都听说过,但是还没有学习过的不知道具体是什么。操作系统就是一款进行软硬件资源管理系统。通俗来讲,我们使用的电脑设备都是由硬件、设备驱动、操作系统以及应用软件构成的。但是如果没有操作系统的承上启下,我们一般人就无法去驾驭并且灵活使用计算机。

那为什么要进行软硬件资源管理呢?我们可以将操作系统比作一个工具,对向上的软件提供良好的稳定服务。

那搭建Linux平台的方法,博主已经给大家分享过了,如果有需要可以访问以下链接:

如何搭建Linux平台 https://blog.csdn.net/m0_74755811/article/details/132981688?spm=1001.2014.3001.5501

那我们就用博主最推荐的方法来------使用云服务器来开展Linux的内容分享。

Linux的登录

打开我们的xshell,进入页面后我们将我们所购买的云服务器ip地址复制,用shh. root@+ip即可登录,再输入密码就可以登录我们的Linux界面。

还有一种方法就是在xsheel的左上角有一个新建会话,我们可以新建一个属性,名称可以按照自己的意愿起,主机填入自己的IP地址,说明可有可无。点击确定就有自己的一个会话了。每当我们打开xshell都会弹出来这个会话框,我们点击连接然后输入密码即可登录Linux。

当出现一下字母证明成功进入Linux服务器:

Linux下基本指令

指令操作的理解

Linux在操作时是纯指令操作的,其实windows也是支持指令操作的,我们可以打开自己的菜单然后搜索cmd。 我们现在使用的windows系统都是可视化的图形化界面,我们通过鼠标的点击进行操作,但是在之前我们都是纯靠指令,就和键盘鼠标一样,一定是先出现键盘,慢慢发展在出现鼠标,最后又发展有了我们的触摸屏。

几个与用户操作符

当我们需要知道当前登录Linux系统的用户,我们可以输入whoami,系统返回的就是当前操作用户的用户名

我们也可以使用who来查看当前有几个用户使用这个IP下的服务器,以及登录的时间

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 一行只输出一个文件。
windows相信大家都比较熟悉,我们使用windows创建一个空文件,这个文件需要占据内存吗?建立一个0kb的文本文件还是要占据磁盘空间的。为什么呢?

因为一个文件还有文件名字、文件创建时间、文件类型......这些信息也是数据,当我们关键后再次打开时,这些东西都还是存在的。

所以文件 = 文件内容 + 文件属性。这些东西都是二进制数据,都要被存储。

所以我们在之前学习中一般都是文本操作,并没有对文件属性进行操作,或者说操作非常少,但是在Linux中我们就可以对文件的属性进行强有力的操作。

在Linux种,我们使用ls,可以打印当前文件目录下的文件名。

在ls后加 -l可以输出当前目录下的文件的详细属性:

ls -l也可以用ll直接替代,为什么呢?ll = ls -l

在ls后加入-a:列出目录下的所有文件,包括以 . 开头的隐含文件。

我们在使用ls时只可以看到没有被隐藏的文件,而在ls后加上 -a就可看到被隐藏的文件:

如果还想要看到的更加详细,我们可以进行组合添加。ls -al、ls -la、 ls -l -a、ls -a -l都可以展示所有文件的具体属性(包括被隐藏的)。 这就与我们Windows中的隐藏文件一样。隐藏文件,在Linux中的隐藏文件通常以.开头。

那我们就会发现,隐藏文件显示出来都有一个共同点,就是都有.与..,那这两个有什么区别呢?

一个.:当前路径

两个点:上级路径

我们先将概念说出,在继续往后学习我们就能知道它们的用途。

pwd命令

语法: pwd

功能:显示用户当前所在的目录

当我们想知道现在身处于哪个路径时,我们就可以使用pwd命令符进行。

我们原本身处于/home/why的路径中,当我们进入/home后再次获取路径,系统就会显示当前路径为/home。

这与Windows中的路径非常相似: C:\Program Files (x86)\Microsoft Visual Studio\Installer\ko这个就是Windows中的路径

/home/why是Linux中的路径,它们的分隔符不同,Linux选择的是\正向斜杠分隔符,而Windows选择的是反向斜杠分隔符/。

cd 指令

语法:cd 目录名

功能:改变工作目录。将当前工作目录改变到指定的目录下。

cd .. : 返回上级目录

cd /home/litao/linux/ : 绝对路径

cd ../day02/ : 相对路径

cd ~:进入用户家目

cd -:返回最近访问目录

cd可以让我们进入目录中,就如同在Windows中一个个点击目录去寻找我们目标文件。

cd . :进入当前路径。这个一般是没有用的,因为我们本来就在当前路径中,所以对路径不会有影响。

cd ..:..的作用就是上一级路径,所以cd ..就是访问上一级路径。目前我们在/home路径中,当我们cd..就会返回上一级中。

这与windows中的返回到lnstalln功能相同。

现在文件路径已经到了/,如果再继续返回上级路径会是怎么样呢?

很显然没有改变,所以/就是linux下的根目录。几乎所有的文件系统就是一个多叉树,windows也是如此。

叶子节点:一定是普通文件,或者是空目录

路上节点,非叶子节点,一定是目录

访问一个文件的本质,需要先找到它,而找到文件的本质就是再一颗多叉树中进行节点的查找。
那什么是路径,为什么要有路径呢?

路径:用一串特殊符号分割的字符串。两个分隔符之间的一定是目录或者文件夹,而最后一个分隔符后的可能是文件或目录。

而路径的本质就是多叉树的搜索路径。

路径又分为绝对路径与相对路径。

相对路径:相对于自身的当前所属的目录为参考点,我们定位一个文件的路径为相对路径。

绝对路径:我们将从/目录开始,定位一个叶子文件的方式,形成的路径成为绝对路径。其实也可以理解为自身在根目录的相对路径。

参考上面多叉树的图,我们想要寻找test.c,那绝对路径就是/home/bit/test.c。而如果使用相对路径,假设我们在dev的目录中,那相对路径就是../home/bit/test.c。

绝对路径的优势就是无论我们身处于哪个目录,使用绝对路径都可以找到。而相对路径的局限性就出来了,每一个目录所对应的绝对路径唯一。

为了证明我们的文件系统为树状结构,我们可以引出一个tree命令,在tree后面跟上 节点目录就可以将次目录下的内容以树状的形式表达出来。

我们打印出在/home/why下的树状结构。

我们需要在Linux中输入yum install -y tree指令,安装后才可以进行树的打印。

cd - 指令:返回最近访问目录

我们现在的路径为/home/why,当我们直接返回到根目录/,然后再cd -我们就可以直接回到/home/why中。cd ~:进入用户家目录。

我们无论进入到哪个目录中去,只要输入cd ~就会进入到家目录中去。什么是家目录呢?

如果我们的用户是主用户root,那进入的家目录就是/root。如果我们的用户为次用户,进入家目录就是/home/用户名。

我这个不是主用户,是root的可以实验一下。

总结:默认登录时,默认登录的路径,就是当前登录的家目录。

touch指令

语法:touch [选项]... 文件...

功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

常用选项:

-a 或--time=atime或--time=access或--time=use只更改存取时间。

-c 或--no-create 不建立任何文档。

-d 使用指定的日期时间,而非现在的时间。

-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m 或--time=mtime或--time=modify 只更改变动时间。

-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t 使用指定的日期时间,而非现在的时间。

touch +文件名可以在当前目录下创建一个文件。

我们也可以快速创建多组文件:

如果我们想要查看某个文件的详细属性时,我们可以输入stat +文件名。

mkdir指令

语法:mkdir [选项] dirname...

功能:在当前目录下创建一个名为 "dirname"的目录

常用选项:

-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;

mkdir指令与touch非常相似,是创建目录的指令。

创建的文件夹默认为空。那我们可以直接可以创建一个路径呢?答案是不行。只能一个一个创建。

但是我们可以使用mkdir -p +创建路径即可。

rmdir指令 && rm 指令

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。

语法:rmdir [-p][dirName]

适用对象:具有当前目录操作权限的所有使用者

功能:删除空目录

常用选项:

-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

rm命令可以同时删除文件或目录

语法:rm [-f-i-r-v][dirName/dir]

适用对象:所有使用者

功能:删除文件或目录

常用选项:

-f 即使文件属性为只读(即写保护),亦直接删除

-i 删除前逐一询问确认

-r 删除目录及其下所有文件

rmdir只可以删除一个空的文件夹但不能删除文件。

但是我们可以使用rm指令进行删除。

但是为什么报错了呢?因为文件夹本来就是一个树状结构,就是递归定义的,所以得深度遍历在删除。

所以得用递归一层层遍历,然后确定要删除即可将路径中的所有文件夹全部删除。但是只有root用户有询问交互,然后回答y/n。普通用户没有这个权限,所以直接就会删除。

rm -rf:这个指令是强制删除指令,界面就不会有交互直接删除。

删除文件直接使用rm -f + 文件名指令,强制删除不会有交互,但是用rm +文件名会有交互询问。


以上是本次Linux部分基本操作符,也是本次全部内容。更多Linux操作符在下次博客中,尽情期待!!!

感谢大家观看,一键三连支持一下吧!!!

相关推荐
@糊糊涂涂4 分钟前
MAC借助终端上传jar包到云服务器
java·服务器·macos·jar
44漏洞观察员6 分钟前
windows实战-wordpress——玄机靶场
服务器·windows·web安全·网络安全·安全威胁分析
快乐飒男8 分钟前
Linux基础05
linux·笔记·学习
Who_Mr.Lin1 小时前
【虚拟机】VMWare的CentOS虚拟机断电或强制关机出现问题
linux·运维·centos
我是唐青枫1 小时前
Linux nc 命令详解
linux·运维·服务器
张丹 新叶之扉1 小时前
图片预览 图片上传到服务器
服务器·前端·html5·js
南东山人1 小时前
关于内核编程的一些笔记
linux·笔记
ejinxian1 小时前
Windows 系统上构建 Linux 应用
linux·运维·服务器·red hat
Java 第一深情2 小时前
详细教程-Linux上安装单机版的Hadoop
linux·运维·hadoop
MC何失眠2 小时前
泷羽sec-----shell编程(完结)
linux·学习·网络安全