shell面试题,shell基础学习
来源:互联网 发布:逆光源网络剧百度云 编辑:程序博客网 时间:2024/06/03 14:41
1、文件权限与属性
d(文件类型)rwx(所有者权限)rwx(所属组权限)---(其他权限)
r4w2x1
chgrp 修改组
chown 修改所有者
chmod 修改权限
第一个字符是文件类型(文件-、目录d、连接 l)
2、文件全部查看
cat 从第一行开始显示
tac 从最后一行开始显示
cat -n/-b file 显示行号 也可以用nl file
3、文件部分显示查看
more
空格 向下翻一页
enter 向下翻一行
:f 文件名和行数
b 往回翻
4、查询命令
1、脚本文件名查询
which
2、文件名查找
whereis --利用数据库查找
locate --利用数据库查找
find 基于硬盘文件查找
1)find / mtime 1
找到一天前的24小时内修改的文件
2)find / -user jenkins
找到用户为kenkins的文件
3)find / -name wh
找到文件名为wh的文件
4)find / -size +1000k
找到大于100k的文件
5、vi 编辑模式命令
$ 移动到一行的行尾
0 移动到一行的行首
G 移动到全文的最后一行
gg 移动到全文的第一行
nG 移动到第N行
ctrl + f 往下翻页
ctrl + b 往上翻页
i 光标处插入字符
I 光标所在行首插入
a 光标后第一个字符插入
A 光标所在行尾插入
6.变量在子脚本中应用
export var 即可
7、查看环境变量
env
8、shell环境变量
系统整体变量 /etc/profile
个人系统变量 ~/.bash_profile
9、数据流重定向
输出重定向
ls /test/wh 1>> out 2>>err 1为标准输出,2为标准错误输出
ls /test/wh 2> /dev/null 输出到黑洞
ls /test/wh >out 2>&1 正确和错误输出到同一个文件中
输入重定向
cat > test
输入内容后ctrl+d结束,就会创建test并存入输入内容
10、&&和||
用来判断前一个执行成功与否判断后一个命令是否执行
cmd1 && cmd2 cmd1执行成功了那么继续执行cmd2
cmd1 || cmd2 cmd1执行成功了则不执行cmd2
&&和|| 连用
11.管道
cut -- 主要对数据进行分解
cut -d ':' -f 3,5 截取用:分割的第三个和第五个
grep --对文件进行分析
sort 排序
wc计数、
12、双向重定向
tee
13 、grep
匹配a?m的查找
grep -n 'a[bc]m' file.txt
查找中间一个非b的
grep -n 'a[^b]m' file.txt
14、基础正则
^word
以word开头的行
word#
以word结尾的行
.
点代表任意一个字符
[list]
从中之一
[n1-n2]
范围
[^list]
不要的字符
\{n,m\}
前一个字符重复的范围、
15、sed命令(整行文本处理工具)
增删改查
删除第二行和第五行
cat /etc/passwd | sed '2,5d'
增加第二行后面 huan
cat /etc/passwd | sed '2a huan'
替换第二行到第五行为 no 2-5
cat /etc/passwd | sed '2,5c no 2-5'
打印第100-200行
cat /etc/passwd | sed -n '100,200p'
sed 替换命令
sed 's/aa/bb' file.txt
aa 替换成bb
16、awk命令(将一行分为多个字段)
awk [-F field-separator] 'commands' input-file(s)
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
打印文本的第一列和第五列
cat /etc/passwd | awk '{printf $1 "/t" $5}'
$0 代表第一行
$1 代表第一列
如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以tab键分割
cat /etc/passwd |awk -F ':''{print $1"\t"$7}'
如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以逗号分割,而且在所有行添加列名name,shell,在最后一行添加"blue,/bin/nosh"。cat /etc/passwd | awk -F ':' 'BEGIN {print "name,shell"} {print $1","$7} END {print "blue,/bin/nosh"}'
awk工作流程是这样的:先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完,最后执行END操作。17、安装软件的命令
rpm 编译安装
rpm -ivh *.rpm
rpm -ivh http://*.rpm
yum 在线安装
yum install softname
阅读全文
0 0
- shell面试题,shell基础学习
- shell部分面试题
- shell面试题
- shell面试题
- shell 面试题
- shell经典面试题
- shell面试题收集
- linux-shell面试题
- shell 脚本 面试题
- shell 面试题
- shell面试题
- shell的面试题
- shell面试题
- Shell脚本常见面试题
- 经典shell面试题整理
- 经典shell面试题整理
- shell编程--企业面试题
- 25道shell面试题
- Java 多线程编程 wait()、notify() -- JAVA 进阶
- TIP: when you get a message in job log user [Dr. Who] is not authorized to view the log
- (2)Echarts图表绑定特殊事件-图表元素绑定选中事件
- 中小型企业常用的进销存系统有哪些?
- 共谋发展 ▎《采暖通风空调产品信息模型标准》启动会在京召开
- shell面试题,shell基础学习
- linux bitcoin-qt程序运行时 缺少 libboost.so 动态库
- 关于web页面直接进行打印的问题
- C语言基础 12 结构体
- 关于mac一些常用命令
- step
- intellij 里的“found duplicate code”提示关闭
- mvc中Scripts.Render、Styles.Render
- Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用