• Linux学习笔记

    • 系列篇:
        • 1. 用户管理【用户和组的配置文件】
          • 1.1 /etc/passwd 文件
          • 1.2 /etc/shadow 文件
          • 1.3 /etc/group 文件
        • 2. Linux 实用指令
          • 2.1 指定运行级别
          • 2.2 切换到指定运行级别的指令
            • 2.2.1 基本语法
            • 2.2.2 应用案例
            • 2.2.3 面试题
          • 2.3 帮助指令
            • 2.3.1 介绍
            • 2.3.2 man 获得帮助信息
              • 2.3.2.1 基本语法
              • 2.3.2.2 应用实例
            • 2.3.3 help 指令
              • 2.3.3.1 基本语法
              • 2.3.2 应用实例
          • 2.4 文件目录类
            • 2.4.1 pwd指令
            • 2.4.2 ls 指令
            • 2.4.3 cd 指令
            • 2.4.4 mkdir 指令
            • 2.4.5 rmdir 指令
            • 2.4.6 touch 指令
            • 2.4.7 cp 指令【重要】
            • 2.4.8 rm 指令
            • 2.4.9 mv 指令
            • 2.4.10 cat 指令
            • 2.4.11 more 指令
            • 2.4.12 less 指令
            • 2.4.12 > 指令和 >> 指令
            • 2.4.14 echo 指令
            • 2.4.15 head 指令
            • 2.4.16 tail 指令
            • 2.4.17 In 指令
            • 2.4.18 history 指令
          • 2.5 时间日期类
            • 2.5.1 date 指令—显示当前日期
            • 2.5.2 date 指令—设置日期
            • 2.5.3 cal 指令
          • 2.6 搜索查找类
            • 2.6.1 find 指令
            • 2.6.2 locate 指令
            • 2.6.3 grep 指令和管道符号 |
          • 2.7 压缩和解压类
            • 2.7.1 gzip/gunzip 指令
            • 2.7.2 zip/unzip 指令
            • 2.7.3 tar 指令


1. 用户管理【用户和组的配置文件】

1.1 /etc/passwd 文件

用户 (user) 的配置文件,记录用户的各种信息

每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登陆Shell

centos6 密码策略 centos 简单密码_运行级别

1.2 /etc/shadow 文件

口令的配置文件

每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

centos6 密码策略 centos 简单密码_应用实例_02

1.3 /etc/group 文件

组(group)的配置文件,记录 Linux 包含的组的信息

每行含义:组名:口令:组标识号:组内用户列表

centos6 密码策略 centos 简单密码_应用实例_03

2. Linux 实用指令

2.1 指定运行级别

运行级别说明:

0:关机

1:单用户【找回丢失密码】

2:多用户状态没有网络服务

3:多用户状态有网络服务

4:系统未使用保留给用户

5:图形界面

6:系统重启

常用级别是3和5,要修改默认的运行级别可以修改文件

/etc/inittabl 的 id:5:initdefault: 这一行中的数字

运行级别示意图

centos6 密码策略 centos 简单密码_应用实例_04

2.2 切换到指定运行级别的指令
2.2.1 基本语法

init [012356]

centos6 密码策略 centos 简单密码_基本语法_05

2.2.2 应用案例

通过 init 来切换不同的运行级别,比如动 5-3,然后关机

首先切换到3【发生 linux 改变成了命令行模式】

centos6 密码策略 centos 简单密码_运行级别_06


centos6 密码策略 centos 简单密码_基本语法_07


再次切换回来 【init 5】发现重新切换回图形化界面

centos6 密码策略 centos 简单密码_linux_08

然后关机就是 init 0

2.2.3 面试题

【注意事项:远程连接无法实现】
如何找回 root 密码,如果我们不小心忘记了 root 密码,怎么找回。
思路:进入到 单用户模式,然后修改 root 密码,因为进入单用户模式,root 不需要密码既可以登陆。
总结:

  1. 首先开机 > 在引导时输入 回车键
  2. 看到一个界面输入 e > 进入一个新界面,选中第二行(编辑内核)在输入 e
  3. 在这行最后输入 1,再输入 回车键 > 再次输入 b,这时就会进入到单用户模式。
  4. 这时我们就进入到单用户模式,使用 passwd 指令来修改 root 密码。
  5. 最后修改过密码,输入 reboot 重启服务器即可
    首先开机 > 在引导时输入 回车键 > 看到一个界面输入 e > 进入一个新界面,选中第二行(编辑内核)在输入 e > 在这行最后输入 1,再输入 回车键 > 再次输入 b,这时就会进入到单用户模式。
    这时我们就进入到单用户模式,使用 passwd 指令来修改 root 密码。
