1.rm src
-i交互式
-f强制性
-r递归(删除目录)
2.nano
文本编辑
3.bash基本特性(2)
命令别名(alias)
cd /etc/sysconfig/network-scripts
alias 别名 原名
编辑配置文件不会立即生效,要重新读
读取命令:source .bashrc(配置文件名)
cls(windows清屏命令)
clear(Linux清屏命令)
撤销别名 unalias 别名
alias cp 'cp -a'
如果要使用原命令 /别名(/cp)
glob(globbing):可在bash shell中实现文件名通配
通配符: *,?,[]
(1)*:任意长度任意字符
(2)?:任意单个字符
(3)[]:指定范围内的任意单个字符
[a,b,c]a,b,c中的任意一个
[0-9]数字中的一个[[:digit:]]
[a-z]字符中的一个(不区分大小写)
[A-Z]大写字母中的一个
[^]匹配指定范围之外的任意字符
专用字符集合表示法
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母,相当于a-z
[:upper:]:任意大写字母,相当于A-Z
[:alpha:]:任意大小写字母
[:alnum:]:任意数字或字母
[:space:]:所有空格
[:punct:]:标点符号
ls /var l*[0-9]*[[:lower:]]
ls /etc [0-9]*[^0-9]
ls /etc [^a-z]*
cp /etc/m*[^0-9] /tmp/mageedu
4.bash shell快捷键
ctrl+l:清屏
ctrl+a:将光标跳转至命令首部
ctrl+e:将光标跳转至命令尾部
ctrl+c:取消命令行执行
ctrl+u:删除命令行首至光标位置
ctrl+k:删除光标所在处至行尾
5.bash的I/O重定向及管道
程序:指令+数据
读入数据:input
输出数据:output
打开的文件都有一个fd:file descriptor(文件描述符)
标准输入:keybroad,0
标准输出:monitor,1
标准错误输出:monitor,2
4.5
1.I/O重定向:改变标准位置
输出重定向:command > new_pos,command >> new_pos
>:覆盖重定向,目标文件内的原有内容会清除
>>:追加重定向,新内容追加到目标文件尾部
set -C:禁止将内容覆盖输出到已有文件中
>|:强制覆盖
set +C:打开,解除禁止内容
错误输出流 command 2> new_pos(仅能覆盖重定向错误输出流)
command 2>> new_pos(追加)
标准输出和错误输出各自定向至不同位置 command > file1 2>file2正常file1,错误file2
合并标准和错误输出流
&>:覆盖重定向
&>>:追加重定向
输入重定向:<
tr [option]... set1[set2]
tr abc ABC < file(把file中a,b,c替换成A,B,C)
tr 'a-z' 'A-Z' < file(把file中小写替换成大写)
cat >> file <<EOF(从键盘键入字符到file中,以EOF结束)
管道:command1 | command2 |...|commandn
Note:最后一个命令会在当前shell进程的子shell中执行
tee [option]...[file]
2.文本处理命令:wc,cut,sort,uniq
wc:统计
wc [option]...[file]...
-a,byte count
-c character count
-l line count
-L longest line
-w words count
cut:剪切
sort [-bcfMnrtk] [src] [-o 输出文件]
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-f 排序时,忽略大小写字母。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
-k 选择以哪个区间进行排序。
uniq [-cdfsuw](file)
uniq file.txt删除重复行
sort file.txt | uniq
sort -u file.txt
用于报告或忽略文件中的重复行,一般与sort命令结合使用。
4.6用户和组管理
1.资源分派:
Authentication:认证
Authorization:授权
Accounting:审计
token,identity(username/password)
linux用户:Username.UID
管理员:root,0
普通用户:1——65535
系统用户:1-499
登陆用户:500+
linux组:Groupname/GID
管理员组:root,0
普通组
系统组:1-499
普通组:500+
linux安全上下文:
运行中的程序:进程
以进程发起者身份运行
4.9
grep:根据模式搜索文本,并将符合模式的文本行显示出来
grep [选项] string filename
-i ignore case(忽略字符大小写)
--color
-v 反向查找(显示没有被模式匹配到的行)
-o:只显示该模式匹配到的字符串
grep正则表达式
.:匹配任意单个字符
*:匹配其前面的字符任意次
a.*b ab,acd,amnb
.*(任意长度的任意字符)
\?:匹配其前面的字符1次或0次
\{m,n\}:匹配其前面的字符至少m次,至多n次
位置锚定
^:此字符后面的内容必须出现在行首
$:此字符前面的内容必须出现在行尾
^$空白行
\<:其后面的任意字符必须作为单词首部出现
\>:其前面的任意字符必须作为单词尾部出现
分组:\(\)
\(ab\)*,ab出现任意次
正则表达式:
Basic REGEXP
Extended REGEXP
grep -E 使用扩展正则表达式
-A n 匹配行的后面n行也显示
-B n 匹配行的前面n行也显示
-C n
扩展正则表达式:
.
[]
[^]
次数匹配
*
?
+:匹配其前面字符至少一次
{m,n}
位置指定:
^
$
\<
\>
分组
()
\1,\2,\3
或者
a|b:or
grep -E=egrep
找ip地址
grep '\<([0-9]|[1-9]|'
面向过程:shell,c
面向对象:JAVA,Python,Perl,C++
变量:内存空间,命名
内存:编址的存储单元
$1,$2...位置变量
$?:上一个shell的返回值
0:正确
1-255:各种错误,1,2,127系统预留
$*,$@:所有参数
$#:参数个数