面试准备——(二)专业知识(1)Linux
面试的问题:
腾讯:
1. 查看进程的命令
美团:
1. 常用的命令——美团/滴滴
2. 如何在性能测试的时候查看进程
3. kill -9/-15区别
滴滴:
1.如何找到一个特定文件
2. 如何替换一个文件中的字符串
sed 's/原字符串/替换字符串/' 目录名
例如;sed 'aaa/bbb' test.txt // 将test.txt中'aaa'替换成'bbb'
2. 你有用Linux安装软件吗
3. 如何找到一个指定的进程

1.文件系统结构
ls / 查看文件系统目录

2. 文件系统命令:
ls 显示文件或目录
-l:列出文件的详细信息 stat更详尽
-a:列出当前目录下的所有文件及目录,包括隐藏(all) mkdir 创建目录
-p:如果没有父目录,则创建(parent) tree 树形结构显示目录,需要安装tree包 pwd 显示当前目录 rmdir 删除目录(只能为空时)——>目录不为空:rm -r rm 删除文件
-r:递归删除,可删除子目录及文件
-f:强制删除(force) cd 切换目录
-:切换前一个工作目录
..:切换到上一级目录 touch 创建一个空文件 ——>echo:创建有内容的文件 echo:. 将字符串输入到控制台:echo 'sbw'
. 创建带有内容的文件:echo 'sbw' > test.txt
. 在文件中追加内容:echo 'add' >>test.txt
. 显示所有带有目标格式的文件:echo *.txt(如果不存在这种格式的文件,则当作字符串将 *.txt输出到控制台) == ls *.txt
. 输出变量的值:echo $PATH cat 查看文件内容
-n:输出行号+内容 nl 显示行号的查看文件内容 cp 拷贝文件: cp source.txt ''../target.txt' mv 移动文件或者重命名 ln 为某一个文件在另一个文件夹中创建链接文件
-s:生成文件的镜像,不着用磁盘空间。如果没有-s:他会在你选定的位置生成一个与源文件大小相同的文件,并且保持同步变化 find 在文件系统中搜索某文件 wc 统计文本中行数、字数、字符数
ls | wc - 统计一个目录下有多少个文件(|是管道,表示前一个命令的输出结果,是后一个命令的输入,eg:ls *.docx|wx:统计目录下有多少个.docx类型的文件) grep 在文本文件中查找某个字符串
-n:显示行号 more/less 分页显示文本文件内容 head/tail 显示文件头/尾内容 du 查看文件大小(目录大小)
-h:按单位显示
-d:指文件的层级:例如1就是当前目录, diff 查看两个文件内容的不同 chmod 修改文件的权限(权限可通过:ls -l来查看)
chgrp 修改属组
xargs 将标准输出的内容作为参数,转换成小块分段传递后面的函数(可以读入stdin标准输入的内容,并以空白字元、断行字元作为分割)
-:当stdin有特殊字元时,当作普通字符处理
-a file:从文件中读入作为stdin
xargs 还可以循环删除
songbowendeMacBook-Pro:~ lesley$ find . -type f |xargs rm find pathname -option [-print -exec -ok] 用于在文件树种查找文件,并作出相应的处理
. 其中pathname:查找目录:.表示当前目录;/表示系统根目录
-print:find命令将匹配的文件输出到标准输出
-exec:find命令将匹配的文件执行该桉树所给出的shell命令。命令形式:'command'{} \; 注意{ }和\;之间的空格。
-ok:同-exec,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。 . option:
-name 按照文件名查找文件。
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-perm 按照文件权限来查找文件。
-mtime -n +n 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
***另外:其他考题:
1. tail -f 'xx_log.txt' 实时查看文件(只限于:log档案文件。会以一定时间实时跟踪)
2. 查看大文件:find . -type -f -size +800M -ptint0 | xargs -0 ls -l
3. 查看大文件并输出找出来文件的具体大小:
find . -type f -size +800M -print0 | xargs -0 du -h
4. 查看大文件并按照文件大小排序:
find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr
5. 查看大目录并排序:du -d 1 |sort -n
6. 查看大目录并只输出前n个:du -d 1|head -n
7.如何找到一个文件含有含有aaa,bbb的行
grep 'aaa' *.txt|xargs grep 'bbb'
2. 系统管理命令
stat 显示文件的详细信息,比ls更详尽 who 显示在线登录用户 whoami 显示当前操作用户 hostname 显示主机名 uname 显示系统信息
du 查看目录大小(同样可以查看指定文件)
-h:带有大小单位 df 查看磁盘使用情况
-h:带有大小单位
3. 进程管理
ps 显示当前运行的进程
-a:显示其他用户启动的进程
-x:查看系统中属于自己的进程
-u:显示启动这个进程的用户和它启动的时间
与grep用管道连接,找到特定的进程:ps -a|grep ''
统计进程个数:ps -a|wc pstree 以树状图显示进程,只显示进程的名字,且相同进程合并显示
-p:还显示PID
-a:相同进程部合并,且显示命令行参数 top 显示当前消耗资源最多的进程信息
-i 查看多少进程处于running状态,可能系统存在内存或I/O瓶颈 kill 杀死进程(是通过发送信号来终止一个进程)
-:发出的信号是:SIGKILL:相当于exit,不能被捕捉或忽略,所以会立即杀死进程。
-:SIGTERM 当程序接受到这个信号后,大部分会释放自己的资源,然后再停止。但是有一部分,接收到信号以后,可以不立即停止,例如如果正在等待IO,则不会立即作出响应。所以SIGTERM信号会被阻塞、忽略
4. 网络
ifconfig 查看网络配置信息 ping 测试网络联通 netstat 显示网络连接、路由表和网络接口
-a 显示所有的socket,包括正在监听的
-i 显示所有网络接口的信息
-e 显示核心路由信息
-t 显示TCP连接情况
-v 显示正在进行的工作 route -n 查看路由表
5. 性能检测工具
top 显示所有实时运行的进程,并且定时更新 vmstat 虚拟内存统计(安装一个sysstat包) iostat 用于监控CPU和系统设备的IO负载情况 free 内存使用率 map 进程内存占用率 strace 追踪程序运行状态
6. 打包压缩命令
gzip bzip2 tar: 打包压缩
-c:归档文件
-x:压缩文件
-z:gzip压缩文件
-j:bzip2压缩文件
-v:显示压缩或解压缩过程(view)
-f:使用档名 例如:
tar -cvf /testTar/test1.tar testTar/test1 只打包,不压缩
tar -zcvf /testTar/test.tar.gz 打包,并用gzip压缩
tar -jcvf/testTar/test.tar.bz2 打包,并用bzip2压缩 tar -xvf/ tar -zxvf/ tar -jxvf 解压缩
7. 关机/重启
shutdown 关机
-r:关机重启
-h:关机不重启
now 立即关机 halt 关机
reboot 重启
.8 Linux管道:
将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。例:
grep -r "close" /home/* | more
在home目录下所有文件中查找,包括close的文件,并分页输出。
9. Linux软件包管理
dpkg (Debian Package)管理工具,软件包名以.deb后缀。这种方法适合系统不能联网的情况下。
比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。
sudo dpkg -i tree_1.5.3-1_i386.deb 安装软件
sudo dpkg -r tree 卸载软件
APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统能够连接互联网的情况。
依然以tree为例
sudo apt-get install tree 安装tree
sudo apt-get remove tree 卸载tree
sudo apt-get update 更新软件
sudo apt-get upgrade
10.vim使用
vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。
命令模式下:
:q 退出
:q! 强制退出
:wq 保存并退出
:set number 显示行号
:set nonumber 隐藏行号
/apache 在文档中查找apache 按n跳到下一个,shift+n上一个
yyp 复制光标所在行,并粘贴
h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)
11. 用户及用户组管理
/etc/passwd 存储用户账号
/etc/group 存储组账号
/etc/shadow 存储用户账号的密码
/etc/gshadow 存储用户组账号的密码
useradd 用户名
userdel 用户名
adduser 用户名
groupadd 组名
groupdel 组名
passwd root 给root设置密码
su root
su - root
su user 切换用户,加载配置文件.bashrc
su - user 切换用户,加载配置文件/etc/profile ,加载bash_profile
/etc/profile 系统环境变量
bash_profile 用户环境变量
.bashrc 用户环境变量
更改文件的用户及用户组
sudo chown [-R] owner[:group] {File|Directory}
例如:还以jdk-7u21-linux-i586.tar.gz为例。属于用户hadoop,组hadoop
要想切换此文件所属的用户及组。可以使用命令。
sudo chown root:root jdk-7u21-linux-i586.tar.gz
总结:面试的问题有
1. linux 中查看监听网络端口命令
netstat - a
2. more和cat的区别
cat 查看文件内容
more 分页查看文件的内容
3. linux 改密码命令
passwd
4. 改权限命令
chmod
5. 如何结束一个进程?kill-9和kill -11的区别——美团
kill命令。kill命令是通过发送信号给进程达到中断的目的。
kill -9:发送的信号是:SIGKILL,相当于exit,不能被捕捉或忽略,所以会立即杀死进程
kill -11:发送的信号是:SIGTERM,当进程接受到这个信号后,大部分会释放自己的资源,然后再停止。但是有一部分,接收到信号以后,可以不立即停止,例如如果正在等待IO,则不会立即作出响应。所以SIGTERM信号会被阻塞、忽略。
6. 在性能测试中,你有用到什么命令?——美团
ps、top、free查看进程使用情况,kill杀死进程
iostat查看CUP和各设备IO使用率
vmstat查看内存使用情况
7. 查看磁盘空间的命令
du 查看文件目录大小
df 查看磁盘使用情况
-h 带有大小单位
8. 如何找到一个文件中含有aaa 和 bbb和行
grep 'aaa' *.txt|xargs grep 'bbb'
面试准备——(二)专业知识(1)Linux的更多相关文章
- 2014专业知识学习---be strong
一 公司工作 完成好自动化营销系统构建,并以此为契机掌握推荐,数据分析,可视化等知识 1 完成统计和可视化.具体参考 cookie mapping项目规划 2 以广告投放为契机,学习数据分析,推荐系统 ...
- Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核
Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核 标签(空格分隔): Qemu ARM Linux 在上文<Qemu搭建ARM vexpress开发环 ...
- Linux运维知识之linux shell date 用当天时间做备份文件名
本文主要向大家介绍了Linux运维知识之linux shell date 用当天时间做备份文件名,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. #!/bin/bash #dat ...
- 面试准备——(二)专业知识(2)Python
面试遇到的问题: 滴滴: 1. Python的数据结构 2. list和tuple的区别 3. list中有哪些操作?append和extend的区别? 4. list和dict的却别?dict是有序 ...
- 面试准备——(二)专业知识(4)C/C++语言
1. 预处理 断言 assert的功能,assert(statement),如果statement为真则程序继续执行,为假则整个程序中断退出 3. #define [ #ifndef DISKSIM_ ...
- PHP面试(二):程序设计、框架基础知识、算法与数据结构、高并发解决方案类
一.程序设计 1.设计功能系统——数据表设计.数据表创建语句.连接数据库的方式.编码能力 二.框架基础知识 1.MVC框架基本原理——原理.常见框架.单一入口的工作原理.模板引擎的理解 2.常见框架的 ...
- [Java面试三]JavaWeb基础知识总结.
1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供外界访问的Web资源分为: • 静 ...
- Linux(1)- 服务器核心知识、Linux入门、VMware与centeos安装、远程连接linux、linux基本命令使用
一.服务器核心知识 1.电脑和电脑的硬件组成 现在的人们几乎无时无刻不在使用着电脑!不管是桌上型电脑(桌机).笔记型电脑(笔电).平板电脑,还是智慧型手机等等,这些东西都算是电脑.虽然接触这么多,但是 ...
- iOS面试必备-iOS基础知识
近期为准备找工作面试,在网络上搜集了这些题,以备面试之用. 插一条广告:本人求职,2016级应届毕业生,有开发经验.可独立开发,低薪求职.QQ:895193543 1.简述OC中内存管理机制. 答:内 ...
随机推荐
- webpack使用extract-text-webpack-plugin打包时提示错误Use Chunks.groupsIterable and filter by instanceof Entryp
转自:https://blog.csdn.net/gezilan/article/details/80020417 前提条件: 当前时间是2018年4月20日. webpack的最新版本为是 v4.6 ...
- 解决VS2010在新建实体数据模型出现“在 .NET Framework Data Provider for Microsoft SQL Server Compact 3.5 中发生错误。请与提供程序供应商联系以解决此问题。”的问题
最近想试着学习ASP.NET MVC,在点击 添加--新建项--Visual C#下的数据中的ADO.NET 实体数据模型,到"选择您的数据连接"时,出现错误,"在 .N ...
- JS原型链继承
继承普通版 继承逻辑上都差不多,普通版调用方式比较繁琐,不利于反复大量的使用: (function (){ //创建一个人员类 function Person(name){ this.name = n ...
- TransitionEnd事件
定义和用法: transitionend 事件在 CSS 完成过渡后触发. 注意: 如果过渡在完成前移除,例如 CSS transition-property 属性被移除,过渡事件将不被触发. 浏览器 ...
- AngularJS之控制器
控制器在Angularjs中的作用是增强视图,它实际就是一个函数,用来向视图中的作用域添加额外的功能,我们用它来给作用域对象设置初始状态,并添加自定义行为. 当我们在页面上创建一个控制器时,Angul ...
- jQuery实现18位身份证输入隔位添加空格及格式验证
说明:jQuery实现身份证输入添加空格,表单验证身份证输入,并且输入时前6位添加一个空格,中间8位后添加一个空格,及身份证格式验证 参考:基于jquery实现的银行卡号每隔4位自动插入空格的实现代码 ...
- Apache服务器运维笔记(4)----服务器扩展部分
在Apache的默认配置文件夹中有一个 extra 目录,这个目录是用来存放 Apache 其他模块的配置文件的.这些文件是 Apache 针对常用的模块而设置并提供的,它们都是通过 Include ...
- YoLo 实践(1)
目录 YoLo 实践(1) 目标: 实施方法: Step 0. 测试项目是否可以正常运行 运行效果图 使用VOC数据结构训练模型 Step1: 生成统一格式的标注文件和类别文件 Step2: 加载预训 ...
- CSS浮动并清除浮动(造成的影响)
一.浮动 CSS浮动 CSS float浮动的深入研究.详解及拓展(一) CSS浮动属性Float详解 块级元素独占一行 块级元素,在页面中独占一行,自上而下排列,也就是传说中的流. 可以 ...
- 二十一、如何导入svg图片
svg就相当于字体,如何将生成的svg导入到自己的项目中去呢? 1.将类似下面的文件放入自己的项目中: 2.生成的svg中有一个style.css文件,将里面的内容拷贝到你的css中,然后更改上图的路 ...