
Linux基础
chen__yang_
我有足够的积累,又一直在路上,所以有无限的可能。
展开
-
shell脚本之sed精炼例题--让你更懂sed
例题1.请实现sed取不连续的行[root@bogon ~]# sed -n '1p;3p;5p' /etc/passwdroot:x:0:0:root:/root:/bin/bashdaemon:x:2:2:daemon:/sbin:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologin2.第一行到第五行后,替换reboot为shutdown[root@bogon ~]# sed -e '1,5d' -e '=' -e 's/root/c原创 2021-03-14 18:42:21 · 669 阅读 · 0 评论 -
shell脚本文本三剑客(sed)详解
1.sed命令介绍Linux sed 命令是利用脚本来处理文本文件,sed擅长行处理。sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等sed命令是将一系列的编辑命令应用于一批文本的理想工具(文本三剑客之一),sed命令拥有非交互式和高效的特点,可以为用户节约大量时间。sed命令是一个非交互式的文本编辑器,他可以对来自文本文件以及标准输入的文本进行编辑,其中标椎输入可以是来自键盘,文件重定向,字符串,变量或者原创 2021-03-11 23:19:02 · 924 阅读 · 0 评论 -
shell脚本之文本三剑客(grep)详解
grepLinux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。grep:有三大家族成员(1):grep: 支持基本的正则表达式(2):egrep:支持扩展正则表达式(3):fgrep:不支持使用正则表达式1.grep语法用法: grep [选项]... PATTERN [FILE]...2.grep主要参数原创 2021-03-08 21:44:23 · 417 阅读 · 0 评论 -
shell脚本正则表达式案例
案例(1)显示/etc/passwd 文件中以bash结尾的行[root@bogon ~]# cat /etc/passwd | grep bash$root:x:0:0:root:/root:/bin/bash(2)找出/etc/passwd文件中的三位数或四位数[root@bogon ~]# grep '[0-9]\{3,4\}' /etc/passwdgames:x:12:100:games:/usr/games:/sbin/nologinnobody:x:65534:6553原创 2021-03-08 16:57:06 · 241 阅读 · 0 评论 -
shell脚本之正则表达式
正则表达式正则表达式是字符串处理的有力工具和技术,正则表达式使用预定义的特定模式去匹配一类具有相同特征的字符串,主要用于字符串处理,可以快速准确的完成复杂的查找,替换等处理要求。1.正则表达式的作用在程序设计过程中,用户会不可避免的遇到处理某些文本的情况。有的时候,用户还需要查找符合某些比较复杂的规则的字符串,或者是某些判断语句过程中会判断一个字符串是不是全数字,字母之类的情况,这时就可以通过正则表达式来简化我们的代码。2.基本的正则表达式基本正则表达式(basic regular e原创 2021-03-07 18:43:20 · 583 阅读 · 0 评论 -
shell脚本数组的经典案例
案例案例一:从标椎输入输入n次字符串,,每次输出的字符串保存在数组array里[root@bogon ~]# vim shuzu.sh#! /bin/bash i=0read -p "请输入次数" nwhile [ $i -lt $n ]do echo "请输入字符串!" read -p array[$i]= b=${array[$i]} echo "$b" i=`expr $i + 1`done原创 2021-03-07 14:42:19 · 375 阅读 · 0 评论 -
shell脚本之数组
数组1.数组的定义“数组是指有序的元素序列。如果将有限个类型相同的变量的集合命名,那么这个名称就是数组名,而组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。”2.定义一个数组(1)使用小括号将变量的值括起来赋值给数组变量,每个变量之间使用空格键间隔示例语法:array=(value1 varlue2 ...)[root@bogon ~]# array=(1 2 3 4 5)[root@bogon ~]# echo ${array[1]}2(2)使用小括号将变原创 2021-03-07 10:44:45 · 244 阅读 · 0 评论 -
shell脚本函数详解
函数在所有的程序设计类语言中,可以说函数的学习是必不可少的,在一门编程类语言当中学会使用函数,也是一个程序员最基本的知识储备,用好函数可以极大的简洁程序代码,方便阅读和理解,通常我们把函数看作是方法(解决某个问题的方法),一个函数具有其本身的功能,其功能对应解决某个问题,使用时直接调用。1.函数可以用来干什么可以把相同程序段作为一个函数,这样做可以减小代码量,提高使用速率。 增加程序段的可读性,提高管理效率。 将一个程序段定义成一个函数还可以实现程序功能模块原创 2021-03-06 20:56:10 · 387 阅读 · 0 评论 -
shell循环例题精选
案例案例一示例代码[root@bogon ~]# vim xunhuan.sh #! /bin/bash#编写一个shell脚本,它把第二个位置参数及以后的各个参数指定的文件复制到的第一个参数指定的目录中#分析: (1)至少要有两个位置参数 #(2)第一个位置参数为目录,后面都为文件 #(3)使用循环的方式将文件复制到指定目录if [ $# -ge 2 ]then #如果不存在则创建目录 [ -d $1 ] || mkdir -p $1 #原创 2021-03-06 10:30:42 · 892 阅读 · 0 评论 -
shell脚本循环控制语句
循环控制语句在shell程序设计语句中,有两个语句来控制循环的退出,分别是continue语句和break语句,前者用来跳过循环体当中的某些语句,继续下一次循环;后者表示立即退出循环。(1)continue语句:其作用是立即跳出某个循环结构;break语句常用于for、while、或者是until等循环结构中。(2)break语句:其作用是用来跳出本次循环,跳出后接着进行下次循环,直到循环结束为止。循环控制以及程序返回指令的使用表命令说明break n此语句如果省略n,则原创 2021-03-05 10:57:16 · 829 阅读 · 1 评论 -
shell嵌套循环经典案例
嵌套循环在众多的程序设计语言,嵌套循环是一种常见的结构,通过嵌套循环,可以完成更复杂的功能。案例一1.打印九九乘法表[root@bogon ~]# vim chengfabiao.sh#! /bin/bash for i in `seq 9`do for j in `seq 9` do [ $j -le $i ] && echo -n "$i*$j=`echo $(($i*$j))` `ech原创 2021-03-04 18:26:40 · 1171 阅读 · 1 评论 -
shell之until循环语句
until循环until语句的作用是将循环体重复执行,直到某个条件成立为止,使用until语句,可以到达事半功倍。until语句的基本语法until expressiondo statement1 statement2 ...done上述语法,expression是一个条件表达式。当该表达式的值不为0时,将执行do和done之间的语句;当expression的值为0时,将退出until循环结构,继续执行done后面的语句。案例 将创建的user01-use原创 2021-03-03 22:02:07 · 562 阅读 · 1 评论 -
shell之while循环
while循环while循环是一种常见的循环结构,我们在学习python,C等编程语言时都接触过此结构。使用while循环,可以使得用户重复执行一系列操作,直到某个条件的发生。while循环的基本语法while expressiondo statement1 statement2 ...done上述语法中,expression表示while循环语句执行时需要满足的条件。虽然此处可以使用任意合法的shell命令。但是通常情况下,expression代表一个测试表达式,与其他循环原创 2021-03-03 19:03:19 · 3618 阅读 · 1 评论 -
shell流程控制for循环经典面试题
编写一个shell脚本,判断当前网络(假设为192.168.150.0/24)里,查看当前在线用户IP有哪些。#! /bin/bash for ((i=1;i<=254;i++))do if ping -c 2 -w 1 192.168.150.$i &>/dev/null then echo "192.168.150.$i is pong!" else echo "原创 2021-03-03 16:53:48 · 367 阅读 · 2 评论 -
shell流程控制之for循环
循环for循环:在编程语言中,我们会涉及许多重复使用的代码块,为了简化代码,方便使用,就会使用循环语句来实现,重复代码的调用。shell中for循环有三种使用方法:(1)带列表的for循环(2)不带列表的for循环(3)类似C风格的for循环1.带列表的for循环**使用范围:**通常用于已知循环次数的for循环:其语法是:for 循环变量 in {list(列表)}do statement1 statement2 ...done注:list是一个列表,可以是一系列原创 2021-03-03 16:37:19 · 495 阅读 · 0 评论 -
shell使用case语句实现编写菜单
shell中的case语句适合用来编写菜单,通过两个案例体现:原创 2021-03-02 16:56:16 · 2655 阅读 · 0 评论 -
shell编程case详解(十二)
1.case语句的语法case 变量名 in 值1) 指令1 ;; 值2) 指令2 ;; 值3) 指令3 ;; *) 默认 esac案例一:#编写脚本,输入一个符号判断其为数字,字母或者为其他符号#! /bin/bash原创 2021-03-02 16:36:58 · 599 阅读 · 0 评论 -
shell流程控制经典案例
案例一:#! /bin/bash #写一个脚本,给定一个用户,判断其UID和GID是否一样,如果一样就显示该用户“good user”#分析:此题考查UID和GID的获取方法read -p "请输入一个用户名:" usersuser_UID=$(id -u $users)user_GID=$(id -g $users)if [ "$user_UID" == "$user_GID" ]then echo "good user"else echo "b原创 2021-03-01 19:45:19 · 157 阅读 · 0 评论 -
shell流程控制(多分支案例)十一
多分支案例案例一:两个整数比较大小。条件:输入两个数字(必须是数字)脚本程序:#! /bin/bash read -p "请输入两个数字" num1 num2if [ $num1 -gt $num2 ]then echo "$num1>$num2"elif [ $num1 -lt $num2 ]then echo "$num1<$num2"else echo "$num1=$num2"fi结果:[root@loca原创 2021-03-01 10:30:57 · 202 阅读 · 0 评论 -
shell流程控制(条件判断单分支)九
流程控制之条件判断条件判断语句在所有语句中都存在,是一种最简单的流程控制语句。该语句使得程序根据不同条件来执行不同的程序分支,极大地方便了shell在程序判断中的使用。1.if条件语句的语法if条件语句分为多种结构,有单分支结构,双分支结构,多分支结构(1)单分支结构语法语法一:if <条件表达式>then 指令fi语法二:if <条件表达式>;then 指令fi(2)双分支结构语法if <条件表达式>th原创 2021-02-22 16:32:35 · 217 阅读 · 0 评论 -
shell 条件测试(八)
前言:为了能够正确方便的处理shell程序,Linux shell提供了一组测试运算符。通过这些运算符,shell程序能够判断某些条件是否满足条件。条件测试语句在shell判断语句中和循环语句中起到非常重要的作用。1. 条件测试的基本语法在shell程序中,用户可以使用测试语句来测试指定条件表达式的条件的真或假。当指定条件为真值之时,整个条件测试结果为0,反之,如果指定条件为假时,其条件测试结果为非0值。语法:格式一:test 条件表达式 #使用test命令进行条件测试表达式的方法,原创 2021-02-06 12:05:01 · 1889 阅读 · 0 评论 -
Linux对文件进行归档和压缩处理
1.文件的压缩与解压缩常见的压缩文件的扩展名:*.gzgzip 程序压缩的文件*.bz2bzip2 程序压缩的文件*.tartar程序打包的数据,并没有经过压缩*.tar.gztar 程序打包的文件,其中经过gzip的压缩*.tar.bz2tar 程序打包的文件,其中经过bzip2的压缩2.gzip和bzip22.1 gzip使用gzip压缩解压文件:(1)、gzip压缩参数-c: 在标准输出上写入,保持原始文件不变-f、 --强制原创 2021-01-26 15:53:28 · 631 阅读 · 0 评论 -
Linux的基础,创建虚拟机安装系统
LINUX入门(1)安装LINUX系统(2)简单的一些操作前言1.你是一位网络管理员或软件工程师,由于工作需要,你需要在linux平台环境搭建服务器或开发程序。2.所以你必须尽快的掌握linux的操作方法,但这不是一个简单的工作,因为linux是一种全新的操作系统。3.所以你要熟悉LINUX操作系统##其实操作系统也是软件的一种,系统软件。学习linux需要掌握的知识第一部分:系...原创 2020-03-15 12:53:09 · 199 阅读 · 0 评论 -
LINUX文件层级系统和常见的一些目录(思维导图)
原创 2020-03-18 17:18:09 · 285 阅读 · 0 评论 -
vim 文本编译器的用法和常用命令(思维导图)
原创 2020-03-19 08:33:07 · 190 阅读 · 0 评论 -
liunx破解root密码精简版
当我们忘了root用户的密码时这是让人难受滴!!!但是,办法总比困难多,接下来看我操作,嘻嘻首先,在VM里重启虚拟机(1).点击你所要修改虚拟机,单击右键,点击电源,左键点击重新启动此虚拟机当出现如上图,迅速按e(将输入法切换至英文),按e后会出现如下图(2)在上图中找到以linux16开头以UTF-8结尾的一行,空一格(空多格也可以)加上rd.break严格区分大小写,然后按Ctrl+x按Ctrl+x之后出现以下界面(3)在命令行里输入对应的命令1). mount -o remo原创 2020-09-05 09:52:51 · 180 阅读 · 0 评论 -
硬链接VS软连接
硬链接与软连接的区别与联系****首先,我们要搞清楚什么是链接,它的作用是什么简单的理解链接为一种快捷方式,通常会将一些目录层次较深的的文件连接到一个更容易访问的目录中。1.软连接软连接又叫符号链接,它和原文件不是一个文件,它和原文件的关系就好像是Windows中的快捷方式差不多。符号链接记录的是目标文件(原文件)的路径。软连接有自己的node,是Linux特殊文件的一种,作为一个文件,他的数据是它所链接的文件的路径。2.硬链接硬链接表示有多少个文件的名字和原文件的inode产生映射关系,(.原创 2020-09-05 11:03:06 · 377 阅读 · 0 评论 -
http配置文件的参数详解
首先,我们要知道http的主要配置文件在什么文件下,这个文件就是,/etc/httpd/conf/httpd.conf,我们可以查看一下此文件,简单的了解下文件当中一些参数,可以更好地了解httpd这个服务。简单的了解一下## This is the main Apache HTTP server configuration file. It contains the# configuration directives that give the server its instructions.原创 2020-10-29 10:27:17 · 2055 阅读 · 0 评论 -
cron计划任务详解
计划任务简介简单的需求在工作中,我们时常要执行一些重复性的一些工作,实现一些特定的功能,例如:在指定的时间自动启用或停止某些任务或某些命令,从而来实现减轻管理员的工作量。cron基础系统级的计划任务用户级的计划任务...原创 2020-11-06 14:33:28 · 2739 阅读 · 0 评论 -
DNS服务详解及正向解析与反向解析
现在想想,我们平时在浏览器上浏览网页时,一般是不是使用的域名去访问的呢,为什么要使用域名呢,使用域名的好处是什么呢,带着这些问题,深入思考才能真正的学好DNS。要想了解DNS,就必须先知道域名这个概念。1.域名域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。注:具有独一无二,不可重复的特性。IP地址和域名是一对多的关系。一个IP可以对应多个不同的域名,但是一个域名只能对应一个I.原创 2020-11-13 14:31:35 · 2444 阅读 · 0 评论 -
ssh详解与配置免密钥互信过程
ssh简介官网:https://www.openssh.com/OpenSSH是用于使用SSH协议进行远程登录的主要连接工具。它对所有流量进行加密,以消除窃听,连接劫持和其他攻击。此外,OpenSSH还提供了一整套安全的隧道功能,多种身份验证方法和复杂的配置选项。OpenSSH套件包含以下工具:远程操作使用 ssh, scp和 sftp完成。 使用ssh-add, ssh-keysign,ssh-keyscan和 ssh-keygen进行密钥管理 。 服务 端由sshd, sftp-server原创 2020-11-09 08:22:52 · 2219 阅读 · 2 评论 -
Redhat8的yum仓库配置及DNF的解释
了解Redhat8的yum仓库在RHEL8中把软件源分成了两部分一个是BaseOS,一个是AppStream.在Red Hat Enterprise Linux 8.0中,统一的ISO自动加载BaseOS和AppStream安装源存储库。存储库介绍(1).BaseOS存储库旨在提供一套核心的底层操作系统的功能,为基础软件安装库(2).AppStream存储库中包括额外的用户空间应用程序、运行时语言和数据库,以支持不同的工作负载和用例。AppStream中的内容有两种格式——熟悉的RPM格式和称.原创 2020-10-26 23:08:27 · 4278 阅读 · 0 评论 -
date与clock详解与区别
linux系统中有两种时钟: 系统时钟:由linux内核通过cpu的工作频率进行计时,系统启动时内核会自动读取硬件时钟,然后由系统时钟独立运行,之后所有的linux的指令与函数都是读取系统的时钟设定 硬件时钟:主板时钟设备进行计时,可通过bios进行设置。1.date详解(1)date常规作用用于查看Linux系统时间使用方式 : date [-u] [-d datestr] [-s datestr] [–utc] [–universal] [–date=datestr] [–set=dat原创 2020-10-22 09:31:18 · 3461 阅读 · 0 评论