Linux命令学习笔记

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

第 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 程序, 保存.步骤说明和演示

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

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

在这里插入图片描述

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 的快捷键键盘一览图

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

第 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 即可注销用户

在这里插入图片描述

7.2.2 使用细节

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

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

第 8 章 实操篇 用户管理

8.1 基本介绍

给大家画一个示意图,帮助大家理解用户管理的规则。
在这里插入图片描述
说明

  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 指定密码
    在这里插入图片描述

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信息
在这里插入图片描述

8.4.3 细节说明

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

8.5 切换用户

8.5.1 介绍

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

8.5.2 基本语法

su – 切换用户名

8.5.3 应用实例

  1. 创建一个用户 zf, ,指定密码,然后切换到 zf.
    在这里插入图片描述

8.5.4 细节说明

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

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

8.6 用户组

8.6.1 介绍

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

8.6.2 增加组

groupadd 组 名

8.6.3 案例演示

在这里插入图片描述

8.7.4 删除组

指令(基本语法)

groupdel 组 名

8.7.5 案例演示

在这里插入图片描述

8.7 增加用户时直接加上组

8.8.1 指令(基本语法)

useradd -g 用户组 用户名

8.8.2 案例演示

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

步骤看演示:

在这里插入图片描述

8.9 修改用户的组

8.9.1 指令(基本语法)

usermod -g 用户组 用户名

8.9.2 案例演示

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

在这里插入图片描述

8.9 /etc/passwd 文件

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

每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell
在这里插入图片描述

8.10 /etc/shadow 文件

口令的配置文件

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

8.11 /etc/group 文件

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

每行含义:组名:口令:组标识号:组内用户列表
在这里插入图片描述

第 9 章 实操篇 实用指令

9.1 指定运行级别

运行级别说明:

0 :关机

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

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

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

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

5 :图形界面

6 :系统重启

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

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

在这里插入图片描述

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

9.2.1 基本语法

init [012356]

在这里插入图片描述

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 命令的帮助信息
在这里插入图片描述

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

百度帮助更直接

虽然上面两个都可以来获取指令帮助,但是需要英语功底,如果英语不太好的,我还是推荐大家直接百度靠谱。 ifconfig
在这里插入图片描述

9.3 文件目录类

9.3.1 pwd 指令

• 基本语法

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

• 应用实例

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

9.4.2 ls 指令

• 基本语法

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

• 常用选项

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

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

• 应用实例

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

9.4.3 cd 指令

• 基本语法

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

• 常用参数

绝对路径和相对路径

如何理解绝对路径和相对路径:
在这里插入图片描述
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

在这里插入图片描述

案例 2:创建多级目录 /home/animal/tiger
在这里插入图片描述

9.4.5 rmdir 指令

l 介绍

rmdir 指令删除空目录

l 基本语法

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

l 应用实例

案例 1:删除一个目录 /home/dog
在这里插入图片描述
l 使用细节

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

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

在这里插入图片描述

9.4.6 touch 指令

touch 指令创建空文件

• 基本语法

touch 文件名称

• 应用实例

案例 1: 创建一个空文件 hello.txt
在这里插入图片描述
在这里插入图片描述

9.4.7 cp 指令[重要]

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

• 基本语法

cp [选项] source dest

• 常用选项

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

• 应用实例

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

在这里插入图片描述
案例 2: 递归复制整个文件夹,举例将/home/test 整个目录拷贝到 /home/zwj 目录
在这里插入图片描述
• 使用细节

强制覆盖不提示的方法:\cp
在这里插入图片描述
技术小技巧:

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

9.4.8 rm 指令

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

• 基本语法

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

• 常用选项

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

-f : 强制删除不提示

• 应用实例

案例 1: 将 /home/aaa.txt 删除
在这里插入图片描述
案例 2: 递归删除整个文件夹 /home/bbb

在这里插入图片描述

• 使用细节

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

在这里插入图片描述

9.4.9 mv 指令

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

• 基本语法

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

• 应用实例

案例 1: 将 /home/aaa.txt 文件 重新命名为 pig.txt
在这里插入图片描述
案例 2:将 /home/pig.txt 文件 移动到 /root 目录下
在这里插入图片描述

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

