- 浏览: 2469433 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (574)
- Book (62)
- Architecture (6)
- Java (39)
- Taobao (41)
- Distributed (4)
- Life (72)
- Database (7)
- Spring (16)
- Photography (15)
- Bicycle (41)
- Test (20)
- jBPM (8)
- Business (12)
- Movie (3)
- Ajax (15)
- Code (7)
- Eclipse (96)
- VIM (2)
- Music (6)
- Groovy (10)
- AutoHotKey (3)
- Dorado (10)
- Maven (7)
- Scrum (5)
- English (20)
- Financial (12)
- OSGi (3)
- Other (4)
- Tool (6)
- Browser (1)
- PPT (1)
- Project Management (4)
- Agile (6)
- Nosql (1)
- Search engine (6)
- Shell (2)
- Open Source (4)
- Storm (10)
- Guava (3)
- Baby (1)
- netty (1)
- Algorithm (1)
- Linux (1)
- Python (2)
最新评论
-
roy2011a:
https://github.com/ebottabi/sto ...
storm的序列化问题及与spring的结合方式 -
roy2011a:
能抗能打 写道哥们儿,你好!能共享下那个storm与sprin ...
storm的序列化问题及与spring的结合方式 -
Alick1:
兄弟,你之前是不是在深圳的正阳公司呆过啊?
storm的ack和fail -
liuleixwd:
先点个赞,写的非常好!有个问题请教下,如果我再bolt里不用e ...
storm的ack和fail -
yao-dd:
solr的facet查询
x86是一种微机系统硬件架构,另一种是苹果的mac的架构
linux将所有的设备,软件都抽象成了文件
早期的计算机硬件厂商都有自己定制的操作系统
没有核心和驱动的概念,直接通过操作系统操作硬件
4,2,1在二进制中为100,010,001能很好的执行位操作,也表示r,w,x(注意顺序),chmod结合这这几个数字可以很好的进行文件属性的修改。另外一种比较具有可读性的做法是用ugoa来表示不同的用户角色,用rwx表示不同的权限,用+-=来表示不同的权限设置方式
目录的权限高于目录下文件的权限,即某用户拥有某目录下的w权限,将同时拥有该目录下文件的增删查改的权限,即使文件是root创建的
对于目录来说,x表示是否能进去此目录
设备文件分块设备(硬盘)和字符设备(键盘鼠标)文件
一个文件的属性跟文件的扩展名没关系,扩展名只是为了人类容易识别文件的属性,linux是通过文件开始的十个属性(rwxigo)有关
/etc是用来放配置的
/opt是用来装软件的
/dev都是各种设备
/proc的内容会加载到内存,也可以理解为内存中内容的一个持久化
/home各种用户私人的信息
/root超级用户的信息
/bin可执行命令
/sbin超级用户专属可执行命令
/tmp可以理解为垃圾桶,回收站
/usr类似软件目录program files
/var是用来存放系统运行过程中软件产生的数据
在vi中,一般模式下的命令中,如果数字在前面表示向后多少行比如10yy表示从当前行往后复制10行,而后面的数字表示向前(可能是行,也可能是字符个数,一般只有0和1)。
很多命令字符都很难跟具体的含义关联起来,或者没有规律(经常见到的情况是将命令表放在眼前位置),这个导致不用的命令很容易忘记。但也有好记的,比如y会跟复制联系起来,因此可以理解为copy中的y。
0表示移动到当前行第一个字母的处,这个很不好记,但很常用
J表示和下面的行合并,可以理解为join
p表示粘帖到当前行下面,可以理解为paste
一般同一个命令的小写表示向后,大写表示向前,p表示粘帖到后面,P表示粘帖当到前面,x表示删除后面一个字符,X表示删除前面一个字符,但也有反例,比如A,在最后插入
u是undo好理解,r表示redo,却要带上ctrl, 这个主要是为了跟替换(replace)的r区别,这个只能死记,多用
a在字符后面插入,可以理解为after
o插入空行,只能死记了,可以想象kong中的o
!有强制的意思,比如强制退出,强制写入
vi每次编辑会将当前修改文件做一个后缀为swp的文件,用来保存最新的更新状态。
vim的标准记录都会写在~/.viminfo文件中
:set nu是显示行号的简写形式
shell是用来向核心下达命令的,相对于核心来说,他就是一层壳
变量赋值等号两边不能有空格,这对java写多了的人来说的确不习惯
export扩大了变量的外延:将局部变量变成环境变量
系统变量大写,自定义变量小写
转义字符甚至可惜可惜转义空格
字符串的累加用的是冒号,相当于字符串的join
"$name"和${name}是一回事
单引号中的特殊字符就是特殊字符,双引号则有变量特性,这个主要针对$来说的
变量使用的两个场景:将常用的很长的路径用一个简短的变量简化;不同的场景具有不同的值,这时会用到环境变量
几个特殊的变量:$表示当前进程id,?表示前一个命令执行的返回值
脚本的默认类型是字符串,若要声明其他类型,需要使用declare。
数组是脚本中的一种常用类型
${var}也可以执行自责字符串操作,比如删除,替换指定的字符,%,#是删除,/是替换,双数则是全局操作
对特别长的命令,请使用别名
rm删除操作,最好加上-i给出提示
关于history的知识:!!表示执行前一个命令;!command则是搜索命令,相当于自动完成功能,等同于ctrl+r
当前目录不是执行命令搜索的默认路径
因此要执行当前命令,需要这样写:./command
~表示是当前用户目录,cd ~就更好理解了
bash_profile在登陆的时候读取,bashrc在每次执行脚本的时候读取。优先级是后者为高,即最后读取,一般将个人偏好设置放在bashrc中
set -x执行前显示命令内容,在调试时比较有用
set -u使用未定义的变量会报错,这个容易帮助我们检查出变量名错误。
[!a-z]表示非小写字母,跟正则的^[a-z]不一样
`uname -r`和$(uname -r)具有同样的效果,都是先被执行
命令的返回结果为0表示执行成功,可惜作为条件为真的判断,这个可惜结合||,&&逻辑判断使用,这个逻辑判断很有意思,若前面判断为假,||后面的会执行,前面为真,&&后年会被执行。
甚至在某些情况下,结合||和&&可以实现三元操作符的功能:command1 && command2 || command3
cut在取段的时候是base 1 ,俺字符取也是一样,针对规则内容比较有意义
sort的排序参数很让人无语的,-f表示忽略大小写,-k用来指定按第几个字段排序,base同样是1
sort和uniq两个命令是一对好基友
即写文件又刷屏用tee
tr=text replace
^M表示这是一个dos下的回车换行符
join将两个文件合并,并指定合并字段,类似SQL的join操作:将两个表做关联
paste实现两个文件的行与行粘帖
expand用来处理tab和空格之间的转换
xargs用来将输入内容按照一定的规则逐行分解成多个参数给后面接的命令使用,可以将x理解为肢解:-),每分析一行就执行一条命令,我觉得最有用的还是接-i参数,然后在命令行中使用占位符{}。默认命令是echo
在使用管道的时候,有时候会用到-,它一般用来指代操作输入,输出。
正则表达式中的范围符号{}词组做转义,而[]则不必
egrep使用的是扩展正则表达式,|,+,?()符号属于扩展正则表达式的内容
经常分不清?和+,前者可以理解为有木有(零个和一个),后者可以理解为有多少(一个和多个)
sed中的-r就是表示使用的是扩展正则表达式
$((运算内容)) 这个写法不错
test 测试内容 && true || false 这个写法也不错
原来test等价判断符号[] 比如 test -z $HOME等价于[ -z "$HOME" ],一个重要的地方是判断符号里面的每一个元素要用空格分隔,而且变量要用双引号括起来,shell的一些规律有时候就是感觉很奇怪
shell变量可以是字符串,路径,文件,这个主要取决于是上下文环境,不过如果是字符串最好用引号括起
判断符号之间用||和&&连起来表示OR AND
else if 在shell中会被简写为elif,多写两个字母会死啊
netstat -tuln用来查看当前机器已开的端口
函数一定要放在脚本的前面
函数和脚本的第一个参数都是$1
until do done条件成立时终止
for循环要用两个括号这个有些无语
for in相当于对一个列表进行遍历,比如稳健夹下的所有文件
shell调试和追踪参数-nvx, 早知道这些参数效率会提高不少
linux将所有的设备,软件都抽象成了文件
早期的计算机硬件厂商都有自己定制的操作系统
没有核心和驱动的概念,直接通过操作系统操作硬件
4,2,1在二进制中为100,010,001能很好的执行位操作,也表示r,w,x(注意顺序),chmod结合这这几个数字可以很好的进行文件属性的修改。另外一种比较具有可读性的做法是用ugoa来表示不同的用户角色,用rwx表示不同的权限,用+-=来表示不同的权限设置方式
目录的权限高于目录下文件的权限,即某用户拥有某目录下的w权限,将同时拥有该目录下文件的增删查改的权限,即使文件是root创建的
对于目录来说,x表示是否能进去此目录
设备文件分块设备(硬盘)和字符设备(键盘鼠标)文件
一个文件的属性跟文件的扩展名没关系,扩展名只是为了人类容易识别文件的属性,linux是通过文件开始的十个属性(rwxigo)有关
/etc是用来放配置的
/opt是用来装软件的
/dev都是各种设备
/proc的内容会加载到内存,也可以理解为内存中内容的一个持久化
/home各种用户私人的信息
/root超级用户的信息
/bin可执行命令
/sbin超级用户专属可执行命令
/tmp可以理解为垃圾桶,回收站
/usr类似软件目录program files
/var是用来存放系统运行过程中软件产生的数据
在vi中,一般模式下的命令中,如果数字在前面表示向后多少行比如10yy表示从当前行往后复制10行,而后面的数字表示向前(可能是行,也可能是字符个数,一般只有0和1)。
很多命令字符都很难跟具体的含义关联起来,或者没有规律(经常见到的情况是将命令表放在眼前位置),这个导致不用的命令很容易忘记。但也有好记的,比如y会跟复制联系起来,因此可以理解为copy中的y。
0表示移动到当前行第一个字母的处,这个很不好记,但很常用
J表示和下面的行合并,可以理解为join
p表示粘帖到当前行下面,可以理解为paste
一般同一个命令的小写表示向后,大写表示向前,p表示粘帖到后面,P表示粘帖当到前面,x表示删除后面一个字符,X表示删除前面一个字符,但也有反例,比如A,在最后插入
u是undo好理解,r表示redo,却要带上ctrl, 这个主要是为了跟替换(replace)的r区别,这个只能死记,多用
a在字符后面插入,可以理解为after
o插入空行,只能死记了,可以想象kong中的o
!有强制的意思,比如强制退出,强制写入
vi每次编辑会将当前修改文件做一个后缀为swp的文件,用来保存最新的更新状态。
vim的标准记录都会写在~/.viminfo文件中
:set nu是显示行号的简写形式
shell是用来向核心下达命令的,相对于核心来说,他就是一层壳
变量赋值等号两边不能有空格,这对java写多了的人来说的确不习惯
export扩大了变量的外延:将局部变量变成环境变量
系统变量大写,自定义变量小写
转义字符甚至可惜可惜转义空格
字符串的累加用的是冒号,相当于字符串的join
"$name"和${name}是一回事
单引号中的特殊字符就是特殊字符,双引号则有变量特性,这个主要针对$来说的
变量使用的两个场景:将常用的很长的路径用一个简短的变量简化;不同的场景具有不同的值,这时会用到环境变量
几个特殊的变量:$表示当前进程id,?表示前一个命令执行的返回值
脚本的默认类型是字符串,若要声明其他类型,需要使用declare。
数组是脚本中的一种常用类型
${var}也可以执行自责字符串操作,比如删除,替换指定的字符,%,#是删除,/是替换,双数则是全局操作
对特别长的命令,请使用别名
rm删除操作,最好加上-i给出提示
关于history的知识:!!表示执行前一个命令;!command则是搜索命令,相当于自动完成功能,等同于ctrl+r
当前目录不是执行命令搜索的默认路径
因此要执行当前命令,需要这样写:./command
~表示是当前用户目录,cd ~就更好理解了
bash_profile在登陆的时候读取,bashrc在每次执行脚本的时候读取。优先级是后者为高,即最后读取,一般将个人偏好设置放在bashrc中
set -x执行前显示命令内容,在调试时比较有用
set -u使用未定义的变量会报错,这个容易帮助我们检查出变量名错误。
[!a-z]表示非小写字母,跟正则的^[a-z]不一样
`uname -r`和$(uname -r)具有同样的效果,都是先被执行
命令的返回结果为0表示执行成功,可惜作为条件为真的判断,这个可惜结合||,&&逻辑判断使用,这个逻辑判断很有意思,若前面判断为假,||后面的会执行,前面为真,&&后年会被执行。
甚至在某些情况下,结合||和&&可以实现三元操作符的功能:command1 && command2 || command3
cut在取段的时候是base 1 ,俺字符取也是一样,针对规则内容比较有意义
sort的排序参数很让人无语的,-f表示忽略大小写,-k用来指定按第几个字段排序,base同样是1
sort和uniq两个命令是一对好基友
即写文件又刷屏用tee
tr=text replace
^M表示这是一个dos下的回车换行符
join将两个文件合并,并指定合并字段,类似SQL的join操作:将两个表做关联
paste实现两个文件的行与行粘帖
expand用来处理tab和空格之间的转换
xargs用来将输入内容按照一定的规则逐行分解成多个参数给后面接的命令使用,可以将x理解为肢解:-),每分析一行就执行一条命令,我觉得最有用的还是接-i参数,然后在命令行中使用占位符{}。默认命令是echo
在使用管道的时候,有时候会用到-,它一般用来指代操作输入,输出。
正则表达式中的范围符号{}词组做转义,而[]则不必
egrep使用的是扩展正则表达式,|,+,?()符号属于扩展正则表达式的内容
经常分不清?和+,前者可以理解为有木有(零个和一个),后者可以理解为有多少(一个和多个)
sed中的-r就是表示使用的是扩展正则表达式
$((运算内容)) 这个写法不错
test 测试内容 && true || false 这个写法也不错
原来test等价判断符号[] 比如 test -z $HOME等价于[ -z "$HOME" ],一个重要的地方是判断符号里面的每一个元素要用空格分隔,而且变量要用双引号括起来,shell的一些规律有时候就是感觉很奇怪
shell变量可以是字符串,路径,文件,这个主要取决于是上下文环境,不过如果是字符串最好用引号括起
判断符号之间用||和&&连起来表示OR AND
else if 在shell中会被简写为elif,多写两个字母会死啊
netstat -tuln用来查看当前机器已开的端口
函数一定要放在脚本的前面
函数和脚本的第一个参数都是$1
until do done条件成立时终止
for循环要用两个括号这个有些无语
for in相当于对一个列表进行遍历,比如稳健夹下的所有文件
shell调试和追踪参数-nvx, 早知道这些参数效率会提高不少
发表评论
-
<异类>读书笔记
2013-03-06 07:54 0成功者能够获得更多的机会,从而能变得更为成功。税收愈减免,富人 ... -
《python学习手册》学习笔记
2013-03-11 22:25 3468python格式化传参数非常赞,用数字标明位置,值得java学 ... -
<万历十五年>读书笔记
2013-03-11 22:27 1595在网上下了一个电子书, 但是貌似跟万历十五年没啥关系, 都是讨 ... -
《你的灯亮了吗》读书笔记
2013-03-06 07:20 1508这是一本原本写给程序员的书 本书的四个问题: 搞清问题的来源 ... -
《小狗钱钱》读书笔记
2013-03-06 07:17 1479一本非常不错的理财学习入门书, 以童话的形式, 儿童的思维方式 ... -
《我的奋斗》读书笔记
2012-04-14 22:03 2061文字写的很幽默, 故事也基本都是一些平常人的故事,看到了一个特 ... -
《Java Performance》书评
2012-01-15 18:32 2963原文: http://java.dzone.com/rev ... -
《程序员应该知道的97件事》读书笔记
2012-01-15 18:36 2387一本关于写代码的文 ... -
《影响力》读书笔记
2011-11-05 14:47 1834从书名上很可能以为 ... -
《浪潮之巅》读书笔记
2011-11-05 14:44 1372作为一个中国人通过分析硅谷高科技公司的一系列传奇, 总结出这 ... -
《黑客与画家》读书笔记
2011-11-05 13:37 1820以前看过《rework》, 觉得是每一个小型创业公司的创业宝 ... -
《乔布斯传》读书笔记
2011-10-18 08:53 2847在ipad上看完了这本书, 写的还不错, 里面没有无聊的八 ... -
《细说Java》读书笔记
2011-10-05 15:01 1994国人写的, 感觉是一 ... -
《敏捷估计与规划》读书笔记
2011-10-05 12:08 3178这本书断断续续看了很长时间, 内容非常不错, 基本涵盖了sc ... -
《怪诞心理学》读书笔记
2011-10-05 09:44 1823既然是怪诞, 那么整本书涉及的内容并不是我们平常司空见怪的一 ... -
《番茄工作法图解》读书笔记
2011-09-28 09:02 2390番茄工作法是时间管 ... -
《Java开发超级工具集》读书笔记
2011-09-28 08:59 2099"工欲善其事必先利其器", 在平时的开发 ... -
《敏捷迭代开发管理者指南》读书笔记
2011-09-24 13:09 2217这是一本关于迭代开发 ... -
《解析极限编程》读书笔记
2011-09-24 13:03 1788不知道是kent beck的语 ... -
《用户故事和敏捷方法》读书笔记
2011-08-13 19:31 4745在网上看到说这个是讲用户故事非常经典的一本, 本着&quo ...
相关推荐
### Linux鸟哥私房菜第四版基础篇——计算机概论 #### 0.1 计算机:辅助人脑的好工具 随着科技的发展,计算机已成为我们生活中不可或缺的一部分。无论是日常办公还是娱乐休闲,都能见到各种形态的计算机的身影,如...
读书笔记:Linux鸟哥的私房菜学习笔记
读书笔记:鸟哥的linux私房菜学习笔记
读书笔记:《鸟哥的linux私房菜》读书笔记
读书笔记:Linux学习个人分享的思维导图基于《鸟哥的Linux私房菜·基础篇·4th》
### 鸟哥Linux私房菜-基础篇-笔记知识点详解 #### 一、Linux与硬件的搭配 在Linux系统中,硬件设备是以文件的形式存在的,通常这些文件都被保存在`/dev`目录下。这样的设计使得Linux能够更加灵活地管理和访问硬件...
### 鸟哥的私房菜Linux学习笔记关键知识点解析 #### 第一章 计算机概论 **1. CPU的种类** - **精简指令集(RISC)** - 特点:指令数量少,每条指令执行周期简单且快速。 - 例子:ARM架构。 - **复杂指令集...
- 卡片阅读机 - 扫描仪 - 触控屏幕 - 手写板 - 以及其他用于输入数据的设备 2. **主机部分(系统单元)** - 主机箱内包含主板、中央处理器(CPU)、主存储器等核心组件 - CPU是计算机的大脑,负责执行指令和...
读书笔记:鸟哥的Linux 私房菜
读书笔记:鸟哥的Linux私房菜
读书笔记:鸟哥的Linux私房菜基础篇学习笔记
读书笔记:《鸟哥的Linux私房菜》
读书笔记:跟随鸟哥的Linux私房菜零基础学习Linux
### 鸟哥的 Linux 私房菜 -- 安装 CentOS 5 #### 知识点概述 在《鸟哥的 Linux 私房菜 -- 安装 CentOS 5》这篇文章中,作者详细介绍了如何安装 CentOS 5 版本的操作系统,并提供了一系列关于系统安装过程中的规划...
《鸟哥的Linux私房菜》读书笔记1主要涵盖了Linux操作系统的基础知识,包括文件系统、权限管理、shell命令以及特殊权限。以下是对这些知识点的详细解释: 1. **Linux 文件属性与链接**: - **软链接(符号链接)** ...
读书笔记:notes while learning 鸟哥的Linux私房菜
读书笔记:《鸟哥的linux私房菜基础学习篇》学习笔记
学习linux入门必备,基础而全面,操作都有图片实例,就像是鸟哥的“学习笔记”,非常实用