Linux大学生入门一篇全(基础篇)

一、初识Linux

1. Linux的诞生
Linux由林纳斯 托瓦兹在1991年创立并发展至今成为服务器操作系统领域的核心系统。
2. 什么是Linux系统的内核
内核提供了Linux系统的主要功能,如硬件调度管理的能力。
Linux内核是免费开源的,任何人都可以查看内核的源代码,甚至是贡献源代码。
3. 什么是Linux系统发行版
内核无法被用户直接使用,需要配合应用程序才能被用户使用。
在内核之上,封装系统级应用程序,组合在一起就称之为Linux发行版。

任何人都可以封装Linux,目前市面上由非常多的Linux发行版,常用的、知名的如下:在这里插入图片描述

发行版众多,课程主要基于CentOS进行讲解

二、在VMware上安装 Linux

1. 工作环境安装

2. 工作环境配置(固定IP)

网络-网络和 Internet 设置-高级网络设置-更多网络适配器选项
在这里插入图片描述
右键-属性-网络-Internet 协议版本 4(TCP/IPv4) 属性,以下图片配置依次点击确定
在这里插入图片描述
打开 VMware-编辑-虚拟网络编辑器-VMnet8-更改设置
在这里插入图片描述
在这里插入图片描述
依次按照图中进行操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后,在Centos内输入ifconfig查看IP是否更改成功,查询出ip就可以使用远程工具连接Centos啦。
在这里插入图片描述

三、Linux基础命令

命令帮助手册

在Linux中有许多的命令,且命令中有很多选项,死记硬背肯定不行,所以需要借阅手册进行查阅
Linux 命令大全 | 菜鸟教程

help命令

可以通过 --help 来查看命令帮助信息
语法:

command --help

例如,想要查看ls 命令帮助信息,可以使用ls --help
在这里插入图片描述

缺点:虽然可以查到帮助信息,但是没有提供翻页、搜索功能,接下来我们学习进阶版 man

man 命令

可以更加人性化的方式查询命令的使用手册
man来自英文单词:manual
语法:

man command

例如,想要查看ls 命令帮助信息,可以使用man ls
在这里插入图片描述
使用 man 时的快捷键:

快捷键作用
空格键显示下一页
Enter键一次滚动首页的一行
b下一页
f回滚
q(quit)退出
/word搜索 word 关键字
n(next)搜索下一个
N搜索上一个

Linux的目录结构

在 Linux 中,一切皆文件!
Liunx的目录结构是一个树形结构,与 windos 不同,Liunx 没有盘符 ,一切文件都在根目录 / 下。
在这里插入图片描述
在这里插入图片描述

ls 命令

命令作用
ls列出路径下的内容

语法:

ls [-a -l -h] [Linux路径]
  • -a -l -h 是可选的选项
  • Linux路径是此命令可选的参数
  • 在后续的学习中[ ]中的内容为可选项

当我们不输入参数使用ls命令时,我们不禁会想,显示出的是什么内容、当前是哪个工作目录下。
在这里插入图片描述
HOME目录和工作目录
Linux系统的命令行终端,在启动的时候,默认会加载:

  • 当前登录用户的HOME目录作为工作目录,所以ls命令列出的是HOME目录的呢欧容
  • HOME目录:每个Linux操作用户在Linux系统的个人目录,路径在:/home/用户名

ls命令各选项用法

选项作用
-l以列表(竖向排列)的方式展示内容
-a列出全部文件(包括隐藏的文件、文件夹)
-h以人性化的方式展示,列出文件大小
  • -h选项必须要搭配-l一起使用
  • 命令选项之间是可以组合使用的,例如ls -lah等同于ls -a -l -h

目录切换相关命令

cd 命令

通过ls命令我们知道,当Linux终端(命令行)打开的时候,会默认以用户的HOME目录为默认目录,我们可以通过cd命令来变更当前的工作目录
cd命令来自英文:Change Directory

命令作用
cd切换工作目录

语法:

cd [Linux路径]
  • cd命令无需选项,只有参数,表示切换到参数目录下
  • cd命令直接执行,不写参数,表示回到用户的HOME目录

pwd 命令

