14

Linux学习进度记录(一)

 3 years ago
source link: http://www.cnblogs.com/An000/p/14058299.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

一、按系列罗列Linux的发行版,并描述不同版本之间的联系和区别

1、 RHELRedHat Enterprise Linux ):红帽企业版 Linux 红帽公司是全球最大的开源技术厂商,RHEL 是全世界内使用最广泛的Linux 系统。RHEL 系统具有极强的性能与稳定性,并且在全球范围内拥有完善的技术支持。Red Hat Linux发行版操作系统的安装过程非常简单,图形安装过程提供简易设置服务器的全部信息,磁盘分区过程可以自动完成,还可以通过图形界面(Graphical User Interface,GUI)完成安装,即使对于Linux新手来说这些都非常简单。后期如果想批量安装Red Hat Linux系统,可以通过批量的工具来实现快速安装。RHEL版本每18个月发行一个新版本。

2、CentOS(Communit y Enterprise Operating System )社区企业操作系统:通过把RHEL 系统重新编译并发布给用户免费使用的Linux 系统,号称完全相容商业RHEL,软体完全与RHEL相同,改版幅度较小,适合于私服务器系统环境,具有广泛的使用人群。

CentOS于Red Hat Linux不同之处在于CentOS并不包含封闭的源代码软件,可以开源免费使用,得到运维人员、企业、程序员的青睐,CentOS发行版操作系统是目前企业使用最多的系统之一,2016年12月12日,CentOS基于 Red Hat Enterprise Linux 的 CentOS Linux 7 (1611) 系统正式对外发布。CentOS 当前已被红帽公司“收编”。

3 、Fedora :由红帽公司发布的桌面版系统套件(目前已经不限于桌面版)。用户可免费体验到最新的技术或工具,这些技术或工具在成熟后会被加入到RHEL 系统中,因此Fedora 也称为RHEL系统的“试验田”。运维人员如果想时刻保持自己的技术领先,就应该多关注此类Linux 系统的发展变化及新特性,不断改变自己的学习方向。每6个月发行一个新版本

4 、openSUSE :源自德国的一款著名的Linux 系统,在全球范围内有着不错的声誉及市场占有率。商业版本。

5 、Gentoo :具有极高的自定制性,极致性能,不提供传统意义的安装程序,下载源代码在本机上编译安装软件,操作复杂,因此适合有经验的人员使用。

6 、Debian :稳定性、安全性强,提供了免费的基础支持,可以良好地支持各种硬件架构,以及提供近十万种不同的开源软件,在国外拥有很高的认可度和使用率。

7、 Ubuntu :是一款派生自Debian 的操作系统,对新款硬件具有极强的兼容能力。Ubuntu 与Fedora 都是极其出色的Linux 桌面系统,而且Ubuntu 也可用于服务器领域。

二、安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登陆,将主要步骤截图。

Nf6jAnB.png!mobileBBzUJvZ.png!mobile

y6Vjaen.png!mobile6Rfm6za.png!mobile

Z3yQnaN.png!mobile

三、配置环境变量,实现执行history的时候可以看到执行命令的时间

HISTTIMEFORMAT可以设置history指令的显示格式

export HISTTIMEFORMAT=”%F %T” 设置history指令显示执行指令的时间

%F 显示年月日 %T显示时分秒

export HISTIMEFORMAT=”`whoami`” 设置history指令显示输入指令的使用者。

四、总结Linux哲学思想

1、一切皆文件。几乎把所有的资源系统抽象为文件形式:包括硬件设备,甚至通信接口等。作用:提高资源管理效率。例如:

物理终端:/dev/console

虚拟终端:/dev/tty(为1~6)

串行终端:/dev/ttyS

伪终端:/dev/pts/

2、小型,由众多功能单一的程序组成:一个程序只做一件事,并且做好;组合小程序完成复杂任务。

