【Linux】归纳详析 - 常见概念与指令

文章目录


前言

文章细分了各个知识点,可在目录中快速跳转
本文将解析linux常见的对文件进行增删查改等一系列操作的指令,并插入介绍一些常见概念。


一、常用指令

  1. 基本查看与路径跳转

     1.1文件与目录


  • 文件

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

文件属性:文件名、文件类型、文件的创建时间等

因此我们对文件的操作都可以归为两类,一类是对文件属性,一类是对文件内容。

  • 目录

可以粗略理解为window中的“文件夹”。

  1. 任何目录下都默认具有两个隐藏目录...

.表示当前路径
..表示上一级路径

  1. 相对路径./...... 表示从.(当前路径)开始向下级路径访问
  2. 路径分隔符:在window中我们使用\ , 而linux中使用/

1.两个路径分隔符之间一定是一个目录
2.路径最末端,一定是一个普通文件或者目录


     1.2 ls 指令(显示文件)

语法ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
常用选项:

  • ls -l ,查看详细的文件属性
  • ls -a ,格外显示隐藏文件(以.开头的文件)

     1.3 pwd (查看当前目录)

显示用户当前所在的目录

     1.4 clear (清屏)

清空屏幕显示的内容

     1.5 whoami (查看用户名)

查看当前登陆的用户名

     1.6 cd (跳转路径)

在这里插入图片描述

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

语法 : cd [路径](可使用绝对路径与相对路径)
功能:改变工作目录。将当前工作目录改变到指定的目录下。
常用选项:

  • cd - 跳转到上一次访问的路径
  • cd ~ 跳转到家目录(usr,每个用户都拥有独立的家目录)

window的桌面本质是一个文件夹,存放在家目录(一般在C盘,名为“用户”)中,当用户开机登录时流程如下:

  1. 确认用户名
  2. 根据用户名找到该用户家目录下的桌面文件夹
  3. 将桌面文件夹图形化显示

     1.7 指令的本质

  • 指令的本质就是程序,安装/卸载就是把可执行程序拷贝/删出到系统路径下。
  • which 指令,可以打印出指定的指令名称在系统中存放的路径。可以用来检验指令是否存在
    在这里插入图片描述
  • alias 指令,用于重命名指令。我们注意到使用which查看 ls 时,显示了上图红线代码,再显示ls所在路径,这就是系统默认对ls进行了重命名,使其显示的内容带有颜色。还有常用的系统自带的llls -l)也是同理。
    在这里插入图片描述

  2. 文件的增删查改

     2.1 对文件属性(外壳)

      touch(创建文件)

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

  • 不能创建目录
      mkdir(创建目录)

语法 : mkdir [选项] [目录名]
功能:在当前目录下创建一个名为 “xxx”的目录
常用选项:

  • –p (目录名)/(目录名)/... 可以一次创建多个目录,每一个目录都在前一个目录下创建。

      rmdir(删除空目录)

语法 : rmdir [-p] [目录名]
功能:删除空目录,不能是文件
常用选项:

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

语法 : rm [选项] [文件名或目录名]
功能:删除文件或目录
常用选项:

  • 删除普通文件,若用户为root,需要二次确认输入y(yes)/ n(no)

-f 跳过二次确认

  • -r 删除目录(非空为空均可)

-rf 跳过二次确认

  • rm (前缀)*(后缀) 删除当前目录下所有文件。

* :一个通配符,匹配任意文件名


      start(查看acm时间)

查看超详细的文件属性,如文件的acm时间(即最后一次访问,最后一次修改文件内容,最后一次修改文件属性)。

      man(指令手册)