通过ls来验证当前的工作目录,其实是不恰当的。
我们可以通过pwd命令,来查看当前所在的工作目录。

命令作用
pwd查看当前工作目录

我们可以通过pwd命令,来查看当前所在的工作目录
pwd命令来自:Print Work Directory

  • pwd命令,无选项,无参数,直接输入pwd即可

绝对路径、相对路径和特殊路径符

绝对路径以根目录为起点,描述路径的一种写法,路径描述以/开头

# 绝对路径
cd /home/itcast/test/

在这里插入图片描述
相对路径以当前目录为起点,描述路径的一种写法,路径描述无需以/开头

# 相对路径
cd test

在这里插入图片描述
特殊路径符

符号作用
.表示当前目录;例如cd ./test 表示切换到当前目录下test目录内,等同于cd test
..表示上一级目录,比如cd … 即可以切换到上一级目录,以此类推,cd …/, 切换到上二级目录
~表示HOME目录,比如 cd ~ 即可以切换到HOME目录或cd ~/test,切换到HOME目录内的test目录内

创建目录命令

mkdir 命令

通过mkdir命令可以创建一个新目录(文件夹)
mkdir来自英文:Make Directory
语法:

mkdir [-p] linux路径
  • 此处的linux路径为必填项,直接填写创建文件的名字也视为当前路径下./文件名
  • -p 选项可选,表示创建时候允许创建不存在的父目录,适用于需要嵌套文件夹的创建。

文件操作命令

touch 命令

通过 touch 命令可以创建文件
语法:

touch Linux路径
  • touch 命令无选项,参数必填,表示要创建文件夹的路径,相对、绝对、特殊路径符均可以使用

cat 命令

当我们创建文件过后,通过cat 命令查看文件内容。
学习后期,我们可以通过vi编辑器,向文件内编辑内容。
语法:

cat Linux路径
  • cat 命令同样无选项,参数必填,表示要创建文件夹的路径,相对、绝对、特殊路径符均可以使用

more 命令

more 命令同样可以查看文件内容,但是与cat 不同的是:

  • cat是直接将所有内容输出到屏幕上
  • more 支持翻页,如果文件内容过多,可以一页一页显示

语法:

more Linux路径
  • more 命令同样无选项,参数必填,表示要创建文件夹的路径,相对、绝对、特殊路径符均可以使用
  • 查看过程中,通过空格翻页,q退出;

cp 命令

cp 命令可用于复制文件/文件夹
cp来自英文单词:copy
语法:

cp [-r] 参数1 参数2
  • -r 选项,可选,用于复制文件夹使用,表示递归
  • 参数1,参数2 都为Linux路径,分别代表要复制的文件或文件夹与要复制去的地方

例子
在这里插入图片描述

mv 命令

mv 命令可以用于移动文件/文件夹
mv来自英文单词:move
语法:

mv 参数1 参数2
  • 参数1,Linux路径,表示被移动的文件或文件夹
  • 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在

移动文件
在这里插入图片描述
更改名字
在这里插入图片描述

rm 命令

rm命令可用于删除文件、文件夹
rm来自英文单词:remove
语法:

rm [-r -f] 参数1 参数2……参数n
  • 同cp命令一样,-r选项用于和三处文件夹
  • -f表示force,强制删除(不弹出提示确认信息)
    • 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
    • 所以一般用户用不到 -f 选项
  • 参数1 参数2……参数n 表示要删除的文件或文件夹路径,以空格分隔开

例子:
在这里插入图片描述

切换为root 用户我们可以输入exit命令,返回普通用户(ctrl+d 也可以返回普通用户)

rm 删除文件、文件夹的模糊匹配
rm 命令支持通配符* ,用来做模糊匹配

  • 符号* 表示通配符,即匹配任意内容(包括空),示例
  • test* ,表示匹配任何以test开头的内容
  • *test* ,表示匹配任何包含test的内容
  • *test ,表示匹配任何以test结尾的内容

查找命令

which 命令

我们再前面学习的Linux命令,实际上就是一个个二进制可执行的程序,我们可以通过which命令,查看所使用命令程序文件储存在哪里
语法:

which 要查找的命令

例子:
在这里插入图片描述

find 命令

可以通过 find 命令去搜索指定的文件
语法:

