文章目录
1、Linux有哪些发行版本,描述不同发行版本之间的联系与区别?
Linux的发行版本有centos,red hat,debian,ubunbtu,suse等等。
Red Hat 公司产品主要包括 RHEL(Red Hat Enterprise Linux,收费版本)和 CentOS(RHEL 的社区克隆版本,免费版本)、Fedora Core(由 Red Hat 桌面版发展而来,免费版本)
Ubuntu 基于知名的 Debian Linux 发展而来,界面友好,容易上手,对硬件的支持非常全面,是目前最适合做桌面系统的 Linux 发行版本,而且 Ubuntu 的所有发行版本都免费提供。
SuSE Linux 以 Slackware Linux 为基础,原来是德国的 SuSE Linux AG 公司发布的 Linux 版本,1994 年发行了第一版,早期只有商业版本,2004 年被 Novell 公司收购后,成立了 OpenSUSE 社区,推出了自己的社区版本 OpenSUSE。
2、如何安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,主要步骤截图。
先安装vmware workstation软件,创建一个虚拟机(模拟物理硬件),分配硬件资源,如下图
开启虚拟机,选择安装,如下图
选择语言,这里选了中文,如图,下一步,
如下图,设置
设置root用户密码,创建用户,如:自己的名字,密码123456
等进度条,重启安装完成。输入密码,进入桌面系统,如下图。
切换命令界面,按组合键ctrl + alt +F3,至此安装完centos7.6,
3、如何配置环境变量,实现执行history的时候可以看到执行命令的时间?
history配置环境变量文件为~/.bash_profile,编辑此文件配置变量。
vim ~/.bash_profile //编辑文件
HISTTIMEFORMAT='%F %T ' //配置变量
如下所示,
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
HISTTIMEFORMAT='%F %T '
export PATH
保存文件退出,效果如下。
[10:15:06 root@centos7 ~]#history | tail -10 //输出显示后10行历史命令
890 2020-06-14 10:10:09 ls /dev/sda{0..9}
891 2020-06-14 10:10:09 ls /dev/sda?
892 2020-06-14 10:10:09 ls /dev/sd?
893 2020-06-14 10:01:36 history
894 2020-06-14 10:02:07 vim /root/.bash_profile
895 2020-06-14 10:04:04 vim ~/.bash_profile
896 2020-06-14 10:09:56 history
897 2020-06-14 10:09:59 exit
898 2020-06-14 10:10:17 history
899 2020-06-14 10:17:07 history | tail -10
[10:17:07 root@centos7 ~]#
4、总结Linux哲学思想?
- 一切皆文件 小型,
- 单一用途的程序链接程序
- 共同完成复杂的任务
- 避免令人困惑的用户界面
- 配置数据存储在文本中
5、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令
Linux命令格式
命令 参数[] 文件
参数两横杠 --加单词,为长选项,如下
[11:18:26 root@centos7 ~]#ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all do not ignore entries starting with .
-A, --almost-all do not list implied . and ..
........省略下面
参数一横杠 -加字母,为短选项,如下
[11:17:35 root@centos7 ~]#ls -l
total 8
-rw-------. 1 root root 1882 May 2 13:45 anaconda-ks.cfg
-rw-r--r--. 1 root root 1930 May 2 13:48 initial-setup-ks.cfg
[11:17:40 root@centos7 ~]#
echo 命令:输出指定的字符串或者变量
输出字符串
[11:21:40 root@centos7 ~]#echo "hello linux"
hello linux
输出变量值
[11:23:06 root@centos7 ~]#echo $SHELL
/bin/bash
screen命令:用于命令行终端切换
创建screen会话:
screen -S [SESSION会话名]
加入screen会话:
screen -x [SESSION会话名]
退出并关闭screen会话
exit
剥离当前screen会话
Ctrl+a,d
显示所有已经打开的screen会话
screen -ls
恢复某screen会话
screen -r [SESSION]
[11:32:37 root@centos7 ~]#screen -S lai
[11:40:17 root@centos7 ~]#screen -S linux01
[screen is terminating]
[11:41:21 root@centos7 ~]#screen -ls
There is a screen on:
7446.lai (Detached)
1 Socket in /var/run/screen/S-root.
[11:33:42 root@centos7 ~]#
date 命令:显示和设置系统时间
[11:48:17 root@centos7 ~]#date //查看当前时间
Sun Jun 14 11:48:18 CST 2020
[11:48:18 root@centos7 ~]#date "+%Y-%m-%d" //以年月日输出时间
2020-06-14
[11:49:04 root@centos7 ~]#date "+%Y-%m-%d %H:%M:%S" //以年月日时分秒输出时间
2020-06-14 11:49:15
[11:49:15 root@centos7 ~]#date -s "2019-01-01 1:1:1" //-s参数,设置系统时间
Tue Jan 1 01:01:01 CST 2019
[01:01:01 root@centos7 ~]#date "+%Y-%m-%d %H:%M:%S"
2019-01-01 01:01:10
ifconfig命令:配置和显示Linux系统网卡的网络参数
参数
add<地址>:设置网络设备IPv6的ip地址;
down:关闭指定的网络设备;
<hw<网络设备类型><硬件地址>:设置网络设备的类型与硬件地址;
mtu<字节>:设置网络设备的MTU;
netmask<子网掩码>:设置网络设备的子网掩码;
up:启动指定的网络设备;
IP地址:指定网络设备的IP地址;
网络设备:指定网络设备的名称。
[11:55:29 root@centos7 ~]#ifconfig //显示网络设备信息(激活状态的)
ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.103 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::7938:fe85:ef89:6e1d prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:82:72:d7 txqueuelen 1000 (Ethernet)
RX packets 16381 bytes 1192544 (1.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5056 bytes 962514 (939.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 66 bytes 7326 (7.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 66 bytes 7326 (7.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
说明:
eth37 表示网卡名称,其中HWaddr表示网卡的物理地址,可看到当前网卡的物理地址(MAC地址)是00:0c:29:82:72:d7。
inet 用来表示网卡的IP地址,此网卡的IP地址是10.0.0.103 ,广播地址Bcast:10.0.0.255,掩码地址Mask:255.255.255.0。
lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 httpd服务器的指定到回坏地址,在浏览器输入127.0.0.1就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。
第一行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节。
第二行:网卡的IP地址、子网、掩码。
第五、七行:接收、发送数据包情况统计。
export命令:用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。
一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执 行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。
语法格式: export [参数]
参数 | 说明 |
---|---|
-f | 代表[变量名称]中为函数名称 |
-n | 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中 |
-p | 列出所有的shell赋予程序的环境变量 |
示例:
[12:30:58 root@centos7 ~]#export -p | head -5
declare -x DISPLAY="localhost:10.0"
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="centos7.lqc"
[12:31:23 root@centos7 ~]#export HELLO
[12:31:48 root@centos7 ~]#export HELLO=10
[12:32:05 root@centos7 ~]#echo $HELLO
10
[12:32:19 root@centos7 ~]#