操作系统的使用形式
1. 图形化:使用操作系统提供的图形化页面,以获得图形化反馈的形式去使用操作系统
2. 命令行:使用操作系统提供的各类命令,以获得字符反馈的形式去使用操作系统
WSL(Windows Subsystem for Linux)
简介:用于Windows系统之上的Linux子系统
作用:在Windows系统中获得Linux系统环境,并完全直连计算机硬件,无需通过虚拟机虚拟硬件。
快照
1. 简介:虚拟机快照可以用来保存虚拟机的当前状态。
2. 使用场景:刚刚安装好虚拟机的操作系统后创建一个虚拟机快照。如果后期做实验时,系统崩溃的话,可以恢复到初始状态,而不必再重新安装虚拟机及其操作系统。
克隆
1. 简介:快速创建若干同配置的虚拟机。
2. 使用场景:在需要同时使用多个虚拟机的场景。
Linux系统
1. Linux的目录结构
Linux的目录结构是一个树形结构,不同于windows系统,Linux没有盘符的概念,只有一个根目录/,所有文件都在它下面
2. LInux命令
(1)命令行:即Linux终端(Terminal),是一种命令提示符页面。以纯“字符”的形式操作系统。
(2)命令:即Linux程序。一个命令就是一个Linux程序。命令没有图形化页面
命令的格式:
command [-options] [parameter]
command:命令本身
-options:命令的一些选项,可以通过选项控制命令的行为细节
parameter:命令的参数,多数用于命令的指向目标等。
语法中的[]表示可选的意思。
① ls命令:列出目录下的内容,语法如下
ls [-a -l -h] [Linux路径]
-a选项,表示:all的意思,即列出所有的文件夹,包括隐藏的文件(文件名前面有.的文件就是隐藏文件)
-l选项,表示以列表(竖向排列)的形式展示内容,并展示更多信息。
-h选项,表示以易于阅读的形式,列出文件大小,如K、M、G,-h必须与-l一起使用
ls命令不接选项表示列出当前的工作目录,默认是HOME目录(HOME目录:每个Linux操作用户在Linux系统的个人账号目录,路径在/home/用户名)
② cd命令:切换工作目录
cd [Linux路径]
cd命令不接路径参数时,表示回到用户的HOME目录
③ pwd命令:查看\输出当前工作目录
pwd
pwd命令,无选项,无参数,直接输入pwd即可
内容补充1
相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头
绝对路径:以根目录为起点,描述路径的一种写法,路径描述必须以/开头特殊路径符:
. 表示当前目录
.. 表示上一级目录
~ 表示HOME目录
④ mkdir命令:创建新的目录(文件夹)
mkdir [-p] Linux路径
-p 选项,表示自动创建不存在的父目录,适用于创建连续多层级的目录
Linux路径可以是绝对路径,也可以是相对路径
注意:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要在HOME外操作。
⑤ touch命令:创建文件
touch Linux路径
该命令无选项,可以直接创建多层级文件夹
⑥ cat命令:查看文件内容(全部)
cat Linux路径
该命令是将文件内容全部显示出来
⑦ more命令:查看文件内容(支持翻页)
more Linux路径
如果文件内容过多,此命令可以一页一页展示出来,查看的过程中,通过空格翻到下一页,b回滚到上一页,q退出查看
⑧ cp命令:复制文件\文件夹
cp [-r] 参数1 参数2
-r 选项:复制文件夹时使用,表示递归
参数1,参数2:都是Linux路径,其中参数1表示被复制的文件或文件夹,参数2表示要复制去的地方。
复制过程中具有改名效果
⑨ mv命令:移动文件\文件夹
mv 参数1 参数2
参数1,参数2:都是Linux路径,其中参数1表示被移动的文件或文件夹,参数2表示要移动去的地方。
移动过程中具有改名效果
⑩ rm命令:删除文件、文件夹
rm [-r -f] 参数1 参数2 参数3 …… 参数n
-r选项:用于删除文件夹
-f选项:强制删除(不会弹出提示确认信息,普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示,所以一般普通用户用不上-f选项)
参数n:表示要删除的文件或文件夹路径,按照空格隔开
内容补充2
A. 通配符*,用来做模糊匹配,示例:
test*:匹配任何以test开头的内容
*test:匹配任何以test结尾的内容
*test*:匹配任何包含test的内容B. 切换root用户
通过su - root后输入密码即可切换root用户,在通过exit退回普通用户
⑪ which命令:查看所使用的一系列命令的程序文件存放在哪里。
whick 要查找的命令
⑫ find命令:搜索指定的文件
# 按文件名查找文件
find 起始路径 -name "被查找文件名"
# 按文件大小查找文件
find 起始路径 -size +\-n[k\M\G]
name和被查找的文件名中间有个空格
按大小查找文件时:+\-表示大于\小于,n表示数字,kMG表示单位,+1k表示大于1k的文件
⑬ grep命令:从文件中通过关键字过滤文件行
grep [-n] 关键字 文件路径
-n选项:表示在结果中显示匹配的行的行号
关键字:表示过滤的关键字,带有空格或其他特殊符号,建议使用""将关键字包围起来
文件路径:表示要过滤内容的文件路径,可作为内容输入端口。
⑭ wc命令:统计文件的行数、单词数量等
wc [-c -m -l -w] 文件路径
-c选项:统计bytes数量
-m选项:统计字符数量(不能于-c同时使用)
-l选项:统计行数
-w选项:统计单词数量
内容补充3
管道符 | :将管道符左边命令的结果,作为右边命令的输入
反引号 ` :也称飘号,被飘号包围的内容,会被作为命令执行,而非普通字符。
重定向符 > :将左侧命令的结果,覆盖写入到符号右侧指定的文件中。
重定向符 >> :将左侧命令的结果,追加写入到符号右侧指定的文件中。
⑮ echo命令:在命令行输出指定内容
echo 输出的内容
此命令相当于C中的printf函数,使用echo命令时,建议使用双引号包围要输出的内容
⑯ tail命令:查看文件尾部的内容,跟踪文件的最新更改
tail [-f -num] Linux文件路径
-f选项 :表示持续追踪,实时查看文件内容,即程序会一直运行,当文件有更新时,tail会显示出相应的内容。
-num选项:num是一个具体的数值,表示查看尾部n行的内容,,例如-5表示查看尾部5行的内容,若该选项不填,则默认查看尾部10行的内容。
内容补充4
A. vi\vim编辑器
visual interface的简称,是Linux中最经典的文本编辑器,vim是vi的加强版,兼容vi所有的指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。
vi\vim的工作模式:
a. 命令模式:该模式下,所敲的按键编辑器都理解为指令,以命令驱动执行不同的功能。此模式下不支持自由进行文本编辑。
b. 输入模式(编辑、插入模式):此模式下,可以对文件内容进行自由编辑。vi\vim 文件路径
c. 底线命令模式:通常用于文件的保存、退出。# 命令模式下,通过输入下列字母,以特定的方式进入输入模式 a:在当前光标下一位开始编辑 A:在当前光标所在行行尾开始编辑 i:在当前光标开始编辑 I:在当前光标所在行行首开始编辑 o:在当前光标的下一行开始编辑 O:在当前光标的上一行开始编辑 注:输入模式下输入esc即可退出输入模式,回到命令模式。
# 命令模式下的快捷方式: dd 删除(剪切)光标所在行整行 ndd 删除光标所在行起向下n行(5dd,删除5行) yy 复制光标所在行 nyy 复制光标所在行向下n行 p 粘贴 复制或剪切的内容(粘贴到下一行) x 向后删除当前光标所在字符 X 向前删除当前光标所在字符 gg 把光标跳转到本文件的第一行 G 把光标跳转到本文件的最后一行 0 移动光标到当前行的开头 $ 移动光标到当前行的结尾 u 撤销,返回上一步 r 替换当前光标所在位置(一个字母) R 向后连续替换 PgUp 向上翻页 PgDn 向下翻页 / 进入搜索模式 n 向下继续搜索 N 向上继续搜索
# 底线输入模式下的快捷方式: :set nu 显示行号 :set nonu 取消显示行号 :q 只退出,不保存 :wq 保存退出 :q! 强制退出 :wq! 强制保存退出 :%s/old/new 将old替换成new :/string 查找字符串 :n 定位到n行(n指数字)
B. root用户(超级管理员)
a. 在Linux系统中,拥有最大系统权限的用户是:root
普通用户的权限一般在其HOME目录内是不受限的,一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限。
⑰ su命令:用于账户的切换
su [-] [用户名]
- 符号是可选的,表示是否在切换用户后加载环境变量,一般是要带上的
用户名:表示要切换的用户,省略不写时表示切换到root
注意:使用普通用户时,切换到其他用户需要输入密码,但是使用root用户切换到其它用户,则无需输入密码,可直接切换。
切换用户后,可以使用exit命令退回上一个用户,也可以使用快捷键:ctrl+d
⑱ sudo命令:为普通的命令授权,临时以root身份执行。
sudo 其它命令
在其它命令之前,带上sudo,即可为这一条命令临时赋予root授权,但是并不是所有的用户都有权力使用sudo,普通用户需要配置sudo认证才能使用sudo命令。
内容补充5,用户与用户组
Linux中关于权限的管理级别有两个级别,分别是:针对用户的权限控制、针对用户组的权限控制
用户与用户组相关命令
# 以下命令需在root用户下执行 # 用户组相关操作 groupadd 用户组名 # 创建用户组 groupdel 用户组名 # 删除用户组 #用户相关操作 useradd [-g 参数1 -d 参数2] 用户名 # 创建用户 # -g选项:用于指定用户的组为参数1,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名 # 组,则必须使用-g # -d选项:用于指定用户HOME路径为参数2,若不指定,则HOME目录默认在:/home/用户名 userdel [-r] 用户名 # 删除用户 # -r选项:删除用户的HOME目录,若不使用-r,则删除用户时HOME目录将保留 id [用户名] # 查看用户所属组 # 用户名若不提供,则查看自身 usermod -aG 用户组 用户名 # 将指定用户加入指定用户组 getent passwd # 查看当前系统中有哪些用户 # 此命令显示出的信息分别是:密码:用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash) # getent命令的作用是:查看系统的数据库中的相关记录。passwd可以换为其他参数。
内容补充6,权限信息
当以 ls -l 命令通过列表形式查看内容时,会显示权限细节,其内容包括有:文件(夹)的权限控制信息、文件(夹)所属用户、文件(夹)所属用户组。
权限控制信息,以 drwxr-xr-x 为例:
a. 首字母 d 表示这是一个文件夹,若不是文件夹,则以 - 开头
b. 所属用户的权限是:有r 有w 有x,即 rwxc. 所属用户组的权限是:有r 无w 有x,即 r-x( - 表示无此权限)
d. 其他用户的权限是:有r 无w 有x,r-x
即该权限信息可以拆分为:d rwx r-x r-x
rwx具体权限代表权限r
针对文件:查看文件内容。针对文件夹:查看文件夹内容,如 ls 命令。
权限w
针对文件:表示可以修改此文件
针对文件夹:表示可以在文件夹内创建、删除、改名等操作
权限x
针对文件:表示可以将文件作为程序执行
针对文件夹:表示可以更改工作目录到此文件夹,即 cd 进入
附:HOME目录与工作目录的区别
Home目录是用户私人空间,用于存储个人文件和配置。 它是用户独立的工作区域,确保了数据的隐私和安全。
工作目录则决定了你当前操作的文件位置,可以通过cd命令切换工作目录,以访问不同位置的文件和目录。
同时,默认情况下,每个用户只能访问自己的“home”文件夹,而不能访问其他用户的“home”文件夹。
⑲ chmod命令:修改文件(夹)的权限信息
chmod [-R] 权限 文件\文件夹
-R 选项:表示对文件夹内的全部内容应用同样的操作。
权限参数:输入的权限参数,可以是如下格式:u=rwx,g=rx,o=x,其中 u表示user所属用户权限,g表示group组权限,o表示other其他用户权限。也可以是用过输入权限的数字序号作为参数输入。
注:此命令只能是文件(夹)的所属用户或root才有权力修改
内容补充7,权限的数字序号
权限可以使用3位数字来代表,第一位数字表示用户权限,第二位数字表示用户组权限,第三位数字表示其他用户权限。
数字的细节如下: r 记为 4,w 记为 2,x 记为 1,可以有:
0:无任何权限,即 ---1:仅有 x 权限,即 --x
2:仅有 w 权限,即 -w-
3:有 w 和 x 权限,即 -wx
4:仅有 r 权限,即 r--
5:有 r 和 x 权限,即 r-x
6:有 r 和 w 权限,即 rw-
7:有全部权限,即 rwx
例子:以751为例,7是第一个数字,表示用户权限有全部权限,5是第二个数字,表示用户组有 rx权限,1是第三个数字,表示其他用户仅有 x权限
⑳ chown命令:修改文件(夹)的所属用户和用户组。
chown [-R] [用户] [:] [用户组] 文件(夹)
-R 选项:同chmod命令,表示对文件夹内全部内容应用相同的规则。
用户参数:文件经修改后的所属用户。
用户组参数:文件经修改后的所属用户组。
冒号: :用于分隔用户和用户组。
注:此命令只有root可以使用
㉑ history命令:搜索查看历史命令
history