HomeLinux 入门与进阶
Linux 入门与进阶

Linux 入门与进阶

@闪动元素

闪动从事多年运维工作,经常使用 Linux。

这个小册主要包含 100 个 Linux 常用命令, 额外赠送 70 个运维常见问题解决方法。

这个小册适合 Linux 爱好者和初学者、Linux 初级管理员和运维工程师学习,助你解决可能遇到的运维问题。

购买后,终身阅读学习,原价 99 元,目前只需 10 元。
订阅22
文章110
最后更新:2024-1-6 12:1
查看 【Linux 入门与进阶】 详情查看 【闪动元素】 主页
分享到微信打开

免费内容

2023-9-8 11:28

Linux 专栏 062 运维常见问题(8)

68、配置本地 yum 源CentOS 7 配置本地 yum 源,参考这个专栏就够了。1)备份原来的 yum 源创建一个目录,备份原来的 yum 源文件cd /etc/yum.repos.d/ mkdir bak mv *.repo bak 2)挂载镜像新建一个目录,用于挂载镜像mkdir /opt/centos将镜像包上传到目录/rootcd /root mount -o loop CentOS-7-x86_64-DVD-1810.iso /opt/centos3)新建 yum 源编写 httpyum.repo 文件vim /etc/yum.repo.d/httpyum.repo[centos] name=centos baseurl=file:///opt/centos gpgcheck=0 enabled=14)查看镜像内容查看镜像有哪些内容ls -l /opt/centos/5)关闭防火墙和 selinux为了减少不必要的麻烦,关闭它们systemctl stop firewalld setenforce 0写入配置文件,让它永久生效sed -i.bak 's/^SELINUX=.*$/SELINUX=disabled/g' /etc/selinux/config6)安装 httpd这是为了给其他服务器提供服务,让它们可以使用这个软件仓库yum clean all && yum repolist yum -y install httpd7)新建目录目的是,将镜像挂载到这个目录下mkdir /var/www/html/centos8)拷贝挂载内容过去将镜像内容拷贝到 http 的目录下cp -rfv /opt/centos/* /var/www/html/centos/ 9)启动服务并设置开机启动启动 http 服务,并且将该服务设置成开机启动systemctl start httpd && systemctl enable httpd10)修改 yum 源其中,本机的 IP地址为 192.168.1.20,需要根据实际情况,换成自己的服务器的 IP 地址vim /etc/yum.repo.d/httpyum.reponame=centos baseurl=http://192.168.1.20/centos gpgcheck=0 enabled=111)清除缓存列出 rpm 包清缓存,重新加载yum clean all && yum repolist69、查看日志中访问次数最多的前 10 个 IP访问 apache 服务的前 10 个 IPcat /var/log/httpd/access_log | awk '{print $1}'| sort |uniq -c | sort -rn|head70、Nginx 负载均衡策略假设 Nginx 服务器 IP 和端口为:192.168.1.101:80两台后端服务器 IP 和端口:192.168.1.102:8080192.168.1.103:8080则系统访问地址:http://192.168.1.101Nginx 负载均衡策略有以下6种Nginx 配置文件 nginx.conf1)轮询:请求按照时间顺序,排列次序,逐一分配到后端服务器http { #配置轮询 upstream backend_servers { server 192.168.1.102:8080; server 192.168.1.103:8080; } server { listen 80; server_name example.com; location / { #将请求转发到upstream服务器组中的一个服务器上 proxy_pass http://backend_servers; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } }2)加权轮询:考虑后端接受的权重,指定后端轮询的几率。http { #配置加权轮询 upstream backend_servers { server 192.168.1.102:8080 weight=3; server 192.168.1.103:8080 weight=1; } server { listen 80; server_name example.com; location / { #将请求转发到upstream服务器组中的一个服务器上 proxy_pass http://backend_servers; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } }3)IP哈希:根据哈希结果,将请求分配到后端服务器http { #配置ip哈希 upstream backend_servers { ip_hash; server 192.168.1.102:8080; server 192.168.1.103:8080; } server { listen 80; server_name example.com; location / { #将请求转发到upstream服务器组中的一个服务器上 proxy_pass http://backend_servers; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } }4)最少连接数:将请求转发给当前连接数最少的后端服务器http { #配置最少连接数 upstream backend_servers { least_conn; server 192.168.1.102:8080; server 192.168.1.103:8080; } server { listen 80; server_name example.com; location / { #将请求转发到upstream服务器组中的一个服务器上 proxy_pass http://backend_servers; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } }5)Fair算法:基于每个后端服务器的响应时间和连接数来动态调整权重,以实现更均匀的负载分布http { #配置Fair算法 upstream backend_servers { fair; server 192.168.1.102:8080; server 192.168.1.103:8080; } server { listen 80; server_name example.com; location / { #将请求转发到upstream服务器组中的一个服务器上 proxy_pass http://backend_servers; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } }6)URL哈希:将请求的 URL 转换为一个哈希值,然后将哈希值映射到后端服务器列表的一个服务器上http { #配置URL哈希 upstream backend_servers { hash $request_uri; server 192.168.1.102:8080; server 192.168.1.103:8080; } server { listen 80; server_name example.com; location / { #将请求转发到upstream服务器组中的一个服务器上 proxy_pass http://backend_servers; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } }学了就行动起来吧,更多运维问题,后续更新。更多命令请前往 :Linux 专栏内容合集

