【Linux】常见指令(上)

常见指令(上)

使用xshell登陆主机

输入:ssh root@[ip地址],然后输入密码。

ip地址为所在云服务器上的公网ip,密码需要在所在云服务器上重置密码。

输入正确即可通过。

  • xshell下的复制粘贴

    在xshell下,使用ctrl+c \ ctrl+v进行复制粘贴是不可取的。

    复制:ctrl+insert(有些电脑的insert需要搭配fn使用)

    粘贴:shift+insert

  • xshell自动全屏和取消全屏

    (取消)全屏:alt+enter

Linux下的基本指令

在介绍Linux下的基本指令时,会采用Linux指令和Windows界面操作对比的方式来初步认识指令。

  • 在详细介绍指令卡,先简单介绍需要进行简单操作的指令操作,以便后续讲解:

1.ls------用来显示当前目录下的文件

当我们第一次输入ls指令时,由于我们之前未对此进行操作,所以当前目录下的文件为空。

所以 ls 指令的意思就是,查看当前目录下的文件。

2.pwd------用来显示所处目录在哪里,即当前路径

这里每一个人的可能不太相同,如果是普通用户:/home/xxx;如果是root账号:/root

这里我是root账户:指向pwd指令后,出现/root目录。

在Windows相当于:

3.mkdir d1------在Linux中创建一个目录,类似于在windows中创建一个文件夹。

在Windows中,可以采用这样的方式建立一个file的文件夹,那么在Linux中需要指向mkdir指令来创建一个目录,Linux里的目录相当于Windows里的文件夹。

可以用 ls 来显示当前目录下的文件。

4.cd d1------进入目录

在Windows里使用鼠标双击可以进入文件夹中,而在Linux里面可以使用cd file进入目录。

这里可以使用pwd查看当前目录所处的路径。

5.touch------新建文本文件

touch可以新建一个文本文件,这与mkdir是不相同的。

相当于在Windows操作系统中的一个文件中,新建一个test.txt文件。

  • 指令是可以携带选项的

ls指令

【语法】:ls [选项][目录或文库]

【功能】:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

【常用选项】:

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 将目录像文件一样显示,而不是显示其下的文件。如:ls -d指定目录
  • -i 输出文件的 i 节点的索引信息。如:ls -ai指定文件
  • -k 以 k 字节的形式表示文件的大小。ls -alk 指定文件
  • -l 列出文件的详细信息。
  • -n 用数字的UID,GID代替名称。
  • -F 在每个文件名后附上一个字符以说明该文件的类型," * "表示可执行的普通文件;" / "表示目录;" @ "表示符号链接;" | "表示套接字(sockets).
  • -r 对目录反向排序
  • -t 以时间排序
  • -s 在 | 文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
  • -R 列出所有子目录下的文件。(递归)
  • -1 一行只输出一个文件

【部分指令选项讲解】:

  • ls -l 显示文件更多的属性

当我们只使用ls指令操作时,只会显示文件的名称。

而当我们使用ls -l时,就会显示每一个文件的详细信息。

这里我们需要了解的是,在计算机上创建一个空白的文本文件,这个文本文件也是会有属性的,文件的属性也是数据,是数据就需要存储。

文件 = 文件内容 + 文件属性

文件是由文件内容和文件的属性组成的。

文件的操作 = 对文件内容的操作 or 对文件属性的操作

对此,ls 都是对文件属性进行操作的。

ls -l 可以简写成 ll

  • ls -a 列出目录下的所有文件,包括以点 . 开头的隐含文件。

选项是可以叠加的,所以 ls -a -l 可以表示为列出目录下的所有文件的详细信息,包括以点 . 开头的隐含文件的详细信息。

ls -a -l 可以简写成 ls -la 或者 ls -al

列出目录下的详细信息时,第一列第一个字母,表示的时文件的类型。

以 d 开头:表示的是一个目录;

以 - 开头:表示的是文件是一个普通文件。

