Linux 操作系统shell学习笔记 (linux系统)
- 格式:doc
- 大小:115.50 KB
- 文档页数:20
Linux 操作系统shell学习笔记(linux系统)
linux软件开发
No.001 文件安全与权限
1. umask 决定了新建文件的权限
2. 软链接(符号链接) ln -s source_path target_path
No.002 find和xargs
1. find pathname -options [-print -exec -ok]
其中exec参数的命令格式:'command-' {} \; 注意必须包含【{} \;】
-perm 按权限来查找ex. find . -perm 755 -print
-mtime 按修改时间来查找ex. find / -mtime -5 -print 更改时间5天以内
find / -mtime +5 -print 更改时间5天以前
2. xargs与-exec和-ok类似,但是限制更少,也更快
3种参数的命令:find . -name "*.c" -exec wc -l {} \;
find . -name "*.c" -ok wc -l {} \; 每次执行命令前有提示
find . -name "*.c" | xargs wc -l
No.003 后台执行命令
1. [crontab] [at] [&] [nohup]四种
No.004 文件名置换
1. 列出隐藏文件ex. ls .*
No.005 shell输入与输出
1. echo输出时加上-n 参数不换行,ex. echo -n "aaaa"
2. tee 命令可以同时输出到屏幕和文件中ex. ls | tee file.out
3. 标准输入0 标准输出1 标准错误2
4. 将标准输出和标准错误输入到一个文件ex. command >file.out 2>&1
No.006 命令执行顺序
1. 命令1 && 命令2 命令1执行成功后才会执行命令2
2. 命令1 || 命令2 命令1执行失败后才会执行命令2
No.007 正则表达式
1. 正则表达式元字符及含义
^ 只匹配行首
$ 只匹配行尾
* 匹配0次或多次
[] 匹配[]内字符
\ 转义符
. 匹配任意一个字符
pattern\{n\} 匹配pattern出现的次数,n次pattern\{n, \} 同上,最少n次
pattern\{n, m\} 同上,次数在n与m之间
No.008 grep
1. grep 主要选项及其含义
-c 只输出匹配行的行数
-i 不区分大小写
-h 查询多文件时不显示文件名
-l 查询多文件时只输出包含匹配字符的文件名
-n 显示匹配行及行号
-s 不显示不存在或无匹配文本的错误信息
-v 显示不包含匹配文本的所有行
2. 查询空行grep '^$' filename
3. 类名及等价的正则表达式
[[:upper:]] = [A-Z]
[[:lower:]] = [a-z]
[[:digit:]] = [0-9]
[[:alnum:]] = [0-9a-zA-Z]
[[:space:]] = 空格或tab键
[[:alpha:]] = [a-zA-Z]
No.009 AWK
# awk的主要作用在于将文本分成各个区域,便于分别进行处理1. awk -F指定分隔符,-f指定awk脚本
ex. awk -F: 'commands' input-file(s)
ex. awk -f awk-script input-file(s)
2. awk 分隔出的域用$1,$2...$n来表示,其中$0表示所有域
3. awk 条件操作符<, <=, >=, ==, !=
~ 匹配正则表达式!~ 不匹配正则表达式
4. awk 内置变量
ARGC 命令行参数个数
ARGV 命令行参数排列
ENVIRON 支持队列中系统环境变量的使用
FILENAME awk浏览的文件名
FNR 浏览文件的记录数
FS 设置输入域分隔符,等价于命令行-F选项
NF 记录的域个数
NR 已读的记录数
OFS 输出域分隔符
ORS 输出记录分隔符
RS 控制记录分隔符
ex. awk '{print NF,NR,$0} END{print FILENAME}' input-file 5. awk 字符串函数
gsub, index, length, match, split, sprint, sub, substr, substr
6. awk 中的printf函数可以控制格式化输出
7. awk 的循环结构For (element in array) print array[element]
No.010 sed
# sed的主要作用在于过滤和查找文本中的特定内容
1. sed 命令格式:sed [options] sed-command input-file
sed [options] -f sed-script input-file
No.011 合并和分隔文件
1. sort, uniq, join, cut, paste, split
No.012 tr的用法
1. 去除oops.txt中的重复字符tr -s "[a-z]" < oops.txt
2. 去除oops.txt中的空行tr -s "[\n]" < oops.txt
3. oops.txt中小写转大写tr -s "[a-z]" "[A-Z]" < oops.txt