Linux开车—Shell命令

——Shell常用命令

 

——shell变量

  shell变量不同于JAVA变量,需要指定类型,在Linux中,shell变量是不用指定变量类型的,

可直接输入变量名即可为其赋值。例:y=5;x=‘qwe’,这里面“y”与“x”即为变量

 

——变量的读取

变量的读取,也可理解为变量的打印。通过echo命令完成:

调取变量,在变量前加 “$”符号

  举例

  读取登录用户名:echo $LOGNAME 

  读取用户home目录:echo $HOME

  读取当前系统默认的shell:echo $SHELL

  其中LOGNAME 、HOME、SHELL即为变量。

为了区分变量与字符串,通常用{}隔开,例:${HOME}

 

——环境变量

env或set:查看环境变量

如何将普通的变量变为环境变量?

一:export 变量名=值

  export JAVA_HOME=/usr/lib/jvm/java-1.8.0
  export HADOOP_HOME=/usr/local/hadoop

 

二:变量名1=值1   变量名2=值2

  export 变量名1 变量名2

配置环境变量的地址:/etc/profile

1、变量与变量内容以一个等号“=”连接(name=value) [root@localhost ~]#name=tedu

2、等号两边不能直接接空格符;

3、变量名称只能是英文字母、数字、下划线,但开头不能是数字;

4、变量内容若有空格符可使用双引号或单引号将变量内容结合起来;

  双引号中的特殊字符保有原本的特性:例如:[**] #var= “lang is $LANG”,则#echo $var为lang is en_US.UTF-8

  单引号中的特殊字符仅为一般字符(纯文本) 例如:[**] #var=‘lang is $LANG’,则#echo $var为lang is $LANG

5、可用转义字符“\”将特殊符号(如$、\、!等)变为一般字符;

 

——命令赋值变量

  变量的设置不仅仅是直接设置值,还可以通过命令的形式完成变量赋值。

  变量内容由其他命令提供,使用$(其他命令)

  例:[root@localhost ~]#version=$(uname)

    [root@localhost ~]#echo $version

    Linux

多个变量组合为赋值变量:

    [root@localhost ~]#version=$(uname)

    [root@localhost ~]#version=$version-$(uname –p)

 

• 通常变量名大写为系统默认变量,自己定义变量可以使 用小写,方便区分。

• 取消变量的定义:unset 变量名(如果取消系统环境变 量的话,修改/etc/profile文件,否则重启后该变量还存 在)

    例如:unset version

• 把一个命令定义成一个变量 例如: (反引号`为tab键上方的按键)

两种方式 [root@localhost ~]# cmd=`date +%F`(反引号易被误解,不推荐)

     [root@localhost ~]# cmd=$(date +%F) 推荐方式

 

• 数据重定向

标准输入(stdin):编号为0

标准输出(stdout):编号为1

标准错误输出(stderr):编号为2

1>:以覆盖的方法,将正确的数据输出到文件; •

1>>:以累加的方法,将正确的数据输出到文件; •

2>:以覆盖的方法,将错误输出的数据输出到文件; •

2>>:以累加的方法,将错误输出的数据输出到文件; •

• 命令执行判断

ᅳ $?:命令回传值

ᅳ cmd1&&cmd2:若cmd1执行完毕且正确执行($?=0),则开始执行 cmd2,若cmd1执行完毕且为错误($? ≠ 0),则cmd2不执行。

ᅳ ||:若cmd1执行完毕且正确执行($?=0),则cmd2不执行。 若cmd1执行完毕且为错误($?≠0),则开始执行cmd2

举例:如果/tmp/test存在,则创建/tmp/test/jinxf ls /tmp/test && • touch • /tmp/test/jinxf

 

——find命令

命令格式: ᅳ find • [path...] • [-option] •

name :按照文件名查找文件。

find / • -name • demo 在/目录及其子目录下面查找名字 为 demo的文件

find . • -name • "*.java" 在当前目录及其子目录(用“.” 表示) 中查找任何扩展名为“java”的文件

perm 按照文件权限来查找文件。

find • . • -perm • 755 • [–print] • 在当前目录下查找文件权限位为 755的 文件,即文件所有者可以读、写、执行,组与其他用户可以 读、 执行的文件

user按照文件所有者来查找文件。

find • ~ • -user • root• [–print] 在$HOME目录中查找文件属 主为root的文件

group 按照文件所属的组来查找文件。

find • / • -group • root• [–print] 在/目录下查找属于root用户组的 文件

 

posted @ 2018-08-16 14:50  丶Biu~  阅读(2)  评论(0)    收藏  举报