lesson - 10

课程大纲:

1. shell特性 命令历史 history !!  !$  !n  !字符 Tab 键可以补全文件路径或者命令 alias  a=“b”  unalias a 通配符 *匹配零个或多个字符 ?匹配一个字符 输入输出重定向 >, >>,  <,  2>, 2>> 管道符 | 作业控制 ctrl+z, jobs,  fg,  bg

2. 变量 系统变量名都是大写,echo 可以查看变量名 env 可以列出当前用户的所有环境变量以及用户自定义全局变量 set命令可以把所有变量列出来包括系统的和自定义的全局变量以及当前shell自定义变量 linux下设置自定义变量规则: (1)格式为 “a=b”, 其中a为变量名,b为变量的内容,等号两边不能有空格;(2)变量名只能由英、数字以及下划线组成,而且不能以数字开头;(3)当变量内容带有特殊字符(如空格)时,需要加上单引号;(4)如果变量内容中需要用到其他命令运行结果则可以使用反引号;(5)变量内容可以累加其他变量的内容,需要加双引号;

系统所有用户使用变量: export myname=Aming  全局变量,加入/etc/profile并source /etc/profile永久生效 系统某个用户使用变量: export myname=Aming 加入当前用户家目录下的 .bashrc中 source .bashrc export myname=Aming  全局变量,export 不加任何选项表示,声明所有的环境变量以及用户自定义变量 用户自定义变量,可以使用 unset 变量名 进行解除变量设置

3. 系统和个人环境变量的配置文件 /etc/profile  PATH, USER, LOGNAME, MAIL, INPUTRC, HOSTNAME, HISTSIZE, umask等 /etc/bashrc  $PS1  umask    以后如果设置umask修改 /etc/profile 不要改这个文件 .bash_profile  用户自己的环境变量 .bashrc  当用户登录时以及每次打开新的shell时, 执行该文件 .bash_history  记录命令历史用的 .bash_logout :当退出shell时,会执行该文件。

4. shell中的特殊符号 * 匹配符号,零个或多个任意字符 ? 匹配符号,1个任意的字符 # 注视说明用的,使后面的内容失去原本的意义 \ 脱义字符,将特殊字符还原为普通字符 |将符号前面命令的结果丢给符号后面的命令,一般针对文档操作的命令比较常用,例如cat, less, head, tail, grep, cut, sort, wc, uniq, tee, tr, split, sed, awk等等

$ 引用变量,还有 !$ ; 分号,多条命令写一行时,分隔命令 ~ 用户家目录 & 放到命令最后面,让命令在后台运行 >, >>, 2>, 2>>  [错误]重定向,追加[错误]重定向 [ ] 中括号,中间为字符组合,代表中间字符中的任意一个 ls 1[23a].txt

5. 常用命令: 1)cut 语法: cut -d ‘分隔字符’ [-cf] n 这里的n是正整数 -d 后面指定分隔符,用单引号引起来,-f 指定第几段 cut -d ‘:‘  -f 1 /etc/passwd |head -n 5 -c 后面只有一个数字表示截取第几个字符head -n2 /etc/passwd|cut -c2 -c 后面跟一个数字区域,表示截取从几到几head -n2 /etc/passwd|cut -c2-5

2)sort 语法: sort [-t 分隔符] [-kn1,n2] [-nru]  (n1<n2) 不加选项,从首字符向后,依次按ASCII码值进行升序排序sort  /etc/passwd -t 后指定分隔符,-kn1,n2表示在指定的区间中排序,-k后面只跟一个数字表示对第n个字符排序,-n表示使用纯数字排序 sort -t: -k3 -n /etc/passwd -r 表示以降序的形式排序 sort -t: -k3,5 -r /etc/passwd -u 去重  cut -d: -f4 /etc/passwd |sort -n -u

3)wc 用于统计文档的行数、字符数、词数 不加任何选项,会显示行数、词数以及字符数 -l 统计行数 -m 统计字符数 -w 统计词数

4)uniq uniq 去重复,最常用就一个 -c 用来统计重复的行数,去重前要先排序sort testb.txt |uniq -c

5)tee 后跟文件名,类似于>,比重定向多了一个功能,在把文件写入后面所跟的文件中的同时,还显示在屏幕上

6)tr 用来替换字符 最常用的就是大小写转换: head -n2 /etc/passwd |tr ‘[a-z]‘ ‘[A-Z]‘ tr 替换一个字符也是可以的 grep ‘root‘ /etc/passwd |tr ‘r‘ ‘R‘