作用:程序分工明确,运行后方便进程管理。程序代码也轻量化,高效,容易修复错误。

小程序易于理解,维护,消耗系统资源较少,易于与其他工具结合实现更多的功能

3、链接程序,共同完成复杂的任务

复杂的任务可以通过连接多个简单的程序实现复杂的功能。对于复杂的功能Linux通过许多简单程序的组合等方式实现,在保证简单功能的高效性的同时,复杂的程序也必然是高效性的。

4.、避免令人困惑的用户界面

优点节省内存、性能好,运行稳定。

如windows那样出了问题一般人选择的会是重启,实在是不行的话就是 重新 安装系统了,因为对于windows那样不是开源的,并且用户界面比较 复杂操作系统出了问题,一般的人是根本没有办法解决的。但是Linux就不一样了,第一Linux是开源的,无论什么问题都可以通过简洁的命令行实现 排错,修改系统的配置,一切都是简洁明了为基础。

5、配置数据存储在文本中

Linux所有的配置文件都存放在文本配置文件当中,无论什么配置修改都只需修改其配置文件即可,配置文件时文本形式的只需任意一款文本编辑器修改即可而不是类似于windows那样将保存在注册表中,并且windows的注册表需要专门的二进制或十六进制的编辑器才可编辑,修改比较复杂。

五、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令。

1、echo 输出信息

echo 命令可以将后面跟的字符进行输出

功能:显示字符,echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号

echo命令主要用于打印字符或者回显,例如输入echo ok,会显示ok, echo  ok  > test.txt 则会把ok字符覆盖test.txt内容。>表示覆盖,原内容被覆盖,>>表示追加,原内容不变。

例如echo ok >> test.txt,表示向test.txt文件追加OK字符,不覆盖原文件里的内容,常用参数详解如下:

使用-e扩展参数选项时,与如下参数一起使用,有不同含义,例如:

\a 发出警告声

\b 删除前一个字符

\c 最后不加上换行符号;

\f 换行但光标仍旧停留在原来的位置;

\n 换行且光标移至行首;

\r 光标移至行首,但不换行;

\t 插入tab; \v 与\f相同;

\\ 插入\字符;

