鸟哥Linux私房菜笔记(一):磁盘文件管理、认识Bash Shell

第8章 Linux磁盘与文件系统管理

ln  [-sf]  源文件  目标文件

-s:符号连接,如果不加参数就是硬连接

-f:如果目标文件已存在,则先删除,再建立连接。

硬连接只是在某个目录下的块多写入一个关联数据,不会用掉inode与磁盘空间。符号连接会生成一个新的inode,也就是生成了一个新的文件,

文件大小就是文件名字符串的长度。因此,删除一个硬连接的源文件,文件仍能正常打开,删除符号连接的源文件,则符号连接的文件无法打开。

dd命令: dd  if=input_file  of=output_file  bs=block_size  count=number 。

 

第11章 认识Bash Shell

type命令查看命令来自于外部还是内置于shell。type  [-tpa]  name  

echo命令获取变量,如  echo  $PATH   会显示变量PATH内容。

env命令列出所有的环境变量,set命令列出环境变量及其他自定义变量。

用read命令可以读取来自键盘输入的变量: read [-pt]  variable  。其中-p后接提示符,-t接等待秒数。

declare和typeset的功能一样,用于声明变量的属性: declare  [-aixr]  variable

其中-a定义为数组,-i定义为整数数字,-x用法与export一样,定义为环境变量,-r定义为只读变量,不可更改内容不可取消(用unset命令)。

ulimit命令限制用户系统资源,包括打开文件数、可使用CPU时间、可使用内存总量等。

 在${variable}格式变量名后面可接#、##、%、%%、/、//等,可以删除或替换变量内容,例如:

echo  ${vbird/testing/TEST} 将变量vbird的值中的第一个testing替换为TEST,而echo  ${vbird//testing/TEST} 将变量vbird的值中所有的testing替换为TEST。

另外,还可以根据变量的内容是否设置来确定目标变量的赋值:

 

alias 别名。

history命令可列出最近的命令。history  n  列出最近n条命令;history -c 将当前shell中的所有history内容清除;

history [-raw]  histfiles    -a将新增history命令加入histfiles;-r将histfiles内容读到当前shell;-w将当前记忆内容写入到histfiles。

另外,!number 执行第number条命令;!command由最近命令搜索以command开头的命令并执行;!!执行上一条命令。

环境设置文件bashrc、~/.bashrc、~/.profile等等:

终端的环境设置:stty -a 查看当前环境中所有按键列表。

$()的作用与引号``一样。

数据流重导向

标准输入,0,使用<或<<

标准输出,1,使用>或>>

标准错误输出,2,使用2>或2>>

将输出重定向到/dev/null,就是将其丢掉且不显示;同时写入同一个文件可用 2>&1 。

&&当前一个命令结果没有错误消息时,执行后一个命令;而||则相反,当前一个命令有错误消息时才执行后一个命令。

管道命令

cut -d  ‘分隔符’  -f  fields      cut  -c  字符范围

echo  $PATH  | cut  -d  ':'  -f  3,5  取以:为分隔符的串的第三个和第五个字段。

export  | cut  -c  12-    取第12个字符以后的所有字符串。

grep  [-acinv]  ‘目标字符串’  filename    其中-a将二进制文件以文本文件方式搜索,-c计算找到‘目标字符串’的次数,

-i忽略大小写,-n顺便输出行号,-v反向选择,即显示没有目标字符串的行。

排序命令

sort [-fbMnrtuk]  [file  or  stdin]  

uniq  [-ic]  排序完成后,将重复的数据仅显示一次,其中-i忽略大小写,-c进行计数。

wc  [-lwm]  -l显示多少行,-w显示多少字(单词),-m多少字符。

双向重导向: tee  [-a]  file   -a(append)将数据附加在file末尾

字符转换命令

tr删除或替换、col将Tab转换为空格、join将两个文件的相关数据整合、paste将两个文件中每行贴在一起,

且中间以tab隔开,expand将tab转成空格。

拆分命令

split  [-bl]  file  PREFIX -b要拆分的文件大小,可加单位,-l按行数拆分;

当没有file名(如标准输入输出),用-代替file名;

合并文件可用>> ,如 cat  termcap* >>  termcapback 。

参数代换

xargs  [-0epn] commond  其中-0将特殊字符还原成一般字符,-e(EOF)后接字符串,遇到该字符串时停止继续工作,

-p每次执行时询问,-n要使用几个参数。

 

某些需要文件名的命令,stdin和stdout可用-来代替。

 

posted @ 2015-02-04 18:18  IT由零开始  阅读(253)  评论(0编辑  收藏  举报