学习Linux你不得不知道-----常用基础命令

前言–Shell

学习linux之前必须要知道Shell是什么,是如何工作的

  1. shell是linux系统中运行的一种特殊程序
  2. 在用户和内核之间充当“翻译官”,将输入的命令转换成计算机语言(二进制)
  3. shell会在用户登录linux系统的时候,自动加载
  4. shell程序在linux系统中默认使用Bash,bash文件位于/bin/bash

在这里插入图片描述

一、linux命令概念

1、分类

按照Shell可分为内部命令和外部命令
在这里插入图片描述

2、格式

命令字 [选项] + [参数]

命令字:

一条命令中最主要的部分

选项:
(选择以什么样的方式执行命令)

分为长选项和短选项

  • 短格式选项:使用“-”符号引导 (多个单字符选项可以组合在一起使用)
  • 长格式选项:使用“–”符号引导

参数:
(命令字要执行的对象)

  • 命令字的处理对象
  • 可以是文件名、目录(路径)名或用户名等内容
  • 个数可以是零到多个

二、常用命令

1、常用快捷键/辅助操作

在这里插入图片描述

2、获取命令帮助

2.1 help命令

在这里插入图片描述
长格式用法 --help

例如:cat --help
在这里插入图片描述

2.2 man 命令(查看手册)

例如:man cat
在这里插入图片描述

  • 使用“↑”、“↓”(ENTER)方向键滚动一行文本
  • 使用Page Up和Page Down(空格)键翻页
  • 按Q或q键退出阅读环境
  • 按“/”键查找内容,n键向下查找,N键向上查找

3、切换目录 cd命令

  • cd 目标位置 切换到目标位置
  • cd ~或cd 若不指定目标位置,切换到当前用户的宿主目录
  • cd - 切换到上一次执行cd命令之前所在的目录

3.1绝对路径/相对路径

简而言之
绝对路径是从根目录‘/’为起点 一层层的递归到目标目录
相对路径是以当前目录为起点

  • 而相对路径也有数个表现形式:
    在这里插入图片描述

4、查询目录内信息 ls命令

使用格式与常规命令相同

  • ls +[选项] +[文件或目录.…]
  • 也可目录内直接使用 ls查询本目录内内容

4.1 结合使用的常用选项:

在这里插入图片描述
(也可使用ls --help查询更多使用方法)

4.2 与通配符结合使用

  • “?”:代表任意一个字符,且至少1个
    在这里插入图片描述

  • “*”:代表任意数个字符,可以是0个或者1个或者多个
    在这里插入图片描述

  • “[ ]”:表示可以匹配字符组中的任意一个字符 [abc]、[a-f]
    在这里插入图片描述

4.3 ls -l (ll)命令解读

在这里插入图片描述

第1字段:文件属性字
第一个字符代表文件的类型:
"_"表示该文件是一个普通文件
"d”表示该文件是一个目录
"1"表示该文件是一个软链接文件。类似于windows下的快捷方式
第1字符的后面9个字母(3个一段)表示该文件或目录的权限位:
r表是读(查看、下载)、w表示写(添加、更改、删除、上传)、x表示执行(运行文件、切换目录)
其中前三个表示文件拥有者(属主)的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。
第2字段:文件硬链接数
如果一个文件不是目录,此时这一字段表示这个文件所具有的硬链接数
如果是一个目录,则第2字段表示该目录所含子目录的个数。
如果新建一个空目录,这个目录的第二字段就是2,表示该目录下有两个子目录
第3字段:文件\目录拥有者
第4字段:文件\目录拥有者所在的组
第5字段:文件所占用的空间(默认以字节为单位)
如果是一个目录,则表示该目录的大小,而不是目录以及它下面的文件的总大小。
Linux系统中一切皆文件,因此目录也是一种文件。
第6字段:文件\目录最近访问或修改时间
第7字段:文件名
如果是一个符号链接(软链接文件),那么会有一个“->”箭头符号,后面根一个它指向的文件名

5、创建命令别名 alias命令

alias + 命令别名=‘命令’ (“=”两边不能有空格)

作用为 使偏长或经常使用的命令进行简化
例如配置网卡的命令

alias mynet='vim /etc/sysconfig/network-scripts/ifcfg-ens33'

可以通过type查询 ‘mynet’
在这里插入图片描述
那么下次再配置网卡时 只需输入‘mynet’即可

6.统计所占用磁盘的大小------du

统计指定目录(或文件)所占用磁盘空间的大小

命令格式为:

  • du [选项] [文件或目录…]
  • 统计指定目录(或文件)所占用磁盘空间的大小

6.1、常用选项

在这里插入图片描述
ps:-a和-s不能同时使用
在这里插入图片描述

  • du - -max-depth=1 统计当前目录下的子目录
  • du - -max-depth=1 [/目录] 统计指定目录
    在这里插入图片描述
    在这里插入图片描述

