Shell,见名知意,就是一个作为用户与Linux OS间接口的程序,允许用户向OS输入需要执行的命令。Shell众多,这里只介绍Bash。

  0)实验的Shell版本

显示shell版本:

/bin/bash --version

  结果:

  

  1)文件.bash_history

该文件保存历史命令,一般是当用户正常退出Shell的时候保存,所在目录为:”~/.bash_history“。  

命令显示~目录下,所有以.开始的文件:

 ls -a ~ | grep ".*"

  结果:

  

  ①!!,两个叹号表示“执行上一条命令”;

  ②!n,表示执行历史命令中的第n条命令;

  ③!string,表示执行历史命令中第一次以string开头的命令;

  

  在上图中,还有些其它以.开头的隐藏文件,且意义非凡,它们都是用户级的环境变量配置文件(当然,还有系统级别的):

  ◆ .bash_profile或.profile:定义用户专用的shell信息。当用户登录时,该文件将执行且仅执行一次。默认情况下,它设置了一些环境变量,执行用户的.bashrc文件。默认内容如下:

  

  ◆ .bashrc:该文件包含专用于当前用户的shell的bash信息,当用户登录时以及每次打开新的shell时,该该文件被读取。一般用户自定义的alias或自定义变量会存到该文件中。默认内容如下:

  

  ◆ .bash_logout:当退出shell时,将执行该文件。一般可将一些清理工作放在该文件中。默认内容如下:

  

  2)重定向

  重定向包括:重定向输出和重定向输出。

  ①重定向输出

  ◆ 将显示内容重定向到test.txt文件中:

ls -l > test.txt

  使用vim打开文件,结果如下:

    

◆ 将ps命令结果追加到test.txt文件中:

ps >> test.txt

  结果:

  

  ②重定向输入

  将test.txt文件的内容重定向输入给more命令:

more < test.txt

  结果:

  

  3)管道

  管道操作符为|,用来连接进程,并且连接进程的数目是没有限制的。不同与MS-DOS,Linux下通过管道连接的进程可以同时运行,并随着数据流在它们之间的传递可自动地进行协调。

  查看系统中所有进行,但不包括shell:

ps -xo comm | sort | uniq | grep -v sh | more

  结果:

  

    

  

Linux Shell学习笔记(一)的更多相关文章

  1. Linux Shell 学习笔记 一 目录结构

    以Red Hat Enterprise Linux 各版本为例,RHEL中目录具体作用如下, /bin       存放普通用户使用的命令 /sbin     存放管理员可以执行的命令 /home   ...

  2. linux shell学习笔记二---自定义函数(定义、返回值、变量作用域)介绍

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ f ...

  3. Linux & Shell 学习笔记【1/2】

    因为工作上的需要,花了些许时间去熟悉学习Linux和Shell,现在也花点事件在此记录一下以加强巩固学习的内容吧.学的不算深入,所以都是一些比较junior的内容. 在下一篇随笔会详述之前写的一个用于 ...

  4. Linux Shell 学习笔记

    2.return与exit区别 return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定,当然如果是在主函数main, 自然也就结束当前进程了,如果不是 ...

  5. Linux Shell学习笔记:exit退出状态代码

    inux提供$?特殊变量来保存最后一条命令执行结束的退出状态.执行完一条命令后,立即执行echo$?,可以查看最后一条命令的退出状态值. 正常的情况下,命令成功执行完成的退出状态是0,如果非0,则命令 ...

  6. linux shell 学习笔记--内部命令学习

    .基本命令 新手必须要掌握的初级命令 ls 基本的列出所有文件的命令.但是往往就是因为这个命令太简单,所以我们总是低估它.比如 ,用 -R 选项,这是递归选项,ls 将会以目录树的形式列出所有文件, ...

  7. linux shell学习笔记

    一  变量 声明变量: my_var='ddd'使用变量: ${my_var}设置为只读变量: readonly my_var删除变量: unset my_var 注意只读变量不能被删除 变量类型:( ...

  8. linux shell 学习笔记01

    1.命令历史记录history !$     :调用上一条命令的执行结果 !100   :运行history记录里的第100条命令 !ser   :调用以ser开头的最后一次执行的命令 ctrl+r  ...

  9. Linux Shell 学习笔记 00

    1.Bash = Bourne Again SHell 2.终端提示符: #普通用户 username@hostname$ #管理员用户 root@hostname# 3.shell脚本通常是一个以s ...

随机推荐

  1. XenServer:使用XenCenter开设VPS(多图完整版)

    打铁要趁热,咱们接着来玩XenServer.昨天赵容用机房提供的KVM给服务器装了XenServer,今天我们来玩更有意思的:开小鸡.装好XenServer之后,访问我们的服务器IP,就可以看到Xen ...

  2. asp.net本地读取excel正确。但在iis服务器上就报错 未在本地计算机上注册“Microsoft.ACE.OleDb.12.0”提供程序

    本地vs2010可以上传ecxel文件.并读取数据,但部署到本地IIS.并访问.则提示: 未在本地计算机上注册“Microsoft.ACE.OleDb.12.0”提供程序 首先:确保安装了Micros ...

  3. VMware coding Challenge:Date of Weekday

    这道题再次证明了这种细节的题目,画个图容易搞清楚 import java.util.Scanner; public class Solution2 { static int DateOfWeekday ...

  4. Leetcode: Longest Consecutive Sequence && Summary: Iterator用法以及ConcurrentModificationException错误说明

    Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F ...

  5. 《Enhanced LSTM for Natural Language Inference》(自然语言推理)

    解决的问题 自然语言推理,判断a是否可以推理出b.简单讲就是判断2个句子ab是否有相同的含义. 方法 我们的自然语言推理网络由以下部分组成:输入编码(Input Encoding ),局部推理模型(L ...

  6. Trove系列(七)——Trove的Mysql的复制功能介绍

    描述提供各种复制功能的支持对于Trove来说是很关键的.本章节将描述各种使用案例和相关的用户需求.并依次提出了MySQL的初始阶段的实现.Mysql的复制功能介绍概述先介绍一下MySQL的复制功能原理 ...

  7. 解决fiddler不能抓取eclipse发出接口请求的问题

    使用eclipse执行接口时,发现在fiddler里面抓不到这些请求. 网上找了很多资料都是让在Eclipse 中设置:Windows > Preferences > Java > ...

  8. python 用正则表达式把”0102030405”分成5组('0', '1'), ('0', '2'), ('0', '3'), ('0', '4'), ('0', '5')

    把”0102030405”分成5组('0', '1'), ('0', '2'), ('0', '3'), ('0', '4'), ('0', '5') re.findall(r"(\d)(\ ...

  9. 20165207 2017-2018-2《Java程序设计》课程总结

    20165207 2017-2018-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:我期望的师生关系 预备作业2:学习基础与C语言调查反馈 预备作业3:Linux安装与命令 ...

  10. Google、亚马逊、微软 、阿里巴巴开源软件一览

    Google.亚马逊.微软 .阿里巴巴开源软件一览 大公司为什么要发布开源项目?一是开源能够帮助他人更快地开发软件,促进世界创新,主要是社会价值层面的考虑.二是开源能够倒逼工程师写出更好的代码.三是开 ...