是由 Patrick Volkerding 开发的 [GNU/Linux]发行版,于 1993 年创建,最初基于 Softlanding Linux System。典型代表系统是SUSE Linux Enterprise Server (SLES) , OpenSuse桌面。SuSE 以 Slackware Linux 为基础,最初是德国的 SuSE Linux AG 公司发布的 Linux 版本,1994 年发行了第一版,早期只有商业版本,2004 年被 Novell 公司收购后,成立了 OpenSUSE 社区,推出了自己的社区版本 OpenSUSE。SuSE L在欧洲较为流行,在我国国内也有较多应用。值得一提的是,它吸取了 Red Hat Linux 的很多特质。SuSE 可以非常方便地实现与 Windows 的交互,硬件检测非常优秀,拥有界面友好的安装过程、图形管理工具,对于终端用户和管理员来说使用非常方便。
目前Ubuntu 基于知名的 Debian Linux 发展而来,界面友好,容易上手,对硬件的支持非常全面,是目前最适合做桌面系统的 Linux 发行版本,而且 Ubuntu 的所有发行版本都免费提供。以及deepin(深度),mint也是基于debian系列发展而来。
Red Hat(红帽公司)创建于 1993 年,是目前世界上资深的 Linux 厂商,也是最获认可的 Linux 品牌。Red Hat 公司的产品主要包括 RHEL(Red Hat Enterprise Linux,收费版本)和 CentOS(RHEL 的社区克隆版本,免费版本)、Fedora Core(由 Red Hat 桌面版发展而来,免费版本)。
它是Unix/Linux的基本哲学之一。不仅普通的文件,目录、字符设备、块设备,套接字符等在Unix/Linux上都是以文件被对待;虽然类型不同,但提供的是同一套操作接口,对资源的访问统一的表现方式为对文件的访问。
程序和可执行文件一般都功能单一,短小精干,所以程序一般都不是很复杂,保证了Linux的高效运行。
通过多个简单程序的组合方式实现复杂功能,在保证简单功能 高效性的同时,复杂的程序也必然是高效性的。
Linux通常使用字符界面,相对比较单一,资源消耗小,出现的问题都可以通过命令来排错,修改系统的配置,一切简单明了。
LInux以及各种应用的配置文件都是存放在文本配置文件中,配置文件时的文本形式,只需要任意一款文本编辑器修改即可。
根目录位于目录结构的最顶层,用斜线(/)表示。
目录又称为二进制目录,包含了那些供系统管理员和普通用户使用的重要linux命令的二进制映像。该目录存放的内容包括各种可执行文件,还有某些可执行文件的符号连接。常用的命令有:cp、dmesg、kill、login、rm、ping、chomd、bash、cat、echo、ls、 mail、vi等。
目录存放系统核心文件以及启动时必须读取的文件,包括Linux内核的二进制映像。
目录保存着外部设备代码的文件,这些文件比较特殊,实际上它们都指向所代表的外围设备,如终端、磁盘驱动器、光驱、打印机等。你可以访问这些外部设备,与访问一个文件或一个目录没有区别。如该目录下的子目录/dev/cdrom表示光驱目录;子目录/dev/console表示控制台;子目录 /dev/fd表示软驱;子目录/dev/hd表示硬盘上的一个分区;lp0表示打印机;ttyS0表示系统的串口设备;dsp表示系统的音箱设备。例如在系统中键入“cd /dev/cdrom”,就可以看到光驱中的文件;键入“cd /dev/mouse”即可看鼠标的相关文件。
目录是整个Linux系统的中心,其中包含所有系统管理和维护方面的配置文件,如dhcpd.conf、host.conf、logrotate.conf、man.config、mke2fs.conf、modprobe.conf、resolv.conf、sysctl.conf、syslog.conf(或rsyslog.conf)、xinetd.conf和yum.conf等,其他的配置文件分别位于单独的子目录中。通常应注意备份这个目录中的重要配置文件,以便需要是能够快速的恢复系统。
目录下存放必要的运行库,主要是编程语言的库。典型的 Linux 操作系统中包含了C、C++和 Fortran 的库文件。用这些语言开发的应用程序可以使用这些编程语言库文件。这使软件开发者能够利用那些预先写好并通过测试的函数。库文件包含了标准的C库/lib/libc.so.,数学库libm.so.,共享的动态链接库/lib/ld/so以及目录/bin和/sbin下用到的其他共享库。/lib/modules目录存放系统的核心模块,某些可被模块化的部分并不需要在编译系统核心时放入核心本体,避免本体过于庞大而导致效率降低。
该目录是默认的文件系统临时装载点,这是一个通用的安装点,可以临时安装任何文件系统或远程资源。系统管理员执行 mount命令完成装载工作。在系统中,该目录包含了光驱、磁盘和软驱的挂载点。
该目录是默认的文件系统临时装载点,这是一个通用的安装点,可以临时安装任何文件系统或远程资源。系统管理员执行 mount命令完成装载工作。在系统中,该目录包含了光驱、磁盘和软驱的挂载点。
目录用来安装附加软件包,用户调用软件包程序放在目录/opt/package_name/bin下,package_name是安装软件包的名称。
超级用户root的主目录(在Linux系统中,斜杠字符“/”是整个系统的根目录,而非超级用户的主目录。)
目录/sbin、/usr/sbin和/usr/local/sbin存放了该目录启动系统时需执行的程序,如管理工具、应用软件和通用的根用户权限命令等内容。如包含getty、init、update。
这是个最庞大的目录,我们要用到的很多应用程序和文件几乎都存放在这个目录了。具体来说:
/usr/sbin:给超级用户使用的一些管理程序就放在这. /usr/doc:这就是Linux文档的大本营。
/usr/include:Linux下开发和编译应用程序需要的头文件在这里找。
/usr/lib:存放一些常用的动态链接共享库和静态档案库。
/usr/local:这是提供给一般用户的/usr目录,在这安装软件最适合。
/usr/src:Linux开放的源代码,就存在这个目录,爱好者们别放过哦!
/usr/games 存放着XteamLinux自带的小游戏;
/usr/bin 用户和管理员的标准命令;
/usr/sbin 存放root超级用户使用的管理程序;
/usr/src Linux开放的源代码;
/usr/share 用于存放一些共享的数据,比如音乐文件或者图标等等
用于存放很多不断变化的文件,例如日志文件等。包含了日志文件、计划性任务和邮件等内容。
/var/cache 应用程序缓存目录。
/var/crash 系统错误信息。
/var/games 游戏数据。
/var/log 日志文件。
/var/mail 电子邮件。
/var/tmp 临时文件目录。
步骤1、进入vim /etc/profile
步骤2、在底部新增加 export HISTTIMEFORMAT="%F_%T""
步骤3、输入history 显示历史命令时间
步骤1、进入vim .bash_profile
步骤2、在底部新增加 export HISTTIMEFORMAT="%F_%T"" ,保存退出即可
- 短选项:UNIX 风格选项,-c 例如:-l, -h
#例如:ls -a
[root@CentOS8 ~ ]#ls -a
. anaconda-ks.cfg .bash_logout .bashrc .config .dbus Documents .esd_auth initial-setup-ks.cfg .local Music .pki .ssh Templates .viminfo
.. .bash_history .bash_profile .cache .cshrc Desktop Downloads .ICEauthority .lesshst .mozilla Pictures Public .tcshrc Videos .Xauthority
- 长命令:GNU风格选项,–word 例如:–all, –human
#例如:ls --all
[root@CentOS8 ~ ]#ls --all
. anaconda-ks.cfg .bash_logout .bashrc .config .dbus Documents .esd_auth initial-setup-ks.cfg .local Music .pki .ssh Templates .viminfo
.. .bash_history .bash_profile .cache .cshrc Desktop Downloads .ICEauthority .lesshst .mozilla Pictures Public .tcshrc Videos .Xauthority
- BSD风格选项: 一个字母,例如:a,使用相对较少
2、常用命令
1)echo
作用:显示字符,echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加
上换行号。
语法:echo OPTION CAMMAND
选项:
- -E (默认)不支持\解释功能
- -n 不自动换行
- -e 启用 \ 字符的解释功能
#输出字符串
[root@CentOS8 ~ ]#echo "hello world"
hello world
#输出变量
[root@CentOS8 ~ ]#echo hostname
CentOS8
#不换行输出
[root@CentOS8 ~ ]#echo -n hostname
CentOS8[root@CentOS8 ~ ]#
#换行制表输出
[root@CentOS8 ~ ]#echo -e "m\ta\ng\te"
m a
g e
#带颜色输出字符串
[root@CentOS8 ~ ]#echo -e "\e[1;36mmagedu.com\e[0m"
magedu.com
2)Screen
Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
- 会话恢复
只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。
- 多窗口
在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后台窗口的活动。
- 会话共享
screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。
#Centos7安装screen
[root@Centos7 ~]#yum -y install screen
#Centos8安装screen
[root@Centos8 ~]#yum -y install screen
- 常用Screen命令
screen -S [str] 新建一个session
screen -ls 列出当前所有的session
screen -r [str] 回到session
screen -d [str] 远程detach某个session
screen -d -r [str] 而技术当前session并回到str这个session
- 启动screen
[root@CentOS8 ~ ]#screen
- 结束screen
[root@CentOS8 ~ ]#exit
- 新建一个screen
[root@CentOS8 ~ ]#screen -S bak
- ping www.magedu.com 中断会话窗口
- 查看后台运行,ping一直在运行
3)date
date 命令可以显示或者设置当前日期和时间,它还可用于以指定的格式显示或计算日期。超级用户(root)可以使用它来设置系统时钟。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类 UNIX 系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970 年 1 月 1 日 0 时 0 分 0 秒起流逝的秒数。
- Linux的两种时钟:
- 系统时钟:由Linux内核通过CPU的工作频率进行计算
- 硬件时钟:主板上bios中的时间,由主板电池供电来维持运行,系统开机时要读取这个时间,并根据它来设定系统时间(注意:系统启动时根据硬件时间设定系统时间的过程可能存在时区换算,这要视具体的系统及相关设置而定)
- 显示时间
#显示系统时间
[root@CentOS8 ~ ]#date
Tue Jul 12 18:28:01 CST 2022
#显示硬件时间
[root@CentOS8 ~ ]#clock
2022-07-12 18:28:40.061162+08:00
#只显示日期
[root@CentOS8 ~ ]#date +'%F'
2022-07-12
#只显示时间
[root@CentOS8 ~ ]#date +'%T'
18:39:05
#显示从1970年1月1日以来有多少秒
[root@CentOS8 ~ ]#date +%s
1657623208
- 修改时间
#修改时间为2022年7月13日
[root@CentOS8 ~ ]#date -s "2022-7-13 0:0:0"
Wed Jul 13 00:00:00 CST 2022
#修改系统时间以硬件时间为校准
00:01:10[root@CentOS8 ~ ]#hwclock -s
18:58:07[root@CentOS8 ~ ]#date
Tue Jul 12 18:58:08 CST 2022
- 显示时区
[root@CentOS8 ~ ]#timedatectl
Local time: Tue 2022-07-12 18:35:30 CST
Universal time: Tue 2022-07-12 10:35:30 UTC
RTC time: Tue 2022-07-12 10:35:29
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
- 修改时区
4)ifconfig
ifconfig(configure a network interface)命令是系统管理员命令,用于查看和配置网络接口。
- 显示所有网络接口信息,不论是否激活
[root@CentOS8 ~ ]#ifconfig
ens33: flags=4163 mtu 1500
inet 168.168.168.169 netmask 255.255.255.0 broadcast 168.168.168.255
inet6 fe80::20c:29ff:fead:2ec0 prefixlen 64 scopeid 0x20
ether 00:0c:29:ad:2e:c0 txqueuelen 1000 (Ethernet)
RX packets 28024 bytes 18147853 (17.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14282 bytes 1650243 (1.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 50 bytes 4220 (4.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 50 bytes 4220 (4.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099 mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:4d:d6:57 txqueuelen 1000 (Ethernet)
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
- 查看指定网络接口
[root@CentOS8 ~ ]#ifconfig ens33
ens33: flags=4163 mtu 1500
inet 168.168.168.169 netmask 255.255.255.0 broadcast 168.168.168.255
inet6 fe80::20c:29ff:fead:2ec0 prefixlen 64 scopeid 0x20
ether 00:0c:29:ad:2e:c0 txqueuelen 1000 (Ethernet)
RX packets 28150 bytes 18156676 (17.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14335 bytes 1655995 (1.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
-
启动和关闭网卡
-
配置IP地址
#配置ip地址、子网掩码、广播地址
[root@CentOS8 ~ ]#ifconfig lo 168.168.168.100 netmask 255.255.255.0 broadcast 168.168.168.255
[root@CentOS8 ~ ]#ifconfig
lo: flags=73 mtu 65536
inet 168.168.168.255 netmask 255.255.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 50 bytes 4220 (4.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 50 bytes 4220 (4.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- 启用和关闭ARP协议
#启用arp
[root@CentOS8 ~ ]#ifconfig ens33 arp
#关闭arp
[root@CentOS8 ~ ]#ifconfig ens33 -arp
5)export
export 命令用于设置或显示环境变量。在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。
- 参数说明
- -f 代表[变量名称]中为函数名称。
- -n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
- -p 列出所有的shell赋予程序的环境变量。
- 列出环境变量
[root@CentOS8 ~ ]#export -p
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/0/bus"
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HISTTIMEFORMAT="%F_%T "
declare -x HOME="/root"
declare -x HOSTNAME="CentOS8"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
- 定义环境变量
#定义临时变量,查看history可以显示时间
[root@CentOS8 ~ ]#export HISTTIMEFORMAT="%F_%T"" "
#定义当前用户永久变量
[root@CentOS8 ~ ]#cat .bash_profile
export HISTTIMEFORMAT="%F_%T"" "
#定义所有用户永久变量
[root@CentOS8 ~ ]#vim /etc/profile
export HISTTIMEFORMAT="%F_%T"" "
Original: https://www.cnblogs.com/luokaixian/p/16464479.html
Author: 陈平安的IT之旅
Title: 就业班第一周作业
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/607283/
转载文章受原作者版权保护。转载请注明原作者出处!