shell学习-基本命令
一:环境变量
1. 介绍/etc/bashrc 文件中的PS1变量的定义和修改后的情况:
vim .bash_profile cat .bash_profile
cat .bashrc
上面两个文件内容可以看出:执行bash_profile时,需要先执行 .bashrc(因此加操作最好加在bash_profile中,这样不会先加载bashrc,然后加载bash_profile进行覆盖),其中.bash_profile是用户登录时会执行:如su wkb ,;.bashrc是进入子shell时,如执行:bash
二。 特殊符号:
1.符号
# :注释
\ : 脱意符号
| :管道符
wc:查看文件行数
$:标记一个变量
;:分号可以命令一行多写
~:家目录
&1: ls >1.log 2>&1 (这里表示前面的1.log)
&&:两个命令的连接符:
&:将命令后台运行
重定向: > >> 2> 2>>
[12]:二选一
2. 命令:
cut:剪切 (awk也可实现)
cut -d ':' -f 1 /etc/passwd 结果为:
1-3段写法:
1和3段写法:
取区间段(2-5列)字符:
取 1和第10个列的字符:
sort命令:sort -t ':' -k3 /etc/passwd 对文件中的内容排序,不会更改文件的
如果要按照数字排序:需要加 -n
对排序后的内容进行cut :
cut和sort常用方法:
sort的参数: -r :逆向输出
-u: 去除重复的, 不加如果有重复的数字会显示
cut -d ':' -f 3 1.txt |sort -nru 和 cut -d ':' -f 3 1.txt |sort -nr|uniq 命令效果一样
-c:统计数字
wc: 显示文件 行数 单词 字符
如下:3.txt 有4行,11个单词 111个字符(包含回车)
注意字符数中统计了回车:
命令: 显示4.txt行数信息,然后切割后赋值给line,再输出line ,如果line小于3 则输出 no
上面命令: wc -l (字母l)
uniq -c :统计重复数字
tee:重定向
tr:替换 (sed也可以替换,sed用的多)
split:切割文件
先生成文件,再进行切割
按行切割: split -l(字母) 10000 1.txt
如果不用自带的命名:则用:
自定义名称:
按大小切割:split -b 1M 1.txt
命令: && ||
&&:命令连接符:两个命令全部执行,第一条错误,第二天不执行
|| :或者 只执行一个,第一个执行了后面不执行
;: 分号,不管第一执行与否,后面都执行
nl 1.txt :打印所有行及对应的文字