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
Linux下安装中文输入法总结
Linux下安装中文输入法总结
2879 0
|
9月前
|
Linux Shell Go
《Linux操作系统编程》 第五章 文件和文件系统: 了解文件和文件系统的概念和特性,掌握Linux文件系统的基本操作
《Linux操作系统编程》 第五章 文件和文件系统: 了解文件和文件系统的概念和特性,掌握Linux文件系统的基本操作
91 0
|
2月前
|
缓存 算法 Java
Linux内核新特性年终大盘点-安卓杀后台现象减少的背后功臣MGLRU算法简介
MGLRU是一种新型内存管理算法,它的出现是为了弥补传统LRU(Least Recently Used)和LFU(Least Frequently Used)算法在缓存替换选择上的不足,LRU和LFU的共同缺点就是在做内存页面替换时,只考虑内存页面在最近一段时间内被访问的次数和最后一次的访问时间,但是一个页面的最近访问次数少或者最近一次的访问时间较早,可能仅仅是因为这个内存页面新近才被创建,属于刚刚完成初始化的年代代页面,它的频繁访问往往会出现在初始化之后的一段时间里,那么这时候就把这种年轻代的页面迁移出去
|
1月前
|
监控 安全 Unix
探索Linux操作系统的多用户管理特性
【6月更文挑战第3天】本文深入探讨了Linux操作系统中的一项核心功能——多用户管理。我们将从系统管理员的视角出发,分析如何高效地创建、维护和监控多个用户账户,以及这一机制对于确保系统安全性和资源合理分配的重要性。文章将通过实际案例,展示多用户环境下权限设置的最佳实践,旨在帮助读者更好地理解和应用这些关键概念。
|
2月前
|
Linux Shell 调度
【Linux系列】fork( )函数原理与应用详解——了解【父子进程及其特性】(代码演示,画图帮助理解,思维导图,精简)(11)
【Linux系列】fork( )函数原理与应用详解——了解【父子进程及其特性】(代码演示,画图帮助理解,思维导图,精简)(11)
|
8月前
|
Linux Go C语言
Linux下怎样编译通过使用C++17新特性的代码?
以下为示例:通过c++17的新特性实现对文件的读取。
76 0
|
机器学习/深度学习 Linux Shell
Linux 基础-文本处理命令
Linux 基础-文本处理命令
160 0
|
10月前
|
缓存 Oracle 关系型数据库
Linux 内存管理新特性 - Memory folios 解读
if (compound_head(page)) // do A; else // do B; folio 并不完美,或许因为大家期望太高,导致少数人对 folio 的最终实现表示失望。但多数人认为 folio 是在正确方向上的重要一步。毕竟后续还有更多工作要实现。
274 0
|
11月前
|
关系型数据库 Linux API
Linux 内存管理新特性:Memory folios 解读
本文主要讲解folio ,极其在应用中的直接价值。