2.3 帮助指令
2.3.1 介绍

当我们对某个指令不熟悉时,我们可以使用 Linux 提供的帮助指令来了解这个指令的使用方法。

2.3.2 man 获得帮助信息
2.3.2.1 基本语法

man 【命令或配置文件】(功能描述,获得帮助信息)

2.3.2.2 应用实例

查看 ls 命令的帮助信息

centos6 密码策略 centos 简单密码_基本语法_09

2.3.3 help 指令
2.3.3.1 基本语法

help 命令(功能描述:获得 shell 内置命令的帮助信息)

2.3.2 应用实例

查看 cd 命令的帮助信息

centos6 密码策略 centos 简单密码_centos6 密码策略_10

2.4 文件目录类
2.4.1 pwd指令

基本语法:pwd(功能描述:显示当前工作目录的绝对路径)

应用实例:显示当前工作目录的绝对路径

centos6 密码策略 centos 简单密码_运行级别_11

2.4.2 ls 指令

基本语法:ls 【选项】【目录或是文件】 常用选项:

-a:显示当前目录所有的文件和目录,包括隐藏的

-l:以列表的方式显示信息

应用实例:查看当前目录的所有内容信息

centos6 密码策略 centos 简单密码_基本语法_12

2.4.3 cd 指令

基本语法:cd 【参数】(功能描述:切换到指定目录)

常用参数:绝对路径和相对路径

如何理解绝对路径和相对路径示意图如下:

centos6 密码策略 centos 简单密码_linux_13


cd ~ 或者 cd :回到自己的家目录

cd… :回到当前目录的的上一级

应用案例:

  1. 使用绝对路径切换到 root 目录
  2. 使用相对路径到 /root 目录
  3. 标识回到当前目录的上一级目录
  4. 回到家目录
2.4.4 mkdir 指令

mkdir 指令用户创建目录(make directory)

基本语法:mkdir 【选项】 要创建的目录 常用选项:-p:创建多级目录

应用案列:

创建一个目录 /home/dog

centos6 密码策略 centos 简单密码_centos6 密码策略_14

创建多级目录 /home/animal/tiger

centos6 密码策略 centos 简单密码_运行级别_15

2.4.5 rmdir 指令

rmdir 指令删除空目录

基本语法:rmdir 【选项】 要删除䣌空目录 应用实例:

删除一个目录 /home/dog

centos6 密码策略 centos 简单密码_linux_16


使用细节:

rmdir 删除的是空目录,如果目录下有内容是无法删除的。

提示:如果需要删除非空目录,需要使用 rm -rf 要删除的目录即可。

centos6 密码策略 centos 简单密码_centos6 密码策略_17

2.4.6 touch 指令

touch 指令创建空文件

基本语法:touch 文件名称 应用实例:创建一个空文件 hello.txt

centos6 密码策略 centos 简单密码_linux_18


一次也可以创建多个文件

centos6 密码策略 centos 简单密码_运行级别_19

2.4.7 cp 指令【重要】

cp 指令拷贝文件到指定目录
基本语法:cp 【选项】 source dest 常用选项:-r:递归复制整个文件夹
应用实例:

  1. 将 /home/aaa.txt 拷贝到 /home/bbb 目录下
  2. 递归复制整个文件夹,举例【将 /home/test 整个目录拷贝到 /home/zwj 目录】

    使用细节:强制覆盖不提示的方法:\cp

小技巧:可以通过 上下箭头调出原来使用过的指令。

2.4.8 rm 指令

rm 指令移除【删除】文件或目录
基本语法:rm 【选项】 要删除的文件或目录 常用选项:
-r:递归删除整个文件夹
-f:强制删除不提示
应用实例:

  1. 将 /home/aaa.txt 删除
  2. centos6 密码策略 centos 简单密码_应用实例_20

  3. 递归删除整个文件夹 /home/bbb
  4. centos6 密码策略 centos 简单密码_centos6 密码策略_21

  5. 使用细节:强制删除不提示的方法,带上 -f 参数即可【删除 /home/ok1.txt 不提示删除】
  6. centos6 密码策略 centos 简单密码_应用实例_22

2.4.9 mv 指令

mv 移动文件与目录或重命名
基本语法:
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)
在同一目录中 mv 作用是重命名
在不同目录中 mv 作用是移动文件
应用实例:

  1. 将 /home/aaa.txt 文件 重新命名为 pig.txt
  2. centos6 密码策略 centos 简单密码_linux_23

  3. 将 /home/pig.txt 文件移动到 /root 目录下
  4. centos6 密码策略 centos 简单密码_运行级别_24


  5. centos6 密码策略 centos 简单密码_linux_25

