学习笔记第二十三节课

管道符和作业控制

  • 管道符表示把一个文件的输出的内容, 传递给后面的命令。
  • 比如wc-l 的用法 可以统计ls 下有多少个目录 文件。
  • 还有之前用的find命令。可以列出当前目录下所有文件, 也可以用管道符。
  • 以后会经常用管道符。
  • ctrl+z 可以暂停一个任务。, 可以用fg 恢复任务。(fg+暂停任务的id号 可以恢复指定的暂停任务。)
  • jobs 命令 可以把已经停止的任务给列出来。
  • bg可以把任务放在后台。
  • vim的命令 可能显示的不够明显, 可以用 vmstat来做实验。
  • 可以用bg把它放在后台, 虽然他还在显示。 因为用jobs 它还在运行。
  • 在后台可以用命令 只是会很影响操作, fg 可以把它调到前台,区别就是 没办法敲命令 了。
  • 也可以直接把任务放在后台 +&
  • 比如
  • 在另一个终端是发现不了 别的终端的任务的。
  • 但是可以查看别的终端任务的进程。

shell变量

  • 系统的变量一般都是大写的英文字母。
  • 变量的值可以是一些数字 ,也可以是一串字符串。
  • 系统有很多配置文件, env 可以查看系统常用的环境变量。
  • 还有set 也可以查看变量 还可以看到自己设定的变量。
  • 我们可以定义一个自定义的变量(这个和系统的环境变量不一样)
  • 自己定义的变量可以在set里查看到 (set |grep 123)
  • 也可以用 less (set |less)
  • 系统的环境变量是内置的,没有权限去干涉它,但是可以自己定义一些变量, 写shell脚本经常要用变量。
  • 变量名的规则 变量名可以是字母 数字 下划线,但是首位 不能是数字。
  • 变量的值如果有特殊符号 要用单引号括起来。
  • 也可以用双引号 但是建议用单引号,因为可以脱译。
  • 比如 用双引号 变量的值如果有 特殊符号,用双引号,系统会识别的不是你想要的效果。
  • 变量的累加。连起来显示就是变量的累加。
  • 想要特殊符号 在变量值中起作用 可以把特殊符号单独双引号引起来。

  • 查看自己在那个终端。
  • w查看有两个用户登录了系统。
  • echo $SSH_TTY 查看自己在那个终端。
  • 在pts/0 定义一个变量 yingxin=linux 但是在pts/1 上是没有这个变量的。
  • 而且还可以进入一个子shell shell其实就是一个进程。等于进入了一个新的终端,虽然也在pds/0下。 可以用pstree看一下,我们远程登录sshd 获得了一个bash 然后又在终端上运行了一个bash 。
  • 现在去运行 echo $yingxin 也没有出现刚才的定义。
  • 退出这个终端, 然后去pstree 可以看到 我们是在pds/0 下了。
  • 这个叫做非全局,或者叫本地的变量 仅仅在终端下生效。
  • 可以变成全局的 就是 export 进入了新的终端 依然可以显示这个变量。 这就是全局环境变量。
  • 但是在另一个 pds/1 是没有生效的。因为这两个终端没有任何的交互,所以不会在另一台终端生效。
  • 我们再定义个全局变量 ,然后退出 新的终端,回到上一层终端,会发现 全局变量也没生效,因为全局变量是一层一层向下的,无法向上生效。
  • 这里的export 是以后写脚本的时候 会出现 脚本1里面有脚本2 脚本2会用到脚本1的变量的。
  • 变量可以赋值 也可以取消 就是unset +变量名。

环境变量配置文件。

  • 环境变量配置文件分两个纬度 一个是系统层次,一个是用户层次。
  • etc下属于系统层次(这两个文件不要动它,除非以后知道这是怎么回事了。)
  • .bash 属于用户层次
  • 可以把profile 归为一个类型 是用户或者系统在登录的时候会加载到。
  • bashrc归为一个类型。是用户或者系统在执行一个脚本的时候会加载到。
  • 当遇到一些需求 需要去编辑的时候 可以在用户的家目录下去编辑它。比如之前的编辑命令显示的行数改为5000 就可以在这里添加编辑,要是想全局都变量 需要到etc下去配置。图中的. 和source是同一个作用。 就是加载配置文件里的一些配置。
  • .bash_profile会z自动调用bashrc bashrc会自动调用etc/bashrc
  • .bash_logout 用来定义用户退出的时候的一些操作。比如每次退出终端 想把命令历史删除,就可以把删除命令历史的命令放在这个文件里面。

