shell----第三篇(进阶篇)

本文提供了Linux环境下常用命令的快速查阅指南,包括目录操作、文件编辑、权限设置、文件搜索等,同时介绍了如何利用netstat查看端口及连接状态,以及shell脚本调试技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日常实战

  • 目录:ls cd pwd
    ls -l 查看权限
  • 文本编辑: vi sed cat
  • 文件权限:chmod(修改归属者) chown chgrp(修改归属组)
  • 文件搜索:find grep
    drwxr-xr-xr-x

d:表示这是个目录,如果没有表示这是一个文件
继续三位,表示当前用户的权限
继续三位,表示同组用户的权限
继续三位,其他组的权限

  • netstat -tlnp 可看出机器上开放了什么端口列表
    netstat -tnp 几个人连接过来 将l去掉 l是less的意思
    wc 总共有几行,一般对于ip地址来说,有几行就是有几个人去连接
    sort | uniq 排序|去重
    tail -f n 查看最后n行记录,一般排序后最后几行是连接数最多的ip

  • & 、&& 、||三者对比

&> 一起用表示去后台执行。
默认情况下,进程是前台进程,这时就把Shell给占据了,我们无法进行其他操作,对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个’&’实现这个目的。

&& 只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行
|| 如果||左边的命令(command1)未执行成功,那么就执行||右边的命令(command2)
或者换句话说

如果这个命令执行成功&&那么执行这个命令
如果这个命令执行失败了||那么就执行这个命令。

  • $@ 可以在函数之间传递参数,并不改变参数的排列
    比如 1 2 3 ‘45 6 7’ 这个参数经过多次传递后,依然表示4个参数,
    记得使用 “$@” 不要使用$@
    $* 会把参数打散。相对顺序不变,但是参数就变为8个了
  • 函数
    ff()
    {

    }

添加执行权限

chmod u+ xxx.sh; /xxx.sh

debug代码的过程

bash -x(读取每一句,并方便的看到执行语句)
set -x (在当前语句中调试)
set +x (还原)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值