Linux命令学习笔记

前言:本文内容是在B站学习尚硅谷韩老师的Linux入门学习视频总结的笔记,特此声明。本文只用作自己学习使用,记录自己的学习过程。
教程链接尚硅谷韩老师的Linux入门学习视频
自己目前已经练习使用了178条指令,虽然很少,但是看着自己在进步,心情就是美丽的。
Linux命令学习笔记_第1张图片

第 6 章 实操篇 vi 和 vim 编辑器

6.1 vi 和 vim 的基本介绍

所有的 Linux 系统都会内建 vi 文本编辑器。

Vim 具有程序编辑的能力,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

6.2 vi 和 vim 的三种常见模式

6.2.1 正常模式

在正常模式下,我们可以使用快捷键。

以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用

『复制、贴上』来处理你的文件数据。

6.2.2 插入模式/编辑模式

在模式下,程序员可以输入内容。

按下 i, I, o, O, a, A, r, R 等任何一个字母之后才会进入编辑模式, 一般来说按 i 即可

6.2.3 命令行模式

在这个模式当中, 可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的!

6.3 快速入门案例

使用 vim 开发一个 Hello.java 程序, 保存.步骤说明和演示

Linux命令学习笔记_第2张图片
Linux命令学习笔记_第3张图片

6.4 vi 和 vim 三种模式的相互转化图

Linux命令学习笔记_第4张图片

6.5 快捷键的使用案例

  1. 拷贝当前行 yy , 拷贝当前行向下的 5 行 5yy,并粘贴(p)。

  2. 删除当前行 dd , 删除当前行向下的 5 行 5dd

  3. 在文件中查找某个单词 [命令行下 /关键字 , 回车 查找 , 输入 n 就是查找下一个 ],查询

  4. hello.

  5. 设置文件的行号,取消文件的行号.[命令行下 : set nu 和 :set nonu]

  6. 编辑 /etc/profile 文件,使用快捷键到底文档的最末行[G]和最首行[gg],注意这些都是在正常模式下执行的。

  7. 在一个文件中输入 “hello” ,然后又撤销这个动作,再正常模式下输入 u

  8. 编辑 /etc/profile 文件,并将光标移动到 第 20 行 shift+g

第一步:显示行号 :set nu

第二步:输入 20 这个数

第三步: 输入 shift+g

6.6 vim 和 vi 的快捷键键盘一览图

Linux命令学习笔记_第5张图片Linux命令学习笔记_第6张图片

第 7 章 实操篇 开机、重启和用户登录注销

7.1 关机&重启命令

7.1.1 基本介绍

*shutdown*

shutdown -h now : 表示立即关机

shutdown -h 1 : 表示 1 分钟后关机

shutdown -r now: 立即重启

*halt*

就是直接使用,效果等价于关机

*reboot*

就是重启系统。

*syn********c*

​ 把内存的数据同步到磁盘

7.1.2 注意细节

当我们关机或者重启时,都应该先执行以下 sync 指令,把内存的数据写入磁盘,防止数据丢失。

7.2 用户登录和注销

7.2.1 基本介绍

  1. 登录时尽量少用 root 帐号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用”su - 用户名’命令来切换成系统管理员身份.

  2. 在提示符下输入 logout 即可注销用户

Linux命令学习笔记_第7张图片

7.2.2 使用细节

  1. logout 注销指令在图形运行级别无效,在 运行级别 3 下有效.

  2. 运行级别这个概念,后面给大家介绍

第 8 章 实操篇 用户管理

8.1 基本介绍

给大家画一个示意图,帮助大家理解用户管理的规则。
Linux命令学习笔记_第8张图片
说明

  1. Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

  2. Linux 的用户需要至少要属于一个组。

8.2 添加用户

8.2.1 基本语法

useradd [选项] 用户名

8.2.2 实际案例

添加一个用户 xm
在这里插入图片描述
特别说明:

cd 表示 change directory, 切换目录.

8.2.3 细节说明

(1) 当创建用户成功后,会自动的创建和用户同名的家目录

(2) 也可以通过 useradd -d 指定目录 新的用户名,给新创建的用户指定家目录

在这里插入图片描述

8.2 给用户指定或者修改密码

