linux面试,常用命令21问,快来看看你会不会!

167 阅读4分钟
1. 修改目录,文件权限的命令

chown用来更改某个目录或文件的用户名和用户组

chmod用来修改某个目录或文件的访问权限

777这个顺便了解一下

r 4 可读,当前用户可以读取文件内容

w 2 可写,当前用户可以新增或修改文件内容并且删除、移动目录或目录内文件

x 1 可执行。

权限组合就是对应权限值求和,7就是上面三种权限都可以

f603918fa0ec08fa1c11c47958ee3d6d54fbdadf.png

-c : 若该档案权限确实已经更改,才显示其更改动作

-f : 若该档案权限无法被更改也不要显示错误讯息

-v : 显示权限变更的详细资料

-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

ps 

2.如何获取一个本地服务器上可用的端口。

netstat -an 查看网络端口 

lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。 

nmap 端口扫描

netstat -nupl  (UDP类型的端口)

netstat -ntpl  (TCP类型的端口)

netstat -anp 显示系统端口使用情况

3.说说常见的linux命令,linux查看内存的命令是什么?

free

4.查看系统磁盘空间剩余情况的命令

df -hl

查看各个文件夹的命令

du -sh * | sort -nr

5.如何获取java进程的pid

ps -ef|grep processname

6.如何获取某个进程的网络端口号

netstat -antulp |grep pid

7.如何实时打印日志

tail -f  xxx.log

8.如何统计某个字符串行数;

cat xx.log|grep ‘xxx’|wc -l

9.用一行命令查看文件的最后五行

 tail -n 5 xxx.log

从第5行到最后

 tail -n +5 xxx.log  

10.用一行命令输出正在运行的java进程

ps -ef|grep java

11.怎么清屏?怎么退出当前命令?

clear ; esc  :wq!

12.目录创建,创建文件,复制文件分别用什么命令

mkdir xxx ;   touch xxx ; cp xxx xxx  ; mv xx xx; 

13.查看文件内容有哪些命令可以使用?tail?cat?less?more?

/字符串 向下搜索文档 找到相关文字以后: 
(1)按下小写n,向下查找 
(2)按下大写N,向上查找

tail -n 5 xxx.log 输出末尾5行

more xxx.log 一次性加载文档 按空格往后 按b往前

less -Nm xxx.log  less不会读取整个文件,分页加载文档 

14.怎么使一个命令在后台运行?

尾巴带 &

15.终止进程用什么命令? 带什么参数? kill-9 pid有什么风险?

kill -9 PID 是操作系统从内核级别强制杀死一个进程.

kill -15 PID 可以理解为操作系统发送一个通知告诉应用主动关闭.

SIGNTERM(15) 的效果是正常退出进程,退出前可以被阻塞或回调处理。并且它是Linux缺省的程序中断信号。

大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后再停止。但是也有程序可以在接受到信号量后,做一些其他的事情,并且这些事情是可以配置的。如果程序正在等待IO,可能就不会立马做出响应。也就是说,SIGTERM多半是会被阻塞的、忽略。

但是kill -9 pid也不是所有的程序都会乖乖听话,总有那些状态下的程序无法立刻响应

16.搜索文件用什么命令? 格式是怎么样的

which 

whereis 

locate

find

17.使用什么命令查看网络是否连通

ping ip 

telnet port

18.使用什么命令查看 ip 地址及接口信息

ipconfig

 

19.grep 常用命令 记忆口诀 grep -ABC 行数 xxx文本

查询zzz 往后查询10行

grep -A 10 'zzz' test.txt 

往前查询10行

grep -B 10 'zzz' test.txt

打印出字符zzz前后2行 -C

grep -C 10 'zzz' test.txt

20.awk  常用命令

1089507-20170126225731300-1873454323.jpg

1089507-20170126232437800-1355193233.jpg 只查看test.txt文件(100行)内第20到第30行的内容(企业面试)

 awk '{if(NR>=20 && NR<=30) print $1}' test.txt

统计 /etc/passwd的账户人数

awk '{count++;print $0;} END{print "user count is ",count}' passwd

21.sed 常用命令

批量替换

sed -i 's/test/mytest/g' test.txt

特定字符串的行前插入新行

sed -i '/特定字符串/i 新行字符串' file

特定字符串的行后插入新行

sed -i '/特定字符串/a 新行字符串' file

特定字符串的删除

sed -i '/字符串/d' file