[Linux修炼]基本指令(一)

142 阅读6分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第15天,点击查看活动详情

前言

      开始Linux指令学习了,本文就来分享一波笔者的学习经验和心得,本文系第一篇。

      笔者水平有限,难免存在纰漏,欢迎指正交流。

Linux下基本指令(一)

      先对操作系统有个整体的认识:

image-20220917100313993

      再对文件有一些认识:

      文件存储在磁盘空间,即使是空文件也需要占用空间,因为文件本身包括了内容和属性信息,空文件只是内容为空罢了,它的属性信息也需要占用空间。对文件进行操作其实就是对文件的内容和属性进行操作。

      Linux下写指令是在干什么?

      其实等同于在windows图形化界面下的基本操作(单击、双击等等)。

      图形化界面和命令行其实在操作系统层面没有什么区别。

      而命令行是我们学习操作系统的重要手段。

pwd命令

      语法: pwd 功能:显示用户当前所在的路径(目录)

      注意:Linux用/作路径分隔符,windows用\作路径分隔符

image-20221001103520265

      这里的/root指的是root用户默认的家目录,/是根目录。

cd 指令

      几乎任何操作系统文件的目录组织结构都是一棵多叉树。Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。

image-20220917102105873

image-20220917112934255

      .当前路径(目录),..上级路径(目录),/根目录

      从根目录出发,具有唯一性的路径就是绝对路径,比如/root/emp1/hello_1

      相对于自身当前所处路径,进行文件定位就是相对路径,比如./hello_1

      Linux下文件后缀名没有系统级的意义。

      tree命令可以按树型结构显示目录和文件,第一张图是tree的安装,第二张图是演示,当然不止能显示当前目录的,可以根据相对路径显示别的目录的。

image-20221001103906300

image-20221001104330185

image-20221001104535532

      whoami可以显示当前用户是谁:

image-20221001104004489

image-20221001104117216

语法:cd 目录名

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

选项

cd .. : 返回上级目录

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

cd ../day02/ : 相对路径

cd ~:进入用户家目录(工作目录)

cd -:返回最近访问目录

实例

image-20221001105109757

ls命令

语法: ls (选项) [目录或文件]

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

      所有选项都可以组合使用,比如ls -al (ls -a -l 或ls -la 或ll -a):列出目录下所有文件并包含详细信息。

常用选项

-a 列出目录下的所有文件,包括以 . 开头的隐含文件(ls默认不显示隐含文件)

-d 将目录象文件一样显示(不进入目录),而不是显示其下的文件。 如: ls –d 指定目录

-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件

-k 以 k 字节的形式表示文件的大小。 ls –alk 指定文件

-l 列出文件的详细信息(ll等效于ls -l)

-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)

-F 在每个文件名后附上一个字符以说明该文件的类型, “*”表示可执行的普通文件; “/”表示目录; “@”表 示符号链接; “|”表示FIFOs; “=”表示套接字(sockets)。(目录类型识别)

-r 对目录反向排序。

-t 以时间排序。

-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)

-R 列出所有子目录下的文件。 (递归)

-1 一行只输出一个文件

image-20221001110101846

touch指令

语法:touch [选项] 文件

功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的普通文件(创建普通文件手段之一,最常用)。

常用选项

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

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

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

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

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

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

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

      这里暂时用来创建新的普通文件。

image-20221001110318068

mkdir指令(重要)

语法: mkdir [选项] dirname

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

常用选项

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

image-20221001110650736

rmdir指令 && rm 指令(重要)

rmdir命令

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

语法: rmdir (选项) dirName

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

功能: 删除空目录

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

image-20221001111011548

image-20221001111115120

rm命令

      rm命令可以同时删除文件和目录,删了就是真的没了。

语法 rm (选项) dirName/dir

适用对象: 所有使用者

功能: 删除文件或目录

      rm默认删除非只读普通文件,无法删除目录。

常用选项

-f 即使文件属性为只读(即写保护),亦直接删除(强制暴力删除,不出现询问)

-i 删除前逐一询问确认

-r 删除目录及其下所有文件(递归删除)

      Linux和windows下删除一个文件都会先进行询问,防止用户误操作,而且还撇清了操作系统的责任。

image-20221001112003149

      暴力删除,一个不留:

image-20221001112718688

      那有人就会问了,能不能把根目录给删了?

      能,操作系统一定会挂掉,而一般是在一个企业后端服务器,上面会部署很多重要服务,如MySQL数据库(大量的用户数据)等,一删就全无了。

      需要有root用户的权限才能删,不过删根目录是真的很刑(笑),想要删库跑路可以逝一逝,就怕前脚删了后脚还没跑就被抓了(笑)。


以上就是本文全部内容,感谢观看,你的支持就是对我最大的鼓励~

src=http___c-ssl.duitang.com_uploads_item_201708_07_20170807082850_kGsQF.thumb.400_0.gif&refer=http___c-ssl.duitang.gif