Linux shell命令

Shell命令

shell命令第一行#!/bin/bash 是一个bash报,是告诉系统用哪个shell语言来运行以下代码.
在Linux环境写不写不会有问题,但是其他平台可能会出错.

看当前linux支持哪些版本的shell命令 进入到/etc/shells查看

需要使用哪种就直接敲bash或者sh 等等来回切换

echo命令 用来输出,也可以输出到文件

  • echo常用的参数
    -e: 支持反斜线控制字符转换 例: echo -e "a"

    -n: 取消输出后行末的换行符号
  • echo 还可以输出颜色,格式是echo -e "e[1;31m xxx e[0m"
    e[1;是开启颜色输出 31m是颜色代码 xxx是内容 e[0m是终止颜色输出.
  • echo输出的时候如果有感叹号 后面必须加空格.不然会报错,编辑在文本中也是一样.

shell命令执行

有2种方法.

  • 第一种直接先赋予脚本执行权限,然后用绝对或者相对路径进行运行
  • 第二种用bash 加相对或者绝对路径,这样方式不需要赋予脚本执行权限(渗透考虑)

bash的基本功能

  • history命令
    history有2个参数 -c 清除历史命令,另一个-w 把缓存的历史命令强制写入历史保护命令.
    历史保护命令的路径是当前用户根目录下的.bash_history,正常情况需要logout后才会把当前用户的缓存命令写入这个文件.
    而通过-w命令可以不退出就写入到.bash_history.
    默认记录1千条,在/etc/profile里的HISTSIZE这个参数设置.
    渗透测试可以查看历史命令,看是否有当初配置的数据库或者其他应用配置设置的端口密码.

  • Bash的快捷键

  • Bash的输入输出重定向.
    重定向定义就是本来一个正确或者错误结果输出到屏幕,我们改变他输出的方向,比如不输出到屏幕,把正确或者错误结果输出到文件.


    要注意 正确的重定向 >和命令文件中间隔着空格,而错误的重定向不能有空格
    输入重定向就是把>改成<,但是一般除了打补丁,用的不多.

  • Bash多命令执行

    多条命令执行示例

    &&命令示例

  • Bash的其他特殊符号


    bash是可以创建子shell的,shell命令本身就是在bash中运行的,我们输入bash可以在创建一个子shell.我们可以用pstree看出这个进程构造.

    ()中的命令会在子shell中运行.子shell和父shell是相互隔离的空间.子shell执行完后,变量就会自行清除.不影响父shell的变量

别名 alias

永久生效写在 .bashrc的文件中

配置文件不重启就生效 用source命令 source + 配置文件名路径,source可以用.代替
比如. .bashrc

别名的优先级会比命令高,所以尽量不要把别名和命令冲突.否则会影响正常的命令执行.

grep

原文地址:https://www.cnblogs.com/Young-shi/p/14990880.html