2018-03-08阿铭Linux学习

8.6 管道符和作业控制

cat 1.txt |wc -l;cat 1.txt |grep ‘aaa‘
ctrl+z 暂停一个任务
jobs 查看后台的任务
bg[id] 把任务调到后台
fg[id] 把任务调到前台
命令后面加 & 直接丢到后台

8.7 shell变量 上

PATH,HOME,PWD,LOGNAME
env 命令
set 命令多了很多变量,并且包括用户自定义的变量
自定义变量a=1
变量命名规则:字母,数字,下划线,首位不能为数字
变量值有特殊符号时,需要用单引号括起来
变量的累加
全局变量export b=2
unset变量

    [[email protected] ~]# env
    XDG_SESSION_ID=1
    HOSTNAME=aming-01
    SELINUX_ROLE_REQUESTED=
    TERM=xterm-256color
    SHELL=/bin/bash
    HISTSIZE=2000
    SSH_CLIENT=192.168.104.1 55630 22
    SELINUX_USE_CURRENT_RANGE=
    OLDPWD=/tmp/d6z
    SSH_TTY=/dev/pts/0
    USER=root
    LS_COLORS=rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:
    MAIL=/var/spool/mail/root
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    PWD=/root
    LANG=zh_CN.UTF-8
    SELINUX_LEVEL_REQUESTED=
    HISTCONTROL=ignoredups
    SHLVL=1
    HOME=/root
    LOGNAME=root
    SSH_CONNECTION=192.168.104.1 55630 192.168.104.160 22
    LESSOPEN=||/usr/bin/lesspipe.sh %s
    XDG_RUNTIME_DIR=/run/user/0
    _=/usr/bin/env

    [[email protected] ~]# a1=2
    [[email protected] ~]# echo $a1
    2
    [[email protected] ~]# a_2=3
    [[email protected] ~]# echo $a_2
    3
    [[email protected] ~]# _a3=4
    [[email protected] ~]# echo $_a3
    4
    [[email protected] ~]# 5a=6
    -bash: 5a=6: 未找到命令

    [[email protected] ~]# a=‘a$bc‘
    [[email protected] ~]# echo $a
    a$bc
    [[email protected] ~]# b="a$bc"
    [[email protected] ~]# echo $b
    a

    [[email protected] ~]# b=2
    [[email protected] ~]# c=a"$b"c
    [[email protected] ~]# echo $c
    a2c

8.8 shell变量 下

    [[email protected] ~]# w
     23:57:06 up  1:53,  1 user,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
    root     pts/0    192.168.104.1    22:04    2.00s  0.23s  0.00s w
    [[email protected] ~]# echo $SSH_TTY
    /dev/pts/0

非全局变量,仅在当前登陆的TTY有效

export b=1  全局变量,仅在当前 shell 里有效

shell变量是局部的,而环境变量是全局的。环境变量是通过Shell命令来设置的,设置好的环境变量又可以被所有当前用户所运行的程序所使用。对于bash这个Shell程序来说,可以通过变量名来访问相应的环境变量,通过export来设置环境变量。

vi .bash_profile                #修改用户环境变量文件

需要注意的是,最好不要把当前路径”./”放到PATH里,这样可能会受到意想不到的攻击。

设置变量的三种方法

    1. 在/etc/profile文件中添加变量【对所有用户生效(永久的)】

        用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。

        例如:编辑/etc/profile文件,添加CLASSPATH变量

        # vi /etc/profile

        export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
        注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效

    2.在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】

        用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。

        例如:编辑guok用户目录(/home/guok)下的.bash_profile

        $ vi /home/guok/.bash.profile

        添加如下内容:

        export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
        注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效

    3.直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】

        在shell的命令行下直接使用[export变量名=变量值]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

8.9 环境变量配置文件

/etc/profile   #用户环境变量,交互,登陆才执行
/etc/bashrc    #用户不用登陆,执行 shell 就生效
~/.bashrc
~/.bash_profile
~/.bash_history
~/.bash_logout   #用户退出时,需要做的动作,如删除命令历史记录

/etc/profile  /etc/bashrc  不要轻易修改这两个环境变量配置文件,建议修改用户环境变量 ~/.bashrc  ~/.bash_profile

原文地址:http://blog.51cto.com/9298822/2084381

时间: 2024-10-31 06:08:44

2018-03-08阿铭Linux学习的相关文章

2018-03-05 阿铭Linux学习

7.1 安装包的三种方法 rpm 工具 类似Windows exe安装包,安装有固定的路径 软件依赖包需要手动依次安装 Redhat公司开发 yum 使用python 开发的 自动安装依赖包 在线安装,最方便 源码包 先编译在安装 7.2 rpm包介绍 设置光驱并挂载安装镜像文件 rpm包格式,报名.版本号.发布版本号.平台 rpm -ivh rpm包文件 //安装 rpm -Uvh rpm包文件 //升级 rpm -e 包名 //卸载 rpm -qa //查询安装的包 rpm -q 包名 //

