当前位置 : 主页 > 编程语言 > 其它开发 >

就业班第一周作业

来源:互联网 收集:自由互联 发布时间:2022-07-13
就业班第一周作业一、按系列罗列Linux的发行版本,并描述不同发行版本之间的联系与区别。1、Slackware Linux 是由 Patrick Volkerding 开发的 [GNU/Linux]发行版,于 1993 年创建,最初基于 Softl
就业班第一周作业 一、按系列罗列Linux的发行版本,并描述不同发行版本之间的联系与区别。 1、Slackware Linux
是由 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 的交互,硬件检测非常优秀,拥有界面友好的安装过程、图形管理工具,对于终端用户和管理员来说使用非常方便。
2、Debian
目前Ubuntu 基于知名的 Debian Linux 发展而来,界面友好,容易上手,对硬件的支持非常全面,是目前最适合做桌面系统的 Linux 发行版本,而且 Ubuntu 的所有发行版本都免费提供。以及deepin(深度),mint也是基于debian系列发展而来。
3、Redhat
Red Hat(红帽公司)创建于 1993 年,是目前世界上资深的 Linux 厂商,也是最获认可的 Linux 品牌。Red Hat 公司的产品主要包括 RHEL(Red Hat Enterprise Linux,收费版本)和 CentOS(RHEL 的社区克隆版本,免费版本)、Fedora Core(由 Red Hat 桌面版发展而来,免费版本)。
二、总结Linux的哲学思想 1、一切皆文件(包括硬件)
它是Unix/Linux的基本哲学之一。不仅普通的文件,目录、字符设备、块设备,套接字符等在Unix/Linux上都是以文件被对待;虽然类型不同,但提供的是同一套操作接口,对资源的访问统一的表现方式为对文件的访问。
2、小型,单一用途的程序
程序和可执行文件一般都功能单一,短小精干,所以程序一般都不是很复杂,保证了Linux的高效运行。
3、链接程序,共同完成复杂的任务
通过多个简单程序的组合方式实现复杂功能,在保证简单功能	高效性的同时,复杂的程序也必然是高效性的。
4、避免令人困惑的用户界面
Linux通常使用字符界面,相对比较单一,资源消耗小,出现的问题都可以通过命令来排错,修改系统的配置,一切简单明了。
5、配置数据存储在文本中
LInux以及各种应用的配置文件都是存放在文本配置文件中,配置文件时的文本形式,只需要任意一款文本编辑器修改即可。
三、描述Linux发行版的系统目录名称命名规则以及用途 1、/
根目录位于目录结构的最顶层,用斜线(/)表示。
2、/bin
目录又称为二进制目录,包含了那些供系统管理员和普通用户使用的重要linux命令的二进制映像。该目录存放的内容包括各种可执行文件,还有某些可执行文件的符号连接。常用的命令有:cp、dmesg、kill、login、rm、ping、chomd、bash、cat、echo、ls、 mail、vi等。
3、/boot
目录存放系统核心文件以及启动时必须读取的文件,包括Linux内核的二进制映像。
4、/dev
目录保存着外部设备代码的文件,这些文件比较特殊,实际上它们都指向所代表的外围设备,如终端、磁盘驱动器、光驱、打印机等。你可以访问这些外部设备,与访问一个文件或一个目录没有区别。如该目录下的子目录/dev/cdrom表示光驱目录;子目录/dev/console表示控制台;子目录 /dev/fd表示软驱;子目录/dev/hd表示硬盘上的一个分区;lp0表示打印机;ttyS0表示系统的串口设备;dsp表示系统的音箱设备。例如在系统中键入“cd /dev/cdrom”,就可以看到光驱中的文件;键入“cd /dev/mouse”即可看鼠标的相关文件。
5、/etc
目录是整个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等,其他的配置文件分别位于单独的子目录中。通常应注意备份这个目录中的重要配置文件,以便需要是能够快速的恢复系统。
6、/lib
目录下存放必要的运行库,主要是编程语言的库。典型的 Linux 操作系统中包含了C、C++和 Fortran 的库文件。用这些语言开发的应用程序可以使用这些编程语言库文件。这使软件开发者能够利用那些预先写好并通过测试的函数。库文件包含了标准的C库/lib/libc.so.,数学库libm.so.,共享的动态链接库/lib/ld/so以及目录/bin和/sbin下用到的其他共享库。/lib/modules目录存放系统的核心模块,某些可被模块化的部分并不需要在编译系统核心时放入核心本体,避免本体过于庞大而导致效率降低。
7、/mnt
该目录是默认的文件系统临时装载点,这是一个通用的安装点,可以临时安装任何文件系统或远程资源。系统管理员执行 mount命令完成装载工作。在系统中,该目录包含了光驱、磁盘和软驱的挂载点。
8、/pro
该目录是默认的文件系统临时装载点,这是一个通用的安装点,可以临时安装任何文件系统或远程资源。系统管理员执行 mount命令完成装载工作。在系统中,该目录包含了光驱、磁盘和软驱的挂载点。
9、/opt
目录用来安装附加软件包,用户调用软件包程序放在目录/opt/package_name/bin下,package_name是安装软件包的名称。
10、root
超级用户root的主目录(在Linux系统中,斜杠字符“/”是整个系统的根目录,而非超级用户的主目录。)
11、/sbin
目录/sbin、/usr/sbin和/usr/local/sbin存放了该目录启动系统时需执行的程序,如管理工具、应用软件和通用的根用户权限命令等内容。如包含getty、init、update。
12、/usr
这是个最庞大的目录,我们要用到的很多应用程序和文件几乎都存放在这个目录了。具体来说:

​ /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 用于存放一些共享的数据,比如音乐文件或者图标等等
13、/var
用于存放很多不断变化的文件,例如日志文件等。包含了日志文件、计划性任务和邮件等内容。

​ /var/cache 应用程序缓存目录。

​ /var/crash 系统错误信息。

​ /var/games 游戏数据。

​ /var/log 日志文件。

​ /var/mail 电子邮件。

​ /var/tmp 临时文件目录。
四、配置环境变量,实现执行history的时候可以看到执行命令的时间 1、全局配置,对所有用户生效
步骤1、进入vim /etc/profile

步骤2、在底部新增加 export HISTTIMEFORMAT="%F_%T"" 

步骤3、输入history 显示历史命令时间
2、对当前用户生效
步骤1、进入vim .bash_profile

步骤2、在底部新增加 export HISTTIMEFORMAT="%F_%T"" ,保存退出即可
五、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令 1、常用命令使用格式
  • 短选项: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,使用相对较少
例如:hostnamectl set-hostname BSD

[root@CentOS8 ~ ]#hostnamectl set-hostname BSD

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
  • 修改时区
#修改时区为美国纽约
18:59:38[root@CentOS8 ~ ]#timedatectl set-timezone America/New_York 

4)ifconfig

​ ifconfig(configure a network interface)命令是系统管理员命令,用于查看和配置网络接口。

  • 显示所有网络接口信息,不论是否激活
[root@CentOS8 ~ ]#ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  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<link>
        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<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 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<UP,BROADCAST,MULTICAST>  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<UP,BROADCAST,RUNNING,MULTICAST>  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<link>
        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
  • 启动和关闭网卡
#关闭网卡
[root@CentOS8 ~ ]#ifconfig lo down
#启动网卡
[root@CentOS8 ~ ]#ifconfig lo up
  • 配置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<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 168.168.168.255  netmask 255.255.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        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""   " 
上一篇:贪吃蛇-JavaGUI实现
下一篇:没有了
网友评论