视频地址:黑马程序员新版Linux零基础快速入门到精通,全涵盖linux系统知识、常用软件环境部署、Shell脚本、云平台实践、大数据集群项目实战等_哔哩哔哩_bilibili
第二章
1.ls命令 list
以.开头的文件或文件夹默认被隐藏
-a all 可以显示出隐藏的内容
-l 以列表的形式展示内容,并展示更多细节
-h 需要和-l选项一起用,详细显示文件大小单位
-a -l -h可组合使用
2.cd切换工作目录 chang directory
cd / 切换工作目录到根目录
cd 切换工作目录到home目录
3.pwd查看当前工作目录 print work directory
pwd
4.绝对路径和相对路径
绝对路径:从根目录/作为起点开始描述的文件位置
相对路径:从当前目录作为起点开始描述文件位置
5.特殊路径符
.表示当前目录
..表示上一级目录
~表示HOME目录
6.mkdir命令 make directory
mkdir可以创建新的目录(文件夹)
-p表示自动创建不存在的父目录
mkdir -p(可选)文件名
创建文件夹需要权限,只能在home目录里面创建
7.touch-cat-more命令
touch创建文件
cat查看文件内容,cat是直接将内容全部显示出来
more查看文件内容,more支持翻页,若文件内容多,可一页页的展示
8.cp-mv-rm命令
cp复制文件/文件夹,-r 可选 用于复制文件夹使用,表递归,参数1 表示被复制路径,参数2 表示要复制去的地方
cp -r(可选) 参数1 参数2
mv移动文件/文件夹,参数1 表被移动的路径,参数2 表要移动去的路径,如果目标不存在,则进行改名,确保目标存在
mv 参数1 参数2
rm删除文件、文件夹remove,-r 用于删除文件夹;-f 表示force 强制删除;参数1 参数2...表示要删除的文件夹或文件路径,按照空格隔开;rm支持通配符*,用来做模糊匹配
rm -r -f 参数1 参数2....
模糊匹配:test* 表示匹配任何以test开头的内容;*test 表示匹配任何以test结尾的内容;*test* 表示匹配任何包含test的内容
9.which-find命令
which 查找命令的程序文件本体的位置,只针对命令的查找
find 按文件名查找文件,支持使用通配符*来做模糊查询
find 起始路径 -name “被查找的文件名“
find 按文件大小查找文件,+ - 表示大于和小于;n表示大小数字;kmg表示大小单位 K表kb M表mb G表gb
find 起始路径 -size +或- -n [KMG]
10.grep-wc-管道符
通过grep命令,从文件中通过关键字过滤文件行。-n 可选,表示在结果中显示匹配的行的行号;参数 关键字 必填 表示过滤的关键字,带有空格或其他特殊符号,用“”将关键字包围起来;参数 文件路径,必填,表示要过滤的文件路径,可作为输入端口
grep [-n] 关键字 文件路径
wc命令用来统计文件的行数,单词数量等。-c 统计bytes数量;-m 统计字符数量;-l 统计行数;w 统计单词数量;文件路径 被统计的文件,可作为内容输入端口
wc [-c -m -l -w] 文件路径
管道符 | :管道符的含义:将管道符左边命令的结果,作为右边命令的输入
11.echo-tail-重定向符
echo在命令行中输出指定内容
echo 输出的内容
反引号` :可通过反引号` `来包围一个命令,被包围的命令将不会被视为输出文本,而是作为一个命令被linux理解
重定向符 > 和 >>:> 将左侧命令的结果,覆盖写入到符号右侧指定的文件中;>> 将左侧命令的结果,追加写入到符号右侧指定的文件中
tail,Linux路径:表示被跟踪的文件路径;-f:表示持续跟踪,文件的更改会立即被检测到并且显示,按ctrl+c终止;-num:表示查看尾部多少行,不填默认10行
tail [-f -num] Linux路径
12.vi编辑器
简介:vi/vim是linux中最经典的文本编辑器 同图形化界面中的文本编辑器一样,vi是命令行下对文本文件进行编辑的最佳选择 vim是vi的加强版本,兼容vi。
召唤命令:
如果文件路径不存在,则新建一个文件逻辑 如果文件路径存在,就编辑已有的文件
vi 文件路径
vim 文件路径
输入vim命令,进入vim后,会直接在命令模式下,如果要进入输入模式或者底线命令模式,则均需要在命令模式下进行切换,即输入模式和底线命令模式间不能互相切换,只能由命令模式进行中转
vi/vim的三种工作模式:
命令模式:所敲的按键都理解为命令,以命令驱动执行不同的功能
输入模式:逻辑模式、插入模式。可对文件进行自由编辑
底线命令模式:以冒号:开始,通常用于对文件的保存、推出
vi/vim因为其快捷键很多,熟练后码字效率很高,故受到广大老年程序员的喜爱,不过其学习成本也很高。
i | 在当前光标位置进入输入模式 |
---|---|
a | 在当前的光标位置之后进入输入模式 |
(大写的i)I | 在当前行的开头,进入输入模式 |
A | 在当前航道结尾,进入输入模式 |
o | 在当前的光标下一行进入输入模式 |
O | 在当前光标上一行进入输入模式 |
esc | 任何情况下输入esc都能回到命令模式 |
键盘上、键盘k | 向上移动光标 |
键盘下、键盘j | 向下移动光标 |
键盘左、键盘h | 向左移动光标 |
键盘右、键盘l | 向后移动光标 |
数字0 | 移动光标到当前行的开头 |
$ | 移动光标到当前行的结尾 |
pageup(PgUp) | 向上翻页 |
pangdown(PgDn) | 向下翻页 |
/ | 进入搜索模式 |
n | 向下继续搜索 |
N | 向上继续搜索 |
dd | 删除光标所在行的内容 |
ndd | n是数字,表示删除当前光标向下n行 |
yy | 复制当前行 |
nyy | n是数字,复制当前行和下面的n行 |
p | 粘贴复制的内容 |
u | 撤销修改 |
ctrl + r | 反向撤销修改 |
gg | 跳到首行 |
G | 跳到行尾 |
dG | 从当前行开始,向下全部删除 |
dgg | 从当前行开始,向下全部删除 |
d$ | 从当前行开始,删除到本行的结尾 |
d0 | 从当前光标开始,删除到本行的开头 |
:wq | 保存并退出 |
---|---|
:q | 仅退出 |
:q! | 强制退出 |
:w | 仅保存 |
:set nu | 显示行号 |
:set paste | 设置粘贴模式 |
第三章
1.linux的root用户
概念:root,超级管理员,root用户拥有最大的操作权限,普通用户在其home目录内是不受限的,但一旦出了home目录,仅只有读和执行权限,无修改权限。
su和exit命令,su为切换账户命令;切换用户后,可通过exit退回到上一个用户,也可快捷键ctrl + d
su - 用户名
- 可选,表示是否在切换用户后加载环境变量
用户名 表示要切换的用户,若省略,则默认为root
sudo命令,此命令可让普通用户短暂的获得root用户的权限
sudo 其他命令
但并不是所有用户都能用sudo,必须要为普通用户配置sudo认证才能使用,即添加白名单.
visudo命令:切换到root用户后,使用visudo命令,会通过vi编译器打开:/exc/sudoers 在文件的最后添加 用户名 ALL=(ALL) NOPASSWD:ALL 然后通过wq保存,即可添加白名单
2.用户和用户组
创建用户组
groupadd 用户组名
删除用户组
groupdel 用户组名
创建用户
useradd -g -d
-g 为指定用户的组,不指定-g,会创建同名组并自动加入,指定-g组需要组已经存在,如已经存在同名组,必须使用-g
-d 指定用户的HOME路径,不指定的话就默认为/home/用户名
删除用户
userdel -r 用户名
-r 为删除用户的HOME目录,不使用的话用户目录保留
查看用户
id 用户名
若不填写用户名则查看自己
修改用户所属组
usermod -aG 用户组 用户名
将指定用户加入指定用户组
getent
getent passwd
查看当前系统中有哪些用户 共有7份信息,分别是 用户名:密码:用户ID:组:描述信息:HOME目录:执行终端
getent group
查看当前系统有哪些组 包含3份信息 组名称:组认证:组ID
3.查看权限控制信息
通过ls -l可以列表形式查看内容,显示权限细节 每一行的前10个字符表示出权限信息.
第一部分:表示文件、文件夹的权限控制信息,权限细节由前10位字符决定,第一个字符表示文件类型-表示文件,d表示文件夹,l表示软连接;第二个到第四个表示所属用户权限;第五个到第七个表示所属用户组权限;第八个到第十个表示其他用户的权限
举例:drwxr-xr-x 这是一个文件夹,首字母是d;所属用户的权限是rwx;所属用户组的权限是xr 其他用户的权限是x
r :针对文件可查看文件内容,针对文件夹可查看文件夹内容,如ls
w :针对文件表示可以修改此文件,针对文件夹,可以在文件夹内创建、删除、改名等操作
x :针对文件表示可以将文件作为程序执行,针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
第二部分:表示文件、文件夹所属用户
第三部分:表示文件、文件夹所属用户组
4.chmod命令
可使用chmod命令,修改文件、文件夹的权限信息
chmod -R 权限 文件或文件夹
-R 可选,对文件夹内的全部内容应用同样的操作
示例:chmod u=rwx,g=rx,o=x hello.txt
权限可用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可代替原来输入的权限内容 rwx(7) r-x(5)--x(1)
5.chown命令
修改文件、文件夹所属的用户和用户组
chown -R 用户:用户组 文件或文件夹
-R 对文件夹内全部内容应用相同规则
用户 即修改的所属用户
用户组 即修改所属用户组
:用于分隔用户和用户组
第四章
1.各类小技巧快捷键
ctrl + c强制停止 | 强制停止程序的运行,退出当前输入,重新输入 |
---|---|
ctrl + d退出账户的登入 | 退出账户的登入,退出特特定程序的专属页面 |
history历史命令搜索 | |
! | 命令前缀,自动执行上一次匹配前缀的命令 |
ctrl + r | 输入内容去匹配历史命令,搜到可回车键执行,键盘左右键切换命令 |
光标移动快捷键 | ctrl + a,跳到命令开头;ctrl + e,跳到命令结尾;ctrl + 键盘左键,左跳一个单词;ctrl + 键盘右键,右跳一个单词 |
ctrl + l | 清屏,清空终端内容,命令clear可得到同样效果 |
2.软件安装
操作系统安装软件有多种方式:下载安装包自行安装;系统的应用商店内安装
linux系统的应用商店:
yum命令(root权限): centos的管理器,yum是RPM包软件管理器,用于自动化安装配置linux软件,并可以自动解决依赖问题
yun -y install | remove | search 软件名称
-y 自动确认,无需手动安装或卸载过程
install 安装
remove 卸载
search 搜索
atp命令 :ubuntu 的管理器
atp -y install | remove |search 软件名称
用法与yum一样
3.systemctl命令
linux中有很多软件支持使用systemctl命令控制启动停止开机自启等,能够被systemctl管理的软件,一般称之为服务.例如系统内置的服务(NetworkManager 主网络服务、network 副网络服务、firewalld 防火墙服务、sshd 防火墙服务、sshd ssh服务)
systemctl start | stop | status |enable |disable 服务名
start 启动
stop 关闭
status 查看状态
enable 开启开机自启
disable 关闭开机自启
4.软连接
像快捷方式一样,将文件、文件夹链接到其他位置
ln -s 参数1 参数2
-s 创建软连接
参数1 被链接的文件或文件夹
参数2 要链接去的目的地
5.日期和时区
date命令:可在系统中查看系统的时间
date -d +格式化字符串
-d 按照给定的字符串显示日期,一般用于日期计算
格式化字符串,通过特点的字符标记,来控制显示日期的格式: %Y 年、%y 年份后两位数字、%M 月份、%d 日、%H 小时、%M 分钟、%S 秒、%s 自1997-01-01 00:00:00到现在的秒数
按照2022-01-01 10:00:00的格式显示日期
date "+%Y-%m-%d %H:%M:%S"
由于中间带空格,故要用双引号包围格式化字符串作为整体
修改linux时区:(root权限)将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接位localtime文件即可
rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntp程序:自动校准系统时间
安装npt:yun -y install npt
启动并设置开机自启:systemctl start nptd systemctl enable ntpd
当ntpd启动后会定期联网校准系统时间,也可手动校准 nptdate -u ntp.aliyun.com
6.IP地址、主机名
IP地址:
每台联网的电脑都有一个地址,用于和其他计算机进行通讯。IP地址有V6版本和V4版本,其中V6版本未推广开,V4已经普及,常用V4版本。V4版本的格式为a.b.c.d,其中abcd表示0~255间的数字。
通过ifconfig命令查看本机的ip地址,ens33 主网卡;lo 本地回环网卡;virbr0 虚拟机网卡
特殊ip地址:127.0.0.1 代表本机;0.0.0.0代表本机、在端口绑定中确定绑定关系、在一些ip限制中,表示所有ip的意思
主机名:
除了用ip地址表示本机外,也用主机名来表示本机。
修改主机名:
hostname 查看主机名
hostnamectl set-hostname 主机名 修改主机名
7.域名解析
使用ip地址难以记忆,用一个容易记的名字来代替ip地址,这个就叫域名,如www,baidu.com
计算机打开网站的流程:1.检查本地是否有ip地址记录,若有,则直接连接; 2.联网查询ip地址,若有,则连接; 3.未找到这个ip地址,网站不存在。
配置主机名映射:
windows:在C:\windows\system32\drivers\etc\hosts文件中配置记录即可
linux::/etc/hosts文件中配置
8.配置linux固定ip地址
1.在vmware workstation中配置ip地址网关和网段(ip地址的范围)
子网ip设置为192.168.88.0~192.168.88.254
子网掩码设置为255.255.255.0
NAT网关ip设置为192.168.88.2
2.在linux系统中手动修改配置文件,固定ip
1.进入root su
2.使用vim /etc/sysconfig/network-scripts/ifcfg-ens33
3.更改BOOTPRPOTO = “static”(原为dhcp)
4.新增内容: IPADDR="192.168.88.130" NETMASK="255.255.255.0" GATEWAY="192.168.88.2" DNS1="192.168.88.2"
5.保存后重启network
systemctl stop network
systemctl start network
6.查看是否配置成功ifconfig
9.网络请求和下载
ping命令:检查指定的网络服务器是否可联通
ping -c num ip或主机名
-c 检查的次数,不使用将持续检查
ip或主机名 被检查的服务器的ip地址或主机名地址
wget命令:非交互式的文件下载器,可在命令行内下载网络文件
wget -b url
-b 可选,后台下载,将日志写入当当前工作目录的wget-log文件
url 下载连接
curl命令:可以发送http请求,用于下载文件、获取信息等
curl -o url
-o 用于下载文件,当url是下载连接时,可使用此选项保存文件
url 要发起请求的网络地址
10.端口
端口:是设备与外界通讯交流的出入口,分为物理端口和虚拟端口,在计算机之间,通过ip锁定计算机,通过端口锁定程序间的联络通道。
物理端口:又称接口,是可见的端口,如usb接口,rj45网口,hdmi接口等。 虚拟端口:指计算机内部的端口,是不可见的,用来操作系统和外部进行交互使用的。
linux 的端口,支持65535个端口,分为三类进行使用: 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS的443端口。 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序或服务。 动态端口:49152~65535,通常不会固定绑定程序,二十当程序对外进行网络连接是,用于;临时使用。
查看端口占用情况:
nmap命令
安装nmap yum -y install nmap
nmap 被查看的ip地址
netstalml命令:查看指定端口的占用情况
安装netstat yum -y installl net-tools
netstat -anp | grep 端口号
11.进程管理
进程管理:每个程序在运行时,操作系统会为其注册一个进程,并为每一个进程都分配一个独有的进程ID,便于管理。
查看进程:
ps命令:
ps -e -f
-e 显示出全部的进程
-f 以完全格式化的形式展示信息(展示全部信息)
出来的列表,从左到右依次是
UID:进程所属的用户ID
PID:进程的进程号ID
PPID:进程的父ID
C:此进程的CPU占有率
STIME:进程的启动时间
TTY:启动次进程的终端符号
TIME:进程占用cpu的时间
CMD:进程的启动命令或启动路径
查看指定进程:使用ps配合使用管道符grep来进行过滤
如ps -ef|grep tail 即可准确找到tail的信息
关闭进程:
kill -9 进程ID
-9 表示强制关闭进程,若不使用,则会向进程发送信号,要求其关闭,依靠进程自己关闭
12.主机状态监控
查看系统资源占用:
top命令:
直接输入top,默认5s刷新一次,ctrl + c或q退出
-p 只显示某个进程的信息
-d 设置刷新时间
-c 显示产生进程的完整命令,默认是进程名
-n 指定刷新次数,如top -n 3
-b 以非交互非全屏模式运行,以批次的方式执行top,一般配合-n指定输出几次统计信息,将输出重定向到指定文件,如top -b -n 3 > /tmp/top.tmp
-i 不显示任何闲置(I)或无用(Z)的进程
-u 查找特定用户启动的进程
PID:进程id
USER:进程所属用户
PR:进程优先级,越小表示越高
NI:负值表示高优先级,正表示低优先级
VIRT:进程使用虚拟内存,单位kb
RES:进程使用物理内存,单位kb
SHR:进程使用共享内存,单位kb
S:进程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲状态)
%CPU:进程占用CPU率
%MEM:进程占用内存率
TIME+:进程使用CPU时间总计,单位10毫秒
COMMAND:进程的命令或名称或程序文件路径
df命令:查看硬盘的使用情况
df -h
-h 可选,以更加人性化的单位显示
iostat命令:查看cpu、磁盘的相关信息
iostat -x num1 num2
-x 显示更多信息
num1 数字,刷新间隔
num2 数字,刷新几次
sar命令:查看网络的相关统计
sar -n DEV num1 num2
-n 查看网络 DEV表示网络接口
num1 刷新间隔
num2 查看次数
13.环境变量
环境变量:环境变量在linux系统中会记录一些关键信息,得以在全局都能使用这些信息,帮助系统正常运行。
PATH:PATH记录了系统执行任何命令的搜索路径。当执行了任何系统命令,都会按照顺序,从路径中搜索到要执行程序的本体。
$符号:在linux中,$被用于取“变量”的值。取得环境变量的值可通过语法:% 环境变量名 来取得 如 echo $PATH。
自行设置环境变量: 临时设置: export 变量名 = 变量值 永久生效:针对当前用户生效,配置在当前用户的 ~/.bashrc文件中 针对所有用户生效,配置在系统的 /etc/profile 文件中 并通过语法 source 配置文件,进行立刻生效
14.上传、下载
通过finalsheel,可方便的将电脑与虚拟机进行数据交换,在下方的目录内右击鼠标点击下载即可,传入则拖拽文件进入即可。
rz命令:进行上传操作
安装命令 yun -y install lrzsz
直接输入rz即可
sz命令:进行下载操作
sz 要下载的文件
文件自动下载到桌面的fsdownload文件夹中
15.压缩、解压
tar命令:简单的将文件封装一起,文件体积不减少
tar -c -v -x -f -z -C 参数1 参数2 ... 参数N
-c 创建压缩文件,用于压缩格式
-v显示压缩、解压过程,查看进度
-x 解压模式
-f 要创建的文件,或要压缩的文件,-f选项必须在所有选项中位置处于最后一个
-z gzip模式,不使用-z就是普通的tarball格式,一般在开头使用
-C 选择解压的目的地,用于解压模式,单独使用,和解压所需的其他参数分开
gz命令:使用gzip压缩算法将文件压缩到一个文件内,极大减少压缩文件的体积
使用方法同tar
gz -c -v -x -f -z -C 参数1 参数2 ... 参数N
zip命令:压缩文件为zip压缩包
zip -r 参数1 参数2 ...参数N
-r 被压缩的包含文件夹的时候,要用到-r选项,如 zip test.zip a.txt b.txt c.txt 就将abc三个文件压缩为test文件
unzip命令: 解压文件
unzip -d 参数
-d 指定要解压去的位置
参数,被解压的zip压缩包文件