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. 使用pssh进行并行批量操作

    假如同时给上千台服务器执行一个命令,拷贝一个文件,杀一个进程等,有什么简化运维管理的工具呢?在小型使用中我都是使用for循 环,数量巨大,一方面不确定操作是否成功,一方面for循环语句性能不好估计且是 ...

  2. http-equiv制作跳转欢迎页面

    做网站嘛,没有个欢迎页面肿么能忍? 要忽悠下浏览者的嘛. 然后此处省略一万字... 目的:不需要其他的脚本,直接在meta中控制时间,跳转页面 原理很简单: < meta http-equiv= ...

  3. zw版【转发·台湾nvp系列Delphi例程】HALCON TestRegionPoint1

    zw版[转发·台湾nvp系列Delphi例程]HALCON TestRegionPoint1 unit Unit1;interfaceuses Windows, Messages, SysUtils, ...

  4. 统计方法运行时间【Java实现】

    接口Command:定义命令的执行操作 package common; public interface Command { // 运行方法 void run(); } CommandRuntime ...

  5. Python tricks(6) -- python代码执行的效率

    python作为一个动态语言, 本身学习曲线比较平滑, 效率相比起来会比c++和java低一些. 脚本语言都是运行时编译的, 这个对于效率的影响是非常大的. 我借用参考1的代码, 加了点代码impor ...

  6. web前端----jQuery扩展(很重要!!)

    1.jQuery扩展语法 把扩展的内容就可以写到xxxx.js文件了,在主文件中直接导入就行了. 用法1.$.xxx() $.extend({ "GDP": function () ...

  7. (iOS)关于键盘遮挡textfield问题

    记录一下自己经常遇到问题.使用textfield(textview).当输入框位置比较靠下时,弹出的键盘会遮挡输入框,这是就需要动态移动输入框编辑状态时self.view的位置, 自己经常用的方法有两 ...

  8. PHP发送HTTP请求的6种方法

    方法1: 用 file_get_contents 以get方式获取内容: <?php$url = 'https://wenda.shukaiming.com/';echo file_get_co ...

  9. 一个简单的JavaScript实例

    1 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...

  10. 微信小程序编写新闻阅读列表

    微信小程序编写新闻阅读列表 不忘初心,方得始终:初心易得,始终难守. 本篇学习主要内容 Swiper 组件(轮播图) App.json 里的关于导航栏.标题的配置. Page 页面与应用程序的生命周期 ...