首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >热饭面试复习:【linux shell 相关】- 1

热饭面试复习:【linux shell 相关】- 1

作者头像
我去热饭
发布于 2022-05-19 17:28:21
发布于 2022-05-19 17:28:21
5140
举报
文章被收录于专栏:测试开发干货测试开发干货

Part1前言

linux shell 常见的面试问题,基本是先让你随便说一些,测试一下你掌握的广度,这时候你至少要说上十个才行,但是!不要说太难的,否则很容易掉进自己的坑里,相当于提醒了面试官去问你 : find ,vi编辑器这种会让面试官出一个极复杂的命令。但是之后 面试官仍然会出一些 非常复杂的命令,本小节复习,除了基础中常见的命令之外,还有常见的复杂命令。

Part2基础命令

注意,每个linux命令都包含很多参数,我这里不像网上教程一样全写出来,我只会把常用的或者面试大概率遇到的参数写出来,以免参数太多大家记混。而且参数一般都是相同的意思和概念,大家可以极大的减轻记忆负担,比如 -R 在几乎所有命令中都代表递归的意思,-f 一般都是强制或忽略 -v 基本都是显示日志版本号等,几乎所有的参数都可加可不加。

echo 打印到命令行

代码语言:javascript
复制
echo "hello 测试开发干货"

chmod 修改权限

代码语言:javascript
复制
chmod +x 文件 :增加可执行权限
chmod 777 文件:增加所有人的读写执行权限
777 代表111 111 111 ,也就代表 rwx rwx rwx 全都生效
chmod ugo+r 文件
其中ugo 代表 user group others 也就是不同身份
+r 代表这些身份的人增加可读权限
chmod ug=rwx,o=x 文件

cat 查看日志

代码语言:javascript
复制
cat 参数 文件 > 新文件
-n 从1开始进行编号
-b 编号但不包括空行
-s 合并连续空行为一行
-e 在每行结尾显示$

chattr 改变文件属性

代码语言:javascript
复制
chattr 参数 +/-属性 文件
其中加减号代表增加或删除这项属性
属性:
i 不需改动
c 压缩存放
u 防止意外删除
参数:
-R 递归
-v 设置版本号
-V 显示执行过程

chgrp 修改所属组

代码语言:javascript
复制
chgrp 参数 群组 文件
-c 回报更改部分
-f 不显示错误信息
-r 递归

chown 修改所属人

代码语言:javascript
复制
chown 参数 用户 文件
-f 忽略错误

cmp 比较文件

代码语言:javascript
复制
cmp 参数 文件1 文件2

diff 详细的比较文件

代码语言:javascript
复制
diff 参数 文件1 文件2

file 查看文件类型

代码语言:javascript
复制
file 参数 文件
-v 显示版本信息
-c 详细显示过程

find 查找命令

代码语言:javascript
复制
find 路径 参数 值
find . -name "*.c" 查找所有后缀为c的当前目录下文件
find . -type f 查找目录和子目录下所有文件
find . -ctime -20 查找最近20天内更新过的文件
find . -type f -mitme +7 -ok rm {} \; 查找当前目录下更改时间在7天以前的普通文件删除,但要二次确认。
find . -type f -perm 777 -exec ls -l {} \; 查找当前目录下文件具有所有身份读写执行权限的文件。
find . -type f -size 0 -exec ls -l {} \;查找所有文件长度为0的文件,并打印完整路径。

可以看到find命令的应用非常花式,所以要重点学习。
-cmin n :在过去n分钟内被修改过的
-atime n :在过去n天内被读取过的
-size : 文件大小
-type c :文件c类型的文件
-name : 文件名称符合的

这里的c可以换成如下字母:
d 目录
f 文件
exec 相当于执行下一个命令,多个命令分割

cut 截取显示

代码语言:javascript
复制
在其他命令结尾用|cut 参数 值 来决定显示多少
-b 以字节分割
-c 以字符分割

ln 连接

代码语言:javascript
复制
可以让你其他目录下直接调用该文件
ln 参数 文件 目录
-s 软连接

less 可翻页浏览文件

代码语言:javascript
复制
less 参数 文件
-f 强制
-N 显示行号
-i 忽略大小写
命令:
b 向前翻页
d 向后翻页
空格 滚动一页
Q 退出

more 逐页阅读

代码语言:javascript
复制
more 参数 每页显示行数 文件
-num 行数
命令:
空格 向下滚动一屏
q 退出
! 调用shell命令

好了,本节学习的内容够多了,大家放松放松,准备迎接下一节复习吧~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • Part1前言
  • Part2基础命令
    • echo 打印到命令行
    • chmod 修改权限
    • cat 查看日志
    • chattr 改变文件属性
    • chgrp 修改所属组
    • chown 修改所属人
    • cmp 比较文件
    • diff 详细的比较文件
    • file 查看文件类型
    • find 查找命令
    • cut 截取显示
    • ln 连接
    • less 可翻页浏览文件
    • more 逐页阅读
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档