Linux的基础编程——Linux实用操作(九)

简介: Linux的基础编程——Linux实用操作(九)

一、各类小技巧(快捷键)

(1)ctrl + c 强制停止

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

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

(2)ctrl + d 退出或登出

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

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

ps:不能用于退出vi/vim

(3)历史命令搜索

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

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

3• 可以通过快捷键: ctrl + r ,输入内容去匹配历史命令

如果搜索到的内容是你需要的,那么:

回车键可以直接执行

键盘左右键,可以得到此命令(不执行)

(3)光标移动快捷键

ctrl + a ,跳到命令开头

ctrl + e ,跳到命令结尾

ctrl + 键盘左键,向左跳一个单词

ctrl + 键盘右键,向右跳一个单词

(4)清屏

通过快捷键 ctrl + l ,可以清空终端内容

或通过命令 clear 得到同样效果

二、软件安装

Linux 系统的应用商店

操作系统安装软件有许多种方式,一般分为:

下载安装包自行安装

win 系统使用 exe 文件、 msi 文件等

mac 系统使用 dmg 文件、 pkg 文件等

系统的应用商店内安装

win 系统有 Microsoft Store 商店

mac 系统有 AppStore 商店

Linux系统同样支持这两种方式,我们首先,先来学习使用:Linux命令行内的应用商店yum命令安装软件

(1)yum命令

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

语法:

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

install :安装

remove :卸载

search :搜索

yum命令需要root权限哦,可以su切换到root,或使用sudo提权。

yum命令需要联网

       yum [-y] install wget 通过yum命令安装wget程序

        加上-y后执行可得

yum [-y] remove wget ,通过 yum 命令卸载 wget 命令

       •yum search wget,通过yum命令,搜索是否有wget安装包

(2)apt命令 - 扩展

前面学习的各类Linux命令,都是通用的。 但是软件安装,CentOS系统和Ubuntu是使用不同的包管理器。

CentOS使用yum管理器,Ubuntu使用apt管理器

通过前面学习的WSL环境,我们可以得到Ubuntu运行环境。

语法:

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

apt install wget ,安装 wget

apt remove wget ,移除 wget

apt search wget ,搜索 wget

三、systemctl

Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启

能够被systemctl管理的软件,一般也称之为:服务

语法:

•start 启动

•stop 关闭

•status 查看状态

•enable 开启开机自启

•disable 关闭开机自启

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

NetworkManager,主网络服务

network ,副网络服务

firewalld ,防火墙服务

sshd ssh 服务( FinalShell 远程登录, Linux 使用的就是这个服务

除了内置的服务以外,部分第三方软件安装后也可以以systemctl进行控制。

yum install -y ntp ,安装 ntp 软件

可以通过ntpd服务名,配合systemctl进行控制

yum install -y httpd ,安装 apache 服务器软件

可以通过httpd服务名,配合systemctl进行控制

部分软件安装后没有自动集成到systemctl中,我们可以手动添加

四、软连接

ln命令创建软连接

在系统中创建软链接,可以将文件、文件夹链接到其它位置。

类似Windows系统中的《快捷方式》

语法:

-s 选项,创建软连接

参数 1 :被链接的文件或文件夹

参数 2 :要链接去的目的地

实例:

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

       •ln -s /etc/yum ~/yum

、日期、时区

(1)date命令

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

语法:

-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 命令本体,无选项,直接查看时间

可以看到这个格式非常的不习惯。我们可以通过格式化字符串自定义显示格式

按照 2022-01-01 的格式显示日期

按照 2022-01-01 10:00:00 的格式显示日期

如上,由于中间带有空格,所以使用双引号包围格式化字符串,作为整体。

-d 选项,可以按照给定的字符串显示日期,一般用于日期计算

其中支持的时间标记为:

year

month

day

hour 小时

minute 分钟

second

-d选项可以和 格式化字符串配合一起

 (2)修改Linux时区

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

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

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

(3) ntp程序

我们可以通过ntp程序自动校准系统时间

安装ntpyum -y install ntp

启动并设置开机自启:

systemctl start ntpd

systemctl enable ntpd

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

也可以手动校准( root 权限 ): ntpdate -u ntp.aliyun.com

通过阿里云提供的服务网址配合ntpdate(安装ntp后会附带这个命令)命令自动校准

六、IP地址、主机名

(1)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

(2)特殊IP地址

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

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

0.0.0.0 ,特殊 IP 地址

可以用于指代本机

可以在端口绑定中用来确定绑定关系(后续讲解)

在一些 IP 地址限制中,表示所有 IP 的意思,如放行规则设置为 0.0.0.0 ,表示允许任意 IP 访问

(3)主机名

每一台电脑除了对外联络地址(IP地址)以外,也可以有一个名字,称之为主机名

无论是WindowsLinux系统,都可以给系统设置主机名

Windows 系统主机名

Linux 系统主机名

(4)Linux中修改主机名

可以使用命令: hostname 查看主机名

可以使用命令: hostnamectl set-hostname 主机名,修改主机名(需 root

重新登录FinalShell即可看到主机名已经正确显示

(5)域名解析

IP地址实在是难以记忆,有没有什么办法可以通过主机名或替代的字符地址去代替数字化的IP地址呢?

实际上,我们一直都是通过字符化的地址去访问服务器,很少指定IP地址

比如,我们在浏览器内打开:www.baidu.com,会打开百度的网址

其中,www.baidu.com,是百度的网址,我们称之为:域名

访问www.baidu.com的流程如下:

即:

先查看本机的记录(私人地址本)

Windows 看:C:\Windows\System32\drivers\etc \hosts

Linux 看: / etc /hosts

再联网去DNS服务器(如 114.114.114.114 8.8.8.8 等)询问

(6)配置主机名映射

比如,我们FinalShell是通过IP地址连接到的Linux服务器,那有没有可能通过域名(主机名)连接呢?

可以,我们只需要在Windows系统的:C:\Windows\System32\drivers\etc\hosts文件中配置记录即可

七、虚拟机配置固定IP

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

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

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

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

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

VMware Workstation中配置固定IP

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

1.VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)

2.Linux系统中手动修改配置文件,固定IP

首先让我们,先进行第一步,跟随图片进行操作

       •使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下内容

执行: systemctl restart network 重启网卡,执行 ifconfig 即可看到 ip 地址固定为 192.168.88.130


目录
相关文章
|
3月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
9天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
62 13
|
1月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
3月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
3月前
|
Linux Shell
Linux系统编程:掌握popen函数的使用
记得在使用完 `popen`打开的流后,总是使用 `pclose`来正确关闭它,并回收资源。这种做法符合良好的编程习惯,有助于保持程序的健壮性和稳定性。
160 6
|
3月前
|
Linux Shell
Linux系统编程:掌握popen函数的使用
记得在使用完 `popen`打开的流后,总是使用 `pclose`来正确关闭它,并回收资源。这种做法符合良好的编程习惯,有助于保持程序的健壮性和稳定性。
176 3
|
4月前
|
项目管理 敏捷开发 开发框架
敏捷与瀑布的对决:解析Xamarin项目管理中如何运用敏捷方法提升开发效率并应对市场变化
【8月更文挑战第31天】在数字化时代,项目管理对软件开发至关重要,尤其是在跨平台框架 Xamarin 中。本文《Xamarin 项目管理:敏捷方法的应用》通过对比传统瀑布方法与敏捷方法,揭示敏捷在 Xamarin 项目中的优势。瀑布方法按线性顺序推进,适用于需求固定的小型项目;而敏捷方法如 Scrum 则强调迭代和增量开发,更适合需求多变、竞争激烈的环境。通过详细分析两种方法在 Xamarin 项目中的实际应用,本文展示了敏捷方法如何提高灵活性、适应性和开发效率,使其成为 Xamarin 项目成功的利器。
55 1
|
3月前
|
Shell Linux Python
python执行linux系统命令的几种方法(python3经典编程案例)
文章介绍了多种使用Python执行Linux系统命令的方法,包括使用os模块的不同函数以及subprocess模块来调用shell命令并处理其输出。
86 0
|
4月前
|
网络协议 Linux Shell
探索Linux操作系统:从基础到高级编程
【8月更文挑战第31天】本文旨在为读者提供一条清晰的路径,从Linux操作系统的基础知识出发,逐步深入到高级编程技巧。我们将一起揭开Linux神秘的面纱,了解其内部工作原理,并通过实际代码示例加深理解。无论你是初学者还是有一定经验的开发者,这篇文章都将为你带来新的视角和技能提升。
|
4月前
|
Linux
探索Linux操作系统:命令行与脚本编程基础
【8月更文挑战第31天】在这篇文章中,我们将一起踏上一段旅程,深入探索Linux操作系统的奥秘。通过学习命令行的使用和编写简单的脚本,你将能够更高效地与你的计算机进行交流。无论你是新手还是有经验的用户,本文都将为你打开一扇通往Linux世界的大门。准备好了吗?让我们开始吧!