• linux_shell_1_shell 特性简单介绍


    shell的特性
    1、 解释用户输入的命令,并将结果返回给用户
    2、 shell是用户与系统之间的接口程序

    Tip: 类似于 windows下的批处理的command.com

    一、查看linux支持的shell /etc/shells 文件保存shell的种类

    echo $SHELL 用来查看当前使用的shell类型

    可以进入到其他shell中进行操作,例如 /bin/csh 就可以进入csh进行操作和控制

    二、特性
    1、支持快捷键,来查看历史命令

    2、支持自动补全功能,

    3、具有帮助功能, help 就可以查看bash shell具有的内置的命令

    三 存取权限与安全
    1、 文件、目录的权限 - --- --- ---

    ls -l 命令的第一列的信息内容

    drwxr-xr-x 2 root root 4096 Jun 2 02:57 .
    drwxr-xr-x 4 volcanol volcanol 4096 Jun 2 02:43 ..
    -rw-r--r-- 1 root root 113 Jun 2 03:13 hello.c
    -rwxr-xr-x 1 root root 4683 Jun 2 02:46 hello.exe

    第一列信息解读
    拥有者权限 拥有者组权限 其他组权限
    - rwx r-x r-x
    项目的类型 读写执行 读执行 读执行

    项目类型: 文件 -
    目录 d
    块设备 b
    连接文件 -
    命名管道文件 p
    socket文件 s
    读: 可读
    写: 可写
    执行: 可执行文件

    第二列的数字 表示文件的硬连接数目
    第三列 用户
    第四列 用户组
    第五列 文件大小
    第六列 7列、8列 文件最后修改的时间
    第9列 文件名

    2、改变文件的权限
    chmod 改变用户ls中第一列的权限属性, 可以有rwx, 以及s和t 文件
    t表示只有拥有者才能删除文件,如果是目录具有t属性,则用户组在目录里面具有相同的权限
    如果可执行文件,具有t属性,表示文件将在swap分区内执行

    chgrp 改变文件、目录所在组
    chown 改变文件所有者(可用来改变用户组)

    -R: 目录选项,递归的改变,包括所有的子目录

    3、SUID、GUID、sticky bit
    SUID= set uid 的意思,S权限是为了是普通用户在执行一个文件的时候具有文件
    拥有者的权限。

    SUID仅对二进制文件有效,其他文件不能设置。

    GUID: 如果SUID的S权限在用户组,就是GUID的属性

    Sticky Bit仅对目录有效,如果目录具有sticky bit 属性,则表示只有
    root和拥有则具有删除权限。

    4、 umask 当前用户创建文件或者目录时的默认权限,
    umask 0000 设置当前用户的umask值


    umask 的配置文件在 /etc/profile
    下面的内容为root用家目录下 .bashrc 文件的内容
    # .bashrc

    # User specific aliases and functions

    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'

    # Source global definitions
    if [ -f /etc/bashrc ]; then
    . /etc/bashrc
    fi


    5、file查看文件类型

    6、which查找可执行文件

    7、 软连接、硬链接

    硬链接相当于在文件系统中对同一个硬盘地址有两个名字;

    软连接类似于windows下的快捷方式

    1、3 节 shell脚本
    【使用原因】:
    节约时间,可以实现自动化配置,例如自动挂载分区的shell配置文件
    功能强大
    【基本元素】:
    第一行: #!/bin/bash
    【注释】:
    以#表示注释的开头
    配置文件中有两种注释: # 和 ;

    【第一个实例】

    vi hello.sh

    [root@localhost ~]# cat hello.sh
    #!/bin/bash

    #this is a demo shell script

    printchar="hello world!"

    echo $printchar

    编辑完,并修改执行权限后就可以执行这个脚本

    1、4 shell特性
    【别名】
    alias 用于为命令设置别名

    alias 可以用来查看配置的别名

    [root@localhost ~]# alias
    alias cp='cp -i' # cp 其实是cp -i 命令
    alias l.='ls -d .* --color=tty'
    alias ll='ls -l --color=tty'
    alias ls='ls --color=tty'
    alias mv='mv -i'
    alias rm='rm -i'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

    设置别名方法:
    alias 别名='原来的命令'
    例如: alias ll='ls -l --color=tty'

    当前用户的配置文件在 $HOME/.bashrc 文件中定义别名

    【命令替换】
    用 `` 号将命令引起来可以改变命令中字符串的执行模式
    例如:

    [root@localhost ~]# cat myfile
    parm
    findfile

    [root@localhost ~]# mkdir parm findfile

    [root@localhost ~]# ls `cat myfile` -al
    findfile:
    total 16
    drwxr-xr-x 2 root root 4096 Jun 2 05:38 .
    drwxr-x--- 5 root root 4096 Jun 2 05:38 ..

    parm:
    total 16
    drwxr-xr-x 2 root root 4096 Jun 2 05:38 .
    drwxr-x--- 5 root root 4096 Jun 2 05:38 ..

    【后台运行】
    作用: 一个终端可以同时运行多个命令
    在命令的后面加上 & 符号就可以将命令移动到后台运行

    可以利用 jobs -l 命令查看在后台运行的变量

    【变量】
    变量在运行过程存储信息

    【管道】
    管道将一个命令的输出作为另外一个命令的输入

    【重定向】
    重定向用来改变命令运行过程中的输入和输出来源
    [root@localhost ~]# ls > ls.txt
    [root@localhost ~]# ls <ls.txt
    anaconda-ks.cfg findfile install.log ls.txt parm
    desktop.ini hello.sh install.log.syslog myfile sharedir

    【模式匹配】
    正则表达式
    例如: ls *.txt
    [root@localhost ~]# ls *.txt
    ls.txt

    【特殊字符】
    双引号: 用来使
    单引号:
    反引号:
    分号:允许一个行运行多个命令
    &:
    括号:创建成组的命令
    大括号:创建命令快
    空格、制表符、换行符:当做空白



  • 相关阅读:
    Cocos Creator 镜头跟随(cc.follow)
    Cocos Creator 虚拟摇杆
    Creator Cocos 获取舞台尺寸 (屏幕大小)
    Cocos Creator中的计时器 (setTimeOut ,setInterval,Schedule )
    Cocos Creator Touch_End的触发条件 (Mouse事件)
    Cocos Creator Spine骨骼动画 (局部换装、全局换装)
    Cocos Creator 粒子效果
    Cocos Creator 的Http和WebSocket
    Android中图表AChartEngine学习使用与例子
    Android应用加入微信分享
  • 原文地址:https://www.cnblogs.com/volcanol/p/2531332.html
Copyright © 2020-2023  润新知