在Linux中,以 . 或者 ... 开头的文件,被称之为隐藏文件。所以,ls -la 显示所有文件的详细信息,包括隐藏文件。

  • . 和 . .是什么意思呢?
    在Linux中,任何一个目录下面都存在这俩个隐藏的文件,. , . .。
    . .:表示当前路径的上级路径
    . : 表示当前路径

注意,使用cd指令可以进入目录,而 cd . . 是返回上一级。在Windows中,也有返回上一级的图形化操作:

而当使用指令cd . 时,并没有任何操作,这是因为 . 表示当前路径。

那么,. 存在的意义是什么呢?是为了帮助用户定位当前目录下的一个文件。(文件可以较多)

  • ls -d 将目录像文件一样显示,而不是显示其下的文件。

观察这三条指令,其意思分别为:

执行 ls 指令,显示当前目录下的文件。

执行ls file指令,显示file目录下的文件。

执行ls -al file指令,显示file目录下的所有文件(包含隐藏文件)的详细信息。

那么想要查看file这个目录的详细信息,需要 -d 指令:

所以,ls -d 的指令可以将目录像文件一样显示,而不是显示其下的文件。

  • ls -F 在每个文件名后附上一个字符以说明该文件的类型," * "表示可执行的普通文件;" / "表示目录;" @ "表示符号链接;" | "表示套接字(sockets).

通过观察可以发现,-F指令可以在每一个文件名后附上一个字符说明该字符的类型。

pwd指令

【语法】:pwd

【功能】:显示用于当前所在的目录

【常用选项】:无

通过之前的学习,已经可以基本了解pwd指令的作用了,下面简单回顾一下。

cd指令

【语法】:cd目录名

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

【举例】:

(1)cd. .:返回上一级目录

(2)cd /home/linux/:绝对路径

(3)cd . ./day02/:相对路径

(4)cd ~:进入用户家目

(5)cd -:返回最近访问目录

  • 在Linux系统中,磁盘上的文件和目录被组成一棵目录数,每个节点都是目录或者文件。

首先,在Linux操作系统中,用" / "表示路径分割符。

在Windows中,使用" \ "表示路径分隔符。

当我们进行指令cd . .时,回退到上一级,一直进行此操作,会回退到最后一位,此时只存在" / ",而" / "被称为:Linux的根目录," / "是一个文件或者是根目录。

一个目录里面是可以再放目录或者普通文件的,目录里可以存放目录,注定了Linux的整个目录结构一定是一个多叉树的样子。

Linux的目录结构是一个多叉树,这颗多叉树的叶子节点一定是空目录或者非目录文件,路上节点一定是一个非空目录。

所以我们所有对文件或者目录的增删查改,本质上都是对这颗多叉树的增删查改。

  • 我们定位一个文件,通常用路径来进行定位。

这是因为路径定位的特点是路径具有唯一性。

任何一个节点可能存在一个或者多个子节点,但是都只会存在一个父节点。

  • 我们把从" / "开始定位到指定位置,具有唯一性的路径,称为绝对路径。

  • 我们以自己当前所处的路径为起始参照位置,来进行特定文件的定位,我们称这种路径为相对路径。

以此图为例,假设我们此时处在bin处,想要到达lib,可以采用相对路径的方式。

指令为:cd . ./lib

当所处的路径发生变化时,可能相对路径就会失效。

  • 如何选择使用绝对路径还是相对路径?
    1.绝对路径往往比较长,但是路径不会改变,一般使用在一些固定场景,例如配置文件中的使用。
    2.一般命令行输入,比较常用相对路径。

以腾讯官网里的一个网址举例,可以发现其路径分隔符为" / ",所以该网址的内核是Linux操作系统。

下面来理解这条指令:cd ~

我们使用指令whoami,可以查看当前用户,可以看到我当前用户就是root。

所以root就是用户的家目录。

