【4】Linux实用操作

学习笔记目录 

  1. 初识Linux--入门
  2. Linux基础命令--会用
  3. Linux权限管控--懂权限
  4. Linux实用操作--熟练
  5. 实战软件部署--深入掌握
  6. 脚本&自动化--用的更强
  7. 项目实战--学到经验
  8. 云平台技术--紧跟潮流

各类小技巧(快捷键)

ctrl + c强制停止

Linux某些程序的运行,如果想要强制停止它,可以使用快捷键  ctrl + c

 命令输入错误时,也可以通过快捷键 ctrl +c ,退出当前输入,重新输入

 ctrl + d 退出或登出

可以通过快捷键:ctrl + d,退出账户的登录

 或退出某些特定程序的专属页面

 注:不能用于退出vi / vim

扫描二维码关注公众号,回复: 14671074 查看本文章

历史命令搜索

可以通过history命令,查看历史输入过的命令:

 可以通过:!命令前缀,自动执行上一次匹配前缀的命令

 光标移动快捷键

ctrl + a ,跳到命令开头
ctrl + e ,跳到命令结尾
ctrl + 键盘左键,向左跳一个单词
ctrl + 键盘右键,向右跳一个单词

清屏

通过快捷键 ctrl + l ,可以清空终端内容
或通过命令 clear 得到同样效果
总结:

1. ctrl + c 强制停止

2. ctrl + d 退出登出

3. history 查看历史命令

4. !命令前缀,自动匹配上一个命令

5. ctrl + r,搜索历史命令

6. ctrl + a | e,光标移动到命令开始或结束

7. ctrl + ← | →,左右跳单词

8. ctrl + l clear命令 清屏

软件安装

掌握使用yum为CentOS系统安装软件,使用apt为Ubuntu安装软件

yum命令

yumRPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。

语法:yum  [ -y]  [ install  |  remove  |  serach]  软件名称

选项: -y ,自动确认,无需手动确认安装或卸载过程
install :安装
remove :卸载
search :搜索

注:yum 命令需要root权限,可以用su 切换到root,或使用sudo提权,yum命令需要联网

练习:

  • yum [-y] install wget,通过yum命令安装wget程序
  • yum [-y] remove wget  , 通过yum命令卸载wget命令
  • yum search wget ,通过yum命令,搜索是否有wget安装包

apt命令

前面学习的各类Linux命令,都是通用的。 但是软件安装,CentOS系统和Ubuntu是使用不同的包管理器。CentOS使用yum管理器,Ubuntu使用apt管理器。通过前面学习的WSL环境,我们可以得到Ubuntu运行环境。

语法:apt [-y]  [ install  |  remove  |  serach]  软件名称

用法和yum一致,同样需要root权限。

systemctl

掌握使用systemctl命令控制软件的启动和关闭。

systemctl命令

Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启。能够被systemctl管理的软件,一般也称之为:服务

语法:systemctl start | stop | status | enable | disable  服务名

start 启动
stop 关闭
status 查看状态
enable 开启开机自启
disable 关闭开机自启

Linux系统内置的服务比较多,比如:

NetworkManager,主网络服务
network ,副网络服务
firewalld ,防火墙服务
sshd ssh服务(FinalShell远程登录Linux使用的就是这个服务)

软连接

ln命令创建软连接

在系统中创建软连接,可以将文件、文件夹链接到其他位置,类似Windows系统中的“快捷方式”。

语法:ln -s 参数1  参数2

-s 选项,创建软连接
参数 1 :被链接的文件或文件夹
2 :要链接去的目的地

示例:

ln -s / etc / yum.conf ~/ yum.conf
ln -s / etc /yum ~/yum

日期、时区

学习目标:掌握date命令查看日期时间、掌握修改Linux系统的时区、掌握使用ntp进行时间同步和校准。

date命令,通过date命令可以在命令行中查看系统的时间

语法:date  [-d]  [ +格式化字符串]

-d 按照给定的字符串显示日期,一般用于日期计算
格式化字符串:通过特定的字符串标记,来控制显示的日期格式
%Y   年
%y   年份后两位数字 (00..99)
%m   月份 (01..12)
%d   日 (01..31)
%H   小时 (00..23)
%M   分钟 (00..59)
%S   秒 (00..60)
%s   自 1970-01-01 00:00:00 UTC 到现在的秒数
  • 使用date命令,无选项,直接查看时间
  • 按照2023-01-01的格式显示日期
  • 按照2023-01-01  10:00:00的格式显示日期,由于中间带有空格,所以使用双引号包围格式化字符串,作为整体
  •  -d 选项,可以按照给定的字符串显示日期,一般用于日期计算
