第一周作业
- 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
- 安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。
- 配置环境变量,实现执行history的时候可以看到执行命令的时间。
- 总结Linux哲学思想。
- 总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令
1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
centos redhat 开源社区版本与商业版本 ubuntu 内核更新较快
2、安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。
略..大概就是时区设置、最小化安装、分区标准分区/ 100G swap分区根据内存大小设置2g /data50G /boot启动分区1G 用户名密码设置
3、配置环境变量,实现执行history的时候可以看到执行命令的时间。
echo $HISTTIMEFORMAT
没结果。说明没设置时间。
echo -e '#历史时间设置\nHISTTIMEFORMAT="%F %T "' >> /etc/bashrc
结果
root@centos8 ~]# history
19 2020-10-31 11:15:35 ls
20 2020-10-31 11:15:38 history
4、总结Linux哲学思想。
一切皆文件,都可以编辑
5、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令
linux命令执行格式一般是 COMMAND [option] [FILE]
echo -e 启用\符号转义功能 例如echo -e '\n \r'
screen 会话管理工具。保持进程在终端关闭后仍运行并支持远程协助
screen -S 名字 开启新会话
screen -ls 显示所有会话
screen -x加入会话
ctrl + a,d剥离远程会话
date -d '-1year' +%F_%H:%M:%S
root@centos8 data]# date -d '-1year' +%F_%H:%M:%S
2019-10-30_23:03:11
第二周作业
- 描述Linux发行版的系统目录名称命名规则以及用途。
- 描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?
- 总结软连接和硬连接区别,并用实例操作说明。
- Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
- 复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符
- 在vim中设置tab缩进为4个字符
1、描述Linux发行版的系统目录名称命名规则以及用途。
/ 根目录
/home 普通用户家目录
/root 管理员家目录
/etc 配置文件目录 类似win的注册表
/media 硬盘挂载目录
/mnt 设备挂载目录
/tmp 临时文件目录
/usr 一般软件安装目录
/bin /sbin 二进制可执行文件目录
/var 动态文件目录如日志
/lib 开发用的
/dev 设备文件目录
/sys 系统文件
/proc 内存中的东西
2、描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?
ll -i 或者stat file
root@centos8 data]# stat f1
File: f1
Size: 4 Blocks: 8 IO Block: 4096 regular file
Device: 805h/2053d Inode: 140 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 1003/ mysql)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2020-10-30 23:19:59.613258239 +0800
Modify: 2020-10-30 23:19:59.613258239 +0800
Change: 2020-10-30 23:19:59.613258239 +0800
Birth: -
root@centos8 data]# ll -i f1
140 -rw-r--r--. 1 root mysql 4 Oct 30 23:19 f1
ll -i
inode节点号 属主属组其他人权限位 硬链接数 文件属主属组 大小(字节) modifytime数据修改时间
touch命令接文件 可以刷新文件的三个时间acesstime访问时间 modifytime数据修改时间 changetime元数据修改时间
3、总结软连接和硬连接区别,并用实例操作说明。
本质:
硬链接:同一文件
软链接:快捷方式
inode:
硬链接:一样
软链接:不一样
硬链接数:
硬链接:创建或删除会改变
软链接:无变化
删除原文件:
硬链接:仍可访问链接文件
软链接:会失效
跨分区:
硬链接:无法跨分区。
软链接:可以
目录:
硬链接:无法对目录创建硬链接(死循环)
软链接:可以(应用于软件update和rollback)
root@centos8 data]# cp /etc/fstab .
root@centos8 data]# ls
3306 fstab
root@centos8 data]# ln fstab fs1
root@centos8 data]# ln -s fstab fs2
root@centos8 data]# ll -i fstab fs1 fs2
140 -rw-r--r--. 2 root mysql 709 Oct 30 23:36 fs1
141 lrwxrwxrwx. 1 root mysql 5 Oct 30 23:37 fs2 -> fstab
140 -rw-r--r--. 2 root mysql 709 Oct 30 23:36 fstab
root@centos8 data]# rm fstab
root@centos8 data]# cat fs1 &> /dev/null;echo $?
0
root@centos8 data]# cat fs2 &> /dev/null;echo $?
1
4、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
ls
ls -i查看元数据
ls -l列显示
ls -d查看目录本身
ls -R目录递归
stat 查看文件元数据 属主属组、权限、timestamp、blocksize等
file查看文件类型
touch 文件不存在则创建 存在则刷新timestamp 用法:touch `date +%F_%H:%M:%S`.file
cp
cp是别名,
root@centos8 data]# alias cp
alias cp='cp -i'
-a 相当于-p -d -R 常用于备份,最大保留原文件属性
-p 保留timestamp时间戳 ownership属主属组 mode文件权限
-d 如果目标文件是链接文件则只复制链接文件而不复制原文件,默认是复制原文件的。
-b 目标存在,覆盖前先备份要被覆盖的文件默认形式为filename~,只保留最近一个备份
--backup=numbered,目标存在覆盖前先备份要被覆盖的文件,加数字后缀,形式为filename.~#~ 可以保留多个版本
-i 交互式,如果目标文件存在询问是否覆盖overwrite
用法:
单文件 cp [文件] 存在则覆盖,不存在则创建
单\多文件 cp 目录
目录 cp 文件 不可能
目录 cp 目录 复制到目录底下
mv
mv是别名
root@centos8 data]# alias mv
alias mv='mv -i'
作用:单个文件改名作用;移动作用
-i 交互式,如果目标文件存在询问是否覆盖overwrite
-f 强制
-b 目标存在 覆盖前先备份
rm
rm 是别名
alias rm='rm -i'
作用:删除
-r 递归
-f 强制
-i 交互式
生产中不要用rm
rm is aliased to `dir=/tmp/lajizhan/$(date +%F)/$(date +%F_%H:%M:%S);mkdir -p $dir;mv -t $dir'
5.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符(有疑问好像不对)
cp /etc/profile /tmp
grep '^[[:space:]]\+.*' /tmp/profile |tr -d ' '
6、在vim中设置tab缩进为4个字符(好像不对)
扩展命令模式下
:set ts=4
第三周
- 显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录
- 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
- 将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
- 请总结描述用户和组管理类命令的使用方法并完成以下练习:
(1)、创建组distro,其GID为2019;
(2)、创建用户mandriva, 其ID号为1005;基本组为distro;
(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
(5)、删除mandriva,但保留其家目录;
(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
(7)、修改slackware的默认shell为/bin/tcsh;
(8)、为用户slackware新增附加组admins;
1、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录
root@centos8 data]# ls -d /data/[^[:alpha:]][[:alpha:]]*
/data/3mnubi3nb
/etc下没这种文件,我自己模拟创建的
2、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
root@centos8 tmp]# \cp -r /etc/p*[^[:digit:]] /tmp/mytest1/
root@centos8 tmp]# ls /tmp/mytest1/
pam.d papersize passwd passwd- pesign pinforc pki plymouth pm popt.d postfix prelink.conf.d printcap profile profile.d protocols
3、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
root@centos8 tmp]# tr 'a-z' 'A-Z' < /etc/issue > /tmp/issue.out
root@centos8 tmp]# cat /tmp/issue.out
\S
KERNEL \R ON AN \M
4、请总结描述用户和组管理类命令的使用方法并完成以下练习:
(1)、创建组distro,其GID为2019;
root@centos8 tmp]# groupadd -g 2019 distro
root@centos8 tmp]# getent group distro
distro:x:2019:
(2)、创建用户mandriva, 其ID号为1005;基本组为distro;
root@centos8 tmp]# useradd -u1005 -gdistro mandriva
root@centos8 tmp]# id mandriva
uid=1005(mandriva) gid=2019(distro) groups=2019(distro)
(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
root@centos8 tmp]# useradd -u1100 -d/home/linux mageia
root@centos8 tmp]# getent passwd mageia
mageia:x:1100:1100::/home/linux:/bin/bash
(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
root@centos8 tmp]# echo 'mageedu' | passwd --stdin mageia;chage -E 7 mageia
Changing password for user mageia.
passwd: all authentication tokens updated successfully.
root@centos8 tmp]# echo $?
0
root@centos8 tmp]# chage -l mageia|grep expires
Password expires : never
Account expires : Jan 08, 1970
Number of days of warning before password expires : 7
(5)、删除mandriva,但保留其家目录;
root@centos8 tmp]# ll /home
total 0
drwx------. 2 mageia mageia 76 Oct 31 00:28 linux
drwx------. 2 mandriva distro 76 Oct 31 00:27 mandriva
drwx------. 2 t t 97 Oct 26 12:31 t
drwx------. 3 wang wang 122 Oct 24 23:08 wang
root@centos8 tmp]# userdel mandriva
root@centos8 tmp]# ll /home
total 0
drwx------. 2 mageia mageia 76 Oct 31 00:28 linux
drwx------. 2 1005 distro 76 Oct 31 00:27 mandriva
drwx------. 2 t t 97 Oct 26 12:31 t
drwx------. 3 wang wang 122 Oct 24 23:08 wang
(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
root@centos8 tmp]# groupadd peguin
root@centos8 tmp]# useradd slackware -u2002 -gdistro -Gpeguin;id slackware
uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin)
(7)、修改slackware的默认shell为/bin/tcsh;
root@centos8 tmp]# usermod -s /bin/tcsh slackware;getent passwd slackware
slackware:x:2002:2019::/home/slackware:/bin/tcsh
(8)、为用户slackware新增附加组admins;
root@centos8 tmp]# groupadd admins
root@centos8 tmp]# groupmems -g admins -a slackware
root@centos8 tmp]# groupmems -g admins -l
slackware
网友评论