首页 > 代码库 > linux练习作业

linux练习作业

1,linux各发行版本分类,之间的联系,和区别

主要有以下发行版

基于debian , 主要有debian , ubuntu, mint

              debian是由社区组织维护的完全遵循GNU规范免费的发行版。使用dpkg包管理方式

              ubuntu是基于debian的untable二次发行的版本的应用于桌面的linux系统

              Mint是基于ubuntu再次发行的版本

基于slackware,有slackware ,SUSE,OpenSUSE

              slackware是一种保持简洁风格的,偏向于unix风格的系统

               SUSE也是基于slackware的发行版,由德国SuSE Linux AG维护,普遍用于欧洲

               openSUSE是基于SUSE的个人免费版本

基于red Hat, 主要有redhat enterprise linux , fedora , centos

               redhat enterprise linux 是红帽公司面向于企业的版本

               fedora是取代redhat linux后红帽公司的个人版系统

              centos是开源社区依靠红帽企业版开源代码重新编译的版本

基于Gentoo,主要有gentoo linux等

              gentoo linux是一个面向开发人员和网络职业人员的发行版



2,说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、

history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。

ifconfig 配置网路接口

up/down 指定接口打开/关闭    ifconfig  eth0 up/down

addr  手动配置IPv4地址   ifconfig eth0 1.1.1.1 netmask 255.255.255.0 broadcast 1.1.1.255

netmask 配置掩码

[-]arp 关闭/打开ARP功能   ifconfig eth0 -arp //关闭

[-]promisc 关闭打开支持接口所有数据包

[-]allmulti 关闭、打开支持组播

-a 显示所有接口

-s 显示网卡信息摘要,MTU / RX / TX

mtu 值  , hw ether 修改MAC地址, broadcast 修改广播地址

add 配置 ipv6地址 , del 删除ipv6地址

tunnel 配置(6to4)隧道地址 ,metric 网卡开销值 ,txqueuelen队列长度

 

 echo 用于回显  , -n 不输出换行 , -e 允许反斜线转义 ,-E 禁止使用转义

          用于输出的特殊字符,\\反斜线, \a报警 , \b退格, \c禁止尾随的换行符, \f换页 , \n换行

          \r回车, \t横向制表 , \v纵向制表


tty 终端连接的标准输入的文件名


startx 启用图形界面


export 显示和设置环境变量  a=1 , export a导入 , export-n a 删除,

env显示当前用户环境,export PATH=$PATH:/usr/local/bin 修改环境变量


pwd 显示当前目录,-P 显示软链接的物理地址 ,-L 显示软链接的逻辑地址


history 显示当前的命令记录,n 显示近 n个, -a 向文件中添加记录 , -r 读取文件中的记录, -w 覆盖history文件中的记录,-c 清除记录 ,-d 删除指定的第n条记录 ,!4 执行编号4的命令, !$取得最后一个参数


shutdown 关机  关机并发出通知用户并禁止新用户登陆,等待适当时间,清除缓冲数据,降低程序运行级别init0 ,-r 重启 now 马上 ,或指定时间 ,并发出通知 -h /H ,指定时间关闭,并通知用户

power off 类似于 shutdown -h now  , reboot 类似于 shutdown -r now


hwclock 显示硬件时钟   --set --date="月/日/年 hh:mm:ss"  设置硬件时钟  --hctosys 同步到系统时钟


date 显示系统时钟,-s ‘10:10:10‘设置时钟, +%Y%m%d%H%M%S按格式显示  -u设置为格林威治时间 ,-r <文件> 显示文件的最后修改时间


3,获取命令帮助方式:请详细列出,并描述man文档的章节是如何划分的。

                                对于shell内命令使用help command  , 

                                外部命令使用man帮助手册  , info command 等

                                 程序的readme , 程序的官方站点,发行版的官方文档,互联网搜索

                                man 分为 man1为用户命令 , man2 系统调用, man3为C库,man4设备和特殊文件,man5 配置文件格式 , man6为游戏等 ,man7杂项 , man8为系统管理员命令


4,Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

cp , mv ,rm 文件管理

cp -f -v /etc/passwd /tmp/password  , cp -a -r /etc/shadow  /etc/passwd  /tmp/test/

mv -f /etc/fstable  /tmp/test.fstable  ,  mv /tmp/test1/  /tmp/test2/ , mv -t  ./test3  abc.txt

rm -rfv /tmp/test2/  , rm -f  /tmp/abc.txt  , rm  /tmp/abc.txt


5, bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

echo $? 命令执行状态 , mkdir /tmp/{a,b} ,


6, 请使用命令行展开功能来完成以下练习:

   (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

    touch /tmp/{a,b}_{c,d}

   (2)、创建/tmp/mylinux目录下的:
mylinux/
├── bin
├── boot
│   └── grub
├── dev
├── etc
│   ├── rc.d
│   │   └── init.d
│   └── sysconfig
│       └── network-scripts
├── lib
│   └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│   └── local
│       ├── bin
│       └── sbin
└── var
├── lock
├── log
└── run

mkdir /tmp/mylinux/{bin,boot,dev,etc,lib,lib64,proc,sbin,sys,tmp,usr,var,lock,log,run}

mkdir -p /tmp/mylinux/grub  /tmp/mylinux/rc.d/init.d  /tmp/mylinux/sysconfig/network-scripts

mkdir -p /tmp/mylinux/lib/modules /tmp/mylinux/usr/local/{bin,sbin}


7, 文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

文件路劲和名字 ,文件大小 , 块数量 , 块大小 , 类型

device值 , 索引值 , 链接数

文件的权限  ,  UID 号和名称 ,GID号和名称

访问时间 , 修改时间 , 改变时间


stat /etc/ ,   touch -a -m -t [[cc]YY]MMDDhhmm[.ss]


8, 显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录

ls -lhR /var/ | egrep ^1[0-9A-Za-z]*[[:digit:]]\\\\+[0-9A-Za-z]*[[:lower:]]$


9, 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

ls -lhr /etc/ |  egrep ^[0-9][[:alnum:]]*[^0-9]$


10, 显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录

ls -lhR /etc/ | egrep ^[^[:alpha:]][[:alpha:]][[:alnum:]]*


11, 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-09-20-09-32-22。

vim 

       #!/bin/bash

       time=`date +%Y-%m-%d-%H-%M-%S`

       filename=$1$time

      touch $filename

      :wq

     #chmod +x  create_file.sh

     #./create_file.sh  tfile


12,  复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

 mkdir /tmp/test2

cp -R /etc/*.d /tmp/mytest2


13, 复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

mkdir /tmp/mytest3

cp -r /etc/{l,m,n}*.conf$  /tmp/mytest3

    


 

      


linux练习作业