7.创建目录/文件 mkdir/touch 命令

7.1、mkdir 创建空目录

命令格式:

  • mkdir [选项] 目录名称
  • mkdir -p 目录 子目录 子子目录(嵌套创建多个目录)
    在这里插入图片描述

7.2、touch 创建空文件

命令格式:

  • touch 文件名

PS:touch命令还可以刷新文件时间标记
在这里插入图片描述
在这里插入图片描述

8.创建链接文件 ln命令

为文件或目录建立链接文件,类似于windows系统的快捷方式

命令格式

  • 软连接 ln -s 源文件或目录 链接文件或目标位置
  • 硬链接 ln 源文件或目录 链接文件或目标位置

8.1、软连接

在这里插入图片描述
需要注意的是 创建软连接文件需要用绝对路径 否则源文件移动了位置链接文件失效

在这里插入图片描述

8.2、硬链接

在这里插入图片描述
在这里插入图片描述

8.3 、软连接/硬链接区别

在这里插入图片描述
图示如下:
在这里插入图片描述
PS:硬链接在实际生产环境中几乎不会使用,因为它相当于起个别名,复制文件内容 并不节约空间

9.复制文件或目录内容 CP命令

命令格式

  • cp [选项] 源文件或目录 目标文件或目录

常用选项

  • -f 覆盖目标同名文件或目录时不进行提醒,直接强行复制
  • -i 覆盖目标同名文件或目录时提醒用户确定
  • -p 复制时保持源文件的权限、属主及时间标记等属性不变
  • -r 复制目录时必须使用,表示递归复制所有文件及子目录

PS:复制多个文件或目录时,目标位置必须为目录,且目标目录必须已存在

10.移动文件或目录内容 mv命令

命令格式

  • mv [选项] 源文件或目录 目标文件或目录

11.删除文件或目录 rm命令

命令格式

  • rm [选项] 要删除的文件或目录
    常用选项
  • -f 删除文件或目录时不进行提醒,而直接强行删除
  • -i 删除文件或目录时提醒用户确定(y确定删除,n不删除)
  • -r 删除目录时必须使用次选项,表示递归删除整个目录数(谨慎使用)
  • rm-rf * (删库跑路)

12.查找命令文件(外部)所在目录 which命令

命令格式:

  • which 命令|程序名 默认当找到第一个目标后不再继续查找
  • which -a 命令|程序名 在所有搜索路径中查找

在这里插入图片描述

13. 查找文件或目录 find命令

命令格式

  • find [查找范围(文件或子目录的目录位置)] [查找条件表达式(条件类型)]

查找类型

  • 按名称查找 -name 根据目标文件的名称进行查找,允许使用“*”和“?”通配符
  • 按文件大小查找 -size 根据目标文件的大小进行查找
    一般使用“+”、“-”号设置超过或小于指定大小作为查找条件
    常用的容量单位包括kB(注意k是小写)、MB、GB
  • 按文件属主查找 -user 根据文件是否属于目标用户进行查找
  • 按文件类型查找 -type 根据文件类型进行查找
    文件类型包括
    普通文件(f)
    目录(d)
    块设备文件(b)
    字符设备文件(c)等
    块设备文件(b):成块读取数据的设备(硬件,内存,光驱)
    字符设备文件(c):按单个字符读取数据的设备(键盘,鼠标)
  • find命令也可以实现多个查找
    各表达式之间逻辑运算符
    “-a”表示而且(and)
    “-o”表示或者(or)

例如:查找/root目录下 大小大于1k 以及a开头的所有文件
在这里插入图片描述
find中的-exec的用法
-exec参数后面跟的是Linux命令,它是以分号“;”为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符“\”。
{}代表前面find查找出来的文件名
例如:

查找/root目录下名为a开头的所有文件 并用ls -l显示出来

find /root -name "a*" -exec ls -l {
    
    } \;

在这里插入图片描述

14.修改语言

#设置系统语言为中文
localectl set-locale LANG=zh_CN.utf8
#查看当前系统使用的语言
localectl [status]

System Locale: LANG=zh_CN.UTF-8
       VC Keymap: cn
      X11 Layout: cn

15.查看文件内容 cat命令/more命令/less命令

15.1、cat命令

命令格式:

- cat [选项] 文件名

常用选项:

  • -n 对所有输出的行数编号
  • -b 对空白行不编号
  • -s 将所有连续的多个空行替换为一个空行
    在这里插入图片描述

15.2、more命令

相对于整个显示文件内容的cat命令(若为大文件可能会引起系统卡顿)
more命令更为实用(分页显示文件内容)

命令格式:

- more [选项] 文件名

常用操作

  • Enter 向下逐行滚动
  • 空格键 向下翻一屏
  • b 向上翻一屏
  • q 退出
  • 详细操作可查看man手册

15.3、less命令

