基本上都是一些面试常问到的题目
1、说一些你比较常用linux指令
ls/ll、cd、mkdir、rm-rf、cp、mv、ps -ef | grep xxx、kill、free-m、tar -xvf file.tar
2、查看进程(例:如何查看所有xx进程)
ps -ef | grep xxx
ps -aux | grep xxx(-aux显示所有状态)
3、杀掉进程
kill -9[PID] —(PID用查看进程的方式查找)
4、启动/停止服务
cd到bin目录cd/
./startup.sh --打开(先确保有足够的权限)
./shutdown.sh —关闭
5、查看日志
cd到服务器的logs目录(里面有xx.out文件)
tail -f xx.out --此时屏幕上实时更新日志。ctr+c停止
查看最后100行日志 tail -100 xx.out
查看关键字附件的日志。如:cat filename | grep -C 5 ‘关键字’(关键字前后五行。B表示前,A表示后,C表示前后) ----使用不多
还有vi查询啥的。用的也不多。
6、查看端口:(如查看某个端口是否被占用)
netstat -anp | grep 端口号(状态为LISTEN表示被占用)
7、查找文件
查找大小超过xx的文件: find . -type f -size +xxk -----(find . -type f -mtime -1 -size +100k -size-400k)–查区间大小的文件
通过文件名:find / -name xxxx —整个硬盘查找
其余的基本上不常用
8、vim(vi)编辑器
有命令模式、输入模式、末行模式三种模式。
命令模式:查找内容(/abc、跳转到指定行(20gg)、跳转到尾行(G)、跳转到首行(gg)、删除行(dd)、插入行(o)、复制粘贴(yy,p)
输入模式:编辑文件内容
末行模式:保存退出(wq)、强制退出(q!)、显示文件行号(set number)
在命令模式下,输入a或i即可切换到输入模式,输入冒号(:)即可切换到末行模式;在输入模式和末行模式下,按esc键切换到命令模式
9、Linux中进程与Windows中进程的区别
windows下,一个典型的线程拥有自己的堆栈、寄存器(包括程序计数器PC,用于指向下一条应该执行的指令在内存中的位置),而代码段、数据段、打开文件这些进程级资源是同一进程内多个线程所共享的。因此同一进程的不同线程可以很方便的通过全局变量(数据段)进行通信,大家都可以对数据段进行读写,这很方便,也被在安全性方面诟病,因为它要求程序员时刻意识到这些数据不是线程独立的。
对于linux来说,则没有很明确的进程、线程概念。首先linux只有进程而没有线程,然而它的进程又可以表现得像windows下的线程。linux利用fork()和exec函数族来操作多线程。fork()函数可以在进程执行的任何阶段被调用,一旦调用,当前进程就被分叉成两个进程——父进程和子进程,两者拥有相同的代码段和暂时相同的数据段(虽然暂时相同,但从分叉开的时刻就是逻辑上的两个数据段了,之所以说是逻辑上的,是因为这里是“写时复制”机制,也就是,除非万不得已有一个进程对数据段进行了写操作,否则系统不去复制数据段,这样达到了负担最小),两者的区别在于fork()函数返回值,对于子进程来说返回为0,对于父进程来说返回的是子进程id,因此可以通过if(fork()==0)…else…来让父子进程执行不同的代码段,从而实现“分叉”。
10、awk命令
grep | 更适合单纯的查找或匹配文本 |
---|---|
sed | 更适合编辑匹配到的文本 |
awk | 更适合格式化文本,对文本进行较复杂格式处理 |
以下讨论awk命令,以后讨论,太多了奶奶的