2023-5-14 12:31

Linux 专栏 020 常用命令之 grep

grep 查找文件中符合条件的字符串,与 sed、awk 组成 Linux 的三剑客,语法格式:grep [选项] 关键字 文件名在学习之前,我们先了解关键字加引号(单引号,双引号),不加引号的区别关键字加引号,关键字会被看成一个整体,可以包含空格或特殊字符1)单引号如果关键字包含特殊字符($ 和 \' 除外),使用单引号会对特殊字符转义,进行完全匹配搜索2)双引号关键字即使包含特殊符号,使用双引号原样输出3)不加引号 搜索包含关键字中任意单词的文本行1、打印包含关键字的行我们找出文件中包含 root 关键字的行,并打印出来grep "root" test.txt2、打印以某关键词开头的行我们将文件中以 root 开头的行打印出来,此时在关键字前面加上 ^ 符号grep "^root" test.txt3、打印某关键词结尾的行我们将以关键字 bash 的行打印出来,在关键词后面加上 $ 符号grep "bash$" test.txt4、不区分大小写打印关键字的行无论关键字中是否包含大大小写,都会打印出来,以下命令结果打印包含 root ,Root ,ROOT 等等行grep -i "root" test.txt5、显示行号打印命令行结果包含关键字的同时,显示行号grep -n "root" test.txt6、递归打印我们搜索所有的文件及子目录,包含关键字 root 的行grep -r "root" 7、统计匹配某关键字的次数此时不会打印整行,只会输出包含 root 的次数grep -c "root" test.txt8、过滤空白行我们先输出所有内容,然后键入命令对比后,可以更好展示它们的区别grep -v "^$" test.txt9、查找包含多个关键字的行我们查找包含 root 或者 sync 的行,这里 grep -E 等价于 egrepgrep -E "root|sync" test.txt上面使用了 Linux 正则表达式,还有更多的 Linux 正则表达式常用元字符如下以上是常用的用法,下面我使用 GPT 回答该命令的主要用途:学了就行动起来吧,更多命令,后续更新。更多命令请前往 :Linux 专栏内容合集

2023-5-13 14:9

Linux 专栏 015 常用命令之 vim

vim 是 vi 的高级版本,它是一款非常强大的文本编辑器,它有三种模式,命令行模式,输入模式和末行模式,熟练使用 vim 可以大幅度提升文本编辑效率。语法格式:vim 文件名 值得我们注意的是:在 vim 中,鼠标不能像在 windows 那样,我们可以把光标移动到任意位置,只能通过四个方向键,和其他字母键移动光标。1、新建文件我们新建 test.txt 文件,并打开它vim test.txtvim 文本编辑器三种模式切换图如下2、命令行模式我们如何进入命令行模式vim 文件名,不管文件是否存在,它都会进入命令行模式,在这个模式下,按 i,a,o,都可以进入输入模式,然后我们就可以输入内容啦。命令行模式常用的操作如下1)基本移动记住四个快捷首字母 hjkl(左下上右),对应左方向键,下方向键,上方向键,右方向键,分别向左,向下,向上,向右移动;数字 0 移动到行首,美元符号(shift + 4) $ 移动到行尾;字母 w 往后移动到下个单词首,字母 b 往前移动到上个单词首;gg 直接跳到文件第一行,G 跳到最后一行。2)删除和替换字母 x 删除光标覆盖的字符,字母 s 删除光标覆盖的字符,并进入输入模式;dd 删除光标所在行,ndd 删除 n 行,dw 删除光标所在处到单词尾的内容;替换某个字母,把光标定位到要替换的字母处,按 r 后,输入替换后的字母。3)复制和粘贴yy 复制当前行,nyy 从当前行开始,复制 n 行,yw 复制光标所在处到单词尾的内容;字母 p 将复制的内容粘贴到光标下方,字母 P 将复制的内容粘贴到光标上方。4)搜索键入 /abc 查找字符串 abc ,按下回车,往下查找按 n ,往上查找按 N;相反,输入 ?abc ,按下回车,往下查找按 N ,往上查找按 n 。5)其他字母 u 撤销,撤销前一个编辑命令的操作结果,返回至上一步编辑状态,多次按 u 返回到最原始状态。命令行模式,我们输入 /root ,可以查找文中所有的 root 字符批量注释实现方式1)在命令行模式下,光标移到行首,按 ctrl+v 进入可视化模块;2)此时按上下键移动选择需要注释的行,然后按 shift+i 进入输入模式;3)接着按 shift+# 注释开始行,最后按下键盘左上方的 esc 键,完成多行注释。我们按 ctrl+v ,底下出现 VISUAL BLOCK 代表进入可视化模块,左边的白色块说明已经选中多行行首3、输入模式命令行模式切换到输入模式,有三种方式1)按 i 从光标处,进入输入模式;2)按 a 追加进入输入模式,会移动到光标的后一个位置;3)按 o 在光标的下一行创建新的一行。输入模式退出到命令行模式在输入模式下,按 esc,退出到命令行模式。无论我们使用哪种方式进入输入模式,底下都会出现 INSERT 字眼,此时代表现在是输入模式4、末行模式命令行模式和末行模式间的切换在命令行模式,按下 shift +冒号,进入末行模式;在末行模式下,按 esc ,切换到命令行模式;在末行模式下,输入 wq (或 x)保存退出,输入 q! 不保存退出,输入 q 退出。如果底下出现 :代表现在状态是末行模式末行模式常用操作1)set nu 显示行号,set nonu 去掉行号;2)输入数字 n ,定位到文件的第 n 行;3)输入 %s/旧字符串/新字符串/,把文件中每一行的第一个旧字符串,替换成新的字符串,如果要全部替换,在最后的斜杠 / 加 g ;4)导入文件 /root/test.txt 内容,输入 r /root/test.txt,按回车,就完成了内容导入;5)调用 linux 命令, 键入 !命令 ,比如 !which ls ,查找 ls 命令的位置 。显示文件行号以上是常用的用法,下面我使用 GPT 帮我回答该命令的用途:学了就行动起来吧,更多命令,后续更新。更多命令请前往 :Linux 专栏内容合集