在这里插入图片描述

快捷键一栏

在这里插入图片描述

9.4.12 less 指令

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

• 基本语法

less 要查看的文件

• 操作说明

• 应用实例

案例: 采用 less 查看一个大文件文件 /opt/金庸-射雕英雄传 txt 精校版.txt
在这里插入图片描述
快捷键

在这里插入图片描述

9.4.13 > 指令 和 >> 指令

• 介绍

> 指 令 和 >> 指 令

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

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

• 基本语法

  1. ls -l >文件(功能描述:列表的内容写入文件 a.txt 中(覆盖写))
    在这里插入图片描述
    说明:ls -l > a.txt , 将 ls -l 的显示的内容覆盖写入到 a.txt 文件,如果该文件不存在,就创建该文件。

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

在这里插入图片描述

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

在这里插入图片描述

  1. echo “内容” >> 文件

• 应用实例

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

在这里插入图片描述

案例 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 行代码
在这里插入图片描述

9.4.16 tail 指令

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

• 基本语法

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

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

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

• 应用实例

案例 1: 查看/etc/profile 最后 5 行的代码
在这里插入图片描述
案例 2: 实时监控 mydate.txt , 看看到文件有变化时,是否看到, 实时的追加日期

在这里插入图片描述

9.4.17 ln 指令

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

• 基本语法

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

• 应用实例

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

在这里插入图片描述

案例 2: 删除软连接 linkToRoot

在这里插入图片描述

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

• 细节说明

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

9.4.18 history 指令

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

• 基本语法

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

• 应用实例

案例 1: 显示所有的历史命令
在这里插入图片描述
案例 2: 显示最近使用过的 10 个指令。

在这里插入图片描述

案例 3:执行历史编号为 5 的指令
在这里插入图片描述

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: 显示当前时间信息
在这里插入图片描述
案例 2: 显示当前时间年月日

在这里插入图片描述

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

在这里插入图片描述

9.5.2 date 指令-设置日期

• 基本语法

date -s 字符串时间

• 应用实例

案例 1: 设置系统当前时间 , 比如设置成 2018-10-10 11:22:22
在这里插入图片描述

9.5.3 cal 指令

查看日历指令

• 基本语法

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

• 应用实例

在这里插入图片描述

案例 2: 显示 2020 年日历
在这里插入图片描述

9.5 搜索查找类

9.5.1 find 指令

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

• 基本语法

find [搜索范围] [选项]

• 选项说明
在这里插入图片描述
• 应用实例

案例 1: 按文件名:根据名称查找/home 目录下的 hello.txt 文件
在这里插入图片描述
案例 2:按拥有者:查找/opt 目录下,用户名称为 nobody 的文件
在这里插入图片描述

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

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
1m = 1024k
在这里插入图片描述
​ 查询 / 目录下,所有 .txt 的文件

在这里插入图片描述

9.5.2 locate 指令

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

• 基本语法

locate 搜索文件

• 特别说明

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

• 应用实例

案例 1: 请使用 locate 指令快速定位 hello.txt 文件所在目录
在这里插入图片描述

9.5.3 grep 指令和 管道符号 |

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

• 基本语法

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

• 常用选项

在这里插入图片描述

• 应用实例

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

在这里插入图片描述

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 文件进行压缩
在这里插入图片描述
案例 2: gunzip 压缩, 将 /home 下的 hello.txt.gz 文件进行解压缩
在这里插入图片描述
• 细节说明

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

9.6.2 zip/unzip 指令

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

• 基本语法

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

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

• zip 常用选项

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

• unzip 的常用选项

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

• 应用实例

案例 1: 将 /home 下的 所有文件进行压缩成 mypackage.zip
在这里插入图片描述

在这里插入图片描述

​ 案例 2: 将 mypackge.zip 解压到 /opt/tmp 目录下
在这里插入图片描述

9.6.3 tar 指令

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

• 基本语法

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

• 选项说明
在这里插入图片描述
• 应用实例

案例 1: 压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz
在这里插入图片描述
案例 2: 将/home 的文件夹 压缩成 myhome.tar.gz
在这里插入图片描述
案例 3: 将 a.tar.gz 解压到当前目录

在这里插入图片描述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值