CentOS7安装软件包的方法
Linux有多种发行版本,各种发行版本之间安装软件包的方法和命令不一样,同发行版本之间安装软件包的方法也有不同。Linux主要有三大派系:红帽子派系(Redhat、Centos、Oracle Linux)、Debian派(Ubuntu、Kali),SUSE派系(SuSe、OpenSUSE)等。
红帽子派是Linux服务器操作系统的主流,本文重点介绍红帽子派系中rpm和yum安装软件包的方法。
一、rpm安装
RPM是RedHat Package Manager的缩写,由RedHat推出的软件包管理管理工具,在Fedora、Redhat、CentOS、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用。
RPM包里面包含可执行的二进制程序,自身所带的附加文件,版本文件(软件包的依赖关系)。
1、查看系统中已安装的软件包
1)查看已安装的软件包。
1rpm -q 软件包名
例如查看ftp客户端和ftp服务端软件包:
2)查看软件包安装的目录和文件(包括了可执行程序、配置文件和帮助文档)。
1rpm -ql 软件包名
例如查看ft ...
CentOS7设置中文字符集
一、字符编码和字符集
1、字符编码(character encoding):
字符编码是一种法则,在数字与符号之间建立的对应关系。不同的国家有不同的语言,包含的文字、标点符号、图形符号各有不同。例如在ASCII编码中,用数字97表达字符’a’与字符集相对应,常见的字符编码有ASCII,GBK,GB18030,Unicode等。
2、字符集(Character set)
字符集是字符的集合,字符是文字和符号的总称,用ASCII编码的字符集称之为ASCII字符集,用GBK编码的字符集称之为GBK字符集。
3、国际编码(Unicode)
为了解决传统的字符编码方案的局限,1994年发布了Unicode(国际编码、统一码、万国码、单一码、通用码),它是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 将全世界所有的字符统一化,统一编码,再也不存在字符集不兼容和字符转换的问题。
Unicode 有以下三种编码方式:
1)UTF-8:兼容ASCII编码;拉丁文、希腊文等使用两个字节;包括汉字在内的其它常用字符使用三个字节;剩下的极少使用的字符使用四个字节。
2)UTF ...
CentOS7设置环境变量
一、环境变量的概念
1、环境变量的含义
程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的。
2、环境变量的分类
1)按生效的范围分类。
系统环境变量:公共的,对全部的用户都生效。
用户环境变量:用户私有的、自定义的个性化设置,只对该用户生效。
2)按生存周期分类。
永久环境变量:在环境变量脚本文件中配置,用户每次登录时会自动执行这些脚本,相当于永久生效。
临时环境变量:使用时在Shell中临时定义,退出Shell后失效。
3、Linux环境变量
Linux环境变量也称之为Shell环境量变,以下划线和字母打头,由下划线、字母(区分大小写)和数字组成,习惯上使用大写字母,例如PATH、HOSTNAME、LANG等。
二、常用的环境变量
1、查看环境变量
1)env命令
在Shell下,用env命令查看当前用户全部的环境变量。
上图只截取了部分环境变量,并非全部。
用env命令的时候,满屏显示了很多环境变量,不方便查看,可以用grep筛选。
1env|grep 环境变量名
例如查看环境变量名中包含PATH的环境变量。
1env|grep PA ...
vi常用命令
一、关于vi
vi是最强大的文本编辑器,没有之一。尽管 vi已经是古董级的软件,但还是有无数新人迎着困难去学习,可见其经典与受欢迎的程度。
无论是小说中还是电视剧,真正强大的武器都不容易驾驭,需要付出一些努力才能收获到更加强大的力量,对于vi这上古神器说更是如此。由于它全程使用键盘操作,很多首次接触
vi的人会觉得不习惯而中途放弃。然而,坚持下来的朋友就会渐渐地发现这种键盘操作的设计绝妙,经典之所以能成为经典,必然有它的道理,不用解释太多。
观察一个程序员对vi的熟练程度,可以判断它的技术水平,如果他对vi不熟悉,就肯定不是Linux平台下的程序员,说vi不好用的人也肯定不熟悉vi和Linux,没有例外。
二、创建/打开文件
1vi 文件名
打开一个文件,如果文件不存在,就创建它。
示例:
1vi book.c
三、vi的三种模式
vi
有三种模式,命令行模式、插入模式和替换模式,在命令行模式下,任何键盘输入都是命令,在插入模式和替换模式下,键盘输入的才是字符。
插入模式和替换模式也合称为编辑模式。
四、vi的常用命令
Esc 从编辑模式切换到命令行模式。
i 在光标所在位置前 ...
Linux常用命令
Linux的命令有几百个,对程序员来说,常用的并不多,并不需要全部掌握。如果在学习和工作中遇到了陌生的Linux命令,不要轻易放过,多查资料,掌握它,日积月累,知识面就会宽广。
本文介绍的是Linux的常用命令,对初学者来说,建议系统化的学习Linux基础知识。
推荐视频:https://www.bilibili.com/video/av18156598
这个视频非本人录制,因为好所以推荐。
1、开机
物理机服务器:按下电源开关,就像Windows开机一样。
本地虚拟机:在VMware中点击“开启此虚拟机”。
2、登录
启动完成后,输入用户名和密码,一般情况下,不要用root用户登录,root用户的权限太大,如果产生了误操作,后果相当严重。
3、切换用户
在命令提示符下输入:su - root ,然后按提示输入root的密码后将切换到root用户。
从root用户切换到其它普通用户不需要输入密码,从普通用户切换到任何用户都需要输入密码。
4、重启和关机
重启和关机需要系统管理员用户权限。
1)重启。
1init 6 或 reboot
2)关机。
1init 0 或 halt
...
CentOS7的安装和配置
一、ftp简介
ftp(File Transfer Protocol文件传输协议)是基于TCP/IP协议的应用层协议,用于文件的传输,包括ftp服务器(或服务端)和ftp客户端。
ftp客户端与服务器创建网络连接,请求登录服务器,登录成功后,就可以进行文件传输,主要包括开载文件和上传文件两种操作。
ftp协议很古老,有人说它技术太落后,不安全,对于这种说法我不于评论。但是,ftp的应用场景仍非常广泛,这是不争的事实。
在Linux系统中,ftp客户端和ftp服务器是操作系统自带的,但不一定会缺省安装。
二、安装ftp软件包
在CentOS7中,采用yum来安装ftp软件包,包括ftp服务器和ftp客户端。如果已经安装,再次执行yum就会把软件包升级到最新版本。
1、安装ftp服务器
1yum -y install vsftpd
2、安装ftp客户端
1yum -y install ftp
三、配置ftp服务器
ftp的传输模式有被动模式和主动式两种,缺省是被动模式,主动模式的应用场景极少,为了方便表达,在接下来的内容中只介绍被动模式,主动模式在本文中也有介绍。
1、关闭SE ...
Linux学习环境
有三种方法可以获得Linux学习环境:安装本地虚拟机、购买云服务器和使用我们提供的服务器。
一、安装本地虚拟机
在您个人电脑的Windows系统中安装VMWare软件,然后在VMWare中安装CentOS7操作系统。对初学者来说,折腾一下本地虚拟机是有必要的。对职业的程序员来说,基本上不用本地虚拟机。
1、优点
1)可以让您熟悉Linux系统的安装和配置方面的知识。
2)让您对Linux的启动、关闭,操作界面等有直观的了解。
3)完全属于您自己的Linux系统,爱怎么折腾就怎么折腾。
4)备份和恢复很简单,时间短。
2、缺点
麻烦很多,不稳定,有些故障找不到原因。如果您的本地虚拟机不幸难产或夭折,也不用花太多时间和精力去抢救。
二、购买云服务器
云服务器本质上也是虚拟机,但是采用的虚拟化技术和本地虚拟机完全不同。本地虚拟机仅用于学习,云平台虚拟机是企业级的服务器,目前,互联网上的服务器有80%以上是采用云服务器。
国内主要的云服务器提供商有腾讯、阿里和华为,他们提供的产品没什么差别,谁家有优惠就用谁的。目前,云服务器的价格在100元/年之内,学生还有更多优惠。
和本地虚拟机相比 ...
Linux系统简介
一、Linux 简介
Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。
Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix以网络为核心的设计思想,是一个稳定高性能的多用户网络操作系统。
二、Linux 的发行版
Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。
目前市面上较知名的发行版有:RedHat、CentOS、Debian、Fedora、SuSE、Ubuntu、OpenSUSE、Arch Linux、SolusOS 等。
三、Linux 应用领域
1)根据前程无忧官网发布的招聘职位的数据统计,Linux与Windows开发岗的职位比例约为3:1。
2)今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确 ...
Linux静态库与动态库
一、源代码的组织
我们通常把公用的自定义函数和类从主程序中分离出来,函数和类的声明在头文件中,定义在程序文件中,主程序中要包含头文件,编译时要和程序文件一起编译。
示例(public.h)
123456789101112/* * 程序名:public.h,公共功能函数声明的头文件,用于测试静态和动态链接 * 作者:C语言技术网(www.freecplus.net) 日期:20190525*/#ifndef PUBLIC_H#define PUBLIC_H 1#include <stdio.h>void func(); // 自定义函数的声明#endif
示例(public.cpp)
1234567891011121314/* * 程序名:public.cpp,公共功能函数定义的程序文件,用于测试静态和动态链接 * 作者:C语言技术网(www.freecplus.net) 日期:20190525*/#include "public.h" // 包含自定义函数声明的头文件void func() // 自定义函数的实现{ printf( ...
Linux调用可执行程序
在C/C程序中,经常需要调用其它的程序来先成某项任务,例如其它的C/C程序、操作系统命令或Shell脚本,C/C++提供了exec函数族和system函数来实现这个功能。
一、exec函数族
exec函数族提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新的进程替换了。还有,这里的可执行文件既可以是二进制文件,也可以是Linux下任何可执行的脚本文件。
exec函数族的声明如下:
123456int execl(const char *path, const char *arg, ...);int execlp(const char *file, const char *arg, ...);int execle(const char *path, const char *arg,..., char * const envp[]);int execv(const char *path, char *const argv[]);int execv ...