7)split 切割大文件用的 -b : 按大小来分割单位为byte  split -b50 1.txt 默认会以xaa, xab, …这样的形式定义分隔后的文件名,也可以指定文件名 split -b50 1.txt 123 -l : 按行数分隔,split -l10 file

6. && 和 || command1 ; command2  前面命令是否执行完成都会执行后面命令 command1 && command2 只有前面命令执行成功才会执行后面命令 command1 || command2  只有前面命令不成功再去执行后面命令

时间: 2024-10-20 20:52:18

lesson - 10的相关文章

Java学习lesson 10

API(应用程序编程接口) *  public final Class getClass();//返回Object的运行类(java的反射机制学) *  Class类中有一个类 *public String getName();//以String类型返回它所表示的实体(获取当前正在运行的类         的全路径) *  Integer类中有一个方法 public  static String toHexString(int i);//将一个int类型的数据转换成一个人十六进制的    字符串

[Artificial Intelligence] {ud954} Lesson 10: 10. Planning under Uncertainty

Robot Tour Guide Examples MDP Grid World Problems With Conventional Planning For this problem (and only this problem) assume actions are stochastic in a way that is different than described in 4. MDP Gridworld. Instead of an action north possibly goi

lesson - 10 课程笔记

CTRL+C CTRL+D :前者用于结束一个程序,后者用于结束终端输入. --符号 *:匹配任意长度的任意字符 ?:匹配任意一个字符 #: shell 中表注释 \: 脱意符号 []:任意属于字符组的字符 {}:将大括号中的字符串以及前导字符串和后继字符串作为匹配条件 >>:附加到指定文件的结尾 >:输出重定向 <:输入重定向 |:管道符,用于连接多个命令,前一个命令的输出作为后一个命令的输入 ||:逻辑或 &&:逻辑与,前面命令成功后执行后面命令 &:在

Lesson 10 -exchange 2010 High Availability

1-DAG DAG技术主要用于exchange 2010 mailbox角色高可用性 Exchange2010标准版只支持5个数据库, 企业版支持100个数据库 复制原理: 其实就是复制LOG,然后篡改数据库, DAG支持16个节点 1.1配置DAG注意的方面 1-在配置DAG的时候,需要有见证服务器(其实就是一个文件,自动会创建),可以是非 exchange mailbox角色 2-exchange mailbox必须要有2块网卡, 3-见证服务器的本地管理员组里必须包含'exchange t

[Machine Learning for Trading] {ud501} Lesson 9: 01-08 Optimizers: Building a parameterized model | Lesson 10: 01-09 Optimizers: How to optimize a portfolio

What is an optimizer? Minimization example How to defeat a minimizer Convex problems Building a parameterized model Minimizer finds coefficients What is portfolio optimization? The difference optimization can make Which criteria is easiest to solve f

tcl脚本学习十:proc 子函数的使用

lesson 10 :proc 子函数的使用 1. proc sum {arg1 arg2} { set x [expr $arg1+$arg2]; return $x } puts " The sum of 2 + 3 is: [sum 2 3]\n\n" //[语法] :proc procName { var1 var2 ... } {body}说明:1. proc 命令有三个参数:procName 是定义的过程名字:{var1 var2 ...}是输入.输出参数列表:body 是

iOS开发之c语言基础Lesson-10 动态内存管理 上课笔记 与 试题练习

//函数声明 int max(int a, int b); char * getString(); int main(int argc, const char * argv[]) { //////////////////Lesson 10 动态内存管理 课堂笔记 和 练习 ///////复习上周所学 /////////常量和变量的区别: //常量中的内容不能被修改,只能访问: //变量中存储的数据时可以随时修改的. // //const 关键字的作用: 修饰变量不可改变.当做常量使用 //  c

谷歌Web中文开发手册:1目的&amp;目录

原文:https://developers.google.com/web/fundamentals/getting-started/your-first-multi-screen-site/ 你的第一个适应多屏幕的网站 现在有一系列的智能手机和大屏幕显示设备(甚至是电视),所以我们需要学习怎样开发一个可以在这些设备中都表现良好的网站. 多屏幕适应的开发经验并不是那么难.根据这个系列的教程,一起来做一个例子: https://www.udacity.com/course/cs256 CS256 M

javaweb笔记全套

Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace  选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Project) 3) 建包 建类 2. 快捷键 alt + / : 代码自动补齐,需要配置的 打开preferences(首选项), 搜keys,打开快捷键配置面板 搜 alt+/ ,取消绑定 搜 content assist ,取消原先的绑定,配置成alt+/ ctrl+1: 错误自动修复, 注意,