linux的shell基础介绍(2)

8.6 管道符和作业控制:

1、cat 1.txt |wc -l ; cat 1.txt |grep ‘aaa‘

2、ctrl z 暂停一个任务

3、jobs查看后台的任务

4、bg[id]把任务调到后台

5、fg[id]把任务调到前台

6、命令后面加&直接丢到后台

管道符的作用:把前面命令输出的结果交给后面的命令。

示例:

[[email protected] ~]# ls
111  1_heard.txt.bak  1.txt      234    3.txt  aming2      anaconda-ks.cfg  bb.txt
123  1_sorft.txt.bak  1.txt.bak  2.txt  456    aminglinux  a.txt            
[[email protected] ~]# ls |wc -l
16
[[email protected] ~]# find ./ -type f
./.bash_logout
./.bash_profile
./.bashrc
./.cshrc
./.tcshrc
./.bash_history
./.ssh/authorized_keys
./anaconda-ks.cfg
./2.txt
./3.txt
./1_heard.txt.bak
./1_sorft.txt.bak
./1.txt.bak
./安诺云智平台介绍(PPT模板).pptx
./.viminfo
./1.txt
./a.txt
./bb.txt
[[email protected] ~]# find ./ -type f |wc -l     //加管道符计算前面有多少行命令。
18

8.7/8.8 shell变量:

1、PATH,HOME,PWD,LOGNAME   //系统变量(可使用echo查看,如echo $PATH)

2、env命令                       //查看系统环境变量信息

3、 set命令多了很多变量,并且包括用户自定义的变量   //shell脚本

4、 自定义变量a=1 ,示例:

[[email protected] ~]# a=111
[[email protected] ~]# echo $a
111

5、变量名规则:字母、数字下划线,首位不能为数字。示例:

[[email protected] ~]# a1=2
[[email protected] ~]# echo $a1
2
[[email protected] ~]# a_1=3
[[email protected] ~]# echo $a_1
3
[[email protected] ~]# _a1=4
[[email protected] ~]# echo $_a1
4
[[email protected] ~]# 1aa=2
-bash: 1aa=2: 未找到命令
[[email protected] ~]# 2aa=3
-bash: 2aa=3: 未找到命令

6、 变量值有特殊符号时需要用单引号括起来,示例:

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

7、 变量的累加,示例:

[[email protected] ~]# a=1
[[email protected] ~]# b=2
[[email protected] ~]# echo $a$b
12
[[email protected] ~]# a=‘a$bc‘
[[email protected] ~]# echo $a$b
a$bc2
[[email protected] ~]# c="a$b"c       //当多个变量叠加的时候,用双影号把变量影起来。
[[email protected] ~]# echo $c
a2c

8、 全局变量export b=2

[[email protected] ~]# aming=linux          //在本地定义一个变量,仅在本终端上生效
[[email protected] ~]# echo $aming
linux
[[email protected] ~]# export aming=linux   //创建一个全局变量
[[email protected] ~]# bash                 //打开一个子shell  ,shell就是一个进程。
[[email protected] ~]# echo $aming
linux
[[email protected] ~]# pstree   //以树状图的方式展现进程之间的派生关系,显示效果比较直观

9、 unset变量,关闭一个变量,示例如下:

[[email protected] ~]# echo $aming
linux
[[email protected] ~]# unset aming
[[email protected] ~]# echo $aming

扩展:

1、查看当前用户在哪个TTY下,示例:

[[email protected] ~]# w
19:13:35 up 1 day,  1:14,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.4.84     18:27    7.00s  0.21s  0.03s w
root     pts/1    192.168.4.84     19:13    6.00s  0.05s  0.05s -bash
[[email protected] ~]# echo $SSH_TTY
/dev/pts/0

8.9 环境变量配置文件:

1、系统层次etc下面,用户登录加载使用,一般不要动:

/etc/profile 用户环境变量,交互,登录才执行

2、用户层次,在用户家目录下,用户执行shell脚本的时候生效,一般不要动:

/etc/bashrc //用户不用登录,执行shell就生效

~/.bashrc               //执行shell脚本时的配置文件

~/.bash_profile         //用户登录时自动加载配置文件

~/.bash_history      //记录命令历史的文件

~/.bash_logout     //用来定义用户退出时需要做的操作

备注:每个用户下都会有两个隐藏文件,这两种文件的区别在于用户登录时自动加载profile,而profile也会自动调用bashrc,bashrc是执行shell脚本的时候,用户不用登录,就会自动执行shell脚本,只要执行shell脚本,就会调用bashrc里面的配置文件。

[[email protected] ~]# vim .bash_profile
[[email protected] ~]#source .bash_profile   //source执行加载这个文件命令
[[email protected] ~]#. .bash_profile         //.与source命令一样作用
[[email protected] ~]# vim .bashrc

3、PS1=‘[\[email protected]\h \W]\$‘           //改变用户行显示方式的环境变量

4、PS1=‘\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$ ‘   //改变用户行的字体颜色

时间: 2024-10-10 18:49:16

linux的shell基础介绍(2)的相关文章

Linux学习 -- Shell基础 -- 概述

