这两天看了第十一章,重点回顾~
1.内核在内存中是受保护的块,因此必须要通过"Shell"将我们输入的命令与Kernel通信,好让Kernel可以控制硬件来正确无误地工作。
2.学习shell的原因:命令行界面的shell在各大distribution都一样;远程管理时命令行界面速度较快;linux内很多控制都是以shell编写。
3.系统合法的shell在/etc/shells文件中
4.bash的主要功能:命令编辑功能、命令与文件补全功能、命令别名设置功能、作业控制、前台、后台控制、程序化脚本、通配符。
5.变量包括环境变量与自定义变量。
6.env和export可以查看环境变量,其中export可以将自定义变量转换成环境变量。
7.set可查看目前bash环境下的所有变量。
8.locale查看语系。
9.read让用户由键盘输入变量的值,ulimit可用来限制用户使用系统的资源情况。
10.通配符主要有*、?、[]等。
11.数据流重定向>、>>、2>之类的符号将输出的信息转到其他的文件或设备中。
12. 管道pipe,使用'|'这个界定符号,仅会处理standart output,对于standard error output会予以忽略。
13.管道命令cut,grep,sort,wc,uniq,tee,tr,col,join,paste,expand,split,xargs等。
另:
1.内置命令type:type [-tpa] name
2.变量的显示与设置:echo,unset,可用转义字符"/"将特殊符号(如[Enter]、$、空格符等)变成一般字符。
3.环境变量env,HOME,SHELL,HISTSIZE,MAIL,PATH,RANDOM,PS1
PS1=‘[/u@/h /w /A #/#]/$’
4.变量键盘读取、数组与声明:read,array,declare
read [-pt] variable,举例:read -p "Please keyin your name :" -t 30 named
declare [-aixr] variable,举例:declare -i sum=100+300+500
5.命令别名设置:alias,unalias
alias lm='ls -l | more';alias;unalias lm
6.命令历史:history
history [n]列出最近的n条命令;!number;!command;!!
7.bash的登录与欢迎信息:/etc/issue,/etc/motd
cat /etc/issue
8.终端机得环境设置:stty,set,一般不推荐使用。
9.数据流的重定向:标准输入(stdin):代码为0,使用<或<<;
标准输出(stdout):代码为1,使用> 或>>;
标准错误输出(stderr):代码为2,使用2>或者2>>
10.命令执行的判断依据:; ,$$,||
11.管道命令pipe,如ls -al /etc | less
选取命令cut,grep。cut主要的用途是将同一行里面的数据进行分解,用在分析一些数据或文字数据的时候。
cut -d '分隔字符' -f fields <==用于分隔字符
cut -c 字符范围 <==用于排列整齐的信息
grep [-acinv] [--color=auto] '查找字符串' filename
last | grep 'root';last | grep -v 'root';last | grep 'root' | cut -d ' ' -f1
排序命令sort,wc,uniq
双向重定向:tee
字符转换明命令:tr,col,join,paste,expand