其中支持的时间标记为:
year
month
day
hour 小时
minute 分钟
second
-d选项可以和 格式化字符串配合一起使用哦

 修改Linux时区

通过date查看的日期时间是不准确的,这是因为:系统默认时区非中国的东八区。

使用root权限,执行如下命令,修改时区为东八区时区。

 将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件即可

 ntp程序,通过ntp程序自动校准系统时间

安装ntp:yum -y install ntp,启动并设置开机自启:

systemctl start ntpd
systemctl enable ntpd

ntpd启动后会定期的帮助我们联网校准系统的时间

也可以手动校准( root 权限 ): ntpdate -u ntp.aliyun.com
通过阿里云提供的服务网址配合 ntpdate (安装 ntp 后会附带这个命令)命令自动校准

IP地址、主机名

IP和主机名

掌握什么是IP地址、什么是主机名、什么是域名解析

IP地址

每一台联网的电脑都会有一个地址,用于和其它计算机进行通讯。IP地址主要有2个版本,V4版本和V6版本(V6很少用,课程暂不涉及)。IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101就是一个标准的IP地址。

可以通过命令:ifconfig,查看本机的ip地址,如无法使用ifconfig命令,可以安装:yum -y install net-tools

 特殊IP地址除了标准的IP地址以外,还有几个特殊的IP地址需要我们了解:

 •127.0.0.1,这个IP地址用于指代本机

0.0.0.0 ,特殊 IP 地址
可以用于指代本机
可以在端口绑定中用来确定绑定关系(后续讲解)
在一些 IP 地址限制中,表示所有 IP 的意思,如放行规则设置为 0.0.0.0 ,表示允许任意 IP 访问

主机名每一台电脑除了对外联络地址(IP地址)以外,也可以有一个名字,称之为主机名。无论是Windows或Linux系统,都可以给系统设置主机名。Linux主机名:

 在Linux中修改主机名

  • 使用命令:hostname查看主机名
  • 使用命令:hostnamectl  set-hostname  主机名,修改主机名(需root)
  • 重新登陆FinalShell即可看到主机名已经正确显示

 域名解析

先查看本机的记录(私人地址本)
Windows 看:C:\Windows\System32\drivers\etc \hosts
Linux 看: / etc /hosts
再联网去DNS服务器(如 114.114.114.114 8.8.8.8 等)询问

配置主机名映射

FinalShell是通过IP地址连接到的Linux服务器,那有没有可能通过域名(主机名)连接呢?可以,我们只需要在Windows系统的:C:\Windows\System32\drivers\etc\hosts文件中配置记录即可

 

虚拟机配置固定IP

为什么需要固定IP ?

当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。

DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更。

原因1:办公电脑IP地址变化无所谓,但是我们要远程连接到Linux系统,如果IP地址经常变化我们就要频繁修改适配很麻烦

原因2:在刚刚我们配置了虚拟机IP地址和主机名的映射,如果IP频繁更改,我们也需要频繁更新映射关系

综上所述,我们需要IP地址固定下来,不要变化了。

在VMware Workstation中配置固定IP

配置固定IP需要2个大步骤:

  1. 在虚拟机中配置IP地址网关和网段(IP地址的范围)
  2. 在Linux系统中手段修改配置文件,固定IP
    1. 使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下内容
    2. 执行: systemctl restart network 重启网卡,执行 ifconfig 即可看到 ip 地址固定为 192.168.88.130

网络传输

下载和网络请求

学习目标:掌握使用ping命令检查服务器是否可联通、掌握使用wget命令下载文件、掌握使用curl命令发起网络请求。

ping命令:检查指定的网络服务器是否是可联通状态

语法:ping [-c num] ip或主机名

选项: -c ,检查的次数, 不使用-c选项,将无限次数持续检查
参数: ip 或主机名,被检查的服务器的 ip 地址或主机名地址

示例:

检查到baidu.com是否联通

 结果表示联通,延迟20ms左右

检查到 39.156.66.10 是否联通,并检查3次

wget命令

wget是非交互式的文件下载器,可以在命令行内下载网络文件。

语法:wget [ -b ] url

  • 选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget - log文件。
  • 参数:url,下载连接
  • 示例:下载apache-hadoop 3.3.0版本:
  • wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
在后台下载: wget -b http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
通过ctrl +c 可以中断下载
通过 tail 命令可以监控后台下载进度: tail -f wget-log

