Linux入门基础
- Linux内核
- Linux的目录结构
- Linux的层级关系表示
- Linux命令基础格式
- ls命令
- cd命令
- pwd命令
- 相对路径和绝对路径
- 特殊路径符
- mkdir命令
- touch命令
- cat命令
- more命令
- cp命令
- mv命令
- rm命令
- which命令
- find命令
- grep命令
- wc命令
- 管道符
- echo命令
- 反引号
- 重定向符
- tail命令
- vim编辑器
- root用户(超级管理员)
- su和exit命令
- sudo命令
- 为普通用户配置sudo认证
- 用户、用户组
- 用户组管理
- 用户管理
- getent命令
- 权限管理
- rwx
- chmod命令
- chown命令
- 常用快捷键介绍
- 软件安装
- systemctl命令
- ln命令创建软连接
- date命令
- IP地址和主机名
- Linux修改主机名
- 在VMware Workstation中配置固定IP
- ping命令
- wget命令
- curl命令
- 端口
- 进程
- ps命令
- kill命令
- top命令-查看系统资源占用
- df命令
- 压缩和解压
前言:本人也是Linux小白一名,因期末在即临时突击学习,本人将平日听课笔记进行归纳与总结为本篇文章,希望能为和我一样的新手小白们提供些许帮助,水平有限,所述内容应该也很浅薄,如有错误之处,恳请各位大佬批评指正,指点一二。
Linux内核
Linux系统由Linux系统内核和系统级应用程序两部分组成
内核提供核心功能:调度各类硬件资源
系统级应用程序:出厂自带程序,如文件管理器,任务管理器等
用户————>系统程序/第三方程序————>内核————>硬件
Linux的内核是开源免费的,下载网址:https://www.kernel.org
任何个人、公司都可以在内核之上提供系统级程序的完整封装,称之为Linux发行版
本篇主要基于Centos操作系统进行讲解
Linux的目录结构
Linux的目录结构是一个树型结构,相较于Windows,Linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面
Linux的层级关系表示
在Linux系统中,路径之间的层级关系用 :/
来表示
在Windows系统中,路径之间的层级关系用 :\
来表示
Linux命令基础格式
command [-options] [parameter]
command:命令本身
-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节
parameter:[可选,非必填]命令的参数,多数用于命令的指向目标
eg:语法中的[],表示可选的意思
ls命令
ls命令的作用是列出目录下的内容,语法细节如下
ls [-a -l -h] [Linux路径]
当不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容
当使用参数,ls命令的参数表示:指定一个Linux路径,列出指定路径的内容
ls / //列出根目录的内容
语法选项
-a选项,表示:all的意思,即列出全部文件(包括隐藏的文件/文件夹)
Linux中,以.开头的是隐藏文件/文件夹,只有通过-a选项,才能查看
-l选项,表示:以列表(竖向排列)的形式展示内容,并展示更多信息
-l选项其实和图形化中,文件以列表形式排列是一个意思
-h选项,表示:以易于阅读的形式,列出文件大小,如K、M、G
-h选项必须要搭配-l选项一起使用
语法中的选项是可以组合使用的,例如
ls -a -l
ls -al
ls -la
上述三种写法都是一样的,表示同时应用-l和-a的功能
除了选项本身可以组合以外,选项和参数也可以一起使用,例如
ls -al /
表示以列表形式查看根目录下的所有内容
Linux启动时默认加载当前工作目录为HOME目录
HOME目录:每个Linux操作用户在Linux系统的个人账户目录,路径在:/home/用户名
例:Linux用户为ZS,其HOME目录为:/home/ZS
cd命令
cd命令的作用是切换工作目录
cd(Change Directory)
语法
cd [Linux路径]
cd命令无需选项,只有参数,表示要切换到哪个目录下
cd命令直接执行,不写参数,表示回到用户的HOME目录
pwd命令
pwd命令的作用是查看当前工作目录
pwd(print word directory)
语法
pwd
pwd命令,无选项,无参数,直接输入pwd即可
相对路径和绝对路径
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头
相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头
当前工作目录为home,如何切换到home目录下的Desktop文件夹
1.绝对路径
cd /home/Desktop
2.相对路径
cd Desktop
特殊路径符
. 表示当前目录,例如cd ./Desktop 表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致
.. 表示上一级目录,例如cd .. 即可切换到上一级目录,cd ../.. 切换到上二级的目录,三级则为cd ../../..
~ 表示home目录,例如cd ~ 即可切换到home目录或cd ~/Desktop,切换到home内的Desktop目录 //cd ~ 回家咯
mkdir命令
mkdir的作用是创建新的目录(文件夹)
mkdir(Make Directory)
语法
mkdir [-p] Linux路径
参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径,包括特殊路径符均可(Linux路径通用)
-p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
例如
mkdir aaa //相对路径
mkdir /home/root/aaa //绝对路径
mkdir ./aaa //特殊路径符
mkdir ../aaa
mkdir ~/aaa
选项
如果一次性创建多个层级目录,如
mkdir aaa/bbb/ccc
会显示报错,因为上级目录aaa和bbb并不存在,所以无法创建ccc目录
这时可以通过-p选项,将创建的这一整条链条都创建完成
mkdir -p aaa/bbb/ccc
eg:在home目录之外创建文件夹会涉及到权限问题而导致无法成功,需要修改权限
touch命令
touch命令的作用是创建文件
语法
touch Linux路径
touch命令无选项,参数必填,表示要创建的文件路径
cat命令
cat命令的作用是查看文件内容
语法
cat Linux路径
cat命令无选项,参数必填,参数表示被查看的文件路径
more命令
more命令同意可以查看文件内容,同cat不同的是
cat是直接将内容全部显示出来
more支持翻页,如果文件内容过多,可以一页页的展示
语法
more Linux路径
more命令无选项,参数必填,参数表示被查看的文件路径
在查看的过程中,通过空格翻页
通过q退出查看
例如
Linux系统内置有一个文件,路径为/etc/services,里面内容很多,可以使用more命令查看
more /etc/services
分辨文件和文件夹
Linux有高亮显示可以初步判断
深色高亮的是文件夹,浅色的则是文件,但这个不够准确
可以通过ls -l来查看
最左边带有d的(directory)是文件夹
带-的是文件
cp命令
cp命令可以用于复制文件/文件夹
cp(copy)
语法
cp [-r] 参数1 参数2
-r选项,可选,用于复制文件夹,表示递归
参数1,Linux路径,表示被复制的文件或文件夹
参数2,Linux路径,表示要复制去的地方
mv命令
mv命令可以用于移动文件/文件夹
mv(move)
语法
mv 参数1 参数2
参数1,Linux路径,表示被移动的文件或文件夹
参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
eg
当用cp、mv命令将文件复制/移动到文件时,复制/移动的是文件内容
rm命令
rm命令可用于删除文件、文件夹
rm(remove)
语法
rm [-r -f] 参数1 参数2 ....... 参数N
同cp命令一样,-r选项用于删除文件夹
-f表示force,强制删除(不会弹出提示确认信息)
但普通用户删除内容不会弹出提示,只有root才会
参数1、参数2、......、参数N 表示要删除的文件或文件夹路径,用空格隔开
通配符
rm命令支持通配符,用来做模糊匹配
符号*表示通配符,即匹配任意内容(包含空),示例
test* 表示匹配任何以test开头的内容
*test 表示匹配任何以test结尾的内容
*test* 表示匹配任何包含test的内容
例如
touch test1.txt test2.txt
mkdir test3
rm -rf test* //该命令可以将test1.txt test2.txt test3一次性删除,不论是文件还是文件夹
注意
rm -rf /
rm -rf /* 慎用
which命令
Linux中的命令,本体实际上就是一个个二进制可执行程序
和windows里的.exe文件是一个意思
which命令可以用来查看所使用的一系列命令的程序文件存放在哪里
语法
which 要查找的命令
find命令
find命令可以搜索指定的文件/文件夹
语法
1.按文件名查找
find 起始路径 -name "被查找文件名"
起始路径指的是查找范围,如/则是在根目录下搜索,/home则是在家目录下搜索
find查找时可以使用通配符做文件的模糊查询
2.按文件大小查找
find 起始路径 -size +|-n[kMG]
+、-表示大于和小于
n表示大小数字
kMG表示大小单位,k(小写)表示kb,M表示MB,G表示GB
示例:
find / -size +100k //在根目录下查找大于100KB的wenjian
grep命令
可以通过grep命令,从文件中通过关键字过滤文件行
语法
grep [-n] 关键字 文件路径
选项,-n,可选,表示在结果中显示匹配的行的行号
参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用""将关键字包围起来(如果没有不打也行)
参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口(指结果通过管道符作为输出)
wc命令
可以通过wc命令统计文件的行数、单词数量等
语法
wc [-c -m -l -w] 文件路径
不输选项的话,会依次显示行数、单词数量、字节数和文件名
选项,-c,统计bytes数量
选项,-m,统计字符数量
选项,-l,统计行数
选项,-w,统计单词数量
参数,文件路径,被统计的文件,可作为内容输入端口
管道符
管道符的含义是:将管道符左边命令的结果,作为右边命令的输入
例如
cat 1.txt | grep hhh //将cat 1.txt的结果作为grep的文件路径来进行hhh的过滤
同理,不止cat可以,只要是能输出结果的命令都可以,例如ls
管道符可以嵌套使用
cat 1.txt | grep hhh | grep hahaha
echo命令
可以使用echo命令在命令行内输出指定内容(类似于C语言里的printf)
语法
echo 输出的内容
无需选项,只有一个参数,表示要输出的内容,复杂内容可以用""包围
例如
echo "hello world"
带有空格或\等特殊符号建议使用双引号包围,尽管echo不受影响,但要养成习惯
反引号
我们可以通过将命令用反引号(通常也称之为飘号)`将其包围,被``包围的内容,会被作为命令执行,而非普通字符
例如
1.不带飘号
echo pwd
显示
pwd
2.带飘号
echo `pwd`
会显示
/root
重定向符
重定向符有两个,分别是>和>>
>,将左侧命令的结果,覆盖写入到符号右侧指定的文件中
>>,将左侧命令的结果,追加写入到符号右侧指定的文件中
例如
此时有一个1.txt文件
输入
echo "Hello World" > 1.txt
此时1.txt内原本的内容就被清空覆盖为Hello World
此时再输入
echo 123 >> 1.txt
此时1.txt内的内容为
Hello World
123
不会将原有内容清空,而是会在末尾追加内容
同样的,重定向符左侧的命令不一定只能用echo,只要是能输出结果的都可以,ls也行
例如
ls > 1.txt
tail命令
使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改(即从末行倒着看文件内容)
语法
tail [-f -num] Linux路径
参数,Linux路径,表示被跟踪的文件路径
选项,-f,表示持续跟踪
持续跟踪指的是将这个程序一直进行,一旦文件内容有所更改,会实时显示更改后的内容结果,如需退出按Ctrl+C
选项,-num,表示查看尾部多少行,不填默认10行
例如
tail -10f 1.txt
也可以用管道符来代替文件路径
cat 1.txt | tail -10f
vim编辑器
vi/vim是Linux中最经典的文本编辑器
vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和便捷性。
vim编辑器的三种工作模式
命令模式(Command mode)
命令模式下,所敲的按键都会被编辑器理解为命令,以命令驱动执行不同的功能
此模式下,不能自由进行文本编辑
如果需要通过vi/vim编辑器编辑文件,语法如下
vi 文件路径
vim 文件路径
vim兼容全部的vi功能,后续全部使用vim命令
如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
如果文件路径表示的文件存在,那么此命令用于编辑已有文件
命令模式快捷键
命令 | 描述 |
---|---|
i | 在当前光标位置,进入输入模式 |
a | 在当前光标位置之后,进入输入模式 |
I | 在当前行的开头,进入输入模式 |
A | 在当前行的结尾,进入输入模式 |
o | 在当前光标下一行,进入输入模式 |
O | 在当前光标上一行,进入输入模式 |
esc | 任何情况下输入esc都能回到命令模式 |
命令模式 | 操作说明 |
---|---|
键盘上、键盘k | 向上移动光标 |
键盘下、键盘j | 向下移动光标 |
键盘左、键盘h | 向左移动光标 |
键盘右、键盘l | 向后移动光标 |
0 | 移动光标到当前行的开头 |
$ | 移动光标到当前行的结尾 |
pageup(PgUp) | 向上翻页 |
pangdown(PgDn) | 向下翻页 |
/ | 进入搜索模式 |
n | 向下继续搜索 |
N | 向上继续搜索 |
ndd | n是数字,表示删除当前光标向下n行 |
yy | 复制当前行 |
nyy | n是数字,复制当前行和下面的n行 |
p | 粘贴复制的内容 |
u | 撤销修改 |
ctrl + r | 反向撤销修改 |
gg | 跳到首行 |
G | 跳到行尾 |
dG | 从当前行开始,向下全部删除 |
dgg | 从当前行开始,向上全部删除 |
d$ | 从当前光标开始,删除到本行的结尾 |
d0 | 从当前光标开始,删除到本行的开头 |
输入模式(Insert mode)
也就是所谓的编辑模式、插入模式
此模式下,可以对文件内容进行自由编辑
底线命令模式(Last line mode)
以:开始,通常用于文件的保存、退出
模式 | 命令 | 描述 |
---|---|---|
底线命令模式 | :wq | 保存并退出 |
底线命令模式 | :q | 仅退出 |
底线命令模式 | :q! | 强制退出 |
底线命令模式 | :w | 仅保存 |
底线命令模式 | :set nu | 显示行号 |
底线命令模式 | :set paste | 设置粘贴模式 |
root用户(超级管理员)
无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理
在Linux系统中,拥有最大权限的账户名为:root
root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的
例如
普通用户在根目录下创建文件夹会报错
mkdir test.txt
普通用户的权限,一般在其home目录内是不受限的
一旦出了home目录,大多数地方,普通用户仅有只读和执行权限,无修改权限
su和exit命令
su命令就是用于账户切换的系统命令
su(Switch User)
语法
su [-] [用户名]
-符号是可选的,表示是否在切换用户后加载环境变量,建议带上
参数:用户名,表示要切换的用户,用户名也可以省略,省略则表示切换到root
切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl+d
普通用户切换到root用户需要输入密码
反之则无需输入密码
sudo命令
sudo命令可以为普通的命令授权,临时以root身份执行
语法
sudo 其他命令
在其他命令之前带上sudo,即可为这一条命令临时赋予root授权
但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证
为普通用户配置sudo认证
步骤如下
su - root //切换到root用户
visudo //执行该命令会自动通过vi编辑器打开:/etc/sudoers,也可以直接输入vi /etc/sudoers
在文件最后添加(可输入G和o快速跳转至文件末尾并另起一行)
文件名 ALL=(ALL) NOPASSWD: ALL
然后wq保存
su切换到普通用户即可
用户、用户组
Linux系统中可以配置多用户,多用户组,且用户可以加入到多个用户组中
Linux中关于权限的管控级别有两个级别,分别是
针对用户的权限控制
针对用户组的权限控制
比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限
用户组管理
以下命令需root用户执行
创建用户组
groupadd 用户组名
删除用户组
groupdel 用户组名
用户管理
以下命令需root用户执行
创建用户
useradd [-g -d] 用户名
选项,-g指定用户的组,不指定-g,则会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
选项,-d指定用户home路径,不指定,home目录默认再:/home/用户名
例如
useradd zs -g wuda -d /home/huake //创建用户zs,将其加入到wuda组,家目录路径指定为/home/huake
删除用户
userdel [-r] 用户名
选项,-r,删除用户的home目录,不使用-r,删除用户时,home目录保留
查看用户所属组
id [用户名]
参数,用户名,被查看的用户,如果不提供则查看自身
修改用户所属组
usermod -aG 用户组 用户名 //将指定用户加入指定用户组
getent命令
使用getent命令,可以查看当前系统中有哪些用户和用户组
1.查看用户
语法:getent passwd
例如:
root:x:0:0:root:/root:/bin/bash
共有7份信息,分别是:
用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
2.查看用户组
语法:getent group
例如:
root:x:0:
包含3份信息,分别是:
组名称:组认证(显示为x):组ID
权限管理
通过ls -l可以以列表形式查看内容,并显示权限细节
例如
序号1,表示文件、文件夹的权限控制信息
序号2,表示文件、文件夹所属用户
序号3,表示文件、文件夹所属用户组
序号1部分解析
权限细节共分为10个槽位,举例说明
drwxr-xr-x
第1位:
-表示文件
d表示文件夹
l表示软链接
第234位:
表示所属用户权限
第567位:
表示所属用户组权限
第8910位:
表示其他用户权限
归纳就是,文件类型,所属用户权限,所属用户组权限,其他用户权限
rwx
r表示读权限(read)
w表示写权限(write)
x表示执行权限(execute)
针对文件、文件夹的不同,rwx的含义有细微差别
r,针对文件可以查看文件内容
针对文件夹,可以查看文件夹内容,如ls命令
w,针对文件表示可以修改此文件
针对文件夹,可以在文件夹内:创建、删除、改名等操作
x,针对文件表示可以将文件作为程序执行
针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
chmod命令
使用chmod命令,可以修改文件、文件夹的权限信息
eg:只有文件、文件夹的所属用户或root用户可以修改
语法
chmod [-R] 权限 文件或文件夹
选项,-R,对文件夹内的全部内容应用同样的操作
例如
chmod u=rwx,g=rx,o=x hello.txt //将文件权限修改为:rwxr-x--x
其中:u表示user所属用户权限,g表示group组权限,o表示other其他用户权限
chmod -R u=rwx,g=rx,o=x test //将文件夹test以及文件夹内全部内容权限设置为:rwxr-x--x
除此之外,还有快捷写法
权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其他用户权限
r记为4,w记为2,x记为1
例如
chmod 751 hello.txt
751=rwxr-x--x
chown命令
chown命令可以修改文件、文件夹的所属用户和用户组
eg:普通用户无法修改所属为其他用户或组,所以此命令只适用于root用户执行(sudo也行)
语法
chown [-R] [用户]:[用户组] 文件或文件夹
选项,-R,同chmod,对文件夹内全部内容应用相同规则
选项,用户,修改为所属用户
选项,用户组,修改为所属用户组
:用户分隔用户和用户组
例如
chown root 1.txt //将1.txt所属用户修改为root
chown :root 1.txt //将1.txt所属用户组修改为root
chown root:root 1.txt //将1.txt所属用户修改为root,所属用户组修改为root
常用快捷键介绍
ctrl + c 强制停止
Linux某些程序的运行,如果想要强制停止它,可以使用此快捷键
命令输入错误,也可以通过此快捷键退出当前输入
ctrl + d 退出或登出
可通过此快捷键,退出账户的登录
或者退出某些特定程序的专属页面(不能用于退出vi/vim)
历史命令搜索
可通过history命令,查看历史输入过的命令
可通过 ! 命令前缀,自动执行上一次匹配前缀的命令(最好用于近几次的命令,否则容易执行命令出错)
至于已经比较古老的命令,可通过ctrl + r快捷键,输入命令去匹配历史命令
如果搜索到的内容是需要的,按回车即可直接执行,也可以按键盘左右键得到此命令但不执行,可后续进行修改等操作
光标移动快捷键
ctrl+a //跳到命令开头
ctrl+e //跳到命令结尾
ctrl+键盘左键 //向左跳一个单词
ctrl+键盘右键 //向右跳一个单词
清屏
ctrl+l
或输入命令clear
软件安装
操作系统安装软件的方式一般分为
1.下载安装包自行安装
2.使用系统的应用商店安装
Linux系统同样支持这两种方式,首先来学习使用,Linux命令行内的应用商店,yum命令安装软件
yum命令
yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题
eg:在Windows中安装包普遍是.exe后缀,同理Linux中的安装包为.rpm后缀
语法
yum [-y] [install | remove | search] 软件名称
选项,-y,自动确认,后续无需手动确认安装或卸载过程
install,安装
remove,卸载
search,搜索
eg
yum命令需要root权限,需要联网
扩展-apt命令
Centos和Ubuntu使用的是不同的包管理器
Centos使用yum管理器,Ubuntu使用apt管理器
因此在Ubuntu中需要使用apt命令
语法
apt [-y] [install | remove | search] 软件名称
用法和yum一直,同样需要root权限
systemctl命令
Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启
能够呗systemctl管理的软件,一般也称之为:服务
语法
systemctl start | stop | status | enable | disable | 服务名
start 启动
stop 关闭
status 查看状态
enable 开启开机自启
disable 关闭开机自启
系统内置的服务比较多,比如
NetworkManager 主网络服务
network 副网络服务
firewalld 防火墙服务
sshd,ssh服务 FinalShell远程登录Linux使用的就是这个服务
例如
systemctl status firewalld //查看防火墙状态
除了内置的服务,部分第三方软件安装后也可以用systemctl进行控制,因为许多第三方软件安装后会自动集成到systemctl中,但部分软件安装后不会自动集成,我们可以手动添加
ln命令创建软连接
在系统中创建软连接,可以将文件、文件夹链接到其他位置,类似于Windows系统中的快捷方式
语法
ln -s 参数1 参数2
选项,-s,创建软连接
参数1,被链接的文件或文件夹
参数2,要链接去的目的地
例如
ln -s /etc/yum.conf ~/yum.conf //将etc下的yum.conf链接到家目录下的yum.conf
date命令
通过date命令可以在命令行中查看系统的时间
语法
date -d [+格式化字符串]
选项,-d 按照给定的字符串显示日期,一般用于日期计算
无选项也可以直接查看时间,但格式会不太习惯,可以通过格式化字符串自定义显示格式
格式化字符串:通过特定的字符串标记,来控制显示的日期格式
%Y 年
%y 年份后两位数字
%m 月份
%d 日
%H 小时
%M 分钟
%S 秒
%s 自1970-01-01 00:00:00 UTC 到现在的秒数
例如
date "%Y-%m-%d" //以2022-01-01的格式显示日期
eg:有时日期和时间之间带有空格,所以要使用双引号包围格式化字符串作为整体,否则会报错
date命令进行日期加减
-d选项,可以按照给定的字符串显示日期,一般用于日期计算
例如
date -d "+1 day" 显示后一天的日期
其中支持的时间标记为
year 年
mouth 月
day 日
hour 小时
minute 分钟
second 秒
-d选项也可以和格式化字符串配合使用来设置自定义的时间显示格式
date -d "+1 day" "%Y-%m-%d" //以2022-01-01的格式显示当前时间后一天的日期
修改Linux时区
date查看的日期时间是不准确的,这是因为系统默认时区非中国的东八区
我们可以使用root权限,执行如下命令,修改时区为东八区时区
rm -f /etc/localtime //删除本地时间
sudo ln -s /etc/share/zoneinfo/Asia/Shanghai /etc/localtime //将etc下的亚洲区的上海时间链接到本地时间
ntp程序时间校准
我们可以通过ntp程序自动校准系统时间
首先安装ntp
yum -y install ntp
利用systemctl命令启动并设置开机自启
systemctl start ntpd
systemctl enable ntpd
//ntp在systemctl中的服务名为ntpd
当ntpd启动后会定期的帮助我们联网校准时间,但时间长了也容易不准
我们可以手动校准(需root权限)
ntpdate -u ntp.aliyun.com //通过阿里云提供的服务网址配合ntpdate(安装ntp后会附带这个命令)命令自动校准
IP地址和主机名
由于IP地址等知识已是常识,这里省略不记
Linux中可以通过ifconfig命令来查看本机的IP地址,如发现无法使用ifconfig命令,可以手动安装:yum -t install net-tools
Linux修改主机名
可以使用hostname来查看当前主机名
1.hostname
hostname 主机名
bash刷新后修改完成
但这样修改reboot重启之后会掉
2.hostnamectl
hostnamectl set-hostname 主机名 //需要root权限
bash刷新即可,这种配置方式与下面第三种配置方式同理,重启后不会掉
3.vi /etc/hostname
vi /etc/hostname
写入主机名,:wq保存退出
bash刷新即可
这种修改方式是直接进到etc配置文件中写入修改,因此重启后不会掉
域名解析
访问一个网址,首先查看本机记录是否有对应IP地址的映射,没有的话再去联网询问DNS
本机记录(私人地址本)
Windows看:C:\\Windows\System32\drivers\etc\hosts
Linux看:/etc/hosts
所以我们在使用FinaShell之前可以先在Windows的本机记录中设置虚拟机和虚拟机主机名的本地映射,这样我们在使用FinaShell连接时就可以直接输入虚拟机主机名而非IP地址进行远程连接
在VMware Workstation中配置固定IP
配置固定IP需要两个大步骤
1.在VM的虚拟网关编辑器中配置IP地址、网关和网段
2.在Linux系统中手动修改配置文件,固定IP
首先我们进入虚拟网络编辑器,选中VMnet8网卡,取消勾选DHCP,自行设置IP网段和子网掩码
然后进入NAT设置,设置网关
至此,我们第一个大步骤就完成了,准备进行第二个步骤,去Linux系统配置固定IP
vim /etc/sysconfig/network-scrips/ifcfg-ens33 //需要root权限
将dhcp修改为static手动配置,在末尾加上IPADDR、NETMASK、GATEWAY、DNS1四行
ping命令
可以通过ping命令,检查指定的网络服务器是否是可联通状态
语法
ping [-c num] ip或主机名
选项,-c,检查的次数,不使用-c选项,将无限次数持续检查
参数:ip或主机名,被检查的服务器的ip地址或主机名地址
wget命令
wget是非交互式的文件下载器,可以再命令行内下载网络文件
语法
wget [-b] url
选项,-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件(可用tail -f持续跟踪来监控后台下载进度)
参数:url,下载链接
eg:无论下载是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未完成的不可用文件
curl命令
curl可以发送http网络请求,可用于:下载文件、获取信息等
语法
curl [-O] url
选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件
参数:url,要发起请求的网络地址
例如
curl cip.cc //向cip.cc发起网络请求(cip.cc是检查当前设备公网IP的网站)
curl www.baidu.com //向百度发起网络请求,会显示出一堆源码,因为Linux系统没有安装浏览器,这些源码被渲染后就是我们平时看到的网页
端口
端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类
物理端口
又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等
虚拟端口
是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的
计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序
我们通过端口可以锁定计算机上的具体程序,确保程序之间进行沟通
Linux端口
Linux系统支持65535个端口,这六万多个端口分为3类进行使用
公认端口(1-1023)
通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口,非特殊需要,不要占用这个范围的端口
注册端口(1024-49151)
通常可以随意使用,用于松散的绑定一些程序或服务
动态端口(49152-65535)
通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用
查看端口占用
可以通过Linux命令去查看端口的占用情况
nmap命令
使用nmap命令,查看指定IP的对外暴露端口
安装nmap:yum -y install nmap
语法
nmap 被查看的IP地址
netstat命令
使用netstat命令,查看本机指定端口号的占用情况
安装netstat:yum -y install net-tools
语法
netstat -anp | grep 端口号
进程
程序运行再操作系统中,是被操作系统所管理的
为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程
并会为每一个进程都分配一个独有的:进程ID(进程号)
ps命令
可以通过ps命令查看Linux系统中的进程信息
语法
ps [-e -f]
选项,-e,显示出全部的进程
选项,-f,以完全格式化的形式展示信息(展示全部信息)
一般固定用法就是:ps -ef //列出全部进程的全部信息
输入之后会显示全部进程,从左到右分别是
UID:进程所属的用户ID
PID:进程的进程号
PPID:进程的父ID(启动此进程的其他进程)
C:此进程的CPU占用率(百分比)
STIME:进程的启动时刻
TTY:启动此进程的终端需要,如显示?,表示非终端启动,而是系统内置启动
TIME:进程累计占用CPU的时间(而非运行时间)
CMD:进程对应的名称或启动路径或启动命令
ps -ef命令输入后显示内容过多,所以常与grep和管道符配合使用
ps -ef | grep xxx
kill命令
在Windows系统中,我们可以通过任务管理器选择进程从而关闭它
同样在Linux系统中,可以通过kill命令关闭进程
语法
kill [-9] 进程ID
选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭要看进程自身的处理机制。
如果不带选项,成功关闭进程则会显示
Terminated //表示自我关闭
如果带选项-9,则显示
killed //表示强制关闭
top命令-查看系统资源占用
可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器
默认每5秒刷新一次
语法
直接输入top即可,按q或者ctrl+c退出
选项太多了,省略不记
考试用不到,工作可以查。,。
df命令
使用df命令,可以查看磁盘的使用情况
语法
df -h
选项:-h,以更人性化的单位显示
以上两栏涉及到的选项参数等知识,总结成一句话就是
考试不会考,工作可以查,所以不用记。,。
压缩和解压
市面上有非常多的压缩格式,如zip、7zip、rar、tar、gzip等等
Linux中常使用tar、gzip、rar这三种压缩格式
tar命令
Linux中常用有两种压缩格式,后缀名分别是
.tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装
.gz,也常见为.tar.gz,gzip格式压缩文件,符合我们印象中的压缩形式,可以将文件压缩到一个文件中,极大地减少压缩后的体积
针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作
可以记几个常用的组合
压缩
tar -cvf xxx xxx xxx
tar -zcvf xxx xxx xxx
解压
tar -xvf xxx xxx xxx
tar -zxvf xxx xxx xxx
eg
-z选项如果使用的话,一般位于选项位第一个
-f选项,必须在选项位最后一个,因为它要匹配后续的文件位置
-C选项单独使用,和解压所需的其他参数分开
例如
tar -zcvf zs.tar.gz 1 2 3 //将文件1、2、3通过gzip的格式压缩到zs.tar
tar -xvf 1 2 3 //将文件1、2、3以tar的格式解压到当前目录
tar -xvf 1 2 3 -C zs //将文件1、2、3以tar的格式解压到zs中
zip命令
使用zip命令,压缩文件为zip压缩包
语法
zip [-r] 参数1 参数2 ... 参数N
-r选项,被压缩的包含文件夹的时候,需要使用-r选项
参数1表示要把文件压缩到哪的路径
后续参数为被压缩的文件路径
例如
zip zs.zip 1 2 3 //将文件1、2、3压缩到zs.zip中
zip -r zs.zip 1 2 3 //将文件/文件夹1、2、3压缩到zs.zip中
unzip命令
使用unzip命令,可以方便的解压zip压缩包
语法
unzip [-d] 参数
-d,指定要解压去的位置,同tar的-C选项
参数,被解压的zip压缩包文件
例如
unzip zs.zip //将zs.zip解压到当前目录
unzip zs.zip -d /home //将zs.zip解压到指定的/home目录