语法 : man [选项] 命令
功能:查找linux中指令的解析

  • 云服务器读者可以输入代码yum -y install man-pages 恢复被精简的man man 指令,该指令可查看man本身作为查找工具的指令的用法,如语法 man [对应数字选项] man 使用对应选项的范围进行查找
    在这里插入图片描述
    1 普通的命令
    2 系统调用, 如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
    3 库函数, 如printf,fread4是特殊文件,也就是/dev下的各种设备文件
    5 文件的格式, 比如passwd, 就会说明这个文件中各个字段的含义
    6 给游戏留的, 由各个游戏自己定义
    7 附件和一些变量, 比如向environ这种全局变量在这里就有说明
    8 系统管理用的命令, 这些命令只能由root使用,如ifconfig
      tree(树状图展示目录结构)

语法 : tree
功能:以树状图形式打印当前目录(简易的图形化页面)

  • 安装:yum -y install tree
  • 使用时,如果打印如根目录,会由于文件过多疯狂打印,对于这种指令失控的情况,连续使用ctrl + c,可以终止运行

      cp(拷贝)

语法cp [选项] [源文件或目录] [目标文件或目录] (/重命名) ,可使用绝对和相对路径,如果想重命名拷贝的文件,可以在目标路径后加上 / [新名] 。
功能:复制文件或目录
常用选项:

  • -r 递归处理,将指定目录下的文件与子目录一并处理,需要二次确认

-rf 跳过二次确认

  • 同一目录下不能存在同名文件
      mv(移动)

语法mv [选项] [原文件或目录] [目标路径 / 新文件名] (/新名) ,可使用绝对和相对路径,如果想重命名文件,可以在目标路径后加上/ [新名] 。
功能:移动文件或者将文件改名

  • 当第二个参数类型是文件时,mv命令完成文件重命名
  • 第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

     2.2 重定向

      2.2.1 Linux设计理念

设计理念:一切皆文件
将各种东西都看作文件,对文件进行操作,这样可以使系统以统一的方式进行管理。如对于显示器,我们想把内容打印到显示器上,在linux中的操作就是向显示器对应的文件中写入内容。

      2.2.2 概念与性质

输出重定向:>

  • 概念:改变写入的方向(文件)。
  • 使用方法:指令名 >
  • 示例:如 echo 指令本来是用来在显示器上打印数据,由设计理念可知,其实是对显示器文件进行写入。使用重定向后,由向显示器文件写入变为对普通文件的写入,此时“hello linux” 作为文本内容存储到了text文件中,这就是改变了写入的方向(文件),由于是输出操作,所以叫输出重定向。
  • 性质:
  1. 清空文件:每次重定向,都会清空文件内容再进行写入 > 文件名
  2. 创建新文件:不存在文件时,会创建一个空文件 > 文件名
  3. 与C语言关系:相当于fopen (“text.txt”,“w”) + fclose
  • 追加重定向:>> 不清空文件,在原文件末尾新增操作。相当于C语言中的fopen (“text.txt”,“a”) + fclose
# echo "hello linux" //输出到显示器
# echo > text.txt    //输出到text文件

输入重定向:<

  • 概念:同上,只不过为输入操作。
  • 使用方法:指令名 <

     2.3 对文件内容

      echo(打印)

语法echo [内容]
功能:打印文本到显示器

  • 与C关系:相当于 printf 。
      cat(查看文件内容 - 初级)

语法cat [选项][文件名]
功能:查看目标文件的内容
常用选项:

  • -n : 附加输出行号
  • -s : 存在连续空行时,只显示一行空行
  • 与C关系:相当于 fopen(“文件名” , “r”)+ fclose
  • 缺点:只适合显示小型文件,行数多的文件不利于查看
      more(查看文件内容 - 高级)

语法more [选项][文件]
功能:同cat,打印满屏幕后会停下,输入回车可进行逐行下翻
常用选项:

  • q : 执行后,按q退出
  • -n : 附带行号
      less(查看文件内容 - 终极)

语法 less [参数][文件]
功能:与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
常用参数:

  • -i : 忽略搜索时的大小写
  • -N : 显示行号
  • /字符串 :向下搜索“字符串”的功能
  • ?字符串 :向上搜索“字符串”的功能
  • n :重复前一个搜索(与 / 或 ? 有关)
  • N :反向重复前一个搜索(与 / 或 ? 有关)
  • q :退出查看
      head(查看文件头部内容)