2023-5-9 0:33

【新人必读】Linux 专栏内容合集

本置顶帖包含两部分:专栏合集和 Linux 学习社群入口。每个专栏,以文字说明+运行结果截图展示,建议一边学习,一边练习。一、专栏合集点击下方蓝色字体,就可以跳转到对应专栏,点击每个专栏后面的 Linux 专栏内容合集,返回到菜单栏。验货专栏(免费)Linux 专栏 015 常用命令之 vimLinux 专栏 020 常用命令之 grepLinux 专栏 062 运维常见问题(8)1、 Linux 入门如何学习 Linux2、文件管理类命令Linux 专栏 002 常用命令之 lsLinux 专栏 003 常用命令之 pwdLinux 专栏 004 常用命令之 cdLinux 专栏 005 常用命令之 catLinux 专栏 006 常用命令之 headLinux 专栏 007 常用命令之 tailLinux 专栏 008 常用命令之 tailfLinux 专栏 009 常用命令之 lessLinux 专栏 010 常用命令之 moreLinux 专栏 011 常用命令之 wcLinux 专栏 012 常用命令之 sortLinux 专栏 013 常用命令之 mkdirLinux 专栏 014 常用命令之 touchLinux 专栏 015 常用命令之 vimLinux 专栏 016 常用命令之 rmdirLinux 专栏 017 常用命令之 rmLinux 专栏 018 常用命令之 cpLinux 专栏 019 常用命令之 mvLinux 专栏 098 常用命令之 ln3、工具和编辑器类命令Linux 专栏 020 常用命令之 grepLinux 专栏 021 常用命令之 egrepLinux 专栏 022 常用命令之 sedLinux 专栏 023 常用命令之 awkLinux 专栏 024 常用命令之 cutLinux 专栏 105 常用命令之 tr4、Shell 编程和脚本相关命令Linux 专栏 001 常用命令之 echoLinux 专栏 099 常用命令之 readLinux 专栏 101 常用命令之 letLinux 专栏 104 常用命令之 exportLinux 专栏 106 常用命令之 exprLinux 专栏 107 常用命令之 bcLinux 专栏 108 常用命令之 factor5、文件搜索相关命令Linux 专栏 025 常用命令之 findLinux 专栏 026 常用命令之 whichLinux 专栏 027 常用命令之 whereis6、文件归档管理命令Linux 专栏 028 常用命令之 tarLinux 专栏 029 常用命令之 zipLinux 专栏 030 常用命令之 unzip7、文件权限管理命令Linux 专栏 031 常用命令之 chownLinux 专栏 032 常用命令之 chmod8、文件系统管理命令Linux 专栏 033 常用命令之 chattrLinux 专栏 034 常用命令之 lsattrLinux 专栏 035 常用命令之 setfaclLinux 专栏 036 常用命令之 getfacl9、设置系统日期和时间的命令Linux 专栏 037 常用命令之 dateLinux 专栏 038 常用命令之 timedatectl10、系统监视命令Linux 专栏 039 常用命令之 utimeLinux 专栏 040 常用命令之 topLinux 专栏 042 常用命令之 psLinux 专栏 045 常用命令之 pidofLinux 专栏 047 常用命令之 freeLinux 专栏 050 常用命令之 lsofLinux 专栏 069 常用命令之 wLinux 专栏 070 常用命令之 whoLinux 专栏 071 常用命令之 whoami11、网络管理命令Linux 专栏 051 常用命令之 wgetLinux 专栏 052 常用命令之 curlLinux 专栏 053 常用命令之 ipLinux 专栏 054 常用命令之 ifconfigLinux 专栏 055 常用命令之 pingLinux 专栏 056 常用命令之 routeLinux 专栏 057 常用命令之 tracerouteLinux 专栏 059 常用命令之 scpLinux 专栏 060 常用命令之 netstatLinux 专栏 061 常用命令之 ssLinux 专栏 063 常用命令之 nslookupLinux 专栏 064 常用命令之 hostLinux 专栏 065 常用命令之 nmapLinux 专栏 066 常用命令之 digLinux 专栏 067 常用命令之 nmcliLinux 专栏 068 常用命令之 tcpdumpLinux 专栏 100 常用命令之 rsync12、用户和组管理命令Linux 专栏 072 常用命令之 useraddLinux 专栏 073 常用命令之 usermodLinux 专栏 074 常用命令之 userdelLinux 专栏 075 常用命令之 idLinux 专栏 076 常用命令之 groupaddLinux 专栏 077 常用命令之 groupdelLinux 专栏 078 常用命令之 passwdLinux 专栏 079 常用命令之 suLinux 专栏 080 常用命令之 sudoLinux 专栏 097 常用命令之 chage13、磁盘与文件系统命令Linux 专栏 081 常用命令之 lsblkLinux 专栏 082 常用命令之 fdiskLinux 专栏 083 常用命令之 partedLinux 专栏 084 常用命令之 mkfsLinux 专栏 085 常用命令之 mountLinux 专栏 086 常用命令之 umountLinux 专栏 087 常用命令之 dd14、软件包管理命令Linux 专栏 088 常用命令之 rpmLinux 专栏 089 常用命令之 yum15、服务管理命令Linux 专栏 090 常用命令之 serviceLinux 专栏 091 常用命令之 systemctlLinux 专栏 092 常用命令之 chkconfig16、Linux 计划任务命令Linux 专栏 093 常用命令之 crontabLinux 专栏 094 常用命令之 at17、配置和管理防火墙的命令Linux 专栏 095 常用命令之 firewall-cmdLinux 专栏 096 常用命令之 iptables18、系统控制命令Linux 专栏 102 常用命令之 shutdownLinux 专栏 103 常用命令之 reboot19、运维常见问题集Linux 专栏 041 运维常见问题(1)Linux 专栏 043 运维常见问题(2)Linux 专栏 044 运维常见问题(3)Linux 专栏 046 运维常见问题(4)Linux 专栏 048 运维常见问题(5)Linux 专栏 049 运维常见问题(6)Linux 专栏 058 运维常见问题(7)Linux 专栏 062 运维常见问题(8)二、Linux 交流群扫描下方二维码,免费拉你进 Linux 学习社群,方便大家交流和讨论 Linux 学习相关知识。一个人走得很快,一群人走得很远。注:小册什么更新完,什么时候解散群,我更希望大家将精力聚焦到小册上,微信群前期是方便交流,后期只会互相吹水。