• shell学习之路:shell基础大全1


    http://note.youdao.com/share/?id=a9d02257b639c94323c818bc38423919&type=note
     
    别名命令alias:http://note.youdao.com/share/?id=cbcbd1156ab1f0835c4f76131dbf98e2&type=note
    查看当前用户历史命令history:http://note.youdao.com/share/?id=e878f9ed7bb7e8849fa57b67dc1eb7f3&type=note
    添加新硬盘并分区:http://note.youdao.com/share/?id=8cf27602cdce36e1d4160f00e9004b00&type=note
    dd if=输入文件 of=输出文件 bs=字节数 count=个数
    选项:
        if=输入文件    指定源文件或源设备
        of=输出文件    指定目标文件或目标设备
        ba=字节数    指定一次输入/输出多少字节,即把这些字节看做一个数据块
        count=个数    指定输入/输出多少个数据块
    例子:
    [root@loaclhost]# date ; dd if=/dev/zero of=/root/testfile bs=1k count=100000 ; date 
    可以通过命令执行 查看执行前后的是date时间差
    例子2:我们可以使用该命令进行数据对考 或者烧盘
    [root@localhost]# date ; dd if=/dev/cdrom of=/data/CentOS6.4-one.iso ; date
    这样我就可以吧光盘烧录到 /data/下 好方便以后用与搭建 本地yum源

    管道符:命令1的正确输出作为命令2的操作对象
    [root@localhost]# ls | grep fengtaotao
    要求是 管道符前面的命令必须有输出
    [root@localhost]# ll -a | morp   分屏显示 ll -a的输出内容 前提是命令1必须有正确输出

    netstat -an 查看netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。[1] 使用时如果不带参数,netstat显示活动的 TCP 连接。   
    例如:查看当前服务器上有几个远程连接
    [root@localhost]# netstat -an | grep "ESTABLISHED"
    当然我们也可以只统计行数
    [root@localhost]# netstat -an | grep "ESTABLISHED" | wc -l

    grep命令:

    [root@localhost]#grep [选项] '搜索内容' 文件名
    选项:
    -i:不区分大小写
    -n:显示行号
    -v:反向查找
    --color=auto:收索关键字显示颜色

    通配符:
    通配符 作用
    ? 匹配一个任意字符
    *
    匹配0个或任意多个任意字符,也就是说可以匹配任意内容
    [] 匹配中括号中任意一个字符。例如[abcd]代表匹配abcd当中的任意一个
    [-]
    匹配中括号中任意一个字符,-代表范围例如[a-z][A-Z][0-9]等等
    [^]
    逻辑非,表示匹配不是中括号中的一个字符例如[^0-9]代表不是数字的字符
    '' 单引号,在单引号中所有的特殊字符将作为文本例如:$ @ *等
    ""
    双引号中特殊符号都没有含义,但对于$   '例外调用变量的值,应用命令,转符号等
    反引号
    与下$()意义一样  例如:echo `ls`  或echo $(ls) 输出的是ls命令结果
    $()
     
    #
    在Linux当中#号为注释 只要以#开头的都是无效的注释
    $ 用于调用变量的值,如果要调用变量name的值 需要使用$name 变量的定义name=user1  
    转移符 在特殊意义符号前面加会失去其特殊意义 $name 就不是变量

    变量: linux 下有 1、用户自定义变量;2、环境变量;3、位置参数变量;4、预定义变量
    用户自定义变量:
        变量定义:
        [root@loclahost]#name=user1   [root@localhost]#haha=$(date) 
         变量叠加:
        [root@localhost]#name="$name"222 
        [root@localhost]#echo $name
        user1222
        或者使用 name=${name}222 与上一样
    查看变量:
    我们可以使用set来查看变量(set 查看系统当中所有的变量包括自定义变量)
    [root@localhost]# set | grep name
    name=user1222
    卸载变量
    unset name

    环境变量:
    设置环境变量:
    export 变量名=变量值
     
    可以使用pstree命令查看 进程结构
     
     
    ps1 用来修改定界符[root@localhost]# 的设置

    预定义变量:
    预定义变量 作用
    $?
    最后一次执行的命令的返回状态,如果这个变量的值为0表示上一个命令正确执行;如果返回的值非0证明没有执行成功,具体的返回值可以百度查询返回错误代号
    $$
    当前进程的进程号(PID)
    $! 后台运行的最后一个进程的进程号(PID)
     
     
     
     
     
     

    接收键盘输入:read [选项] [变量名]
    选项:
        -p "提示信息":在等待read输入时,输出提示信息
        -t秒数:    read命令会一直等待用户输入,使用-t选项后面加秒数 等待多少秒后执行默认
        -n字符数:  read命令只接受指定的字符数,就会执行
        -s:    银城输入的数据,适合用于机密的信息例如密码

    bash运算符:
    declare 声明变量类型
    [root@localhost]#declare[+/-][选项] 变量名
    选项:
        -:    给变量设置类型属性
        +:    取消变量的类型属性
        -i:    将变量声明为整数型
        -x:    将变量声明成环境变量  (也可以用 export 变量)
        -p:    显示制定变量的被声明的类型
    例子:
    [root@localhost]#aa=11 ; bb=22; declare -i cc=$aa+$bb && echo $cc
    33
    最常见的方式是 cc=$(($aa+$bb)) 
    在运算当中我们只要在外部用$(())双小括号括起来 里面的算法与数学公式算法相同例如:
    [root@localhost]#aa=$(((11+3)*3/2)) && echo $aa
    21  等到的结果就是21
    还有逻辑与 && 逻辑或 ||
    变量置换方式 这个表类似于PHP中的三元运算符:
    例如:
    [root@localhost]#

    环境变量:(环境变量允许)环境变量一般都是大写
        环境变量配置文件简介:
        1.source命令:
            [root@localhost]#source 配置文件   或者 . 配置文件  都可以让他立即生效无效重启
        /etc/profile
        /etc/profile.d/*.sh
        /etc/bashrc
        上面三个路径的环境变量配置文件是对所有用户生效的
        ~/.bash_profile
        ~/.bashrc
        上面两个路径的环境配置文件时对当前用户生效的配置文件
    环境变量关系流程图:
        
    注销环境配置文件: ~/.bash_logout  默认是空的
    历史命令配置文件: ~/.bash_history 
    SHELL登录信息:
    登录后的信息:对本地和远程都生效:/etc/motd 默认是空的可以添加
    [root@localhost]#echo "aaa" >> /etc/motd
    [root@localhost]#exit
    [root@localhost]#从新登录后就有了
    本地终端登录信息: /etc/issue
    远程终端登录信息:
  • 相关阅读:
    (转) qt: usb热插拔(linux);
    Qt: usb热插拔检测(windows);
    C++: 模板函数定义与声明分离;
    bootstrap: 内联表单;
    thinkphp5: 循环输出表格,并固定表格单元宽度(过长省略号)
    响应式菜单栏: bootstrap + jQuery
    Qt: 数据库操作;
    qt: 获取sql数据表的所有的字段;
    Qt: 非阻塞时间延迟;
    egg中使用jwt
  • 原文地址:https://www.cnblogs.com/patf/p/4618385.html
Copyright © 2020-2023  润新知