注:无论下载是否完成,都会生成要下载的文件,如果下载未完成,需要及时清理未完成的不可用文件。

curl命令

curl命令可以发送http网络请求,可用于:下载文件、获取信息等

语法:curl [ -o] url

  • 选项:-o,用于下载文件,当url是下载连接时,可以使用此选项保存文件
  • 参数:url,要发起请求的网络地址

示例:

  • 向cip.cc发起网络请求:curl cip.cc
  • 向python.itheima.com发起网络请求:curl python.itheima.com

 端口

端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类。

  • 物理端口:接口,如USB接口,RJ45网口,HDMI端口等
  • 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的。

计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通。

Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:

公认端口: 1~1023 ,通常用于一些系统内置或知名程序的预留使用,如 SSH 服务的 22 端口, HTTPS 服务的 443 端口。非特殊需要,不要占用这个范围的端口
注册端口: 1024~49151 ,通常可以随意使用,用于松散的绑定一些程序 \ 服务
动态端口: 49152~65535 ,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。

进程管理

学习目标:掌握进程的概念,掌握如何查看进程、关闭进程。

程序运行在操作系统中,是被操作系统所管理的。为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程。并会为每一个进程都分配一个独有的:进程ID(进程号)

Linux系统查看进程:

 可以通过ps命令查看Linux系统中的进程信息。

从左到右分别是:

UID :进程所属的用户 ID
PID :进程的进程号 ID
PPID :进程的父 ID (启动此进程的其它进程)
C :此进程的 CPU 占用率(百分比)
STIME :进程的启动时间
TTY :启动此进程的终端序号,如显示 ? ,表示非终端启动
TIME :进程占用 CPU 的时间
CMD :进程对应的名称或启动路径或启动命令

语法: ps  [ -e   -f]

  • -e  :显示出全部的进程
  • -f:以完全格式化的形式展示信息(展示全部信息)
  • 一般来说,固定用法就是:ps  -ef 列出全部进程的全部信息。

查看指定进程

我们可以使用管道符配合grep来进行过滤,如:ps -ef | grep tail,即可准确的找到tail命令的信息

过滤不仅仅过滤名称,进程号,用户 ID 等等,都可以被 grep 过滤哦
如: ps - ef | grep 30001 ,过滤带有 30001 关键字的进程信息(一般指代过滤 30001 进程号)

关闭进程

Windows系统中,可以通过任务管理器选择进程后,点击结束进程从而关闭它。同样,在Linux中,可以通过kill命令关闭进程。

语法:kill  [-9]  进程ID

选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。

主机状态

可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器。默认每5秒刷新一次。

语法:直接输入top即可,按q或ctrl+c退出

 top命令内容详解

第一行:

top:命令名称,14:39:58:当前系统时间,up 6 min:启动了6分钟,2 users2个用户登录,load1515分钟负载

第二行:

 Tasks:175个进程,1 running1个进程子在运行,174 sleeping174个进程睡眠,0个停止进程,0个僵尸进程

第三行:

 %Cpu(s)CPU使用率,us:用户CPU使用率,sy:系统CPU使用率,ni:高优先级进程占用CPU时间百分比,id:空闲CPU率,waIO等待CPU占用率,hiCPU硬件中断率,siCPU软件中断率,st:强制等待占用CPU

第四、五行:

 Kib Mem:物理内存,total:总量,free:空闲,used:使用,buff/cachebuffcache占用

KibSwap:虚拟内存(交换空间),total:总量,free:空闲,used:使用,buff/cachebuffcache占用

PID :进程 id
USER :进程所属用户
PR :进程优先级,越小越高
NI :负值表示高优先级,正表示低优先级
VIRT :进程使用虚拟内存,单位 KB
RES :进程使用物理内存,单位 KB
SHR :进程使用共享内存,单位 KB
S :进程状态( S 休眠, R 运行, Z 僵死状态, N 负数优先级, I 空闲状态)
%CPU :进程占用 CPU
%MEM :进程占用内存率
TIME+ :进程使用 CPU 时间总计,单位 10 毫秒
COMMAND :进程的命令或名称或程序文件路径

top命令选项

 top命令交互选项

top以交互式运行(非-b选项启动),可以用以下交互式命令进行控制

 磁盘信息监控

使用df命令,可以查看磁盘的使用情况。语法:df [-h]

选项:-h,以更加人性化的单位显示

环境变量