2.4.10 cat 指令

cat 查看文件内容【以只读的方式打开】
基本语法:cat 【选项】 要查看的文件 常用选项:-n:显示行号
应用案列:

  1. 查看 /etc/profile 文件内容,并显示行号

    使用细节:cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more
2.4.11 more 指令

more 指令是要给基于 VI 编辑器的文本过滤器,他以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明

基本语法:more 要查看的文件 操作说明:

centos6 密码策略 centos 简单密码_应用实例_26

应用实例:

1.采用 more 查看文件 /etc/profile

centos6 密码策略 centos 简单密码_linux_27

2.4.12 less 指令

less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端,less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是跟据显示需要加载内容,对于显示大型文件具有较高的效率。

基本语法:less 要查看的文件 操作说明:

centos6 密码策略 centos 简单密码_基本语法_28


应用案列:

采用 less 查看一个大文件

centos6 密码策略 centos 简单密码_基本语法_29

2.4.12 > 指令和 >> 指令

'> 输出重定向和 >> 追加
基本语法:

  1. ls -l >文件 (功能描述:列表的内容写入文件 a.txt 中(覆盖写))
  2. centos6 密码策略 centos 简单密码_运行级别_30

  3. ls -al >>文件 (功能描述:将列表的内容追加到文件 a.txt 的末尾(不覆盖) )
  4. centos6 密码策略 centos 简单密码_应用实例_31

  5. cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
  6. centos6 密码策略 centos 简单密码_基本语法_32

  7. echo “内容” >> 文件
  8. centos6 密码策略 centos 简单密码_linux_33

应用实例:

  1. 将 /home 目录下的文件列表写入到 /home/info.txt 中
  2. 将当前日历信息追加到 /home/mycal 文件中【提示 cal】
2.4.14 echo 指令

echo 输出内容到控制台
基本语法:echo 【选项】 【输出内容】 应用实例:

  1. 使用 echo 指令输出环境变量,输出当前的环境路径
  2. centos6 密码策略 centos 简单密码_应用实例_34

  3. 使用 echo 指令输出 hello,world!
  4. centos6 密码策略 centos 简单密码_基本语法_35

2.4.15 head 指令

head 用户显示问价你的开头部门内容,默认情况下 head 指令显示文件的前 10 行内容
基本语法:head 文件(功能描述:查看文件头10行内容)
head -n 5 文件(功能描述:查看文件头5行内容,5可以是任意行数)
应用实例:

  1. 查看 /etc/prifile 的前面5行代码
2.4.16 tail 指令

tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后10行内容。
基本语法:
tail 文件 (功能描述:查看文件后10行内容)
tail -n 5 文件(功能描述:查看文件后5行内容,5可以是任意行数)
tail -f 文件(功能描述:实时追踪该文档的所有更新)
应用实例:

  1. 查看 /etc/profile 最后5行代码
  2. 实时监控 hello.txt ,看看文件有何变化,能否实时看到追加的内容。
2.4.17 In 指令

软链接也叫符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径
基本语法:ln -s 【源文件或目录】【软链接名】 (功能描述:给原文件创建一个软链接)
应用实例:

  1. 在 /home 目录下创建一个软链接 linkToRoot,连接到 /root 目录
  2. 删除软链接 linkToRoot

细节说明:当我们使用 pwd 指令查看目录时,仍然看到的是软链接所在的目录。

2.4.18 history 指令

查看已经执行过的历史命令,也可以执行历史命令
基本语法:history(功能描述:查看已经执行过的历史命令)
应用案例:

  1. 显示所有的历史命令
  2. centos6 密码策略 centos 简单密码_基本语法_36

  3. 显示最近使用的10个指令
  4. centos6 密码策略 centos 简单密码_应用实例_37

  5. 执行历史编号为330的指令
  6. centos6 密码策略 centos 简单密码_centos6 密码策略_38

2.5 时间日期类
2.5.1 date 指令—显示当前日期

基本语法:
date(显示当前时间)
date+%Y(显示当前年份)
date+%m(显示当前月份)
date+%d(显示当前是哪一天)
date+%Y-%m-%d%H:%M:%S(显示年月日时分秒)
应用实例:

  1. 显示当前时间信息
  2. centos6 密码策略 centos 简单密码_linux_39

  3. 显示当前时间年月日
  4. centos6 密码策略 centos 简单密码_centos6 密码策略_40

  5. 显示当前时间年月日时分秒
  6. centos6 密码策略 centos 简单密码_运行级别_41

