Linux进阶(Shell编程学习二)

在编写shell脚本时,我们经常需要向脚本传递外部参数。 ,向脚本传递参数,脚本内获取参数的格式为:$nn 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推。

一、传递参数示例:

如:

#!/bin/sh
# author:茅河野人
# url:https://blog.csdn.net/dongjing991

echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";

其中 $0 为执行的文件名(包含文件路径)

输出:

 二、shell声明数组示例:

my_array=(A B "C" D)

echo "第一个元素为: ${my_array[0]}"
echo "第二个元素为: ${my_array[1]}"
echo "第三个元素为: ${my_array[2]}"
echo "第四个元素为: ${my_array[3]}"

这里注意的是数组的声明和初始化,数组中的元素不需要使用逗号分隔。

 三、shell的运算

Shell 和其他编程语言一样,支持多种运算符,包括:

  • 算数运算符
  • 关系运算符
  • 布尔运算符
  • 字符串运算符
  • 文件测试运算符

加减乘除四则运算

关系运行,大于小于等于

 布尔运算

 逻辑运算 

linux常用命令:

关机:

shutdown-h now  
立刻关机shutdown-h 3  
3分钟后关机poweroff立刻关机

重启:

  1. shutdown-r now

  2. 立刻重启shutdown-r 3

  3. 3分钟后重启reboot立刻重启

帮助命令:

--help命令shutdown --help:ifconfig  --help:查看网卡信息

man命令(命令说明书) man shutdown注意:man shutdown打开命令说明书之后,使用按键q退出

目录切换:

cd /  切换到根目录cd /usr  切换到根目录下的usr目录cd ../  切换到上一级目录 或者  cd ..cd ~   切换到home目录cd -   切换到上次访问的目录

查看目录:

ls查看当前目录下的所有目录和文件ls-a  查看当前目录下的所有目录和文件(包括隐藏的文件)ls-l 或 ll   列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)ls/dir   查看指定目录下的所有目录和文件   如:ls /usr

创建目录:

mkdir mhyr 在当前目录下创建一个名为qq的目录mkdir /usr/mhyr在指定目录下创建一个名为qq的目录

删除目录或文件:

rm文件 删除当前目录下的文件rm-f 文件 删除当前目录的的文件(不询问)

全部删除:

rm -rf *  将当前目录下的所有目录和文件全部删除rm -rf /*  将根目录下的所有文件全部删除(慎用!)

目录修改:

mv当前目录  新目录例:mv  bb aa  将目录bb改为aa

剪切目录:

命令:mv  目录名称  目录的新位置例:将/usr/lib目录下的qq目录剪切到/usr目录下面   mv  /usr/lib/qq  /usr

拷贝目录:

命令:cp -r  目录名称  目录拷贝的目标位置  -r代表递归例:将/usr/lib目录下的qq目录复制到  /usr目录下面   cp  /usr/lib/qq   /usr

搜索目录:

命令:find  目录  参数  文件名称例:查找/usr/lib目录下的所有以a开头的目录或文件find  /usr/lib  -name  'a*'

新建文件:

命令:touch  文件名例:在当前文件目录创建一个名为ai.exe文件     touchai.exe

删除文件:

命令:rm-rf  文件名例:删除ai.exe文件   rm-rfai.exe

修改文件:

命令:vi  文件名例:打开房钱目录下的qq.exe文件vi  qq.exe或者 vim  qq.exe

查看文件:

cat:看最后一屏例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容catsudo.conf

more:百分比显示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看more sudo.conf

less:翻页查看例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上和向下翻页,q结束查看less sudo.conf

tail:指定行数或者动态查看例:使用tail-10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束  tail-10 sudo.conf

打包或压缩文件:

Linux中的打包文件是:qq.tar

Linux中的压缩文件是:qq.gz

Linux中打包并压缩的文件是:.tar.gz

命令:tar -zcvf 打包压缩后的文件名 要打包的文件

z:调用gzip压缩命令进行压缩c:打包文件v:显示运行过程f:指定文件名

解压文件:

命令:tar[-zxvf]  压缩文件x代表解压

查找命令:

ps -ef | grep sshd  查找指定ssh服务进程 ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除gerp身 ps -ef | grep sshd -c 查找指定进程个数

find . -name "*.conf" -ls  在当前目录查找以.conf结尾的文件,并显示详细信息。find /root/ -perm 500   查找/root/目录下权限为500的文件 find . -type f -name "*.txt"  查找当目录,以.txt结尾的普通文件 find . -type d | sort   查找当前所有目录并排序 find . -size +50M  查找当前目录大于50M的文件

查看当前目录:pwd

查看进程:ps -ef

结束进程:kill

ifconfig:查看网卡信息

ping:查看与某台机器的连接情况

netstat -an:查看当前系统端口

重启网络:

命令:service  network  restart

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋力向前123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值