Shell理论学习(一)

登录主机:

  • 本机登录(7个接口tty1~tty7)

    • 文本接口(tty1~tty6)
    • 图形接口(tty7)
  • 远程登录

通配符:

  • *:代表任意的字符串,可以是空字符串
  • ?:代表一个字符,但是不可以为空

转义字符:\

续行符号:\

字符集合:

  1. [a-z]:英文小写字母
  2. [A-Z]:英文大写字母
  3. [a-zA-Z]:英文大小写字母
  4. [0-9]:数字
  5. [a-zA-Z0-9]:英数字
  6. [xyz]:x,y或是z

括号扩展:{}

{g,nc,s}ftp即:gftp,ncftp,sftp

检查script的语法:bash -v test.sh

查看script的程序代码:bash -n test.sh

追踪script的执行:bash -x test.sh

父shell和子shell:

在执行shell script之前,我们身处在一个login shell中,称为父shell.当我们执行某一个shell script时,父shell会根据script程序的第一行#!之后所指定的shell程序开启(此操作称为fork)一个子shell中的script执行完毕,此子shell随即结束,仍然回到父shell中,不会影响父shell原本的环境.

子shell和父shell一样,会开启三个文件:标准输入(键盘),标准输出(屏幕),标准错误(屏幕),同时,子shell会继承父shell的若干变量值的内容,这些变量称为环境变量

子shell再开启子shell:

查看当前位于在几层shell中:

echo $SHLVL  OR   ps axf

时间: 2024-11-03 02:30:38

Shell理论学习(一)的相关文章

Shell理论学习(二)

30.tee:读取标准输入,然后由标准输出显示,并把这些数据存储在指定的文件中 执行本命令,test.txt若已经存在,会被清空,若不存在则会建立一个新文件,结束操作ctrl+D [[email protected] ~]# tee test.txt hello my world! hello my world! [[email protected] ~]# cat test.txt  hello my world! -a以文件追加的方式,把输入的数据接在test.txt的文件尾,并不会把tes

Shell理论学习(三)

37.调整变量的属性 只读变量:使用readonly命令 readonly 变量名称 readonly其他用法 readonly或readonly -p:显示目前具有只读属性的变量列表 readonly -f 函数名称:设定该函数式不可修改 readonly -a 数组变量:设定-a后接的变量名是只读的数组 只读变量:使用declare 38.自定义环境变量 以一般用户登录时 以系统管理员的角色工作时,环境变量配置文件有三个 /etc/profile /etc/bash.bashrc /etc/

Shell理论学习(五)

1.通信状态 2.开机启动服务 3.限制连接状态

【Linux系列】【基础版】第四章 Shell基础之正则表达式

4. Shell基础之正则表达式     4.1 正则就是一串有规律的字符串         4.1 grep              4.1.1 格式: grep [-cinrvABC] 'word' filename             4.1.2 -c //count,表示行数             4.1.3 -i //不区分大小写             4.1.4 -n  //显示行号             4.1.5 -r  //遍历所有子目录             4

linux Shell函数

Shell函数类似于Shell脚本,里面存放了一系列的指令,不过Shell的函数存在于内存,而不是硬盘文件,所以速度很快,另外,Shell还能对函数进行预处理,所以函数的启动比脚本更快. 1.函数定义 1 2 3 4 function 函数名() {     语句     [return] } 关键字function表示定义一个函数,可以省略,其后是函数名,有时函数名后可以跟一个括号,符号"{"表示函数执行命令的入口,该符号也可以在函数名那一行,"}"表示函数体的结

Shell实现跳板机,为什么用跳板机

整理自:http://blog.chinaunix.net/uid-22101889-id-3167454.html 注意:请谨慎使用,到现在为止,使用了,我还没找到改回去的方法. 1.     问题 第一.很多大公司的服务器都不允许直接登录,而是通过一个跳板机才能登录过去.在跳板机中,通常只能执行几个少数命令(如SSH),而其他命令是不允许执行的,那么怎样才能实现这个功能呢? 第二.一些小公司,由于服务器比较少,不需要什么跳板机之类的说法,公司的开发运维人员加起来也就那么十几二十人,通常大家都

linux shell基础语法

1.第一个Shell脚本 打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了. 输入一些代码: #!/bin/bash echo "Hello World !" "#!" 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell.echo命令用于向窗口输出文本. 运行Shell脚本有两种方法. 1.1作为可执行程序 将上面的代码保存为t

shell中test命令方法详解

test命令用法.功能:检查文件和比较值 1)判断表达式 if test  (表达式为真) if test !表达式为假 test 表达式1 –a 表达式2                  两个表达式都为真 test 表达式1 –o 表达式2                 两个表达式有一个为真 2)判断字符串 test –n 字符串                                   字符串的长度非零 test –z 字符串                          

shell脚本

-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename 如果 filename为目录,则为真 [ -d /tmp/mydir ]-r filename 如果 filename可读,则为真 [ -r /var/log/syslog ]-w filename 如果 filename可写,则为真 [ -w /var/mytmp.txt ]-x filename 如果 filename可执行,则为真 [ -L /usr/bin/gr