2.5.2 date 指令—设置日期

基本语法:date -s 字符串日期 应用案例:

  1. 设置系统当前时间,比如设置成 2020-4-14 17:55:55
2.5.3 cal 指令

查看日历指令
基本语法:cal 【选项】(功能描述:不加选项,显示本月日历)
应用案例:

  1. 显示当前日历
  2. centos6 密码策略 centos 简单密码_基本语法_42

  3. 显示 2025 年日期
  4. centos6 密码策略 centos 简单密码_linux_43

2.6 搜索查找类
2.6.1 find 指令

find 指令将从指定目录向下递归地白能力其各个子目录,将满足条件的文件或者目录显示在终端。

基本语法:find 【搜索范围】【选项】 选项说明:

centos6 密码策略 centos 简单密码_运行级别_44


应用实例:

  1. 按文件名,跟据名称查找 /home 目录下的 hello.txt 文件
  2. centos6 密码策略 centos 简单密码_基本语法_45

  3. 按拥有者:查找 /opt 目录下,用户名称为 nobody 的文件
  4. centos6 密码策略 centos 简单密码_linux_46

  5. 查找整个 linux 系统下大于 20m 的文件(+n大于 -n小于 n等于)
    【20M要大写】
  6. centos6 密码策略 centos 简单密码_运行级别_47


  7. centos6 密码策略 centos 简单密码_centos6 密码策略_48


  8. centos6 密码策略 centos 简单密码_应用实例_49


  9. centos6 密码策略 centos 简单密码_运行级别_50

2.6.2 locate 指令

locate 指令可以快速定位文件路径,locate 指令利用事先建立的系统中所有文件名称以及路径的 locate 数据库实现快速定位给定的文件,locate 指令无需遍历整个文件系统,查询速度较快。
基本语法:locate 搜索文件 特别说明:由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。
应用案例:

  1. 使用 locate 指令快速定位 hello.txt 文件所在的目录
2.6.3 grep 指令和管道符号 |

grep 过滤查找,管道符,| ,表示将前一个命令的处理结果输出传递给后面的命令处理。

基本语法:grep【选项】查找内容 源文件 常用选项:

centos6 密码策略 centos 简单密码_应用实例_51


应用案例:

  1. 在 hello.txt 文件中,查找 yes 所在行,并且显示行号
2.7 压缩和解压类
2.7.1 gzip/gunzip 指令

gzip 用于压缩文件,gunzip 用于解压
基本语法:
gzip 文件(功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz(功能描述:解压缩文件命令)
应用实例:

  1. gzip 压缩,将 /home 下的 hello.txt 文件进行压缩
  2. gunzip 压缩,将 /home 下的 hello.txt.gz 文件进行解压
  3. centos6 密码策略 centos 简单密码_基本语法_52

2.7.2 zip/unzip 指令

zip 用于压缩文件,unzip 用户解压文件,这个在项目打包发布中很有用的
基本语法:
zip 【选项】XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
unzip 【选项】XXX.zip(功能描述:解压缩文件)
zip 常用选项:
-r:递归压缩,即压缩目录
unzip 常用选项:
-d<目录>:指定解压后文件的存放目录
应用实例:

  1. 将 /home 下的所有文件进行压缩成 mypackage.zip
  2. centos6 密码策略 centos 简单密码_centos6 密码策略_53


  3. centos6 密码策略 centos 简单密码_基本语法_54

  4. 将 mypackage.zip 解压到 /opt/tmp 目录下
  5. centos6 密码策略 centos 简单密码_基本语法_55

2.7.3 tar 指令

tar 指令是打包指令,最后打包后的文件是 .tag.gz 的文件

基本语法:tar 【选项】 XXX.tar.gz 打包的内容(功能描述:打包目录,压缩后的文件格式 tar.gz)

选项说明:

centos6 密码策略 centos 简单密码_基本语法_56


应用实例:

  1. 压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz
  2. centos6 密码策略 centos 简单密码_linux_57

  3. 将 /home 的文件夹压缩成 myhome.tar.gz
  4. centos6 密码策略 centos 简单密码_linux_58

  5. 将 a.tar.gz 加压到当前目录
  6. centos6 密码策略 centos 简单密码_linux_59

  7. 将 myhome.tar.gz 解压到 /opt/tmp 目录下
  8. centos6 密码策略 centos 简单密码_linux_60