基本语法

passwd 用户名

应用案例

  1. 给 xiaoming 指定密码
    Linux命令学习笔记_第9张图片

8.3 删除用户

8.3.1 基本语法

userdel 用户名

8.4.2 应用案例

  1. 删除用户 xm,但是要保留家目录
    在这里插入图片描述
  2. 删除用户 xh 以及用户主目录
    在这里插入图片描述

8.4.3思考题

在删除用户时,我们一般不会将家目录删除。

8.4 查询用户信息

8.4.1 基本语法

id 用户名

8.4.2 应用实例

案例 :请查询root信息
Linux命令学习笔记_第10张图片

8.4.3 细节说明

  1. 当用户不存在时,返回”无此用户”

8.5 切换用户

8.5.1 介绍

在操作 Linux 中,如果当前用户的权限不够,可以通过 su - 指令,切换到高权限用户,比如 root

8.5.2 基本语法

su – 切换用户名

8.5.3 应用实例

  1. 创建一个用户 zf, ,指定密码,然后切换到 zf.
    Linux命令学习笔记_第11张图片

8.5.4 细节说明

1)从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。

2)当需要返回到原来用户时,使用 exit 指令

8.6 用户组

8.6.1 介绍

类似于角色,系统可以对有共性的多个用户进行统一的管理。

8.6.2 增加组

groupadd 组 名

8.6.3 案例演示

Linux命令学习笔记_第12张图片

8.7.4 删除组

指令(基本语法)

groupdel 组 名

8.7.5 案例演示

在这里插入图片描述

8.7 增加用户时直接加上组

8.8.1 指令(基本语法)

useradd -g 用户组 用户名

8.8.2 案例演示

增加一个用户 zwj, 直接将他指定到 wudang

步骤看演示:

Linux命令学习笔记_第13张图片

8.9 修改用户的组

8.9.1 指令(基本语法)

usermod -g 用户组 用户名

8.9.2 案例演示

创建一个 shaolin 组,让将 zwj 用户修改到 shaolin

Linux命令学习笔记_第14张图片

8.9 /etc/passwd 文件

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

每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell
Linux命令学习笔记_第15张图片

8.10 /etc/shadow 文件

口令的配置文件

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

8.11 /etc/group 文件

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

每行含义:组名:口令:组标识号:组内用户列表
Linux命令学习笔记_第16张图片

第 9 章 实操篇 实用指令

9.1 指定运行级别

运行级别说明:

0 :关机

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

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

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

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

5 :图形界面

6 :系统重启

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

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

Linux命令学习笔记_第17张图片

9.2 切换到指定运行级别的指令

9.2.1 基本语法

init [012356]

Linux命令学习笔记_第18张图片

9.2.2 应用实例

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

init 3

init 5

init 0

9.2.3 面试题

*如何找回* *root* *密码,如果我们不小心,忘记* *root* *密码,怎么找回。*

*思路:* 进入到 单用户模式,然后修改 root 密码。因为进入单用户模式,root 不需要密码就可以登录。

演示一把(注意观察):

****总结********:****开机->在引导时输入 回车键-> 看到一个界面输入 e -> 看到一个新的界面,选中第二行(编辑内核)在输入 e-> 在这行最后输入 1 ,再输入 回车键->再次输入 b ,这时就会进入到单用户模式。

这时,我们就进入到单用户模式,使用 passwd 指令来修改 root 密码。

9.2.4 课堂练习:

  1. 假设我们的 root 密码忘记了,请问如何找回密码

  2. 请设置我们的 运行级别,linux 运行后,直接进入到 命令行界面,即进入到 3 运行级别

vim /etc/inittab

将 id:5:initdefault:这一行中的数字, 5 这个数字改成对应的运行级别即可。

9.2 帮助指令

9.3.1 介绍

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

9.3.2 man 获得帮助信息

l 基本语法

man [命令或配置文件](功能描述:获得帮助信息)

l 应用实例

案例:查看 ls 命令的帮助信息
在这里插入图片描述

9.3.3 help 指令

l 基本语法

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

l 应用实例

案例:查看 cd 命令的帮助信息
Linux命令学习笔记_第19张图片

