我们一般在面试中,技能提到熟悉linux操作系统,掌握常用的命令,会shell编程,那么linux命令的掌握是必不可少的,因为现在涌现了国产化,那国产话底层是基于linux开发的,还有运维的服务器等好多都是在系统上部署的。

        那么一般需要掌握哪些呢:烂大街的 touch mv cp ls(这块需要掌握(-h【以人可读的MB和GB】的方式展示))就不必说了,一般面试问的多的就是:du、grep, find sed(流编辑器)和awk(文本处理工具),一般都是这些命令,然后设置一些检索条件,让查找文件和查找及操作指定的文件内容。

        最基本的就是vi编辑命令了,这个一般需要掌握一些特殊的,比如:拷贝某一行(yy),然后粘贴(p),某几行,删除某一行(dd)的命令行命令。

首先linux下帮助手册中有各个命令的详细解释,正常情况,根据帮助手册,大概已经猜出的使用方法了。

查看命令的的帮助手册有两种:

命令 --help(主流的命令行操作软件都有这个,具体可能有点不一样,我的是-h)

man 命令(有什么问题问这个男人)

文件及目录操作:

这些步骤无外乎那几点:增、删、改及查看,然后根据检索条件查找到符合条件的记录。

最常用的,也就是烂大街的,大家都知道的

touch 创建文件

mkdir 创建目录(之前面试有个创建嵌套目录的题)

​ 参数为-p(parents) 根据需要会创建父级目录结构

mkdir x y z(创建三个同级目录)

rmdir 删除目录

cd 切换目录(进入目录)

pwd(打印当前目录)

查看目录:

ls

list directory contents(列出目录内容),一般加的参数

-a (全部,包含隐藏的)

-l 详细信息

-h 人类可看懂的(MB和GB的方式展示),这个面试中有被问到,这个需要配合l参数一起使用才能起到作用。

-R(recursive)递归的(能看到里面的嵌套)

-S 按照文件大小排序

查看文件内容:

cat (一次显示所有内容,适用于文件内容较少的情况,如果文件内容过大,会导致终端卡死)

cat -n a.txt(将输出行号)

cat > newfile.txt
# 此时进入编辑模式,输入内容后按 Ctrl + D 保存退出

cat >> a.txt 追加内容到a.txt

more(以分屏的方式展示)

对比维度

more(本命令)

less(更推荐)

导航

只能向下翻页

支持上下翻页、搜索

大文件

适合

更适合(不加载全文件)

交互性

较弱

极强(现代首选)

head tail 这个是查看大文件内容,可以加参数行,也就是一次查看多少行的内容。

grep(查找文件内容,其带有过滤条件)

grep -n abc ./1.txt (在1.txt中查找包含abc字符串的行)

grep(查找包含多个字符串)

.*连接子串

grep "substring1.*substring2" file.txt

通过管道逐步过滤。

grep "error" log.txt | grep "fatal" # 先匹配 "error",再从中筛选含 "fatal" 的行

grep -E "error|warning" log.txt # 匹配 "error" 或 "warning"

然后文件的其它操作:mv(移动和重命名)、cp(复制),rm(删除文件)

===================================

sed 流编辑器,这个命令主要是修改文件中的内容:

插入/追加(a)

替换(s)

删除(d)

修改

awk

grep 全局正则匹配打印 快速定位日志错误、过滤关键字
sed 文本编辑(替换/删除/插入) 批量修改配置、日志清洗
awk 结构化处理(列操作、计算) CSV/TSV数据分析、生成报表

sed和awk一般在shell脚本编写的使用的,这两个主要是修改脚本的内容。

管道符 |

linux命令允许将一个命令的输出结果用管道符做为另一个命令的输入。

重定向

man ls > ls.txt(会覆盖文件中现有的内容)

man ls >> ls.txt(以追加的方式输出到ls.txt中)

========================================================

其它的常用的还有解压缩(主要是为了不同系统或者环境传输大文件使用的):

gzip 

tar.gz包的压缩和解压缩

  • -c:创建新的归档文件
  • -z:使用 gzip 压缩
  • -j:使用 bzip2 压缩
  • -J:使用 xz 压缩
  • -v:显示压缩过程中的详细信息
  • -f:指定压缩包文件名(该参数通常放在最后)
  • -x:表示解压缩操作

一般命令为:

tar -zcvf 1.tar.gz ./abc

tar -zxcf 1.tar.gz ./

scp (Secure Copy Protocol)这个是不同机器之间拷贝文件的。

========================================================

进程操作相关的

查看进程状态: ps,一般参数为下面三个,然后特别的配合前面讲到的grep使用。

  • a:显示所有用户的进程
  • u:以用户为中心的格式显示(包含用户名、CPU / 内存占用等)
  • x:显示不依附于终端的进程

杀死进程:kill

查看cpu的使用情况:top

lsof(查看系统监听端口)

=======================================================

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