与more命令类似 但比more命令多了些扩展功能
命令格式:

less [选项] 文件名

常用操作:

  • Page Up: 向上翻页
  • Page Down: 向下翻页
  • / :查找内容
  • n :下一个内容
  • N: 上一个内容
  • ↑: 向上滚动
  • ↓: 向下滚动
  • Enter: 向下逐行滚动
  • 空格键: 向下翻一屏
  • b: 向上翻一屏
  • q: 退出

总结:
more: 顾名思义显示更多
less: 由于more不能后退,就取more的反义词less加上后退功能
所以Linux里流传着这样一句话:“less is more”.

总结下more 和 less的区别:

  1. less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示
  2. less不必读整个文件,加载速度会比more更快
  3. less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容

15.4、补充 head/tail命令

head命令

作用:查看文件开头的一部分内容(默认为10行)

格式:

head -n 文件名         (n为行数)

tail命令
作用:查看文件结尾的少部分内容(默认为10行)

tail -n 文件名
tail -f 文件名             (跟踪文件尾部内容的动态更新)

可以用tail -f命令监控日志文件
例如:
在这里插入图片描述

16.统计文件内容 wc命令

命令格式:

wc [选项] 目标文件

常用/默认选项:

  1. -l: 统计行数
  2. -w: 统计单词个数
  3. -c:统计字节数
    如命令后不带选项 则默认这为三个选项
    在这里插入图片描述
    查询出的数字分别是 -l 行数、-w 单词个数、-c 字节数

17.检索和过滤文件内容 grep命令

作用:在文件中查找并显示包括指定字符串的行

命令格式:

grep [选项] 查找条件 目标文件

常用选项

  1. -i 查找时不区分大小写
  2. -v 显示不包含匹配文本的所有行(反向查询,反向匹配)
  3. -n 显示匹配行及行号
  4. -c 只输出匹配到的总行数(不是匹配到的次数)
  5. -e 实现可多个查找条件的匹配,逻辑or关系
  6. -E 支持使用扩展正则表达式,相当于使用egrep命令

查找条件设置

  1. 要查找的字符串以双引号括起来
  2. “^……”表示以……开头,“……$”表示以……结尾
  3. “^$”表示空行

示例:查找text01文件里以Q开头或者以S结尾的内容
在这里插入图片描述

18.压缩命令 gzip bzip2

命令格式

压缩格式:gzip [-9] 文件名
        bzip2 [-9] 文件(这里的-9是压缩比例,9的压缩比例最高)

解压缩

解压缩格式:gzip -d .gz格式的压缩文件      等同于 gunzip 文件名.gz
          bzip2 -d .bz2格式的压缩文件   等同于 bunzip2 文件名.bz2

ps:gzip和bzip2为两种不同的压缩文件格式

19.制作归档文件 tar命令

tar:(tape archive )命令用于备份文件。
tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。

命令格式:

     tar [选项] 归档文件名 源文件或目录;
     tar [选项] 归档文件名 [-C 目标目录]

常用选项:

  1. -c 创建.tar格式的包文件
  2. -x 解开.tar格式的包文件
  3. -C 解压时指定释放的自标文件夹
  4. -f 表示使用归档文件
  5. -p 打包时保留文件及目录的权限
  6. -P 打包时保留文件及目录的绝对路径
  7. -t 列表查看包内的文件
  8. -v 输出详细信息、(Verbose )
  9. -j 调用bzip2程序进行压缩或解压
  10. -z 调用gzip 程序进行压缩或解压

举例:
将aa、AAAAA制作名为AAA 格式为gzip的归档文件
在这里插入图片描述

将AAA.tar.gz文件 解压缩到指定目录 /opt/CC目录中
在这里插入图片描述

三 vi编辑器 基础知识

作用:创建或修改文本文件;维护Linux系统中的各种配置文件

linux中最常用的文本编辑器有两个:

vi:类似UNIX操作系统的默认文本编辑器
vim:vim是vi文本编辑器的增强版

工作模式
vi编辑器由三种工作模式:命令模式、输入模式、末行模式。

三种模式互相切换方式:
命令模式下通过a i o等命令进入编辑/输入模式
输入/末行模式下通过esc键进入命令模式
命令模式下通过shift+:键进入末行模式

命令模式切换输入模式常用按键

  • a 在当前光标位置之后插入内容
  • i 在当前光标位置之前插入内容
  • o 在光标所在行之下插入一个新行内容
  • O 在光标所在行之上插入一个新行内容
  • A 在所在行的行尾插入内容
  • I 在所在行的行首插入内容

命令模式下快捷键及命令
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
末行模式下移动/复制
:1,8 m(move) 9 //将1至8行的内容移动到第9行下
:1,8 co(copy) 9 //将至8行的内容复制到第9行下

猜你喜欢

转载自blog.csdn.net/bugggggggg/article/details/113406131