操作系统内核八股: 面试必备(背)-Linux八股文系列!-腾讯云开发者社区-腾讯云 (tencent.com)
常见命令:
git
常用命令
- git init:默认创建master分支
- git clone:从Git仓库拷贝项目
- git config:配置信息
- git add:添加文件到缓存
- git status:查看文件的状态命令
- git diff:查看更新的详细信息命令
- git commit:提交
- git reset HEAD:取消缓存
- git rm:删除
- git mv:移动or重命名
git分支管理
- git branch:列出本地分支
- git branch (branchname):创建分支
- git checkout (branchname):切换分支
- git merge :合并分支
- git branch -d (branchname):删除分支
- git log --graph:查看分支合并图
合并冲突
当合并时,没有冲突的话,merge完成。有冲突的话,git会提示那个文件中有冲突,可以通过git status查看具体的冲突信息。
合并并不仅仅是简单的文件添加、移除的操作,Git 也会合并修改,如果我们在两个分支中同时修改了同一个文件,这时再合并,就可能会产生冲突,冲突并不可怕,可怕的是要怎样去解决。
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
解决冲突的办法无非是二者选其一或者由你亲自整合到一起。
- 先保留两个分支都有的
- 手动解决冲突后add
- commit
在解决了所有文件里的所有冲突后,运行 git add 将把它们标记为已解决(resolved)。因为一旦暂存,就表示冲突已经解决。如果你想用一个有图形界面的工具来解决这些问题,不妨运行 git mergetool,它会调用一个可视化的合并工具并引导你解决所有冲突:退出合并工具以后,Git 会询问你合并是否成功。如果回答是,它会为你把相关文件暂存起来,以表明状态为已解决。然后可以用 git commit 来完成这次合并提交。
gcc
gcc的全称是GNU Compiler Collection,它是一个能够编译多种语言的编译器。最开始gcc是作为C语言的编译器(GNU C Compiler),现在除了c语言,还支持C++、java、Pascal等语言。gcc支持多种硬件平台。
gcc编译过程:
vim
vim 是一个全屏幕纯文本编辑器。 命令模式:是主要输入快捷键的模式。移动光标复制粘贴替换、命名模式要想进入输入模式,可以使用 a i o 等快捷键来进入。 输入模式:主要用于文本编辑,和记事本类似,输入数据就好 末行模式: :w保存不退出、:q不保存退出、:!强制
grep
grep (global regular expression) 命令用于查找文件里符合条件的字符串或正则表达式。grep 指令用于查找内容包含指定的范本样式的文件
netstat
netstat命令用于显示网络状态。得知整个 Linux 系统的网络情况。 netstat命令常见应用场景_netstat命令如何看哪端数据挤压_龙叔运维的博客-CSDN博客
ps
Linux中进程状态有:
- D:不可中断状态:进程处于睡眠状态,但是此刻进程是不可中断的。不可中断, 指进程不响应异步信号。
- T:暂停/跟踪状态: 向进程发送一个 SIGSTOP 信号,它就会因响应该信号 而进入 TASK_STOPPED 状态;当进程正在被跟踪时,它处于 TASK_TRACED 这个特殊的状态。
- R:运行/就绪状态:在 run_queue 队列里的状态
- S:可中断睡眠状态:处于这个状态的进程因为等待某某事件的发生(比如等待 socket 连接、等待信号量),而被挂起
- Z:zombie状态(僵尸状态):父亲没有通过 wait 系列的系统调用会顺便将子进程的尸体(task_struct)也释放掉
- X:退出状态:死掉的进程
ps:用来显示进程状态。
sh
sh命令是一个基本的Shell解释器,通常在系统上预装,因此可以在大多数Linux系统上直接使用。然而,在实际的Shell脚本编程中,通常更常用的是bash命令,因为Bash提供了更多的功能和语法特性。
执行shell脚本:sh script.sh
打开交互式shell:sh
iostat
iostat 主要用于输出磁盘IO 和 CPU的统计信息。
-d: 指定磁盘 -c:显示cpu使用情况 -x:显示详细信息
cpu属性说明:
%iowait: CPU等待输入输出完成时间的百分比。值过高,表示硬盘存在I/O瓶颈。
%steal: 管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
%idle: CPU空闲时间百分比,值高,表示CPU较空闲。
磁盘属性说明:
tps: 每秒钟发送到的I/O请求数.
Blk_read/s: 每秒读取的block数.
Blk_wrtn/s: 每秒写入的block数.
Blk_read: 读入的block总数.
Blk_wrtn: 写入的block总数.
isof
lsof 命令用于列出当前系统上打开的文件和文件描述符(包括网络连接)。
查看哪些进程正在使用某个端口或文件:lsof -i: 80这将列出所有正在使用端口80的进程信息。
awk
文本处理和格式化,数据提取和过滤
问题
Linux 日志文件找出现次数最多的 ip(sort、uniq、awk)
sort命令
uniq命令
Linux 查看一个端口的运行情况
linux的查看进程,网络,磁盘,内存的命令。
- 查看进程信息
- 查看网络信息
- 查看磁盘信息
- 查看内存信息