9.3.4 当一个指令不熟悉如何学习的建议

百度帮助更直接

虽然上面两个都可以来获取指令帮助,但是需要英语功底,如果英语不太好的,我还是推荐大家直接百度靠谱。 ifconfig
Linux命令学习笔记_第20张图片

9.3 文件目录类

9.3.1 pwd 指令

• 基本语法

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

• 应用实例

案例:显示当前工作目录的绝对路径
在这里插入图片描述

9.4.2 ls 指令

• 基本语法

ls [ 选 项] [目录或是文件]

• 常用选项

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

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

• 应用实例

Linux命令学习笔记_第21张图片
Linux命令学习笔记_第22张图片

9.4.3 cd 指令

• 基本语法

cd [参数] (功能描述:切换到指定目录)

• 常用参数

绝对路径和相对路径

如何理解绝对路径和相对路径:
Linux命令学习笔记_第23张图片
cd ~ 或者 cd :回到自己的家目录

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

• 应用实例

案例 1:使用绝对路径切换到 root 目录

cd /root

案例 2: 使用相对路径到/root 目录

这里我们需要知道该用户目录在哪个目录下,才能写出这个指令,假设在/usr/lib

cd …/…/root

案例 3:表示回到当前目录的上一级目录

cd …

案例 4:回到家目录

cd

cd ~

9.4.4 mkdir 指令

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

• 基本语法

mkdir [选项] 要创建的目录

• 常用选项

-p :创建多级目录

• 应用实例

案例 1:创建一个目录 /home/dog

Linux命令学习笔记_第24张图片

案例 2:创建多级目录 /home/animal/tiger
Linux命令学习笔记_第25张图片

9.4.5 rmdir 指令

l 介绍

rmdir 指令删除空目录

l 基本语法

rmdir [选项] 要删除的空目录

l 应用实例

案例 1:删除一个目录 /home/dog
Linux命令学习笔记_第26张图片
l 使用细节

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

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

Linux命令学习笔记_第27张图片

9.4.6 touch 指令

touch 指令创建空文件

• 基本语法

touch 文件名称

• 应用实例

案例 1: 创建一个空文件 hello.txt
Linux命令学习笔记_第28张图片
Linux命令学习笔记_第29张图片

9.4.7 cp 指令[重要]

cp 指令拷贝文件到指定目录

• 基本语法

cp [选项] source dest

• 常用选项

-r :递归复制整个文件夹

• 应用实例

案例 1: 将 /home/aaa.txt 拷贝到 /home/bbb 目录下[拷贝单个文件]

Linux命令学习笔记_第30张图片
案例 2: 递归复制整个文件夹,举例将/home/test 整个目录拷贝到 /home/zwj 目录
Linux命令学习笔记_第31张图片
• 使用细节

强制覆盖不提示的方法:\cp
Linux命令学习笔记_第32张图片
技术小技巧:

可以通过 上下箭头的键,调出原来使用过的指令。

9.4.8 rm 指令

rm 指令移除【删除】文件或目录

• 基本语法

rm [选项] 要删除的文件或目录

• 常用选项

-r :递归删除整个文件夹

-f : 强制删除不提示

• 应用实例

案例 1: 将 /home/aaa.txt 删除
Linux命令学习笔记_第33张图片
案例 2: 递归删除整个文件夹 /home/bbb

在这里插入图片描述

• 使用细节

强制删除不提示的方法:带上 -f 参数即可

在这里插入图片描述

9.4.9 mv 指令

mv 移动文件与目录或重命名

• 基本语法

mv oldNameFile newNameFile (功能描述:重命名) mv /temp/movefile /targetFolder (功能描述:移动文件)

• 应用实例

案例 1: 将 /home/aaa.txt 文件 重新命名为 pig.txt
Linux命令学习笔记_第34张图片
案例 2:将 /home/pig.txt 文件 移动到 /root 目录下
Linux命令学习笔记_第35张图片

9.4.10 cat 指令

cat 查看文件内容,是以只读的方式打开。

• 基本语法

cat [选项] 要查看的文件

• 常用选项

-n :显示行号

• 应用实例

案例 1: /etc/profile 文件内容,并显示行号

在这里插入图片描述

• 使用细节

cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more

cat 文件名 | more [分页浏览]

9.4.11 more 指令

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

• 基本语法

more 要查看的文件

• 操作说明

• 应用实例

案例: 采用 more 查看文件

/etc/profile

在这里插入图片描述

快捷键一栏

Linux命令学习笔记_第36张图片

9.4.12 less 指令

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

• 基本语法

less 要查看的文件

• 操作说明

• 应用实例

案例: 采用 less 查看一个大文件文件 /opt/金庸-射雕英雄传 txt 精校版.txt
Linux命令学习笔记_第37张图片
快捷键

在这里插入图片描述

9.4.13 > 指令 和 >> 指令

• 介绍

> 指 令 和 >> 指 令

> 输出重定向 : 会将原来的文件的内容覆盖

>> 追加: 不会覆盖原来文件的内容,而是追加到文件的尾部。

• 基本语法

  1. ls -l >文件(功能描述:列表的内容写入文件 a.txt 中(覆盖写))
    Linux命令学习笔记_第38张图片
    说明:ls -l > a.txt , 将 ls -l 的显示的内容覆盖写入到 a.txt 文件,如果该文件不存在,就创建该文件。

  2. ls -al >>文件 (功能描述:列表的内容追加到文件 aa.txt 的末尾)

Linux命令学习笔记_第39张图片

  1. cat 文件 1 > 文件 2 (功能描述:将文件 1 的内容覆盖到文件 2)

Linux命令学习笔记_第40张图片

  1. echo “内容” >> 文件

• 应用实例

案例 1: 将 /home 目录下的文件列表 写入到 /home/info.txt 中

Linux命令学习笔记_第41张图片

案例 2: 将当前日历信息 追加到 /home/mycal 文件中 [提示 cal ]

在这里插入图片描述

9.4.14 echo 指令

echo 输出内容到控制台。

• 基本语法

echo [选项] [输出内容]

• 应用实例

案例: 使用 echo 指令输出环境变量,输出当前的环境路径。
在这里插入图片描述
案例: 使用 echo 指令输出 hello,world!

9.4.15 head 指令

head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容

• 基本语法

head 文件 (功能描述:查看文件头 10 行内容)

head -n 5 文件 (功能描述:查看文件头 5 行内容,5 可以是任意行数)

• 应用实例

案例: 查看/etc/profile 的前面 5 行代码
Linux命令学习笔记_第42张图片

9.4.16 tail 指令

tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后 10 行内容。

• 基本语法

  1. tail 文件 (功能描述:查看文件后 10 行内容)

  2. tail -n 5 文件 (功能描述:查看文件后 5 行内容,5 可以是任意行数)

  3. tail -f 文件 (功能描述:实时追踪该文档的所有更新,工作经常使用)

• 应用实例

案例 1: 查看/etc/profile 最后 5 行的代码
Linux命令学习笔记_第43张图片
案例 2: 实时监控 mydate.txt , 看看到文件有变化时,是否看到, 实时的追加日期

Linux命令学习笔记_第44张图片

9.4.17 ln 指令

软链接指令,软连接也叫符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径

• 基本语法

ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)

• 应用实例

案例 1: 在/home 目录下创建一个软连接 linkToRoot,连接到 /root 目录

Linux命令学习笔记_第45张图片

案例 2: 删除软连接 linkToRoot

Linux命令学习笔记_第46张图片

​ (之所以报资源忙,是因为如果带/会认为是把软链接目录下的文件删除,这是不允许的)

• 细节说明

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

9.4.18 history 指令

查看已经执行过历史命令,也可以执行历史指令

• 基本语法

history (功能描述:查看已经执行过历史命令)

• 应用实例

案例 1: 显示所有的历史命令
Linux命令学习笔记_第47张图片
案例 2: 显示最近使用过的 10 个指令。

Linux命令学习笔记_第48张图片

案例 3:执行历史编号为 5 的指令
Linux命令学习笔记_第49张图片

9.4 时间日期类

9.5.1 date 指令-显示当前日期

• 基本语法

  1. date (功能描述:显示当前时间)

  2. date +%Y (功能描述:显示当前年份)

  3. date +%m (功能描述:显示当前月份)

  4. date +%d (功能描述:显示当前是哪一天)

  5. date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)

