1、描述计算机的组成及其功能。
计算机由cpu,内存,io设备组成
cpu是由计算器和控制器组成。
常用io包括,键盘,显示器,磁盘,网卡
内存负责运行时数据存取
io主要用于数据输入输出
2按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别
linux的主流发行版有debian,redhat,gentoo,slackware,suse,arch
Debian
ubuntu
mint
knopix
slackware
suse
opensuse
redhat
ehel
centos
fedore core
gentoo
archlinux
各发行版公用同一个linux内核。linux发行版分为个人版和企业版,区别主要是软件库不同,启动系统服务不同,开机启动项不同,网络配置方式不同。
3描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
linux哲学思想有:
1一切兼文件
2组合众多小程序完成复杂功能
4说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
ifconfig:
查看所有激活的网络配置
[root@node1 ~]# ifconfig docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0 ether 02:42:4f:1e:bb:83 txqueuelen 0 (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 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.198.141 netmask 255.255.255.0 broadcast 192.168.198.255 inet6 fe80::20c:29ff:fee9:100e prefixlen 64 scopeid 0x20<link> ether 00:0c:29:e9:10:0e txqueuelen 1000 (Ethernet) RX packets 66941 bytes 4564903 (4.3 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 288472 bytes 18206331 (17.3 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 1 (Local Loopback) RX packets 7734601 bytes 728193439 (694.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 7734601 bytes 728193439 (694.4 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
查看某块网卡的网络配置:
[root@node1 ~]# ifconfig ens33 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.198.141 netmask 255.255.255.0 broadcast 192.168.198.255 inet6 fe80::20c:29ff:fee9:100e prefixlen 64 scopeid 0x20<link> ether 00:0c:29:e9:10:0e txqueuelen 1000 (Ethernet) RX packets 66975 bytes 4567679 (4.3 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 288567 bytes 18214157 (17.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
查看所有网卡的网络配置,包括未激活:
[root@node1 ~]# ifconfig -a docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0 ether 02:42:4f:1e:bb:83 txqueuelen 0 (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 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.198.141 netmask 255.255.255.0 broadcast 192.168.198.255 inet6 fe80::20c:29ff:fee9:100e prefixlen 64 scopeid 0x20<link> ether 00:0c:29:e9:10:0e txqueuelen 1000 (Ethernet) RX packets 67034 bytes 4571817 (4.3 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 288746 bytes 18225931 (17.3 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 1 (Local Loopback) RX packets 7744705 bytes 729358117 (695.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 7744705 bytes 729358117 (695.5 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
禁用某块网卡:
[root@node1 ~]# ifconfig docker0 down [root@node1 ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.198.141 netmask 255.255.255.0 broadcast 192.168.198.255 inet6 fe80::20c:29ff:fee9:100e prefixlen 64 scopeid 0x20<link> ether 00:0c:29:e9:10:0e txqueuelen 1000 (Ethernet) RX packets 67303 bytes 4593512 (4.3 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 289093 bytes 18263821 (17.4 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 1 (Local Loopback) RX packets 7751096 bytes 729971860 (696.1 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 7751096 bytes 729971860 (696.1 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
启用某块网卡:
[root@node1 ~]# ifconfig docker0 up [root@node1 ~]# ifconfig docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0 ether 02:42:4f:1e:bb:83 txqueuelen 0 (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 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.198.141 netmask 255.255.255.0 broadcast 192.168.198.255 inet6 fe80::20c:29ff:fee9:100e prefixlen 64 scopeid 0x20<link> ether 00:0c:29:e9:10:0e txqueuelen 1000 (Ethernet) RX packets 67402 bytes 4600878 (4.3 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 289299 bytes 18278599 (17.4 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 1 (Local Loopback) RX packets 7754146 bytes 730141910 (696.3 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 7754146 bytes 730141910 (696.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
设置IP地址:
[root@node1 ~]# ifconfig docker0 172.17.0.1 netmask 255.255.255.0 [root@node1 ~]# ifconfig docker0 docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.255.0 broadcast 172.17.0.255 ether 02:42:4f:1e:bb:83 txqueuelen 0 (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
取消multicast功能:
[root@node1 ~]# ifconfig docker0 -multicast [root@node1 ~]# ifconfig docker0 docker0: flags=3<UP,BROADCAST> mtu 1500 inet 172.17.0.1 netmask 255.255.255.0 broadcast 172.17.0.255 ether 02:42:4f:1e:bb:83 txqueuelen 0 (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
启用multicast功能
[root@node1 ~]# ifconfig docker0 multicast [root@node1 ~]# ifconfig docker0 docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.255.0 broadcast 172.17.0.255 ether 02:42:4f:1e:bb:83 txqueuelen 0 (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
echo ,显示文字
[root@node1 ~]# echo "hello \n world" hello \n world
[root@node1 ~]# echo -e "hello \n world" hello world
tty显示终端号
[root@node1 ~]# tty /dev/pts/1
startx:启动图像界面
export:导出环境变量
[root@node1 ~]# b=1 [root@node1 ~]# c=2 [root@node1 ~]# bash [root@node1 ~]# echo $b [root@node1 ~]# exit exit [root@node1 ~]# export b [root@node1 ~]# bash [root@node1 ~]# echo $b 1 [root@node1 ~]# echo $c [root@node1 ~]#
pwd打印当前工作目录:
[root@node1 ~]# pwd /root [root@node1 ~]#
history命令历史:
查看内存中命令历史:
[root@node1 ~]# history 12 history 13 cat .bash_history 14 history
清空内存中命令历史:
[root@node1 ~]# history -c [root@node1 ~]# history 12 history [root@node1 ~]#
命令历史记录文件:
more .bash_history
将内存中的命令历史追加到历史文件:
[root@node1 ~]# history -a
将内存中命令历史覆盖命令历史文件:
[root@node1 ~]# history -w [root@node1 ~]# cat .bash_history history more .bash_history history -a cat .bash_history history -a history -w [root@node1 ~]#
删除某一位置命令历史:
[root@node1 ~]# history 12 history 13 more .bash_history 14 history -a 15 cat .bash_history 16 history -a 17 history -w 18 cat .bash_history 19 history [root@node1 ~]# history -d 18 [root@node1 ~]# history 12 history 13 more .bash_history 14 history -a 15 cat .bash_history 16 history -a 17 history -w 18 history 19 history -d 18 20 history
读取命令历史文件命令到内存中:
[root@node1 ~]# history -r [root@node1 ~]# history 12 history 13 history -n 14 history 15 history -r 16 history 17 more .bash_history 18 history -a 19 cat .bash_history 20 history -a 21 history -w 22 history
相关环境变量:
[root@node1 ~]# echo $HISTFILE /root/.bash_history [root@node1 ~]# echo $HISTSIZE 1000 [root@node1 ~]#
shutdown关机:
关机取消关机:
[root@node1 ~]# shutdown Shutdown scheduled for Sat 2018-06-23 11:42:41 CST, use 'shutdown -c' to cancel. [root@node1 ~]# Broadcast message from root@node1 (Sat 2018-06-23 11:41:41 CST): The system is going down for power-off at Sat 2018-06-23 11:42:41 CST! ^C [root@node1 ~]# shutdown -c [root@node1 ~]# Broadcast message from root@node1 (Sat 2018-06-23 11:41:51 CST): The system shutdown has been cancelled at Sat 2018-06-23 11:42:51 CST!
重启:
shutdown -r
5分钟后重启,并提示信息
[root@node1 ~]# shutdown -r +5 "be careful going to reboot" Shutdown scheduled for Sat 2018-06-23 11:51:58 CST, use 'shutdown -c' to cancel. [root@node1 ~]# Broadcast message from root@node1 (Sat 2018-06-23 11:46:58 CST): be careful going to reboot The system is going down for reboot at Sat 2018-06-23 11:51:58 CST!
poweroff:直接关机
reboot:重启
hwclock:硬件时钟
查看硬件时钟:
[root@node1 ~]# hwclock -r Sat 23 Jun 2018 11:56:17 AM CST -0.287433 seconds
写入当前系统时间到硬件:
[root@node1 ~]# hwclock -w [root@node1 ~]# hwclock -r Sat 23 Jun 2018 11:57:26 AM CST -0.443789 seconds
设置硬件时钟为某个时间:
[root@node1 ~]# hwclock --set --date="2011-08-14 16:45:05" [root@node1 ~]# hwclock -r Sun 14 Aug 2011 04:45:12 PM CST -1.025827 seconds
date:显示设置系统时间
显示当前时间:
[root@node1 ~]# date Sat Jun 23 12:02:48 CST 2018
[root@node1 ~]# date +'%Y-%m-%d %H:%M:%S %W' 2018-06-23 12:10:58 25
[root@node1 ~]# date -d "tomorrow" Sun Jun 24 12:08:34 CST 2018 [root@node1 ~]# date -d "yesterday" Fri Jun 22 12:08:43 CST 2018 [root@node1 ~]# date -d "1 hour" Sat Jun 23 13:08:48 CST 2018 [root@node1 ~]# date -d "2 day ago" Thu Jun 21 12:08:54 CST 2018 [root@node1 ~]# date -d "3 month ago" Fri Mar 23 12:08:59 CST 2018 [root@node1 ~]# date -d "2 year" Tue Jun 23 12:09:04 CST 2020 [root@node1 ~]# date -d "last friday" Fri Jun 22 00:00:00 CST 2018 [root@node1 ~]# date -d "next week" Sat Jun 30 12:09:19 CST 2018 [root@node1 ~]# date -d "next month" Mon Jul 23 12:09:26 CST 2018
设置时间:
[root@node1 ~]# date -s "20200101 10:01:10" Wed Jan 1 10:01:10 CST 2020 [root@node1 ~]# date Wed Jan 1 10:01:14 CST 2020
5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
获取命令帮助的方式有:
help command
man command
command --help
info command
man各章节的含义:(数字表示章节)
1、所有用户可以使用的命令
2、系统内核调用,不是每个命令都有系统调用(如:man 2 read)
3、库调用
4、特殊文件,如:/dev/tty1
5、文件格式(命令配置文件的语法,如:man 5 passwd)
6、游戏相关
7、杂项
8、管理员命令,如:fdisk
6、请罗列Linux发行版的基础目录名称命名法则及功用规定
/bin 普通用户命令
/sbin 管理员命令
/etc 配置文件
/usr 用户安装程序位置
/opt 第三方程序
/proc 系统内存状态伪文件系统
/sys 伪文件系统
/boot 启动时使用到的文件
/tmp 临时目录
/root 管理员家目录
/home 用户目录根
/dev 设备文件目录
/mnt 挂载点目录
/var 可变状态存储