【Linux】基本指令的使用(一)

00)前言

在计算机发展的历史中,键盘是要比鼠标先发明出来的,那么在有键盘但没有鼠标的年代,人们是如何和计算机打交道的呢,答案是通过命令行。

有了鼠标和图形界面的操作系统之后,商用的面向普通用户的操作系统才开始全球发展。

为什么要学习命令行呢,因为更接近原系统,这也是衡量程序员专业与否的指标之一。


01)ls 指令

语法ls [选项] [目录或文件名]

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

常用选项

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

  • -l 列出文件的详细信息。

    image-20220101161632763
  • -d 将目录像文件一样显示,而不是显示其下的文件。 如:ls -d [指定目录]

    image-20220101162721967
  • -n 用数字的 UID,GID 代替名称。(UID:用户ID, GID:组ID)

    【给用户看到的是名字,实际上计算机处理的是这个数字。】

    image-20220101163645108
  • -i 输出文件的 i 节点的索引信息。 如:ls –ai [指定文件]

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

    image-20220101164720994
  • -r 对目录反向排序。

  • -t 以时间排序。

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

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

  • -1 一行只输出一个文件。

    image-20220101165120330

02)pwd 指令

语法pwd

功能:(print work directory):显示用户当前所在的目录

image-20220101160332543

03)cd 指令

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

非叶子节点一般是目录,叶子节点一般是文件/空目录。

image-20220101174413490

语法cd [目录名]

功能:(change directory):切换工作目录。将当前工作目录切换到指定的目录下。

使用举例

  • 绝对路径和相对路径

    cd /home/ll/lesson2/file1  #绝对路径:放之四海而皆准,不管在哪里,该路径对应的文件一直可以找到(一般在系统或者软件的配置文件中使用)
    cd lesson2/file1  #相对路径:使用简单,不过只限于当前路径(一般在命令行上使用的多)
    
    image-20220101172222193
  • 返回上级目录: cd ..

  • 进入根目录: cd /

  • 进入用户家目录: cd ~ (默认登录成功时,所处的路径)

    image-20220101174013947
  • 返回最近访问目录 cd -

    image-20220101174238758

04)touch 指令

语法touch [选项] [文件名]

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

常用选项

  • -a 或–time=atime或–time=access或–time=use只更改存取时间。
  • -c 或–no-create 不建立任何文档。
  • -d 使用指定的日期时间,而非现在的时间。
  • -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
  • -m 或–time=mtime或–time=modify 只更改变动时间。
  • -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  • -t 使用指定的日期时间,而非现在的时间。

05)stat 指令

语法stat [文件名]

功能:以文字的格式来显示文件的 inode 的内容

使用举例

查看文件修改时间:

image-20220101200553529

06)mkdir 指令(重要)

语法mkdir [选项] [dirName]

功能:(make directory):在当前目录下创建一个名为 “dirname”的目录

常用选项

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

举例

递归创建多个目录:

image-20220101203110200

【补充一个小知识】Linux下如何查看文件类型

windows区分文件类型用的是后缀,如 .exe / .docs / .pptx / .html

Linux区分文件类型,一般不通过后缀,通过属性列的第一个字符!

image-20220101202537774

07)tree 指令

语法tree [目录名]

功能:用树状图列出指定目录下的所有文件,包括子目录里的文件。

安装:linux中使用命令 yum install -y tree 进行安装

使用举例

image-20220101203616918

08)rmdir 指令、rm 指令(重要)

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

语法rmdir [选项] [dirName]

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

功能:(remove directory):删除**空目录**

常用选项

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

    image-20220101210819567

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

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

适用对象:所有使用者

功能:删除普通文件或目录

常用选项

  • -f 即使文件属性为只读(即写保护),也直接删除。(强制删除

    比如在普通用户中删除root用户创建的文件

  • -r 删除目录及其下所有文件。(递归删除)(rm不能直接删除目录,需要加上 -r 选项)

    image-20220101211356875
  • -rf 强制并递归删除。(慎用!)

  • -i 删除前逐一询问确认。

    【注】:*是通配符,代表当前目录中的所有文件。

    image-20220101223424799

09)man 指令(重要)

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。

访问Linux手册页的命令是man

语法man [选项] [要查看的命令]

常用选项及使用

  • 该手册如下有8个章节,一般常用的也就是前3个:

    image-20220101224611871
  • 1 是普通的命令
    2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文
    件)
    3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
    5 是指文件的格式,比如passwd,就会说明这个文件中各个字段的含义
    6 是给游戏留的,由各个游戏自己定义
    7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
    8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

  • 使用方法

    man ls  #查看ls命名手册
    man 3 printf  #查看printf函数手册
    
  • -k 根据关键字搜索联机帮助。

  • num 只在第num章节找。

  • -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。


未完待续…………

Guess you like

Origin blog.csdn.net/weixin_48025315/article/details/122290697