Shell是什么? 命令解释器 编程语言 Linux支持的Shell类型 cat /etc/shells 主要学习 bash 脚本执行方式 echo echo -e 单引号 -- 原始字符串  双引号 -- 支持转义字符串 \e[1;31m xxx  开启颜色 \e[0m    关闭颜色 首行:#!/bin/bash #写好注释 执行方式: 方式1 sh xxx.sh 方式2 chmod 755 xxx.sh  ./xxx.sh 或 绝对路径 Linux学习 -- Shell基础 -- 概述

Linux学习 -- Shell基础 -- Bash基本功能

历史命令 history -c   clear -w   写入 ~/.bash_history 默认保存1000条, 可在/etc/profile中修改 调用 Tab补全 命令.目录.文件 命令别名 alias 别名='原命令' 命令执行顺序: 绝对路径或相对路径 > 别名 > Bash的内部命令 > $PATH环境变量中找到的第一个命令(外部命令) 配置文件:/root/.bashrc 删除:unalias 别名 常用快捷键 输入输出重定向 标准输入输出 输出重定向 注意:2和>

Linux之shell基础

Shell基础 一.shell概述 1) shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动.挂起.停止甚至是编写一些程序. 我们输入的abc...24个字符是通过shell对照ASCII码翻译成二进制来让计算机识别的.我们从操作界面上输入命令,这个命令回车之后把此命令对照ASCII码翻译成指定的二进制,通过shell翻译成计算机内核能识别的二进制,然后内核调用硬件来处理,处理完之后再通过shell反馈给用户. 2)

linux学习-----shell基础

shell基础 1.什么是shell shell是一个C语言开发的程序 他是用户使用linux的桥梁 既是一个命令语言 一种应用程序 这个应用程序提供了一个界面 用户通过这个界面访问操作系统内核的服务 又是一种程序设计语言 2.什么是脚本 脚本就是一条条的文字命令 这些命令是可以看得到的 常见脚本 JS   PHP JSP   SQL    PHTHON PERL    SHELL  RUBY  JAVAFX 3.shell的优点: linux内置的脚本 程序开发效率高(批处理) 语法简单易学

Linux进程编程基础介绍

Linux系统是一个多进程的系统,它的进程之间具有并行性.互不干扰等特点.也就是说,每个进程都是一个独立的运行单位,拥有各自的权利和责任.其中,各个进程都运行在独立的虚拟地址空间,因此,即使一个进程发生异常,它也不会影响到系统中的其他进程. Linux进程是一个具有独立功能的程序关于某个数据集合的一次可以并发执行的运行活动,是处于活动状态的计算机程序.进程作为构成系统的基本细胞,不仅是系统内部独立运行的实体,而且是独立竞争资源的基本实体. Linux进程是一个程序的一次执行的过程,同时也是资源分

Linux系统 shell基础(一)(编辑中)

shell是操作系统中重要的应用,尤其对linux这种命令行模式的操作系统,shell具有重要的意义. 一.什么是shell shell是一个命令解释器,提供用户和机器之间的交互.每次我们登录系统后,出现的界面就是shell,相当于我们在界面输入命令,shell把我们输入的内容转换成系统能够理解的内容传递给系统去执行.shell支持特定的语法,有点像c语言,支持逻辑判断,if while语句.这就是基本的shell.centos7默认的shell是bash,系统中还支持其他类型的shell,比如

大数据学习初体验:Linux学习+Shell基础编程+hadoop集群部署

距离上次博客时间已经9天,简单记录下这几天的学习过程 2020-02-15 10:38:47 一.Linux学习 关于Linux命令,我在之前就已经学过一部分了,所以这段时间的linux学习更多的是去学习Linux系统的安装以及相关配置多一些,命令会一些比较常用的就够了,下面记录下安装配置Linux系统时的注意事项. 这里配置的虚拟机的内存为4g 使用的 CentOS-6.5-x86_64-minimal.iso 映射文件 在进入linux系统中时,需要将虚拟机的主机名修改成自己想要的名字,还要

Linux系统 shell基础(三)

一.shell中的特殊符号 号:通配符,可以匹配零个或任意多个字符? 号:单配符,#号:注释符,该符号后跟的命令或参数不会执行\号:加注在特殊符号前使其失去指令意义|管道符:把一条命令的结果传递给另外一条命令,注意后一条命令不是什么命令都可以,一般是针对文档的命令.例如less.more.head.tail.grep.sed.awk等等.$ :变量前缀,!¥; 多条命令写到一行时用;分割~ 用户家目录替代符,root的家目录,正则中表示匹配符& 放在命令末尾表示把命令放到后台 把正确和错误的结果

Linux:shell基础 :Bash常用快捷键

Bash常用快捷键 Ctrl+C:强制终止. Ctrl+L:清屏.相当于clear命令. Ctrl+U:删除/剪切 光标前的命令.不用再使用删除键,一个字母一个字母的删除了. Ctrl+K:删除/剪切 光标后的命令. Ctrl+V:粘贴 Ctrl+U/K 剪切的内容. Ctrl+R:在历史命令中搜索,按下Ctrl+R后,会出现搜索界面.输入搜索内容,就会在历史命令中进行搜索. Ctrl+D:退出当前终端. Ctrl+A:把光标定位到命令行开头.(也可以直接使用Home按键) Ctrl+E:把光标