1.1、Linux的发行版的联系与区别。 slackware:SUSE Linux Enterprise Server (SLES) OpenSuse桌面 debian: ubuntu,deepin(深度),mint redhat: RHEL: RedHat Enterprise Linux(红帽公司,商业),每18个月发行一个新版本 CentOS:RHEL的社区版,免费。 中标麒麟:基于红帽的国产化linux Fedora:等于RHEL的测试版,大量采用新技术,每6个月发行一个新版本。 ArchLinux:轻量简洁,遵循K.I.S.S.原则( keep it simple and stupid ) Gentoo:极致性能,不提供传统意义的安装程序,下载源代码在本机上编译安装软件 LFS:Linux From scratch 自制Linux Android:kernel+busybox(工具集)+java虚拟机

1.2、安装Centos7.6操作系统,主要步骤截图。

建立一个2核,2G,200G硬盘的系统。准备开始安装,安装时选开机连接,并指定ISO文件位置。 测试一下光盘好坏,再安装,选第2行。如果已确定光盘是正确的,可以直接选择第1行

选择语言,英语

时区选亚洲,上海

环境选个GNOME桌面

自我分区是重点,没有出现的挂载点可以自己打字。如/data

安装过程中,可以按Ctrl+Alt+F2,切过去查看内存大小,再决定swap分区大小,一般是2倍。按Ctrl+Alt+F6切回图形安装界面。 最终分区如下

最终设置好时区,硬盘分区,软件安装,网络情况,然后Begin Installation 设置好账号密码 完成后,重启,重启后,选择支持协议。然后点finish就行。 安装完毕。

1.3、配置环境变量,实现执行history的时候可以看到执行命令的时间。 配置如下命令HISTTIMEFORMAT="%F %T "到/etc/profile.d/env.sh,注意,要用sh结尾。

1.4、Linux哲学思想。 一切都是一个文件(包括硬件) 小型,单一用途的程序 链接程序,共同完成复杂的任务。如shell编程,把多个小程序组合起来。 避免令人困惑的用户界面。用字符界面居多。 配置数据存储在文本中

1.5、Linux常用命令使用格式,如echo、screen、date、ifconfig、export等。 命令格式 COMMAND [OPTIONS...] [ARGUMENTS...] options,选项:用于启用或关闭命令的某个或某些功能 短选项:-c 例如:-l, -h 长选项:--word 例如:--all, --human-readable arguments,参数:命令的作用对象,比如文件名,用户名等 注意: 多个选项以及多参数和命令之间使用空白字符分隔 取消和结束命令执行:Ctrl+c,Ctrl+d 多个命令可以写一行用;符号分开,依次执行。 一个命令可以用\分成多行

date命令 Usage: date [OPTION]... [+FORMAT] or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 用法一:date 选项 格式 年月日时分秒中,月/日小写,其它大写。 注意,选项-d是按字符串显示时间,-s是按字符串设置时间。 注意,格式中,+号只能有一个。 常用格式如下:

-s,设置当前日期为2019-08-07 06:05:10。如下,当前时间已改变。 [root@centos6 ~]# date -s "1 year" Tue Feb 16 21:33:10 CST 2021

-d,显示当前时间,格式:2016-06-18 10:20:30。如下,显示正确,当前时间未变 [root@centos6 ~]# date -d yesterday Sat Feb 15 21:28:02 CST 2020 [root@centos6 ~]# date -d tomorrow Mon Feb 17 21:28:33 CST 2020 [root@centos6 ~]# date -d "-2 day" //显示前天是周五Fri Fri Feb 14 21:28:58 CST 2020 [root@centos6 ~]# date -d "+2 day" Tue Feb 18 21:29:06 CST 2020

echo命令 u功能:显示字符 u语法:echo [-neE][字符串] u说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号 u选项: Ø-E (默认)不支持 \ 解释功能 Ø-n 不自动换行 Ø-e 启用 \ 字符的解释功能 u显示变量 echo "$VAR_NAME” 变量会替换,弱引用 echo '$VAR_NAME’ 变量不会替换,强引用 启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出 \a 发出警告声 \b 退格键 \c 最后不加上换行符号 \e escape,相当于\033 \n 换行且光标移至行首 \r 回车,即光标移至行首,但不换行 \t 插入tab \ 插入\字符 命令行扩展:$( ) 或 `` 把一个命令的输出打印给另一个命令的参数

#echo "This system's name is $(hostname) " This system's name is server1.example.com

#echo "i am whoami " i am root

括号扩展:{ } 打印重复字符串的简化形式 echo file{1,3,5} 结果为:file1 file3 file5

screen命令 开启一个新的虚拟屏幕,可以在一个终端上虚拟出多个终端。退出screen,用exit。注意,需要安装screen包才能使用。 用途: 在使用一个比较长时间能执行完的命令时,需要等待很长的结果,或者因为意外临时关闭了窗口,就要重新来。 还能互相协助。 使用: screen,要启动 screen 会话,只需在控制台键入 screen,这将打开一个 screen 会话,创建一个新窗口并在该窗口中启动一个 shell 。 screen -S session_name,运行多个 screen 会话时,可以创建命名会话来区分。 screen -r pid,就返回了前面隐藏的终端。 screen -x pid或者session_name,加入一个screen。 screen -ls,可查找 screen 会话 ID列出当前运行的列表: screen -r 14883,还原进入某screen_session

临时退出,Ctrl+a d(顺序是先Ctrl+a,然后松手,再输入d)。 完全退出,exit。

ifconfig命令 显示网络设备信息(激活状态的): ifconfig,查看当前网卡情况 说明: eth0,表示第1块网卡。 lo是表示主机的回环地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 httpd服务器的指定到回环地址,在浏览器输入127.0.0.1就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。

启动关闭指定网卡: ifconfig eth0 up ifconfig eth0 down

为网卡配置和删除IPv6地址: ifconfig eth0 add 33ffe:3240:800:1005::3/64 #为网卡eth0配置IPv6地址 ifconfig eth0 del 33ffe:3240:800:1005::3/64 #为网卡eth0删除IPv6地址

用ifconfig修改MAC地址: ifconfig eth0 hw ether 00:AA:BB:CC:dd:EE

配置IP地址: [root@localhost ~]# ifconfig eth0 192.168.2.10 [root@localhost ~]# ifconfig eth0 192.168.2.10 netmask 255.255.255.0 [root@localhost ~]# ifconfig eth0 192.168.2.10 netmask 255.255.255.0 broadcast 192.168.2.255

启用和关闭arp协议: ifconfig eth0 arp #开启网卡eth0 的arp协议 ifconfig eth0 -arp #关闭网卡eth0 的arp协议

设置最大传输单元: ifconfig eth0 mtu 1500 #设置能通过的最大数据包大小为 1500 bytes

export命令 export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。 一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。 语法 export(选项)(参数) 选项 -f:代表[变量名称]中为函数名称; -n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中; -p:列出所有的shell赋予程序的环境变量。 参数 变量:指定要输出或者删除的环境变量。 实例 列出当前所有的环境变量: # export -p

定义环境变量:
# export MYENV 

定义环境变量赋值:
# export MYENV=7

**