\033[30m 黑色字 \033[0m

\033[31m 红色字 \033[0m

\033[32m 绿色字 \033[0m

\033[33m 黄色字 \033[0m

\033[34m 蓝色字 \033[0m

\033[35m 紫色字 \033[0m

\033[36m 天蓝字 \033[0m

\033[37m 白色字 \033[0m

\033[40;37m 黑底白字 \033[0m

\033[41;37m 红底白字 \033[0m

\033[42;37m 绿底白字 \033[0m

\033[43;37m 黄底白字 \033[0m

\033[44;37m 蓝底白字 \033[0m

\033[45;37m 紫底白字 \033[0m

\033[46;37m 天蓝底白字 \033[0m

\033[47;30m 白底黑字 \033[0m

echo颜色打印扩展,auto_lamp_v2.sh内容如下:

echo -e "\033[36mPlease Select Install Menu follow:\033[0m"

echo -e "\033[32m1)Install Apache Server\033[1m"

echo "2)Install MySQL Server"

echo "3)Install PHP Server"

echo "4)Configuration index.php and start LAMP server"

echo -e "\033[31mUsage: { /bin/sh $0 1|2|3|4|help}\033[0m"

2、screen 用于命令行终端切换的自由软件 (yum -y install screen 安装)

补充说明:用户可以通过该软件同事链接多个本地或者远程的命令行会话,并在其期自由切换。它听了统一的管理多个会话的界面和相应的功能。

会话恢复:只要screen本身没有终止,在其内部运行的会话都可以恢复,这一点对于远程登录的用户特别有用—即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让screen挂起(切换到后台),这一点和图形界面下的VNC很相似。

多窗口:在screen环境下,所有的会话都独立运行,别拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似的滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后天窗口的活动。会话共享screen可以让一个或多个用户从不同的终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同事提供了窗口访问权限的机制,可以对窗口进行密码保护。

语法: screen-AmRvx -【ls -wipe】[-d <作业名称;]

[-h <行数;]

[-r <作业名称;】

[-s]

[-S <作业名称;]

选项:-A 将所有的窗口都调整为目前终端机的大小。

-d <作业名称; 将制定的screen作业离线。

-h & h <行数; 指定视窗的缓冲区行数

-m 即使目前已在作业中的screen作业,扔强制建立新的screen作业。

-r <作业名称; 恢复离线的screen作业。

-s 指定建立新视窗时,所要执行的shell

-S <作业名称; 指定screen作业的名称。

-v 显示版本信息

-x 恢复之前离线的screen作业。

-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。

常用的screen参数:

Screen -S name ; 建立一个叫name的会话。

Screen -ls :列出当前所有的session

Screen -r name:回到name这个session

Screen -d name :远程离线name这个session

Screen -d -r name:结束当前session并返回到name这个session

exit

剥离当前screen会话

在每个screen session下,所有的命令都已ctrl+a开始

c-a ?:显示所有键的绑定信息。

c-a c : 创建一个新的运行shell的窗口并切换到该窗口

c-a n : next,切换到下一个窗口

c-a p : previous ,切换到上一个窗口

c-a 0..9 :切换到第0..9个窗口

c-a x :锁定档期的window,需要用户密码解锁

c-a d : detach(分离,离线),暂时离开当前的session,将目前的session丢后台运行,并回到还没有进screen时的状态,此时的screen里,每个window内运行的process(无论前台还是后台)都在继续执行,及时logout也不影响。

c-a z:把当前session放到后台执行,用shell的fg命令可以回去。

c-a w:显示所有的窗口列表。

c-a k:kill window,强行关闭当前的window

注意:CentOS7 来自于base源,CentOS8 来自于epel源

3、date:显示或设置系统时间与日期。

语法:date 选项 参数

补充说明:第一种语法可用来显示系统日期或时间,以%为开头的参数为格式参数,可指定日期或时间的显示格式。第二种语法可用来设置系统日期与时间。只有管理员才有设置日期与时间的权限。若不加任何参数,data会显示目前的日期与时间。

参数:

%H  小时(以00-23来表示)。

%I  小时(以01-12来表示)。

%K  小时(以0-23来表示)。

%l  小时(以0-12来表示)。

%M  分钟(以00-59来表示)。

%P  AM或PM。

%r  时间(含时分秒,小时以12小时AM/PM来表示)。

%s  总秒数。起算时间为1970-01-01 00:00:00 UTC。

%S  秒(以本地的惯用法来表示)。

%T  时间(含时分秒,小时以24小时制来表示)。

%X  时间(以本地的惯用法来表示)。

%Z  市区。

%a  星期的缩写。

%A  星期的完整名称。

%b  月份英文名的缩写。

%B  月份的完整英文名称。

%c  日期与时间。只输入date指令也会显示同样的结果。

%d  日期(以01-31来表示)。

%D  日期(含年月日)。

%j  该年中的第几天。

%m  月份(以01-12来表示)。

%U  该年中的周数。

%w  该周的天数,0代表周日,1代表周一,异词类推。

%x  日期(以本地的惯用法来表示)。

%y  年份(以00-99来表示)。

%Y  年份(以四位数来表示)。

%n  在显示时,插入新的一行。

%t  在显示时,插入tab。

MM  月份(必要)。

DD  日期(必要)。

hh  小时(必要)。

mm  分钟(必要)。

CC  年份的前两位数(选择性)。

YY  年份的后两位数(选择性)。

ss  秒(选择性)。

-d<字符串>  显示字符串所指的日期与时间。字符串前后必须加上双引号。

-s<字符串>  根据字符串来设置日期与时间。字符串前后必须加上双引号。

-u  显示GMT。

--help  在线帮助。

--version 显示版本信息。

实例:date +”%Y-%m-%d”  显示当前的年月日

date -d “1 day ago” +”%Y-%m-%d” 显示前一天日期

date -d “-1 day ago” +”%Y-%m-%d”显示明天的日期

date -d “2 second” +”%Y-%m-%d %H:%M:%S” 输入两秒后的时间

date -d “2020-11-27” +”%Y-%m-%d %H:%M:%S”

date -s 设置成当前时间

date -s 20201127 日期设置成20201127 00:00:00

4、ifconfig 用来配置或查看网卡接口,常见用法如下:

安装ifconfig命令:yum install net-tools -y

查看所有网卡的信息ifconfig (不包括down状态的网卡)

eth0:网卡名称

Link encap:网卡的接口类型,这里是以太网

HWaddr:网卡的硬件地址,俗称的MAC地址

inet addr:IPv4地址,如果是IPv6会写成inet6 addr

Bcast:广播地址

Mask:子网掩码

UP:表示网卡是开启状态

BROADCAST:表示网卡支持广播

RUNNING:表示网卡的网线已经被接上

MULTICAST:表示网卡支持组播

MTU:网络最大传输单元

Metric:到达网关的度量值,

RX packets:网络从启动到现在为止接收的数据包大小,单位是字节,error 发生错误的数据包,dropped 被丢弃的数据包

TX packets:网络从启动到现在为止发送的数据包大小,单位是字节,error 发生错误的数据包,dropped 被丢弃的数据包

collisions:发生碰撞的数据包,如果发生太多次,表明网络状况不太好

txqueuelen:传输数据的缓冲区的储存长度

RX bytes:总接收字节总量

TX bytes:总发送字节总量

Memory:网卡硬件的内存地址

实例:

ifconfig -a:查看所有网卡的信息(包括down状态的网卡

ifconfig eth0查看指定网卡的信息

ifconfig eth0 up :启用指定的网卡,等同于:ifup eth0

ifconfig eth0 down:关闭指定的网卡,等同于:ifdown eth0

ifconfig eth0 arp  : 开启网卡的ARP协议

ifconfig eth0 -arp     关闭网卡的ARP协议

ifconfig eth0 192.168.0.100    设置/修改网卡的IP地址(临时生效)

ifconfig eth0 192.168.0.100/24::   设置/修改网卡的IP地址和子网掩码(临时生效)

ifconfig eth0 192.168.0.100 netmask 255.255.255.0        设置/修改网卡的IP地址和子网掩码(临时生效)

ifconfig eth0 192.168.0.100 hw ether 04:64:03:00:12:51   设置/修改网卡的IP地址和MAC地址(临时生效),ether(以太网)表示网卡的接口类型

ifconfig eth0 mtu 1500::: 设置/修改网卡的最大传输单元(临时生效)

ifconfig eth0:0 192.168.0.50/24   给网卡配置虚拟接口,相当于给网卡再配置一个IP地址(临时生效)

ifconfig eth0:1 192.168.0.51/24   给网卡配置虚拟接口,相当于给网卡再配置一个IP地址(临时生效)

ifconfig eth0:2 192.168.0.52/24   给网卡配置虚拟接口,相当于给网卡再配置一个IP地址(临时生效

5、export 命令用于设置或显示环境变量。

在shell中执行程序时,shell会提供一组环境变量。

export可新增,修改或删除环境变量,供后续执行的程序使用。

export的效果仅作用于该次登陆操作。

语法

export [-fnp][变量名称]=[变量设置值]

参数说明:

-f 代表[变量名称]中为函数名称。

-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。

-p 列出所有的shell赋予程序的环境变量。

实例:

export HISTTIMEFORMAT=”%F %T” 设置history指令显示执行指令的时间

%F 显示年月日 %T显示时分秒


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK