linux基础 - SHELL1(下)

简介: linux基础 - SHELL1(上)

三、shell高级

1.重定向

>覆盖

>>追加

管道符

netstat -ano | grep 22

2.其他符号

&就是将一个命令从前台转到后台执行

3.信息符号

1 表示正确输出的信息

2 表示错误输出的信息

2>&1表示所有输出的信息

root@ou-virtual-machine:~# cat a.txt 1>> zhengque.txt
root@ou-virtual-machine:~# cat zhengque.txt

root@ou-virtual-machine:~# asdasfad 2>> errfile.txt
root@ou-virtual-machine:~# cat errfile.txt

写一个shell文件里面有正确的shell语句和错误的

root@ou-virtual-machine:~# bash shell.exe 1>zhengque.txt 2>cuowu.txt
root@ou-virtual-machine:~# cat zhengque.txt 
asdsad
root@ou-virtual-machine:~# cat cuowu.txt 
shell.exe: line 3: asdlkalsf: command not found

/dev/zero #输出无数个0

/dev/null #垃圾桶文件

所有信息进入垃圾桶文件,所有进程后台运行

cat cuowu.txt >> /dev/null 2>&1 &

4.if语句

#!/bin/bash
if [ $1 == 'nan' ]
then
    echo "your sex is man"
fi

5.else

#!/bin/bash
if [ $1 == 'nan' ]
then
    echo "your sex is man"
else
    echo "error!"
fi
~

6.case语句

#!/bin/bash
case "$1" in
        "start")
                echo "server running start..."
                ;;
        "stop") 
                echo "server stop..."
                ;;
        "restart")
                echo "server restarting..."
                ;;
        *)      
                echo "*******************"
                ;;
esac

7.for语句

遍历文件

#!/bin/bash
for i in $(ls /root)
do
        echo "${i}"
done

遍历数组

#!/bin/bash
arr=(1 2 3 11 421 1424124123 13213 1231 2312 412 11111)
for i in ${arr[*]}
do
        echo "${i}"
done

8.while语句

#!/bin/bash
arr=(1 2 3 11 421 1424124123 13213 1231 2312 412 11111)
a=0
while [ ${a} -lt 11 ]
do
        echo "${arr[${a}]}"
        a=$((${a} + 1))
done

9.break语句

#!/bin/bash
arr=(1 2 3 11 421 1424124123 13213 1231 2312 412 11111)
a=0
while [ ${a} -lt 11 ]
do
        echo "${arr[${a}]}"
        read num
        if [ $num == 'a' ]
        then
                break
        fi
        a=$((${a} + 1))
done

break n 跳出第n个循环(由内向外)

#!/bin/bash
for var1 in {1..5}
do
        for var2 in {10..14}
        do
                if [ $var1 -eq 2 ] && [ $var2 -eq 10 ]
                then
                        break 2
                else
                        echo "$var1 $var2"
                fi
        done
done

还有两个简单的我就不演示了

10.函数

#!/bin/bash
#define a function
hanshu(){
        echo "hello i am a func!"
}
#use function
hanshu

简单传参

#!/bin/bash
#define a function
hanshu(){
        n=$1
        echo "hello i am a func! ${n}"
}
#use function
hanshu aaa
hanshu bbb
hanshu ou


三、核心命令

1.grep命令

-c 匹配内容 文件名 #计算匹配内容在文件里面有多少次出现

root@ou-virtual-machine:~# grep -c aaaa a.txt 
root@ou-virtual-machine:~# cat a.txt

2.正则数组

{数组开头..数组结尾..步长}

echo {1..10..2}
echo {001..100..2}
echo {01..100..2}

3.一些常用的命令

alias

unalias

history查看命令输入记录

!行号

使用history里面对应的命令

!!上一次输入的命令

快捷键


结语

最近可能比较多的会更新linux和网络相关的博客,希望大家多支持我,多多关注、点赞。

相关文章
|
15天前
|
监控 Shell Linux
探索Linux操作系统下的Shell编程之魅力
【8月更文挑战第4天】本文旨在通过一系列精心设计的示例和分析,揭示在Linux环境下进行Shell编程的独特之处及其强大功能。我们将从基础语法入手,逐步深入到脚本的编写与执行,最终通过实际代码案例展现Shell编程在日常系统管理和自动化任务中的应用价值。文章不仅适合初学者构建扎实的基础,同时也为有一定经验的开发者提供进阶技巧。
28 11
|
2天前
|
Shell Linux 程序员
详解shell 运行原理及Linux权限
详解shell 运行原理及Linux权限
|
1月前
|
Shell Linux C语言
|
1月前
|
Shell Linux
Linux Shell 脚本入门教程:开启你的自动化之旅
Shell是一种计算机程序,它充当了用户与操作系统之间的接口。在Linux系统中,Shell允许用户通过命令行界面(CLI)来控制计算机。Shell脚本则是一种使用Shell语言编写的脚本,它可以自动执行一系列的命令,帮助用户实现任务自动化,提高工作效率。
|
2月前
|
安全 Shell Linux
探索Linux命令chsh:更改用户的默认shell
`chsh`是Linux命令,用于更改用户的默认登录shell。它涉及用户环境配置和系统安全,允许用户选择更适合自己的shell以提升效率。命令有交互式选项和参数如`-s`来指定新shell。在使用时要注意新shell的可执行性、权限问题及选择合适的shell。例如,要更改为bash,用户可运行`chsh`后按提示操作,而root用户能用`sudo chsh -s /bin/zsh john`为用户`john`设定zsh。在更改前,确认shell路径、权限,并了解不同shell的特点。
|
1月前
|
Java Shell Linux
【Linux】手把手教你做一个简易shell(命令行解释器)
【Linux】手把手教你做一个简易shell(命令行解释器)
25 0
|
2月前
|
监控 Shell Linux
Linux的Shell脚本详解
Linux的Shell脚本详解
|
1月前
|
Shell Linux
Linux环境变量之shell中export定义全局变量和echo 变量的区别
Linux环境变量之shell中export定义全局变量和echo 变量的区别
|
2月前
|
Ubuntu Java Linux
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
75 2
|
2月前
|
Shell Linux
shell linux中shell脚本编写俄罗斯方块
shell linux中shell脚本编写俄罗斯方块
28 1