一.路径与命令的的查找顺序
1.以相对/绝对路径执行命令,例如"/binls"或"./ls";
2.由alias重命名中内容来查找执行命令;
3.由bash内置的命令来执行;
4.通过$PATH变量中所定义的路径顺序找到第一个命令来执行。
二.自定义自己的bash登陆欢迎界面信息:
/etc/issue(登陆界面), /etc/issue.net(telnet的登陆界面) , /etc/motd/(登陆路成功后用户取得的信息)
执行 cat /etc/issue命令显示如当前的设置:
issue内的各代码意义 | |
\d | 本地端时间的日期 |
\l | 显示第几个终端机借口 |
\m | 显示硬件的等级(i386/i486/i686) |
\n | 显示主机的网络名称 |
\o | 显示domain name |
\r | 操作系统版本(相当于uname -r) |
\t | 本地端时间 |
\s | 操作系统名称 |
\v | 操作系统版本 |
三.数据流重定向:
1.标准输入输出的重定向:<输入方 >输出方
cat命令 : cat filename表示读取文件,也就是从文件输出数据并输出到屏幕上
cat从键盘读取数据,并且输出到屏幕
cat > filename从键盘输入,并且输出到文件中(会无条件的覆盖已有的文件)
以 ctrl + d 来结束输入
2.防止覆盖已有的文件:
启用该设置:set -o noclobber
禁用该设置:set +o noclobber
使用追加标准输出:可以向某个文件的末尾添加新的内容
cat filename1 >> filename2
3.使数据消失,同时不改变文件的权限:
将数据重定向至 /dev/null
eg: cat /dev/null > filename 将该文件内容清空
4.代码输出:
标准输入(stdin):代码为0,使用<或者<<
标准输出(stdout):代码为1,使用>或者>>
标准错误输出(stderr):代码为2,使用2>或者2>>
5.tee:双向重定向命令
-a 以累加的形式将数据输入一个文件
6.命令执行的判断依据: ; , && ||
;不考虑相关性连续执行命令
$?(命令回传码)与&&(逻辑与运算)或||(逻辑或运算)
四.管道(Pipe)
1.选取命令:
cut:常用参数
-d'分隔字符' -f fields
-c 字符范围
eg: cut ' ; ' -f 5 显示以;为分隔字符的第5个数据(分隔符必须是单个字符)
cut ' ; ' -f 3,5
cut -c 12- 若数据分行显示,输出第12个字符以后的数据
2.字符转换命令:
tr: -d 删除其中的某个字符串
eg: tr '[a-z]' '[A-Z]' 将小写替换成大写
tr -d ';' 删除;符号
3.文件粘贴连接命令paste:
paste file1 file2
直接将2个文件相同的行粘贴在一起(以TAB分隔)
4.join: [-ti12] file1 file2
-t 如果相应行之前的文件内容相同以分隔符链接 Eg: join -t ':' file1 file2
-i 忽略大小写
使用join前最好对文件进行sort
5. split:切割文件命令
-b 切割成的文件大小,可加单位b k m
-l 以行数来进行切割
eg: split -b 300k filename newfile前导名