这里再说一个变量是 PS1=[033[01;32m]\[email protected]\h[033[00m\033[01;36m\w\033[00m\$‘
这个是在etc bashrc里面定义的。

  • 我们最开始登录系统的时候 的命令行 最左侧是root 用户名 然后@ 后面跟的主机名。然后是所在的目录。
  • ps1 就是这个命令行的变量配置文件。
  • echo $ PS1 u 就是用户名, h 就是主机名。 w就是所在目录。$在用户下是$ 在root下是#
  • 这里是一个大写的w 也可以改为小写。
  • 修改后就是一个全局路径。
  • 用户名,主机名都是可以修改的, 方括号也可以取消掉。
  • 我们也可以让他带颜色。
  • PS2 是用在另外一个环境里面的。

原文地址:http://blog.51cto.com/13645927/2107038

时间: 2024-10-13 02:41:38

学习笔记第二十三节课的相关文章

学习笔记第二十八节课

使用w命令查看系统负载 w查看系统的负载,分三部分. 1 是当前时间 和终端开启的时间.加上系统负载. 分别表示一分钟 五分钟 十五分钟 时间段内系统负载值. 表示的含义和cpu有关系,单位时间段内,使用cpu的活动的进程有多少个. 表示一分钟内cpu活动的进程有多少个,这个是个平均值,不一定是整数. 这个数值 当前值为0 表示没有负载,说明系统处于一个很空闲的状态.(如果是0表示系统处于空闲状态,说明你的系统在空跑.) 数值最理想要看你有几颗cpu (逻辑cpu 不是物理的) 现在我们常用的

linux学习笔记-第二十八课-MySQL主从复制,读写分离配置

MySQL主从配置 配置准备将要配置的数据库进行主从同步,主从的服务器上都要有同一个数据库 一.配置mysql主服务器 [[email protected] ~]# vim /etc/my.cnf .................................... log-bin=mysql-bin     <== 打开日志格式 .................................... server-id=1           <== 主从标记 ............

linux学习笔记-第二十四课-LNMP-Nginx高级配置(三)

一.用户认证 用户认证功能是利用Apache的工具htpasswd生成的密钥,所以需要安装Apache的这个工具即可,我们用yum来安装就可以. [[email protected] ~]# yum install -y httpd-tools [[email protected] ~]# htpasswd -cm /usr/local/nginx/conf/.htpasswd mydiscuz New password: Re-type new password: Adding passwor

[ExtJS5学习笔记]第二十三节 Extjs5中表格gridpanel的列格式设置

本文地址:http://blog.csdn.net/sushengmiyan/article/details/39665979 官方文档:http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Ext.grid.column.Date 本文作者:sushengmiyan ----------------------------------------------------------------------------------------------

linux学习笔记-第二十六课-Samba与squid

一.Samba Samba是SMB的一种实现方法,主要用来实现Linux系统的文件和打印服务.Linux用户通过配置使用Samba服务器可以实现与Windows 用户的资源共享.守护进程smbd和nmbd是Samba的核心,在全部时间内运行.nmbd程序使得通过企图计算机可以浏览Linux服务器. 1.Samba的安装 我们只通过yum安装 [[email protected] ~]# yum install -y samba 2.Samba配置 [[email protected] ~]# v

linux学习笔记-第二十五课-NFS与FTP

一.NFS NFS是Network File System的缩写,即网络文件系统. NFS服务器安装 1.NFS服务器主要的软件是rpcbind(rhel 5中的版本叫portmap)和nfs-utils rpcbind:是RPC主程序,负责NFS端口的监听. nfs-utils:是NFS主程序 我们只有通过yum或者RPM来安装就可以 2.启动NFS [[email protected] ~]# service nfs start 启动 NFS 服务:                     

linux学习笔记-第二十二课-LNMP环境搭建(一)

一.LNMP环境搭建前的准备 LNMP就是Linux系统下Nginx+MySQL+PHP这种网站服务器架构,所以需要下载mysql,php,与nginx这三套软件. MySQL : 32位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz 64位 :http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-x86

学习笔记第二十节课

安装与卸载软件 linux下和windows下的安装软件方法差不多.一共有三种方法. rpm和windows下的exe很像,可以直接安装 不用太多的设置.安装路径和文件名都是设定好的. yum是另一种方式去安装rpm包,在centos下安装的包叫rpm包. yum会自动安装依赖的包,(比如要安装一个a包 a包依赖b包,你要先装b包 才能装a包 yum是直接帮你安装好.) 源码包在windows下不常见.就是源代码,用编程语言写的各种文件,可以用编译器编译成可执行的文件. 源码包不容易搞定. yu

centos mysql 优化 第二十三节课

centos mysql  优化  第二十三节课 f