WEEK3,WEEK4——linux基础知识
2022/4/11 7:12:26
本文主要是介绍WEEK3,WEEK4——linux基础知识,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
第三周作业
1、统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来 2、查出用户UID最大值的用户名、UID及shell类型 3、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序 4、编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值 5、编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 6、20分钟内通关vimtutor(可参考https://yyqing.me/post/2017/2017-02-22-vimtutor-chinese-summary)
第四周作业
1、自建yum仓库,分别为网络源和本地源 2、编译安装http2.4,实现可以正常访问,并将编译步骤和结果提交。 3、利用sed 取出ifconfig命令中本机的IPv4地址 4、删除/etc/fstab文件中所有以#开头,后面至少跟一个空白字符的行的行首的#和空白字符 5、处理/etc/fstab路径,使用sed命令取出其目录名和基名 6、列出ubuntu软件管理工具apt的一些用法(自由总结)
解决3.1
#打印用户名 grep -v --color '/sbin/nologin$' /etc/passwd|grep -o ^[^:]* #打印用户个数 grep -v --color '/sbin/nologin$' /etc/passwd|grep -o ^[^:]*|wc -l
解答3.2
sort -nr -t: -k3 /etc/passwd |head -1 #从结果可以看出来uid 65534 用户名Anonymous Shell:/sbin/nologins
解答3.3
[root@node101 ~]# netstat -antu|grep ESTABLISHED|awk '{print $5}'|egrep --color '^[1-9]{1,3}(.[0-9]{1,3}){3}'|sort|uniq -c|sort -r|head 9 192.168.3.55:5000 9 192.168.1.120:8090 9 192.168.1.120:8080 9 192.168.1.120:80 9 192.168.1.102:443 9 192.168.1.102:3000 9 192.168.1.100:8081 9 192.168.1.100:8080 9 192.168.1.100:6080 9 192.168.1.100:30090
解答3.4
df -h|grep '[0-9]*\%'|sort -nr -k5|head -1xxxxxxxxxx1 1df -h|grep -o '[0-9]*\%'|sort -nr# df -h|grep '[0-9]*\%'|sort -nr -k5|head -1|head -1
解答3.5
#!/bin/bash # HOSTNAME=`hostname` IPV4ADDR=`hostname -I` OSVER=`rpm -qi lsb_release >/dev/null && lsb_release -d||echo "lsb_release 没有安装"` KERNELVER=`uname -r` CPUFAMILY=`cat /proc/cpuinfo |grep model\ name|head -1|cut -d: -f2` MEMSIZE=`free -h|awk '/Mem/{print $2}'` DISKSIZE=`lsblk|awk '/sd[a-z]*\ /{print $1,$4}'|tr '\n' ','|sed 's/ /:/g'` CPU_INFO=`cat /proc/cpuinfo |grep 'model name'|cut -d: -f2` echo -en "\n当前主机系统信息包括:\n主机名: $HOSTNAME \nIPv4地址: $IPV4ADDR \n操作系统版本 :$OSVER \n内核版本: $KERNELVER \nCPU型号: $CPUFAMILY \n内存大小: $MEMSIZE \n硬盘大小: $DISKSIZE "
解答4.1
-
自建网络源:
1在yum服务端自建centos7源仓库,并拉取一次
#创建目录和文件: mkdir -pv /opt/data/centos/ cd /opt/data/centos/ mkdir -pv /var/www/html/centos/7 tools/{conf,log,repos.d/7} #安装必要包和服务: yum install -y httpd yum-utils #关闭 firewalld或放行80端口,并启动httpd服务 systemctl stop firewalld systemctl enable --now httpd #创建yum.conf文件 cat <<EOF>>tools/conf/7.conf [main] cachedir=/opt/data/centos/cache/yum/centos/x86_64/7 keepcache=0 debuglevel=2 logfile=/opt/data/centos/log/yum.log exactarch=1 obsoletes=0 gpgcheck=1 plugins=0 installonly_limit=3 reposdir=/opt/data/centos/tools/repos.d/7 EOF #创建7.repo cat <<EOF>> tools/repos.d/7/7.repo [base] name=CentOS-base-x86_64 #baseurl=file:///misc/cd # https://mirror.tuna.tsinghua.edu.cn/centos/7/os/x86_64/ baseurl=https://mirror.tuna.tsinghua.edu.cn/centos/7/os/x86_64/ https://mirrors.huaweicloud.com/centos/7/os/x86_64/ https://mirrors.cloud.tencent.com/centos/7/os/x86_64/ https://mirrors.aliyun.com/centos/7/os/x86_64/ gpgcheck=0 enable=1 [extras] name=CentOS-extras-x86_64 baseurl=https://mirror.tuna.tsinghua.edu.cn/centos/7/extras/x86_64/ https://mirrors.huaweicloud.com/centos/7/extras/x86_64/ https://mirrors.cloud.tencent.com/centos/7/extras/x86_64/ https://mirrors.aliyun.com/centos/7/extras/x86_64/ gpgcheck=0 enable=1 [epel] name=CentOS-epel-x86_64 baseurl=https://mirror.tuna.tsinghua.edu.cn/epel/7/x86_64/ https://mirrors.huaweicloud.com/epel/7/x86_64/ https://mirrors.cloud.tencent.com/epel/7/x86_64/ https://mirrors.aliyun.com/epel/7/x86_64/ gpgcheck=0 enable=1 EOF #拉取repoID epel base extras #如果网络不好,可以在前面加 nohup 后面加 & cd /opt/data/centos/ reposync -m -c tools/conf/7.conf -r epel -p /var/www/html/centos/7 -n >> /tmp/repoSync.log 2>&1 reposync -m -c tools/conf/7.conf -r base -p /var/www/html/centos/7 >> /tmp/repoSync.log 2>&1 reposync -m -c tools/conf/7.conf -r extras -p /var/www/html/centos/7 >> /tmp/repoSync.log 2>&1 #服务端结束
2 客户端配置:
#提供客户端repo yum客户端文件(服务端IP:10.1.8.20) cat <<EOF>> /etc/yum.repos.d/base.repo [base] name=CentOS-base-$release-$basearch baseurl=http://10.1.8.20/centos/7/os/ gpgcheck=0 enable=1 [extras] name=CentOS-extras-$release-$basearch baseurl=http://10.1.8.20/centos/7/extras/ gpgcheck=0 enable=1 [epel] name=CentOS-epel-$release-$basearch baseurl=http://10.1.8.20/centos/7/epel/ gpgcheck=0 enable=1
-
本地源创建:
- 挂载光盘或正常的yum源文件(一般有
Packages
comps.xml
要素)到本地
#挂载 mount /dev/sr0 /mnt #移除无效repo,然后建新的 mkdir /etc/yum.repos.d/bak mv /etc/yum.repos.d/{*.repo,bak} cat <<EOF>>/etc/yum.repos.d/base.repo [base] name=CentOS7.9 baseurl=file:///mnt/ enable=1 gpgcheck=0 #重新生成缓存 yum clean all yum makecache
- 挂载光盘或正常的yum源文件(一般有
解答4.2 (编译httpd2.4)
#下载 yum install -y gcc make autoconf gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel zlib-devel vim lrzsz tree tmux lsof tcpdump wget net-tools iotop bc bzip2 zip unzip nfs-utils man-pages yum install-y apr-devel apr-util-devel ./configure --prefix=/opt/httpd --sysconfdir=/opt/httpd/conf --enable-ssl #报错中缺少大写的包比如 APR … 要安装apr-devel #这里多核的话 make -j2 make make install #path echo "PATH=/opt/httpd/bin:$PATH" >> /etc/profile.d/httpd.sh . /etc/profile.d/httpd.sh #系统用户与组apache groupadd -r -g 88 apache useradd -r -u 88 -g apache -s /sbin/nologin -d /opt/var/www apache #更新apache配置文件 sed -i -e '/^User/c User apache' -e '/^Group/c Group apache' /opt/httpd/conf/httpd.conf apachectl start #此时可以访问,如访问失败放行防火墙
解答4.3
ifconfig|sed -n '/inet addr:/p'|sed 's/[a-Z:]*//g'
解答4.4
sed -ri 's/^#(\ ){1,}//' fstab
解答4.5
[root@node29 ~]# cat /etc/fstab |grep -o ^\/[^[:space:]]*|sed 's/\/.*\///' centos-root centos-swap [root@node29 ~]# cat /etc/fstab |grep -o ^\/[^[:space:]]*|sed 's/\/[^\/]*$//' /dev/mapper /dev/mapper
解答4.6
apt用法: apt update 要经常用,安装过软件一般需要 apt remove PKG 删除不彻底,不含/etc/配置 apt purge PKG 更彻底 apt-file 类似于yum provides 查文件的包 apt-file search OPT file -F 普通匹配 -x 正则匹配 apt-cache stats 查看详细情况 apt-cache show xxx 查看更详细情况 apt-cache madison docker-ce 显示可用版本 #查询软件xxx被哪些包依赖 apt rdepends xxx apt-cache rdepends xxx
这篇关于WEEK3,WEEK4——linux基础知识的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法