linux常见面试题
1.ps的用法
ps -ef
其中各列的内容意思如下(8列)
UID //用户ID、但输出的是用户名
PID //进程的ID
PPID //父进程ID
C //进程占用CPU的百分比
STIME //进程启动到现在的时间
TTY //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。
CMD //命令的名称和参数
ps -aux
同ps -ef 不同的有列有(11列)
%CPU //进程占用的CPU百分比
%MEM //占用内存的百分比
VSZ //该进程使用的虚拟內存量(KB)
RSS //该进程占用的固定內存量(KB)(驻留中页的数量)
STAT //进程的状态
START //该进程被触发启动时间
TIME //该进程实际使用CPU运行的时间
2.kill
kill命令用来中止一个进程。
杀死进程最安全的方法:kill pid
强行中止:kill -9 pid
和缓的重启进程:kill -HUP PID
使用进程名字中止:killall httpd
杀死它和它的子进程: kill -TERM PPID
3.crontab配置 , 如何实现每秒执行
第一列 分钟: 1——59
第二列 小时: 1——23(0表示子夜)
第三列 日 : 1——31
第四列 月 : 1——12
第五列 星期: 星期0——6(0表示星期天,1表示星期一、以此类推)
第六列 要运行的命令
http://blog.csdn.net/fdipzone/article/details/22701113
4.进程和线程的区别
进程就是一个“执行中的程序”,它是一个动态的概念,它可以申请和拥有系统资源。
进程作为分配资源的基本单位
线程是进程中的一部分,进程中可以包含若干个线程,它们可以利用进程所拥有的资源。
线程作为独立运行和独立调度的基本单位。
由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。
5.进程的状态
三态模型
(1)运行:当一个进程在处理机上运行时,则称该进程处于运行状态。
(2)就绪:当一个进程获得了除处理机以外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。
(3)阻塞:也称为等待或睡眠状态,一个进程正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂时停止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。
五态模型:对于一个实际的系统,进程的状态及其转换更为复杂。引入新建态和终止态构成了进程的五态模型。
6.chmod chown chgrp
(1)chmod 变动文件属性 r=4,w=2,x=1
格式:chmod 777 file 三个数字代表User、Group、及Other的权限
(2)chown 转变文件拥有者 -R选项意味着对所有子目录下的文件也都进行同样的操作
格式:chown 用户名:用户组:文件/目次 例: chown -R root:root /home
(3)chgrp 转变文件所属用户组 -R选项意味着对所有子目录下的文件也都进行同样的操作
格式:chgrp 用户组 文件名 例:chgrp -R user smb.conf
7. vim
(1)替换: 使用 :s 命令来替换字符串
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
(2)查找: 使用/word 下一个n 上一个N
(3) 剪切一行:dd (4)复制一行:yy (5)粘贴:p
(6)定位:gg定位到第一行,G定位到最后一行
(7)删除所有行:1,$d (8)撤销: u (9)反撤销:ctrl+r
8.rm
删除Linux系统中的文件或目录
要慎用rm -rf *这样的命令
-f 强制删除,忽略不存在的文件,从不给出提示
-i 交互模式删除文件,删除文件前给出提示
-r 递归的删除目录下面文件以及子目录下文件
9.sort
sort 将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
-r 以相反的顺序来排序。
-f 排序时,忽略大小写字母。
-b 忽略每行前面开始出的空格字符。
10.uniq
uniq 命令删除文件中的重复行。
注:uniq只除去相邻的重复的行,可以使用 sort 命令使所有重复行相邻,然后可以真正的去除所有重复的行
-c 在输出行前面加上每行在输入文件中出现的次数。
-d 仅显示重复行。
-u 仅显示不重复的行。
11.查询某一段时间的日志
awk -F ']' '($1 >= "2017-03-12 01:50:11" && $1 <= "2017-03-12 01:50:13"){print $1}'
12.堆和栈的区别
一、堆栈空间分配区别:
1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈;
2、堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。
二、堆栈缓存方式区别:
1、栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放;
2、堆是存放在二级缓存中,生命周期由虚拟机的垃圾回收算法来决定(并不是一旦成为孤儿对象就能被回收)。所以调用这些对象的速度要相对来得低一些。
三、堆栈数据结构区别:
堆(数据结构):堆可以被看成是一棵树,如:堆排序;
栈(数据结构):一种先进后出的数据结构。
13.Linux进程结构
可由三部分组成:代码段、数据段、堆栈段。也就是程序、数据、进程控制块PCB(Process Control Block)组成。进程控制块是进程存在的惟一标识,系统通过PCB的存在而感知进程的存在。
代码段存放程序的可执行代码。数据段存放程序的全局变量、常量、静态变量。堆栈段中的堆用于存放动态分配的内存变量,堆栈段中的栈用于函数调用,它存放着函数的参数、函数内部定义的局部变量。
14.IO模型
常见的IO模型有四种:
(1)同步阻塞IO(Blocking IO):即传统的IO模型。
(2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。
(3)IO多路复用(IO Multiplexing):即经典的Reactor设计模式,有时也称为异步阻塞IO,Java中的Selector和Linux中的epoll都是这种模型。
(4)异步IO(Asynchronous IO):即经典的Proactor设计模式,也称为异步非阻塞IO。
同步和异步的概念描述的是用户线程与内核的交互方式:同步是指用户线程发起IO请求后需要等待或者轮询内核IO操作完成后才能继续执行;而异步是指用户线程发起IO请求后仍继续执行,当内核IO操作完成后会通知用户线程,或者调用用户线程注册的回调函数。
阻塞和非阻塞的概念描述的是用户线程调用内核IO操作的方式:阻塞是指IO操作需要彻底完成后才返回到用户空间;而非阻塞是指IO操作被调用后立即返回给用户一个状态值,无需等到IO操作彻底完成。
15.find
在目录结构中搜索文件,并执行指定的操作。
find pathname -options [-exec]
-name 按照文件名查找文件。
-mtime -n +n 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。 例: php {} \;
16.文件属性
l是链接 d是目录 c是字符设备文件 b是块设备 -是文件
17.socket
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。
通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。
18.tar
压缩操作:
# tar -cvf /usr/local/auto_bak/test.tar /usr/local/test 仅打包,不压缩
# tar -zcvf /usr/local/auto_bak/test.tar.gz /usr/local/test 打包后,以gzip压缩
解压操作:
#tar -zxvf /usr/local/test.tar.gz
19.软连接
软连接: ln -s 源文件 目标文件
20.shell操作光标
ctrl + a 移动光标到行首
crtl + e 移动光标到行尾
ctrl + u 删除光标左边的内容
20.全局查找
查找某个目录所有文件里是否含有某个字符串:
(1)进入要查询的目录
(2)grep -rn "hello world" *
21.快捷键
复制:ctrl+insert
粘贴:shift+insert
22.dstat
实时地看到所有系统资源使用情况
CPU状态:CPU的使用率,这项报告更有趣的部分是显示了用户,系统和空闲部分
磁盘统计:磁盘的读写操作,这一栏显示磁盘的读、写总数。
网络统计:网络设备发送和接受的数据,这一栏显示的网络收、发数据总数。
分页统计:系统的分页活动
系统统计:这一项显示的是中断(int)和上下文切换(csw)
23.历史命令
history 记录执行过的命令
ctrl+r 反向查询历史命令
linux常见面试题相关推荐
- 3w字 长文干货!100 道 Linux 常见面试题
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 本文一共 3W + 字,分别从 Linux概述.磁盘.目录.文件.安全.语法级.实战.文件管理 ...
- 这100道Linux常见面试题,看看你会多少?
点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 导读:本文整理了最新的Linux面试题,近3万字,约100道题,分享至此,希望对大家 ...
- Linux常见面试题,一网打尽!
Linux 概述 什么是Linux Unix和Linux有什么区别? 什么是 Linux 内核? Linux的基本组件是什么? Linux 的体系结构 BASH和DOS之间的基本区别是什么? Linu ...
- Linux常见面试题2
填空 1.在Linux系统中,以 文件 方式访问设备. 2.Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统 3.Linux文件系统中每个文件用 i节点 来标识 4.全部磁盘 ...
- 100 道 Linux 常见面试题,建议收藏!
星标/置顶 公众号????,硬核文章第一时间送达! 本文共 2W+字,分别从 Linux 概述.磁盘.目录.文件.安全.语法级.实战.文件管理命令.文档编辑命令.磁盘管理命令.网络通讯命令.系统管理命 ...
- Linux 常见面试题
一.Linux 概述 1. 什么是Linux Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的Un ...
- 100 道 Linux 常见面试题,慢慢读~
1 Linux 概述 1.1 什么是 Linux Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户.多任务.支持多线程和多 CPU 的操作系 ...
- 100 道 Linux 常见面试题
本文共 2W+字,分别从 Linux 概述.磁盘.目录.文件.安全.语法级.实战.文件管理命令.文档编辑命令.磁盘管理命令.网络通讯命令.系统管理命令.备份压缩命令等方面拆解 Linux 常见面试问题 ...
- 100 道 Linux 常见面试题,建议保存,慢慢读~
本文共 2W+字,分别从 Linux 概述.磁盘.目录.文件.安全.语法级.实战.文件管理命令.文档编辑命令.磁盘管理命令.网络通讯命令.系统管理命令.备份压缩命令等方面拆解 Linux 常见面试问题 ...
最新文章
- Rocksdb Slice使用中的一个小坑
- GET和POST到底啥区别???
- 列表框QListWidget 类
- LeetCode-剑指 Offer 15. 二进制中1的个数
- c语言二进制long,C语言填空题 把从键盘上输入的十进制数(long型)以二进制~十六进制任一制式的形式输出#include main(){...
- 答读者问(6):有关IT培训和毕业之前的迷茫等问题
- 统计学习笔记(1) 监督学习概论(1)
- 为什么python提示没有clock_python – 为什么time.clock比time.time给出更长的时间?
- jeewx-api-1.0.1(捷微微信接口API)版本正式发布
- Python之Pandas库
- 数据有序_CATTI汉译英批改 | 人工智能、大数据有序推进
- 实时计算-多级订单金额,及下级人数
- 剑指offer面试题[3]-二维数组的查找
- Sencha touch 开发系列:容器组件:tabpanel,carousels
- 一次搞定各种数据库 SQL 执行计划:MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite
- 上网行为管理软件-怎么查看电脑近期使用记录...
- 海拔高度与大气密度的关系函数
- Linux4.13显卡切换,LINUX下手动切换双显卡或禁用其中一块显卡的解决办法
- c语言课程总结3000字,单片机课程设计心得体会范文3000字
- php session 自定义到数据库,PHP 自定义session储存 数据库 方式类 高洛峰 细说PHP...
热门文章
- python3 基础教程: 文件read方法(read、readline、readlines)
- Python如何存储数据到json文件
- Python:向函数传递任意数量的实参
- python 超时重试方法
- 使用Python3进行AES加密和解密 输入的数据
- python实现素数筛选法_从零开始学Python系列-第6讲:循环结构
- 计算机网络第4版潘爱民_【每日一题笔试】第 25 天
- C语言回调函数demo(帮助理解)以海康isapiExternDemo回调函数为例
- pytorch nn.Linear(对输入数据做线性变换:y=Ax+b)(全连接层?)
- JavaScript学习笔记(7)PC端网页特效(略)