linux发行版
red hat linux
Red Hat(红帽公司)创建于 1993 年,是目前世界上资深的 Linux 厂商,也是最获认可的 Linux 品牌。
Red Hat 公司的产品主要包括 RHEL(Red Hat Enterprise Linux,收费版本)和 CentOS(RHEL 的社区克隆版本,免费版本)、Fedora Core(由 Red Hat 桌面版发展而来,免费版本)。
ubuntu
Ubuntu 基于知名的 Debian Linux 发展而来,界面友好,容易上手,对硬件的支持非常全面,是目前最适合做桌面系统的 Linux 发行版本,而且 Ubuntu 的所有发行版本都免费提供。
opensuse
SuSE Linux 以 Slackware Linux 为基础,原来是德国的 SuSE Linux AG 公司发布的 Linux 版本,1994 年发行了第一版,早期只有商业版本,2004 年被 Novell 公司收购后,成立了 OpenSUSE 社区,推出了自己的社区版本 OpenSUSE。
SuSE Linux 在欧洲较为流行,在我国国内也有较多应用。值得一提的是,它吸取了 Red Hat Linux 的很多特质。
SuSE Linux 可以非常方便地实现与 Windows 的交互,硬件检测非常优秀,拥有界面友好的安装过程、图形管理工具,对于终端用户和管理员来说使用非常方便。
Debian linux
开放的开发模式,且易于进行软件包升级
Gentoo
Gentoo 最初由 Daniel Robbins(FreeBSD 的开发者之一)创建,首个稳定版本发布于 2002 年。Gentoo 是所有 Linux 发行版本里安装最复杂的,到目前为止仍采用源码包编译安装操作系统。
不过,它是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。自从 Gentoo 1.0 面世后,它就像一场风暴,给 Linux 世界带来了巨大的惊喜,同时也吸引了大量的用户和开发者投入 Gentoo Linux 的怀抱。
有人这样评价 Gentoo:快速、设计干净而有弹性,它的出名是因为其高度的自定制性(基于源代码的发行版)。尽管安装时可以选择预先编译好的软件包,但是大部分使用 Gentoo 的用户都选择自己手动编译。这也是为什么 Gentoo 适合比较有 Linux 使用经验的老手使用。
linux7.6 安装步骤
安装centos 7.6
配置history环境变量显示执行时间
linux哲学思想
1.一切皆文件
是 Unix/Linux 的基本哲学之一。不仅普通的文件,目录、字符设备、块设备、 套接字等在 Unix/Linux 中都是以文件被对待;它们虽然类型不同,但是对其提供的却是同一套操作界面。
2.小型,单一用途的程序
程序和可执行文件不要太复杂,这样才能保证了linux内核的高效运行
3.链接程序,共同完成复杂任务
复杂的任务可以通过连接多个简单的程序实现复杂的功能。对于复杂的功能linux通过许多简单程序的组合等方式实现,在保证简单功能的高效性的同时,复杂的程序也必然是高效性的
4.避免令人困惑的用户界面
linux是开源的,无论什么问题都可以通过简洁的命令行实现 排错,修改系统的配置,一切都是简洁明了为基础。
5.配置数据存储在文本中
linux所有的配置文件都存放在文本配置文件当中,无论什么配置修改都只需修改其配置文件即可,配置文件时文本形式的只需任意一款文本编辑器修改即可而不是类似于windows那样将保存在注册表中,并且windows的注册表需要专门的二进制或十六进制的编辑器才可编辑,修改比较复杂
常用命令使用语法格式
echo
echo [options] [arg ....]
options:
-n 显示不换行
-e 显示转义字符
-E 取消反斜杠转义
范例:
#打印红色hello
[root@centos7 ~]#echo -e "\e[1;31mhello\e[0m"
hello
#显示hello并且不换行
[root@centos7 ~]#echo -n hello
hello[root@centos7 ~]#
#取消反斜杠转义
[root@centos7 ~]#echo -E "hello\c"
hello\c
screen
screen [options] [cmd[args]]
options
-S 创建新screen会话
-x 加入screen会话
exit 退出
-ls 显示所有已经打开的会话
-r 回复会话
范例:
#创建会话
[root@centos7 ~]#screen -S test
#显示所有已经打开会话
[root@centos7 ~]$screen -ls
There is a screen on:
15982.test (Attached)
1 Socket in /var/run/screen/S-root.
#加入会话
[root@centos7 ~]#screen -x test
[root@centos7 ~]$hi how are you
#退出会话
[root@centos7 ~]$exit
#查看非正常关闭的会话列表
[root@centos7 ~]$screen -ls
There is a screen on:
15982.test (Detached)
1 Socket in /var/run/screen/S-root.
#回复会话
[root@centos7 ~]$screen -r 15982
[root@centos7 ~]$hi how are you
date
date [options]..[+format]
options:
-s 设置时间为string
-d 显示string指定的时间,但不是现在
-R 以RFC-2822兼容日期格式显示时间
-r 显示文件最后修改时间
-u 显示UTC时间
format:
%T 24小时时间 hh:mm:ss
%F 时间 %Y-%m-%d
%Y 年
%D 天 dd/mm/yy
%H 小时
%M 分种
%S 秒
范例:
#显示一天前时间
[root@centos7 ~]#date -d "-10day"
Mon Nov 16 16:33:19 CST 2020
#把当前时间提前一天
[root@centos7 ~]#date
Thu Nov 26 16:33:51 CST 2020
[root@centos7 ~]#date -s "-1day"
Wed Nov 25 16:34:05 CST 2020
[root@centos7 ~]#date
Wed Nov 25 16:34:17 CST 2020
#以年月日时分秒格式显示时间
[root@centos7 ~]#date +%F_%T
2020-11-26_16:36:50
#以年月日时分秒格式显示时间
[root@centos7 ~]#date +%F_%H-%M-%S
2020-11-26_16-38-24
ifconfig
ifconfig [ifname][options]
options:
-a 显示所有网卡
范例:
#查看所有网卡信息
[root@centos7 ~]$ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.76 netmask 255.255.0.0 broadcast 10.0.255.255
inet6 fe80::6a18:89bd:2a14:ffdc prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:6d:d6:3b txqueuelen 1000 (Ethernet)
RX packets 19903 bytes 22668521 (21.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7077 bytes 686711 (670.6 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 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#设置网卡ens33的IP及子网掩码
[root@centos7 ~]$ifconfig ens33 10.0.0.17 netmask=255.255.255.0
#创建网卡别名及分配IP
[root@centos7 ~]$ifconfig ens33:1 10.0.0.17
[root@centos7 ~]$ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.76 netmask 255.255.0.0 broadcast 10.0.255.255
inet6 fe80::6a18:89bd:2a14:ffdc prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:6d:d6:3b txqueuelen 1000 (Ethernet)
RX packets 20099 bytes 22686276 (21.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7215 bytes 702675 (686.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.17 netmask 255.0.0.0 broadcast 10.255.255.255
ether 00:0c:29:6d:d6:3b txqueuelen 1000 (Ethernet)
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 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
export
export [-fnp][name[val]]
options:
-f 代表变量名中的函数
-n 删除指定的变量。变量实际并没有删除,只是不再参与后续指定的执行环境
-p 列出所有shell赋予的环境变量
范例:
#列出所有shell中的环境变量
[root@centos7 ~]$export -p
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="centos7.6.yyang.org"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
/etc/profile 应用于所有用户全局生效
/etc/profile.d/*.sh 应用与所有用户,删除后恢复
~/.bash_profile 只对当前用户生效