Linux学习笔记——Shell基础(八)

+++++++++++++++++++++++++ +++++Shell基础+++++++++++++++++++++++++++++++

1. Shell概述

Shell定义:

Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至编写一些程序。

Shell还是一个功能相当强大的编程语言,易编写、调试。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。

Shell分类:

Bourne Shell :sh     ksh     Bash     psh     zsh   (现在使用的Linux都是Bash,其兼容sh)

C Shell :csh     tcsh (语法结构和C语言很类似)

Linux支持的Shell

通过查看文件:/etc/shells     可以知道Linux支持哪些Shell

2. Shell脚本的执行方式

输出命令:echo [选项][输出内容]

选项:-e          支持反斜线控制的字符转换

支持颜色输出:

第一个脚本:

vi hello.sh

#!/bin/bash              标识下面写的是Shell脚本

#第一个脚本             注释

echo "Hello World"     输出语句

脚本执行:

第一种方法:1)改执行权限;2)./hello.sh

第二种方法:通过bash调用执行脚本 ——  bash hello.sh

注:转换windows文件格式为linux —— dos2unix 文件名

3. Bash的基本功能

历史命令:history [选项][历史命令保存文件]

选项:-c          清空历史命令

-w         把缓存中的历史命令写入历史命令保存文件~/.history

注:历史命令默认保存1000条,可以在环境变量配置文件/etc/profile中进行修改

历史命令的调用:

命令补全:按Tab键就会自动进行补全

命令的别名:

设定命令别名——alias 别名=‘原命令’

查询命令别名——alias

注:命令执行顺序

让别名永久生效:vi /root/.bashrc

删除别名:unalias 别名

Bash常用快捷键:

标准输入输出:

输出重定向:例子 —— ls >> abc.txt

注:ls &> /dev/null 将结果丢到垃圾箱,不做任何处理

输入重定向:(把文件内容作为命令输入)

多命令顺序执行:

管道符:命令1的正确输出作为命令2的操作对象

命令格式:命令1 | 命令2,范例:ls -l /etc | more

通配符:(用来匹配文件名)

其他特殊符号:

 

4. Bash变量

用户自定义变量:变量时计算机内存单元,其中存放的值可以改变

变量设置规则:字母、数字、下划线,不能是数字开头。

变量的默认类型是字符串型,如果要进行数值运算,则必修指定变量类型为数值型。

变量用等号连接,等号两侧不能有空格。

如果等号右边有空格,则必须用单引号或双引号括起来。

如果把命令的结果赋给变量,则必须使用反引号或$()包含命令

环境变量名建议大写,便于区分

变量分类:

本地变量:(即用户自定义变量)

    

环境变量:

概念——用户自定义变量只在当前的Shell中生效,而环境变量会在当前Shell和这个Shell所在Shell当中生效。如果把环境变量写入相应配置文件,则这个环境变量就会在所有的Shell中生效。

注:与自定义变量的区别——本质上是作用范围的不同。

设置环境变量:export 变量名=变量值     #声明变量

env                   #查询环境变量

unset                #删除变量

PATH环境变量——系统查找命令的路径;

PS1:定义系统提示符的变量

 

位置参数变量:

预定义变量:系统事先定义好的变量,位置参数变量其实是预定义变量中的一种

接收键盘输入:read [选项] [变量名]

选项:-p      "提示信息":在等待read输入时,输出提示信息

-t      read命令会一直等待用户输入,使用此选项可以指定等待时间

-n      read命令只接收指定的字符数,就会执行

-s      隐藏输入数据,适用于机密信息输入

5. Bash的运算符

声明变量类型:declare

数值运算:

方法一:

方法二:expr或let数值运算工具

方法三:“$((运算式))或$[运算式]”

运算符:

变量测试与内容替换:

6. 环境变量配置文件

简介:主要用来存放系统默认环境变量的配置文件,如PATH     PS1等。

主要的环境变量配置文件:

/etc/profile