• 应用实例

案例 1: 显示当前时间信息
Linux命令学习笔记_第50张图片
案例 2: 显示当前时间年月日

Linux命令学习笔记_第51张图片

案例 3: 显示当前时间年月日时分秒

Linux命令学习笔记_第52张图片

9.5.2 date 指令-设置日期

• 基本语法

date -s 字符串时间

• 应用实例

案例 1: 设置系统当前时间 , 比如设置成 2018-10-10 11:22:22
Linux命令学习笔记_第53张图片

9.5.3 cal 指令

查看日历指令

• 基本语法

cal [选项] (功能描述:不加选项,显示本月日历)

• 应用实例

Linux命令学习笔记_第54张图片

案例 2: 显示 2020 年日历
Linux命令学习笔记_第55张图片

9.5 搜索查找类

9.5.1 find 指令

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

• 基本语法

find [搜索范围] [选项]

• 选项说明
Linux命令学习笔记_第56张图片
• 应用实例

案例 1: 按文件名:根据名称查找/home 目录下的 hello.txt 文件
Linux命令学习笔记_第57张图片
案例 2:按拥有者:查找/opt 目录下,用户名称为 nobody 的文件
在这里插入图片描述

案例 :查找整个linux系统下大于20m +n 等于)

Linux命令学习笔记_第58张图片在这里插入图片描述
在这里插入图片描述
1m = 1024k
Linux命令学习笔记_第59张图片
​ 查询 / 目录下,所有 .txt 的文件

Linux命令学习笔记_第60张图片

9.5.2 locate 指令

locaate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。

• 基本语法

locate 搜索文件

• 特别说明

由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。

• 应用实例

案例 1: 请使用 locate 指令快速定位 hello.txt 文件所在目录
Linux命令学习笔记_第61张图片

9.5.3 grep 指令和 管道符号 |

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

• 基本语法

grep [选项] 查找内容 源文件

• 常用选项

Linux命令学习笔记_第62张图片

• 应用实例

案例 1: 请在 hello.txt 文件中,查找 “yes” 所在行,并且显示行号

Linux命令学习笔记_第63张图片

My:案例 2:查找hello.txt的hello grep “hello” hello.txt

9.6 压缩和解压类

9.6.1 gzip/gunzip 指令

gzip 用于压缩文件(不能打包:压缩文件夹), gunzip 用于解压的

• 基本语法

gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz 文件)

gunzip 文 件.gz (功能描述:解压缩文件命令)

• 应用实例

案例 1: gzip 压缩, 将 /home 下的 hello.txt 文件进行压缩
Linux命令学习笔记_第64张图片
案例 2: gunzip 压缩, 将 /home 下的 hello.txt.gz 文件进行解压缩
Linux命令学习笔记_第65张图片
• 细节说明

当我们使用 gzip 对文件进行压缩后,不会保留原来的文件。

9.6.2 zip/unzip 指令

zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的

• 基本语法

zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)

unzip [选项] XXX.zip (功能描述:解压缩文件)

• zip 常用选项

-r:递归压缩,即压缩目录

• unzip 的常用选项

-d<目录> :指定解压后文件的存放目录

• 应用实例

案例 1: 将 /home 下的 所有文件进行压缩成 mypackage.zip
Linux命令学习笔记_第66张图片

在这里插入图片描述

​ 案例 2: 将 mypackge.zip 解压到 /opt/tmp 目录下
Linux命令学习笔记_第67张图片

9.6.3 tar 指令

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

• 基本语法

tar [选项] xxx.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)

• 选项说明
Linux命令学习笔记_第68张图片
• 应用实例

案例 1: 压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz
Linux命令学习笔记_第69张图片
案例 2: 将/home 的文件夹 压缩成 myhome.tar.gz
Linux命令学习笔记_第70张图片
案例 3: 将 a.tar.gz 解压到当前目录

Linux命令学习笔记_第71张图片

案 例 4: 将 myhome.tar.gz 解压到 /opt/ 目录下
在这里插入图片描述
指定解压到的那个目录,事先要存在才能成功,否则会报错。

你可能感兴趣的:(Linux)