【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

此时,递归并强制删除。

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

相关推荐
小林熬夜学编程5 分钟前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
炫彩@之星9 分钟前
Windows和Linux安全配置和加固
linux·windows·安全·系统安全配置和加固
上海运维Q先生10 分钟前
面试题整理15----K8s常见的网络插件有哪些
运维·网络·kubernetes
hhhhhhh_hhhhhh_19 分钟前
ubuntu18.04连接不上网络问题
linux·运维·ubuntu
冷心笑看丽美人27 分钟前
探秘 DNS 服务器:揭开域名解析的神秘面纱
linux·运维·服务器·dns
wenxiaocsdn32 分钟前
某科技局国产服务器PVE虚拟化技术文档
运维·服务器
深圳安锐科技有限公司1 小时前
首次接触结构安全自动化监测系统,价格高吗?后期维护?
运维·自动化
冬天vs不冷2 小时前
Linux用户与权限管理详解
linux·运维·chrome
凯子坚持 c2 小时前
深入Linux权限体系:守护系统安全的第一道防线
linux·运维·系统安全
✿ ༺ ོIT技术༻3 小时前
C++11:新特性&右值引用&移动语义
linux·数据结构·c++