环境变量是操作系统(WindowsLinuxMac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。在Linux系统中执行:env命令即可查看当前系统中记录的环境变量

$符号

Linux系统中,$符号被用于取”变量”的值。环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。取得环境变量的值就可以通过语法:$环境变量名  来取得

比如: echo $PATH       就可以取得PATH这个环境变量的值,并通过echo语句输出出来。

上传、下载

我们可以通过FinalShell工具,方便的和虚拟机进行数据交换。在FinalShell软件的下方窗体中,提供了Linux的文件系统视图,可以方便的:

浏览文件系统,找到合适的文件, 右键点击下载,即可传输到本地电脑
浏览文件系统,找到合适的目录, 将本地电脑的文件拓展进入,即可方便的上传数据到Linux中

 rz、sz命令

除了通过FinalShell的下方窗体进行文件的传输以外,也可以通过rzsz命令进行文件传输。

rzsz命令需要安装,可以通过:yum -y install lrzsz,即可安装。

 •rz命令,进行上传,语法:直接输入rz即可

 •sz命令进行下载,语法:sz 要下载的文件

 文件会自动下载到桌面的:fsdownload文件夹中。

 注:rz、sz命令需要终端软件支持才可正常运行。FinalShell、SecureCRTXShell等常用终端软件均支持此操作

压缩、解压

学习目标:掌握使用tar命令压缩或解压tar或gzip文件、掌握使用zip、unzip命令压缩或解压zip文件。

压缩格式

市面上有非常多的压缩格式,学习Linux系统中操作:tar、gzip、zip这三种压缩格式,完成文件的压缩、解压操作。

zip 格式: Linux Windows MacOS ,常用
7zip Windows 系统常用
rar Windows 系统常用
tar Linux MacOS 常用
gzip Linux MacOS 常用

tar命令

LinuxMac系统常用有2种压缩格式,后缀名分别是:

.tar ,称之为 tarball ,归档文件,即简单的将文件组装到一个 .tar 的文件内,并没有太多文件体积的减少,仅仅是简单的封装
. gz ,也常见为 .tar.gz gzip 格式压缩文件,即使用 gzip 压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积

针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作

语法:tar  [-c  -v  -x  -f  -z  -C]   参数1  参数2  参数N

-c ,创建压缩文件,用于压缩模式
-v ,显示压缩、解压过程,用于查看进度
-x ,解压模式
-f ,要创建的文件,或要解压的文件, -f 选项必须在所有选项中位置处于最后一个
-z gzip 模式,不使用 -z 就是普通的 tarball 格式
-C ,选择解压的目的地,用于解压模式

tar命令压缩,tar常用的组合:

tar - cvf test.tar 1.txt 2.txt 3.txt        将1.txt 2.txt 3.txt 压缩到 test.tar 文件内
tar - zcvf test.tar.gz 1.txt 2.txt 3.txt        将1.txt 2.txt 3.txt 压缩到 test.tar.gz 文件内,使用 gzip 模式

注意:-z选项如果使用的话,一般处于选项位第一个,-f选项,必须在选项位最后一个

tar解压

常用的tar解压组合:

tar - xvf test.tar        解压test.tar,将文件解压至当前目录
tar - xvf test.tar -C /home/itheima        解压test.tar,将文件解压至指定目录( /home/ itheima
tar - zxvf test.tar.gz -C /home/itheima        以Gzip模式解压 test.tar.gz ,将文件解压至指定目录( /home/ itheima

注意:

-f 选项,必须在选项组合体的最后一位
-z 选项,建议在开头位置
-C 选项单独使用,和解压所需的其它参数分开

zip命令压缩文件

可以使用zip命令,压缩文件为zip压缩包。

语法:zip  [-r]   参数1  参数2   参数N

-r,被压缩的包含文件夹的时候,需要使用-r选项,和rmcp等命令的-r效果一致

示例:

zip test.zip a.txt b.txt c.txt        将a.txt b.txt c.txt 压缩到test.zip文件内

zip -r test.zip test itheima a.txt        将test、itheima两个文件夹和a.txt文件,压缩到test.zip文件内

zip命令解压文件

使用unzip命令,可以方便的解压zip压缩包。

语法:unzip   [ -d ]   参数

-d ,指定要解压去的位置,同 tar -C 选项
参数,被解压的 zip 压缩包文件

示例:

unzip test.zip ,将 test.zip 解压到当前目录
unzip test.zip -d /home/ itheima ,将 test.zip 解压到指定文件夹内( /home/ itheima

猜你喜欢

转载自blog.csdn.net/qq_45355603/article/details/128790766
今日推荐