Linux学习笔记(shell基础知识)

history:默认1000条记录

!$:表示上一次命令的最后的参数

!!:表示上一条命令

!数字:运行命令历史里面第数字条命令

!命令:表示运行最近一次的命令,(和!后面的一样)

 

alias:别名

         主要是用于简化操作

unalias:可以取消别名

 

通配符:

*:表示可以匹配零个或多个字符

[]:表示里面的一个字符

?:表示匹配一个任意字符

 

重定向:

         >>:追加

         >:覆盖

         清空一个文件:>filename

         2>:表示错误信息重定向(覆盖)

         2>>:表示错误信息重定向(追加)

         如果所有的信息都追加到一个文件:

                   eg:ssh  *.sh  >> champly.log  2>> champly.log

 

xargs:可以把输出的东西转化成一行

 

使用ctrl + z可以把任务挂起,使用jobs可以查看后台任务,fg可以调出后台的程序到前台

         jobs:可以看任务的号

         fg+ 数字可以调出具体的后台,如果不加,就是上一次,也就是最后一次调入后台的

         bg+ 数字:可以把任务调入后台运行

ctrl + c:终止任务运行

 

系统自定义的变量偶是大写的

自定义变量:

         eg:champly=1

         echo$champly

 

env:可以看系统环境变量(可以列出全局的变量export申明的变量)

set:可以看到系统环境变量和用户自定义的变量

查看自定义的变量

自定义的变量:

         数字、字母、下划线、$(数字不能开头)

         字符串类型的:

                   单引号:强引用(不识别关键字)

                   双引号:弱引用(识别关键字)

                   反引号:引用结果

         字符串的叠加:

                  

                   如果有特殊符号就是用单引号:

                           

         使用unset可以取消变量:

                  

 

全局配置:

/etc/profile:

/etc/bashrc:

 

私有配置:

~/.bashrc:打开一个shell执行的文件

~/bash_profile:会在用户登录的时候执行

测试:

         修改文件:

结果:

 

通过/etc/profile可以看见umask的值:

 

PS1表示的意思:

         记住,$后面有一个空格,要修改的话不要忘记了

 

在shell中. 表示source,点后面必须有空格,表示生效的意思

 

~/.bash_history:命令历史的文件

~/bash_logout:系统退出的时候运行的文件

 

shell中的特殊字符:

*:表示可以匹配零个或多个字符

?:表示匹配一个任意字符

#:表示注释

$:用来标记一个变量

;:表示多个命令写在一行

~:表示家

&:可以把一个任务放入后台,也可以连接两个命令

[]:表示里面的符号选以一个

 

cut:分隔符:

         cut  -d  ’:’ -f  1 /etc/passwd:

         cut  -c 1-3  /etc/passwd:

 

 

sort:排序(按照ASCII排序的)

         sort  -t ‘:’  -k  3  /etc/passwd(3表示给第几段排序)加上 –n就是按照数字排序

 

wc filename:可以统计文件信息

         -l:判断一个文件有多少行

 

uniq -c:可以显示重复的行

 

tee可以重定向:

cat 1.txt  |  tee 2.txt:可以把1.txt的内容重定向到2.txt并打印前面的命令

 

tr:可以替换字符

         eg:ls  |  tr  'a-z'  'A-Z'

 

split:可以分割多个文件

         -b:可以按照文件的大小来分割文件

         eg:split  -l  2000 1.txt

         可以自定义名字:可以在最后面添加名字

         

可以统一的修改文件名:

ls  champly*  |  xargs -i  mv  {}  {}.txt

 

&&:表示两个命令都执行

||:表示或(这两个和c语言中的是一样的执行顺序)

2015年4月8日

by:champly 

发布了44 篇原创文章 · 获赞 7 · 访问量 5万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章