find 起始路径 -name "被查找文件名"

为了防止查询过程中权限不够,我们提前使用root账户进行操作
在这里插入图片描述
例题:
查找文件名叫做:test的文件,从根目录开始搜索
基于语法,可以有命令:
find / -name “test”
在这里插入图片描述

find 命令的通配符
被查找文件名,支持使用通配符 * 来做模糊查询。

  • 符号* 表示通配符,即匹配任意内容(包含空),示例:
  • test*,表示匹配任何以test开头的内容
  • *test,表示匹配任何以test结尾的内容
  • test,表示匹配任何包含test的内容

基于通配符的含义,可以结合find命令做文件的模糊查询。

find命令 - 按文件大小查找文件
语法:

find 起始路径 -size +|-n[kMG]
  • +、- 表示大于和小于
  • n表示大小数字
  • kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB

grep、wc和管道符

grep命令

可以通过 grep 命令,从文件中通过关键字过滤文件行
语法:

grep [-n] 关键字 文件路径
  • 选项-n,可选,表示在结果中显示匹配的行的行号。
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用””将关键字包围起来
  • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

接下来我们通过touch命令在HOME目录创建itziwu.txt,并通过vi编辑并保存如下内容

touch itziwu.txt
vi itziwu.txt
# 按 i 进入编辑模式
itziwu is a brand of itcast.
itcast stock code is 111222.
# 按 Esc 进入读模式
# 按冒号并如数wq!退出
:wq!
  • 过滤itziwu关键字
  • 过滤itcast关键字
  • 过滤code关键字,并显示行号
    在这里插入图片描述
    管道符
    学习了grep命令后,我们在来学习一个新的特殊符号,管道符:|
    管道符的含义是:将管道符左边命令的结果,作为右边命令的输入
    在这里插入图片描述

wc 命令

可以通过wc 命令统计文件的行数,单词数量等
语法:

wc [-c -m -l -w] 文件路径
  • 选项,-c,统计bytes数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件,可作为内容输入端口
  • 不添加参数为显示字符数量、行数、单词数量

在这里插入图片描述

echo、tail和重定向符

echo 命令

可以使用 echo 命令在命令行内输出指定内容
语法:

echo 输出内容
  • 无需选项,只有一个参数表示要输出的内容,复杂的参数可以用" "包围

