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. vue-router中参数传递 && 编程式导航 && 坑 && beforeRouteEnter

    第一部分: vue-router参数传递 通过router-link我们可以向路由到的组件传递参数,这在我们实际使用中时非常重要的. 路由: { path:"/DetailPage" ...

  2. PAT 1040 Longest Symmetric String[dp][难]

    1040 Longest Symmetric String (25)(25 分) Given a string, you are supposed to output the length of th ...

  3. [LeetCode] 437. Path Sum III_ Easy tag: DFS

    You are given a binary tree in which each node contains an integer value. Find the number of paths t ...

  4. e.printStackTrace() ; 是什么意思?

    catch(Exception e){e.printStackTrace() ;} 当try语句中出现异常是时,会执行catch中的语句,java运行时系统会自动将catch括号中的Exception ...

  5. virtualBox虚拟机联网

    1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

  6. VUE路由去除#问题

    最近自己在写一个vue的小型管理系统,在浏览器中看到的路由都是带有#的,很是不好看.为了解决此问题,大家一般都会想到:mode: 'history'.可是在开发阶段没有问题,但是一旦build打包后, ...

  7. [转]mac上安装android sdk

    一.先下载android sdk for mac 给二个靠谱的网址: a). http://down.tech.sina.com.cn/page/45703.html b). http://mac.s ...

  8. vim的简单配置

    本文大部分内容转载自:https://blog.csdn.net/lhy2932226314/article/details/69668891 vim是从 vi 发展出来的一个文本编辑器.功能丰富,在 ...

  9. 关于webpack的path和publicPath。

    path:所有输出文件的目标路径; publicPath:输出解析文件的目录,url 相对于 HTML 页面 区别:path是webpack所有文件的输出的路径,必须是绝对路径,比如:output输出 ...

  10. Python入门之字典的操作详解

    这篇文章主要介绍了Python 字典(Dictionary)的详细操作方法,需要的朋友可以参考下: Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一 ...