2018/03/09 每日一个Linux命令 之 chgrp/chown

每日一个Linux命令 2018-03-09 Linux 命令 chgrp/chown chgrp [-参数] [文件或者目录] chown [-参数] [文件所有者]:[文件所属群组] [文件或者目录] 世界是变化的,果然是正常的,今天有个同事离职了,在互联网行业,这也正常. 拥抱新变化. 正题: Linux有组的概念. 如果把组比作一个家的话,那么里面的文件就像你的私房钱,你可以花. 在这个家里的你老婆,也可以花,虽然比喻很粗糙,但是说明了组在管理文件中的作用. 为什么要设置组的概念呢? 还

2018-03-01 阿铭Linux学习

6.1 压缩打包介绍 Linux 常见压缩格式 .zip .gz .bz2 .xz .tar.gz .tar.bz2 .tar.xz 6.2 gzip 压缩工具 gzip 1.txt gzip -d 1.txt.gz / unzip 1.txt.gz gzip -# 1.txt // #范围1-9,默认6 不能压缩目录,压缩完成后源文件被删除 zcat 1.txt.gz gzip -c 1.txt > /tmp/1.txt gunzip -c /root/1.txt.gz > /tmp/1.t

2018/03/10 每日一个Linux命令 之 cksum

每日一个Linux命令 2018-03-10 Linux 命令 cksum cksum [文件]  今天楼下的一个大妈去世了,不仅感叹,现如今,真的和以前不一样了,楼上楼下都不知道住的是谁? cksum命令用于检查文件的CRC是否正确.确保文件从一个系统传输到另一个系统的过程中不被损坏. CRC是一种排错检查方式,该校验法的标准由CCITT所指定,至少可检测到99.998%的已知错误. 说明已经很清楚了,这个命令的作用也就是检查文件的相同性,在于MD5和HASH的选择上,使用哪种方法,到时候就看

2018-03-12阿铭Linux学习

9.1 正则介绍 grep (上) 什么是正则 正则就是一串有规律的字符串 掌握好正则对于编写shell脚本有很大帮助 各种编程语言中都有正则,原理是一样的 本章主要学习 grep/egrep.sed.awk 掌握规律 grep grep [-cinvABC] 'work' filename -c 行数 -i 不区分大小写 -n 显示行号 -v 取反 -r 遍及所有子目录 -A 后面跟数字,过滤出符合要求的行以及下面n行 -B 后面跟数字,过滤出符合要求的行以及上面n行 -C 后面跟数字,同时过

2018/03/15 每日一个Linux命令 之 mv

Linux mv命令用来为文件或目录改名.或将文件或目录移入其它位置. mv [参数] [要移动/更名的文件] [移动路径/要更改名字] 平常用的很多了,这里就不多讲解了,只介绍两个重要参数就好了 -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件; -f: 在mv操作要覆盖某已有的目标文件时不给任何指示; 如果不加参数 直接使用mv 默认是不询问直接覆盖的 如果你不知道这个文件夹之前有没有同名文件,最好移动前使用 -i 看一下,或者其他方法. 原文地址:https://www.cnblog

2018-02-27 阿铭Linux学习

5.1 vim 介绍 vi 的升级版文件编辑工具 带有颜色显示 yum install -y vim-enhanced 一般模式,编辑模式,命令模式 5.2 vim 颜色显示和移动光标 [[email protected] ~]# cp /etc/passwd /tmp/ [[email protected] ~]# vim /tmp/passwd vim打开文件会显示颜色,会根据文件的内容,文件的格式等显示不同的颜色 vim /etc/vimrc vim配置文件 h或左方向键 光标向左移动一个

2018-02-28 阿铭Linux学习

5.5 进入编辑模式 i 在光标位置进入编辑模式I 在光标所在行首位置进入编辑模式o 在光标所在行下一行插入新行进入编辑模式O 在光标所在行上一行插入新行进入编辑模式a 在当前字符后插入A 在光标所在行的行尾插入 5.6 vim 命令模式 /word 向光标之后查找一个字符串word ,按n向后继续搜索 ?word 向光标之前查找一个字符串word,按n向前继续搜索 :n1,n2s/word1/word2/g 在n1-n2行之间查找word1并替换为word2,不加 g 则只替换每行的第一个wo

2018-03-06阿铭Linux学习

7.6 yum更换国内源 cd /etc/yum.repos.d/ rm -r dvd.repo wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 或者 curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo yum list cp -r /etc/yum.repos.d.bak/* /etc/yum.repos.d/ 7.7 yum 下载rpm包 安装扩展源epel yu