开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Linux基础特性总结之二

简介:
+关注继续查看

计算机基础

Linux历史

文件管理(查看、处理)

目录管理

LHS

时间戳、时间、关机

哲学思想

文件命名


Bash的基础特性

    命令行展开

    命令补全

    路径补全

    glob

    快捷键

    管道

    I/O重定向

    别名

    hash


    变量


grep,egrep,fgrep

    

    变量

    配置文件

    算术运算表达式

    测试表达式

    退出状态码


变量:

    定义

        变量名

        变量

数据类型

变量类型

变量类型作用(存储数据的格式,范围,参与的运算)

强类型

弱类型 1不用定义 2 直接赋值,默认存储 为字符型  3 调用时隐式转换


bash作用域的变量

    本地, 环境 , 局部, 位置 , 特殊变量 的生效范围

    

变量命令的法则

    1 不能数字开头,不能用关键字

    2 见名知义

    3 避免全大写, _ 开头

    

文件命名的法则

    1 不能数字开头,不能用特殊字符 (glob通配符)

    2 区分大小写

    3 不能为/ [^/]

    4 长度<255

    5 .开头为隐藏文件

    

哲学思想

    文件/ 组合 小程序/ 文本实现配置 / 尽量不交互


grep    .  [] [^]  * \+ \? \{m\} \{m,n\} \(\) 

egerp  .  [] [^]  * + ? {m} {m,n} ()               |

^,$


egrep 或 “grep并不支持”

[abcd] 字符级别的或

c|cat 左侧整体或右侧整体

(c|c)at 分组或


变量赋值

    name='value' 

        name将单个内存空间命名

        = 赋值符号

        赋值: 将值存储在变量所表示的内存空间中


        ' ' 

        “ ”

        value 值

            纯文本引用赋值    

                name=obama

                空格?

            变量引用实现赋值 加载一个变量内存空间中存储的值至CPU寄存器中,经过处理后,存加内存空间中.

               name="obama jerry"

                  name=$name  ##存回原处

                   var=$name    ##存到另一处

            命令引用实现赋值

                  name=`command`

                  name=$(command)


    引用        强、弱

    ${name} $name 使用的场景


    撤消: Unset


    本地变量查看: set

     环境变量查看: export env printenv

        不要随便给大写字母赋值,可能会导致bash工作特性改变

            PS1 命令提示符前面的字符

            PATH 命令的搜索路径

            UID 

            SHELL


    位置变量: 类似,正则表达式引擎将括号中模式所匹配到的内容记录于内置变量中, \1,\2,\3

        bash将传递给脚本的参数保存在内置变量中, $1,$2,$3,可供脚本中调用,如果,不存在,则为空。

    特殊变量: 

        $0

        $#

        $@

        $*   看做一个整体

        $? 命令的执行状态结果


    换港操作符

            shift #


算术运算

    let 算术运算表达式

    let var=$num1+$num2

    变量引用赋值

        var=$[算术运算表达式]

        var=$((算术运算表达式))

    命令引用赋值

        var=$(expr 算术运算表达式)

            var=$(expr $num1 + $num2)


    生成随机数

        let $RANDOM%$VAR

        $[$RANDOM%10]

        $(($RANDOM%10))

        $( expr $RANDOM % 10)


 配置文件

    全局: /etc/{profile,profile.d} /etc/bashrc

    个人:~/.bashrc, ~/.bash_profile

    功能

            profile 环境 变量 , 脚本 

            bashrc 本地变量   别名   

    登陆方式,读取配置顺序

        交互式登陆

            需要输入密码的登陆  或  su -[l] user

        /etc/profile /etc/profile.d ~/.bash_profile 

        ~/.bashrc /etc/bashrc     


    非交互式登陆

            不需要输入密码的登陆  或 su user 图形终端

            脚本运行在当前shell子shell进程中

        ~/.bashrc /etc/bashrc /etc/profile.d


测试表达式

    数值测试

        符号: -eq,-ne,-gt,-ge,-lt,-le

    字符测试 (左右都需要 加 引号,  除了 pattern不能加引号,且只能用于 ` ` 中)

        符号: == , != , >, < ,  -z "string" -n "string"          A =~ pattern(正则表达式字符组合的模式)

    文件测试

        符号


退出状态码

    exit [#]

    










本文转自 lccnx 51CTO博客,原文链接:http://blog.51cto.com/sonlich/1953102,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
LINUX SHELL命令ls只列出目录名
LINUX SHELL命令ls只列出目录名
0 0
LINUX安装QT的命令
LINUX安装QT的命令
0 0
Linux系统之find命令的基本使用
Linux系统之find命令的基本使用
0 0
阿里云国际版Linux实例中执行wget命令时提示“command not found”
本文www.123clouds.com介绍阿里云国际版Linux实例中执行wget命令时提示“command not found”时该如何解决。
0 0
常用LINUX配置及SHELL命令集锦-网络配置和系统管理操作
常用LINUX配置及SHELL命令集锦-网络配置和系统管理操作
0 0
学点Linux命令没坏处(常用的内置命令)
linux操作系统提供了一些内置的命令,掌握这些有利于我们日常对linux的使用,以及shell脚本的开发维护。下面简单了解几个常用的
0 0
学点Linux命令没坏处(系统管理)
为了能够快速的了解linux系统的状态,更好的管理我们的系统,我们需要掌握和系统相关的一些命令。下面从三个方面了解下Linux的系统管理:系统状态查看 系统状态统计 系统服务管理
0 0
学点Linux命令没坏处(进程管理)
操作系统中每个软件的运行都是相当于开启了一个或多个进程,在window中的任务管理器可以清晰的看到我们正在运行的那些进程并且可以通过鼠标操作结束或调整进程,而在linux我们需要使用命令来进行这一系列操作。本文主要介绍下Linux常用的进程管理命令,主要从启动进程=》查看进程=》修改进程=》结束进程这几个方面来处理。
0 0
学点Linux命令没坏处(文件压缩、解压)
我们使用window对文件的压缩与解压是日常工作的经常用到的,在Linux服务器上压缩和解压的操作也非常重要,例如日志文件过大可以通过压缩保存,对于一些不常用但有比较重要的文件都可以通过压缩来保存。
0 0
学点Linux命令没坏处(磁盘管理)
我们使用Linux系统时,当需要去进行磁盘分区调整,格式化并不像window那样简单可以直接UI操作,所以个人认为了解Linux的磁盘管理可以让我们对Linux的了解更进一步,甚至是对了解计算机原理都会有所帮助。
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
从 Linux 系统内核层面来解决实际问题的实战经验
立即下载
从Linux系统内核层面来解决实际问题的实战经验
立即下载
深入解析数据存储技术原理及发展演进—Linux开源存储技术
立即下载