Linux的用户被分为俩类,一类是超级用户root,另一类是其他(普通用户)。

那么如何建立一个普通用户呢?

这里需要俩条指令:

adduser建立一个用户;passwd给用户设置密码。

用户名称可以自己定义,注意这里的密码是不回显的,所以建议利用复制粘贴。

然后重新登陆,采用指令 ssh dabai@ip地址。

在root账号上可以对普通用户进行删除操作,指令为userdel -r 用户名。

这时我查看普通用户的家目录是什么?

此时,dabai就是普通用户,而/home就是这个普通用户dabai的家目录。

在centos系统中,所有的普通用户,用户账号都会统一放在/home上。

Windows上也有家目录的概念。

所以,cd ~可以返回到家目录上。

此时,再执行一条指令: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 使用指定的日期时间,而非现在的时间。

在现阶段,只需要了解touch指令是为了创建一个文本文档,后续会对选项进行讲解。

mkdir指令

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

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

【常用选项】:

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

讲解:

指令mkdir 的作用是创建一个目录。

那么,如何创建一批目录呢?

此时,我们手动创建了一个树状结构的目录。我们如何查看建立的树状结构呢?

这时需要一个指令 tree

一般来讲,正常的系统中没有安装tree,需要输入指令:yum install -y tree进行安装。

此时,我们可以发现树状结构的目录d1已经建立完成。

那么,如何才能一次性创建好一串路径呢?这时就需要指令选项-p操作。

rmdir指令 && rm指令

rmdir指令

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

【语法】:rmdir [-p][dirName]

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

【功能】:删除空目录

【常用选项】:

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

rmdir这条命令是比较局限的,它只可以删除空目录,像文本文件或者树状结构的目录都是不可以被直接删除的。

rm指令

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

【语法】

【适用对象】:所有使用者

【功能】:删除文件或目录

【常用选项】:

  • -f 即使文件属性为只读(即写保护),亦直接删除
  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件

如果是root账号,在使用rm指令时,会被询问是否确定删除,回答y表示yes,回答n表示no。

在Windows中删除之后,也会被询问,但是Windows删除之后会有回收站,而Linux删除之后就基本等同于完全删除,可以恢复,但是恢复的成本太高,所以要注意。

可以采用选项rm -f来不询问,直接删除。

直接执行rm是不能直接删除目录的,需要结合选项 rm -r来删除目录。

指令 rm -r也可以直接删除一串路径,但是由于目录本身是递归式的,所以删除也只能递归删除,

此时可以结合俩个选项来删除一串路径并不询问,指令为rm -rf

此时,递归并强制删除。

【注意】删除时需要慎重,删除后无法返回。

相关推荐
林姜泽樾1 小时前
Linux入门第十二章,创建用户、用户组、主组附加组等相关知识详解
linux·运维·服务器·centos
xiaokangzhe2 小时前
Linux系统安全
linux·运维·系统安全
feng一样的男子2 小时前
NFS 扩展属性 (xattr) 提示操作不支持解决方案
linux·go
南棱笑笑生2 小时前
20260310在瑞芯微原厂RK3576的Android14查看系统休眠时间
服务器·网络·数据库·rockchip
xiaokangzhe2 小时前
Nginx核心功能
运维·nginx
松果1772 小时前
以本地时钟为源的时间服务器
运维·chrony·时间服务器
XDHCOM2 小时前
ORA-32152报错咋整啊,数据库操作遇到null number问题远程帮忙修复
服务器·数据库·oracle
Highcharts.js3 小时前
Highcharts React v4.2.1 正式发布:更自然的React开发体验,更清晰的数据处理
linux·运维·javascript·ubuntu·react.js·数据可视化·highcharts
ayaya_mana3 小时前
快速安装Nginx-UI:让Nginx管理可视化的高效方案
运维·nginx·ui
c++之路3 小时前
Linux网络协议与编程基础:TCP/IP协议族全解析
linux·网络协议·tcp/ip