@ty4z2008
2015-08-31T21:41:15.000000Z
字数 2430
阅读 1345
Linux学习
1.whoami
查看当前系统谁登录
2.设置变量,echo
调用变量,unset
取消变量
3.bash
切换子bash
4.本地变量(variable=value
)与环境变量(export variable=value
)的区别
5.set
查看所有变量.export
,export -p
,env
显示所有的环境变量,declare -x variable=value
声明, declare +x variable=value
取消。
6.写bash时注意字符串是双引号,$1
代表第一个参数,./example.sh
,调用值方式${10}
否者上例中只会显示$1
的值,$#
显示参数个数,$*
显示各个参数是多少的值.
7.echo $PATH
,echo $HOME
,echo $USER
,echo $HISTFILESIZE
,echo $PS1
,echo $PS2
8.locale -a
查看系统支持编码,echo $LANG
1.read
变量赋值,echo $REPLY
(常用作执行脚本后的变量输入),read -p variable
2.数组arr=(a b c d)
,echo ${arr[1]}
查看第二个,echo ${arr[*]}
,echo ${arr[@]}
查看所有,echo ${!arr[*]}
,echo ${#arr[*]}
查看下标
3.declare -r variable
只读变量
4.双引号与单引号是有区别的,前者能正常显示变量,后者会把变量当作字符串解释.
5.ulimit -a
查看当前系统限制,ulimit -f 204800
限制创建文件大小
6.var=${PATH#*sbin:}
#代表从sbin向前删除,var=${PATH##*sbin:}
删除到最后一个sbin关键字,${PATH%sbin*}
与${PATH%%sbin*}
与前者的#相反
7.var=${PATH:-"sbin"}
,-
判断PATH是否存在,:-
判断是否存在是否为空值,并赋值
8.var=${PATH:="sbin"}
给var与PATH赋值,:-
判断PATH是否为空值为空值则把sbin赋值给var,:?
检查PATH是否定义,无定义则会警告
9.alias name="command"
命令别名,alias
显示所有别名命令,unalias name
取消name的别名
10.history
查看命令 !line_number
执行history对应行的命令,history -c
清楚history记录
1.type -a command
查看命令执行是执行的alias还是内建命令
2.vim /etc/issue
修改用户登录前的提示信息,vim /etc/issue.net
修改用户通过telnet登录前的提示信息
3.vim /etc/motd
修改登录后的提示信息
4.login-shell
与nologin-shell
区别
5.vim /etc/profile
系统环境变量文件,vim /etc/inputrc
配置系统快捷键./etc/profile.d
文件内容,vim ~/.bash_profile
当前用户环境变量
6.stty -a
查看快捷键
7.set -u
开启定义变量提示功能],set +u
为关闭.set -x
执行bash脚本debug
8.匹配符号[abc]
匹配包含有[]中的内容的一个字符,[a-z]
匹配a-z,[a\-z]
匹配a,-,z
,[0-9]
匹配0-9,?
匹配一个字符.[!0-9]
不能为数组
9.command > file_name
重定向>
覆盖所有内容,>>
不覆盖所有内容,&>
重定向所有内容,cal 2 > hosts 2>&1
与cal 2 > hosts 1>&2
的区别
10.tr 'A-Z' 'a-z' <hosts
字符转换,前者转换为后者
11.cat >hosts <<xx
写入内容到hosts以xx
字符串结束(here文档)
1.;
,&&
,||
的区别,&&
需要两者为真,||
与;
两者都执行
2.command1 | command2
,|
为把command1的结果通过管道传到command2
3.cut
分割文件内容,cut -d: -f1 file_name
查看file_name文件以:为分隔符,查看第一部分
4.last
查看用户登录信息,last | cut -d' ' -f1
5.grep keyword file_bane --color
内容关键字过滤,grep -i
不区分大小写,grep -n
显示行号,grep -A3 keyword
过滤keyword以及下三行,grep -B3
与前者相反
6.sort
排序,cut -d: -f1 passwd | sort
通过字符比较,sort -n
以数字大小排序,sort -n -r
反向排序,sort -n -t: -k3 passwd
排序文件内容
7.uniq
统计并取消重复,uniq -c
统计次数
8.wc
统计文件内容,wc passwd
结果34(行号) 53(单词) 1614(字符) passwd
,结果等于wc -lwc filename
9.tr
字符转换,转换文件时先tr 'a-z' 'A-Z' <hosts > otherName
,then mv othername hosts
,tr -d 'keyword'
删除keyword
10.tail -7 passwd
查看passwd的尾7行,col -x
等于expand
tab键转换为空格
11.paste file1 file2
合并两个文件内容显示
12.join -t ":" file1 file2
合并显示匹配的内容
13.split -b 100k filename fil
以100kb分割filename文件,并且文件名以fil开始cat fil* > filename
合并内容.,diff services test
split -l 100 filename file
以100行分割
14.find -name 'a*' | xargs ls -l
解决管道不能使用的情况
15.-
减号为不指定内容,tar cvf - /home | tar xvf -