反引号 `
我们可以通过将命令用反引号(通常也称之为飘号)`将其包围
被`包围的内容,会被作为命令执行,而非普通字符
在这里插入图片描述

重定向符
我们再来学习两个特殊符号,重定向符:>和>>

  • >,将左侧命令的结果,覆盖写入到符号右侧指定的文件中
  • >>,将左侧命令的结果,追加写入到符号右侧指定的文件中

例子:

  • eeho “Hello Linux” > itziwu.txt
    在这里插入图片描述
  • eeho “Hello itziwu” > itziwu.txt 再次执行,覆盖为新内容
    在这里插入图片描述
  • eeho “Hello itcast” > itziwu.txt 再次执行,追加新内容
    在这里插入图片描述

tail 命令

使用 tail 命令可以查看文件尾部内容,跟踪文件最新修改,语法如下:

tail [-f -num] Linux路径

-f 表示持续跟踪
-num 表示查看尾部多少行,不填默认10行

vi/vim 文本编辑器

vi编辑器 是所有Unix及Linux系统下标准的编辑器,相当于 windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。是使用Linux系统不能缺少的工具。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的。

vim(vi improved)编辑器是从 vi 发展出来的一个文本编辑器 。代码补完、编译及错误跳转、语法高亮等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi 是老式的,不过功能已经很齐全了,但是还是有可以进步的地方。vim 则可以说是程序开发者的一项很好用的工具。vim 的官方网站(http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。

vi/vim编辑器的核心设计思想:
让程序员的手指始终保持在键盘的核心区域, 就能完成所有的编辑操作

打开和新建文件

如果当前Linux系统中输出 vim 命令显示命令不识别的情况,需要安装vim

yum -y install vim

安装完后 ,在终端输入vim 后面跟上文件名即可。

vim 文件名 [+行数]
  • 如果文件存在,会打开该文件
    • 此时 +行数,进入vim时会定位到指定行数,若只填写+,则定位到文件末尾。
  • 如果文件不存在,保存且退出时就会创建一个新文件

异常处理

如果 vi 异常退出, 在磁盘上可能会保存有 交换文件
下次再使用 vi 编辑文件时, 会看到以下屏幕信息, 按下字母 d 删除交换文件即可。

模拟异常退出

  • 先使用 vim 1.txt 打开文件
  • 然后直接端口对虚拟机的连接。
  • 再次连接虚拟机,并打开文件。
    在这里插入图片描述

vi/vim三种工作模式

基本上 vi/vim 共分为三种模式,分别是:命令模式(Command mode),输入模
式(Insert mode)和 底线命令模式(Last line mode)。
在这里插入图片描述

Linux 用户和权限

认识 root 用户

root(超级管理员)
无论是windos、MacOS还是Linux均采用多用户管理模式进行权限管理,在Linux系统中,拥有最大权限的账户为:root(超级管理员)
在前面案例中,我们一致使用的是普通用户:itcast
普通用户的权限,一般在其HOME目录是不受限制的,但一旦出了HOME目录,大多数地方,普通用户仅仅有只读和执行的权限,无修改权限。
在这里插入图片描述

su和exit命令

在前面,我们接触过su命令切换到root账户。
su命令就是用于账户切换的系统命令,其来源英文单词:Switch User
语法:

su [-] [用户名]
  • 符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),建议带上
  • 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
  • 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d
  • 使用普通用户,切换到其它用户需要输入密码,如切换到root用户
  • 使用root用户切换到其它用户,无需密码,可以直接切换

sudo 命令

在我们得知root密码的时候,可以通过su命令切换到root得到最大权限,但是我们不建议长期使用root用户,避免带来系统损坏。
我们可以使用sudo命令,为普通的命令授权,临时以root身份执行。
语法:

sudo 其他命令
  • 在命令前带上sudo,即可以为这一条命令赋予root权限
  • 并不是所有用户都能使用 sudo 命令,我们需要为普通用户配置 sudo 认证

为普通用户配置sudo认证
切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
在文件的最后添加
在这里插入图片描述

  • 其中NOPASSWD:ALL表示使用sudo命令不用输入密码,最后wq保存

用户和用户组

在Linux中,可以配置多个用户、多个用户组,也可以将用户加入多个用户组;
Linux 的权限管理分为两类:① 对用户的权限管理②对用户组的权限管理

用户组管理

下列命令需要以root用户执行

  • 创建用户组
groupadd 用户组名
  • 查看用户组
cat /etc/group
  • 删除用户组
groupdel 用户组名
  • 修改用户组
chgrp 用户组名 指定文件或陌路

为了后续学习,我们统一创建一个itcast用户组:groupadd itcast

用户管理

  • 创建用户
useradd [-g -d] 用户名
  • 选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
  • 选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名
  • 删除用户
userdel [-r] 用户名
  • 选项:-r ,删除用户的HOME目录,不使用-r,删除时保留HOME目录
  • 查看用所属组
id[用户名]
  • 参数:用户名,被查看永固,如果不提供则查看自身
  • 添加用户到指定组
usermod -aG 用户组 用户名

getent 命令

与上文 cat /etc/group 一样,同样可以使用 getent 命令,查看当前系统中有哪些用户组/用户
语法:

getent group

在这里插入图片描述

包含三分信息:组名称:组认证(显示为x):组ID

getent passwd

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

共有七份信息:用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)

权限控制

认知权限信息

通过 ls -l 可以以列表的形式查看内容,并显示权限细节
在这里插入图片描述

  • 序号1,表示文件、文件夹的权限控制信息
  • 序号2,表示文件、文件夹所属用户
  • 序列3,表示文件、文件夹所属用户组

接下来我们来分析序号1:
在这里插入图片描述
举例:drwxr-xr-x,能得到什么信息

  • -d 表名这是一个文件夹
  • 所属用户的权限有:rwx(读写执行)
  • 所属组的权限有:rx(读执行)
  • 其他用户的权限有:rx(读执行)

rwx
那么,rwx到底代表什么呢?

  • r表示读权限
  • w表示写权限
  • x表示执行权限

针对文件、文件夹的不同,rwx的含义有细微差别:

  • r,针对文件可以查看文件内容
    • 针对文件夹,可以查看文件夹内容,如ls命令
  • w,针对文件表示可以修改此文件
    • 针对文件夹,可以在文件夹内:创建、删除、改名等操作
  • x,针对文件表示可以将文件作为程序执行
    • 针对文件夹,表示可以更改工作目录到此文件夹,即cd进入

chmod 命令

可以通过 chmod 命令,修改文件、文件夹的权限信息

注意:只有文件、文件夹所属用户或root用户才有权限修改

语法;

chmod [-R] 权限 文件或文件夹

选项:-R 对文件夹内的全部内容应用同样操作

示例:

  • chmod u=rwx,g=rx,o=x test.txt,将文件权限修改为rwx-r-x–x
    • 其中 u表示user所属用户权限、g表示group所属组组权限,o表示other其他用户权限
  • chmod u=rwx,g=rx,o=x test,将文件夹权限修改为rwx-r-x–x
  • 除此之外,还有快捷写法 chmod 751 test.txt

那么问题来了 751 是什么意思呢
在这里插入图片描述
rws分别对应三个位置,哪个位置为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

chown 命令

使用chown命令,可以修改文件、文件夹的所属用户和用户组
普通用户无法修改所属为其它用户或组,所以此命令只适用于root用户执行
语法:

chown [-R] [用户][:][用户组] 文件或文件夹
  • 选项,-R,同chmod,对文件夹内全部内容应用相同规则
  • 选项,用户,修改所属用户
  • 选项,用户组,修改所属用户组
  • : 用于分隔用户和用户组
  • chown root test.txt,将 test.txt 所属用户修改为root
    在这里插入图片描述

  • chown :root test.txt,将 test.txt 所属用户组改为root
    在这里插入图片描述

  • chown root:itziwu test.txt,将 test.txt 所属用户和用户组分别修改为root、itziwu
    在这里插入图片描述

  • chown -R root test,将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则
    在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
烨子女神手把手教你Linux系统之第9章.mp4 165.6M2019-07-26 16:24 烨子女神手把手教你Linux系统之第8章.mp4 214.5M2019-07-26 16:24 烨子女神手把手教你Linux系统之第7章[vxia.net].mp4 162M2019-07-26 16:24 烨子女神手把手教你Linux系统之第6章.mp4 214.5M2019-07-26 16:24 烨子女神手把手教你Linux系统之第5章.mp4 180.3M2019-07-26 16:24 烨子女神手把手教你Linux系统之第4章[vxia.net].mp4 264.1M2019-07-26 16:24 烨子女神手把手教你Linux系统之第3章.mp4 689M2019-07-26 16:24 烨子女神手把手教你Linux系统之第2章.mp4 163.9M2019-07-26 16:24 烨子女神手把手教你Linux系统之第20章[vxia.net].mp4 144.3M2019-07-26 16:24 烨子女神手把手教你Linux系统之第1章.avi 1.42G2019-07-26 16:24 烨子女神手把手教你Linux系统之第19章.mp4 85.2M2019-07-26 16:24 烨子女神手把手教你Linux系统之第18章.mp4 101.3M2019-07-26 16:24 烨子女神手把手教你Linux系统之第17章[vxia.net].mp4 130.7M2019-07-26 16:24 烨子女神手把手教你Linux系统之第16章.mp4 118M2019-07-26 16:24 烨子女神手把手教你Linux系统之第15章.mp4 123.2M2019-07-26 16:24 烨子女神手把手教你Linux系统之第14章[vxia.net].mp4 361.7M2019-07-26 16:24 烨子女神手把手教你Linux系统之第13章.mp4 90.5M2019-07-26 16:24 烨子女神手把手教你Linux系统之第12章.mp4 178.1M2019-07-26 16:24 烨子女神手把手教你Linux系统之第11章[vxia.net].mp4 99M2019-07-26 16:24 烨子女神手把手教你Linux系统之第10章.mp4 722M2019-07-26 16:24 烨子女神手把手教你Linux系统之第0章[vxia.net].avi 879.6M2019-07-26 16:24
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值