/etc/profile.d/*.sh

~/.bash_profile

~/.bashrc

/etc/bashrc

source命令:强制让当前配置文件直接生效

格式:source 配置文件

或 . 配置文件

环境变量配置文件的作用:

环境变量配置文件的调用顺序表

/etc/profile的作用

~/.bash_profile

~/.bashrc的作用

/etc/bashrc的作用

其他配置文件:

注销时生效的环境变量配置文件——~/.bash_logout

历史命令的配置文件:~/.bash_history

Shell登录信息:

本地终端登录欢迎信息——/etc/issue

远程终端登录欢迎信息——/etc/issue.net

登录后的欢迎信息:/etc/motd

注:不管是本地还是远程登录,都可以显示此欢迎信息

+++++++++++++++++++++++++ +++++Shell基础+++++++++++++++++++++++++++++++

时间: 2024-10-05 23:59:12

Linux学习笔记——Shell基础(八)的相关文章

Linux学习之Shell基础

一.Shell概述 1.Shell概述: Shell:壳,Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面级程序,用户可以用Shell来启动.挂起.停止甚至是编写一些程序.类似于翻译,相当windows的操作界面 Shell同时还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强.Shell是解释执行的脚本语言,在Shell中可以直接调用Linux命令. 2.Shell的分类: Bourne Shell:从1979起Unix就开始使用的Bourne

linux 学习10 shell 基础

10.1 Shell概述 1.Shell是什么 ?Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至是编写一些程序. ?Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强.Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令. 2.Shell的分类 ?Bourne Shell:从1979起Unix就开始使用Bourne Shell,Bourne Shell的主文

linux学习之shell基础篇

1.shell简介 shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层.当从shell或其他程序向Linux传递命令时,内核会做出相应的反应. 2.shell的工作原理 系统初启后,核心为每个终端用户建立一个进程去执行Shell解释程序.它的执行过程基本上按如下步骤: (1)读取用户由键盘输入的命令行. (2)分析命令,以命令名作为文件名,并将其它参数改造为系统调用execve( )内部处理所要求的形        式. (3)

linux学习笔记:shell脚本编程相关(上)

前言 unix/linux操作系统下的shell,是一种壳,其目的是提供一个用户与计算机相互交互的命令接口,通过输入各种命令,达到操作的目的. 与此同时,shell支持控制流程,进而可以组合出各种各样的应用实例. shell脚本的格式 首行shebang机制: bash脚本,首行添加#!/bin/bash [options] csh脚本,首行添加#!/bin/csh [options] ksh脚本,首行添加#!/bin/ksh [options] -- 描述脚本的注释部分: 包括Author,

Linux学习笔记——Shell编程(九)

+++++++++++++++++++++++++ +++++Shell编程+++++++++++++++++++++++++++++++ 1. 基础正则表达式 正则表达式与通配符: 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配,grep awk sed等命令可以支持正则表达式:通配符是用来匹配符合条件的文件名,通配符是完全匹配,ls find cp这些命令不支持正则表达式,所以只能用shell自己的通配符来匹配. 基础正则表达式: 2. 字符截取命令 字段提取命令:cut [选项

linux学习笔记-第十八课-LAMP之环境搭建(一)

一.LAMP搭建前的准备 LAMP是四套软件的缩写,分别指的是L-Linux,A-Apache,M-Mysql,P-php,利用这四套软件搭建的web的运行环境. 搭建前需要需要下载好软件 apache http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz mysql  32位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glib

linux 学习随笔-shell基础知识

1:用户的shell历史命令保存在home/username/.bash_history中 #!!  执行用户的上一条命令 #!pw  执行命令历史中最近一次以pw开头的命令 2:'*'来匹配零或多个字符 '?’匹配一个字符 #ls -d Day* 列出Day开头,后面匹配所有字符的目录 #ls -d Day? 列出Day开头,后面匹配一个字符的目录 3:>> 在文件中追加重定向 > 在文件中重定向 4:| 管道符 #cat /etc/passwd|wc -l cat /etc/pass

Linux学习笔记之——基础命令学习

1.find 按照名字查找:find / -name file_name 2.zip压缩 1) 我想把一个文件repartition.txt和一个目录invader压缩成为amateur.zip: # zip -r amateur.zip repartition.txt invader 2)我下载了一个aptly.zip文件,想解压缩: # unzip aptly.zip 3)我当前目录下有abc1.zip,abc2.zip和abc3.zip,我想一起解压缩它们: # unzip abc\?.z

Linux学习笔记(十八) vim(二)、编辑模式、vim实践练习

一. 编辑模式 命令行模式替换时如果需要替换的字符中有/符号,那么可以将分隔符换成#或者@ :1,100s#/good/weer/#well#g 将前一百行中的/good/weer/替换为well,:nohl 取消搜索时的高亮显示,:x也是保存并退出,但是如果并未改动文件内容,:wq会修改mtimex不会修改mtime vim练习 cp /etc/dnsmasq.conf /tmp/1.txt (1) 分别向下.向右.向左.向上移动6个字符(6j 6l 6h 6k).(2) 分别向下.向上翻两页