语法 head [参数][文件]
功能: 显示文件头部内容至标准输出(默认显示前10行)
常用参数:

  • -数字 :指定显示前X行
      tail(查看文件尾部内容)

语法 tail [参数][文件]
功能: 显示文件尾部内容至标准输出(默认显示倒数10行),常用于查看日志信息
常用参数:

  • -数字 :指定显示倒数X行

     2.4 管道

  • 定义: (入口) | (出口) 将数据由入口传输到出口,可用于级联多条指令
  • 举例:查看文件中部内容。先用 head 提取前X行(使尾部刚好包含需要的中部内容),再用 tail 提取尾部内容。
# head -20 文件名 | tail -5

  3. 其他

     3.1 与时间相关

      cal(显示日历)

语法 cal [参数][月份][年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
常用选项:

  • -3 : 显示系统前一个月,当前月,下一个月的月历
  • -j : 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
  • -y : 显示当前年份的日历
      date(显示时间)

语法 date +[OPTION]... [+FORMAT]
功能: 打印当前时间
常用参数:

  1. 指定格式打印时间 date +%Y:%m:%d (后接 “+” 号,附带任意参数,各参数之间可使用任意分隔符使观感清晰)
    %H : 小时(00…23)
    %M : 分钟(00…59)
    %S : 秒(00…61)
    %X : 相当于 %H:%M:%S
    %d : 日 (01…31)
    %m : 月份 (01…12)
    %Y : 完整年份 (0000…9999)
    %F : 相当于 %Y-%m-%d
  2. 时间戳
    时间 -> 时间戳:date +%s
    时间戳 -> 时间:date -d@[时间戳]

     3.2 搜索

      find(检索文件)

语法 find [路径名] [选项]
功能: 用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)
常用选项:

-name :按照文件名查找文件

      grep(文件内检索)

语法 grep [选项] [要查找的字符串] [文件]
功能 :在文件中搜索字符串,将所在的行打印出来
常用选项:

-i :忽略字母大小写的不同,都搜索出来
-n :顺便输出行号
-v :反向选择,即显示出没有 ‘搜寻字符串’ 内容的那一行

     3.3 打包与压缩

打包和压缩的意义 :

  1. 缩小体积,减少所占的磁盘空间;下载快
  2. 不易丢失文件(传输大量文件时,可能会发生丢包,在众多文件中寻找丢失的很麻烦,如果打包和压缩,只要压缩包传输成功,所有文件都传输成功)
      zip(压缩)

语法 zip [选项] [name.zip] [目录或文件名]
功能 :将目录或文件压缩成zip格式
常用选项:

-r : 递归处理,将指定目录下的所有文件和子目录一并处理

      unzip(解压)

语法 unzip [name.zip] [选项]
常用选项:

  • -d 路径名 : 解压到指定路径下
      tar(压缩/解压)

语法tar [选项] name.tgz [文件名/目录名]
常用选项:

  • -czf :压缩
    -cvzf :格外显示压缩过程
  • -xzf : 解压
    -xvzf :格外显示解压过程

     3.4 其他

      bc(计算器)

功能:很方便的进行浮点运算
示例:临时计算,直接打印出结果

# echo 1+1 | bc

在这里插入图片描述

      uname(获取电脑软硬件信息)

语法uname [选项]
功能: 用来获取电脑和操作系统的相关信息
常用选项:

-a或–all :详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

      重要的热键
  • [Tab] :具有『命令补全』和『档案补齐』的功能
  • [Ctrl] + c :终止当前指令,可能需要连按几次

总结

本文介绍了Linux的常用指令与常见概念。
文章中有什么不对的丶可改正的丶可优化的地方,欢迎各位来评论区指点交流,博主看到后会一一回复。

  • 24/3/6 修订
  • 23
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值