程序员的50大Linux面试问题及答案(二)

简介: 程序员的50大Linux面试问题及答案(二)

程序员的50大Linux面试问题及答案(一):https://developer.aliyun.com/article/1416673

31.修改权限?

chmod options mode file

比如给文件附加可以执行权限:

[root@xiaoka ~]# chmod +x filename

32.如何执行可以执行文件?

[root@xiaoka ~]# sh sleep.sh
hello,xiaoka
[root@xiaoka ~]# ./sleep.sh
hello,xiaoka

33.列出已经安装的包?安装软件?更新软件?卸载?

列出已经安装的包: yum list installed

安装软件: yum install package_name

更新软件: yum update package_name

卸载软件:yum remove package_name //只删除软件包保留数据文件和配置文件

如果不希望保留数据文件和配置文件

可以执行:yum erase package_name

34.源码安装通常的路子?

tar -zxvf xx.gz //解包
 cd xx
 ./configure
 make
 make install

35.vim编辑器几种操作模式?基本操作?

操作模式:

  • 普通模式
  • 插入模式

基础操作:

  • h:左移一个字符。
  • j:下移一行(文本中的下一行)。
  • k:上移一行(文本中的上一行)。
  • l:右移一个字符。

vim提供了一些能够提高移动速度的命令:

  • PageDown(或Ctrl+F):下翻一屏
  • PageUp(或Ctrl+B):上翻一屏。
  • G:移到缓冲区的最后一行。
  • num G:移动到缓冲区中的第num行。
  • gg:移到缓冲区的第一行。

退出vim:

  • q:如果未修改缓冲区数据,退出。
  • q!:取消所有对缓冲区数据的修改并退出。
  • w filename:将文件保存到另一个文件中。
  • wq:将缓冲区数据保存到文件中并退出。

36.查看设备还有多少磁盘空间?

df 可以查看所有已挂在磁盘的使用情况。

-m 用兆字节,G代替g字节

[root@iz2ze76ybn73dvwmdij06zz ~]# df
文件系统          1K-块    已用     可用 已用% 挂载点
devtmpfs        1931568       0  1931568    0% /dev
tmpfs           1940960       0  1940960    0% /dev/shm
tmpfs           1940960     720  1940240    1% /run
tmpfs           1940960       0  1940960    0% /sys/fs/cgroup
/dev/vda1      41152812 9068544 30180560   24% /
tmpfs            388192       0   388192    0% /run/user/0
快速判断某个特定目录是否有超大文件?

默认情况,du会显示当前目录的所有文件、目录、子目录的磁盘使用情况。

[root@iz2ze76ybn73dvwmdij06zz src]# du
4 ./debug
4 ./kernels
12

37.默认进程信息显示?

ps它能输出运行在系统上的所有程序的许多信息。

默认情况下ps值显示运行在当前控制台下的当前用户的进程。

[root@iz2ze76ybn73dvwmdij06zz ~]# ps
  PID TTY          TIME CMD
10102 pts/0    00:00:00 bash
10131 pts/0    00:00:00 ps

38.实时监测进程

与ps相比,top可以实时监控进程信息。

平均负载有3个值:最近1分钟的、最近5分钟的和最近15分钟的平均负载。值越大说明系统 的负载越高。由于进程短期的突发性活动,出现最近1分钟的高负载值也很常见,但如果近15分 钟内的平均负载都很高,就说明系统可能有问题。

39.如何中断一个进程?

在一个终端中, Ctrl + c

通过这个命令许多(不是全部)命令行程序都可以被中断。

40.如何把一个进程放到后台运行?

[root@iz2ze76ybn73dvwmdij06zz ~]# ./sleep.sh &

此时,进程并不能被Ctrl + c 中断。

41.如何停止一个进程?

kill命令被用来给程序发送信号。如果没有指定信号,默认发送TERM(终止)信号。

语法 : kill [-signal] PID …

42.验证网络可链接命令是什么?什么原理?

ping。这个 ping 命令发送一个特殊的网络数据包(叫做 IMCP ECHO REQUEST)到一台指定的主机。大多数接收这个包的网络设备将会回复它,来允许网络连接验证。

一旦启动,ping会持续在特定时间(默认1秒)发送数据包。

43.查看某端口是否被占用?

netstat -ntulp|grep 8080

[root@iz2ze76ybn73dvwmdij06zz ~]# netstat -ntulp|grep 8080
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      4517/jav

参数说明:

  • -t (tcp) 仅显示tcp相关选项
  • -u (udp)仅显示udp相关选项
  • -n 拒绝显示别名,能显示数字的全部转化为数字
  • -l 仅列出在Listen(监听)的服务状态
  • -p 显示建立相关链接的程序名

44.如何查找匹配的文件?基于文件属性?

find 程序能基于各种各样的属性,搜索一个给 定目录(以及它的子目录),来查找文件。

find 命令的最简单使用是,搜索一个或多个目录。

普通查找,按照name查找:

[root@iz2ze76ybn73dvwmdij06zz ~]# find -name xiaoka
./xiaoka

文件类型查找:

比如,输出我们的家目录文件数量

[root@iz2ze76ybn73dvwmdij06zz ~]# find ~|wc -l
17130

根据文件类型查:

[root@iz2ze76ybn73dvwmdij06zz ~]#  find ~ -type d | wc -l
7340

find支持的类型: b 块设备文件、 c 字符设备文件、d 目录、f 普通文件、l 符号链接

45.如何查看当前主机名?如何修改?如何重启后生效?

[root@iz2ze76ybn73dvwmdij06zz ~]# hostname//查看当前主机名
iz2ze76ybn73dvwmdij06zz
[root@iz2ze76ybn73dvwmdij06zz ~]# hostname xiaoka//修改当前主机名
[root@iz2ze76ybn73dvwmdij06zz ~]# hostname
xiaoka

大家知道一般来讲命令重启就会失效,目前基本上用的centos7的比较多,两种方式可以支持重启生效。

一、命令

[root@iz2ze76ybn73dvwmdij06zz ~]# hostnamectl set-hostname xiaoka
[root@iz2ze76ybn73dvwmdij06zz ~]# hostname
xiaoka
[root@xiaoka ~]#

二、修改配置文件:/etc/hostname

[root@xiaoka ~]# vim /etc/hostname

46.如何写一条规则,拒绝某个ip访问本机8080端口?

iptables -I INPUT -s ip -p tcp —dport 8080 -j REJECT

47.哪个文件包含了主机名和ip的映射关系?

/etc/hosts

48.如何用sed只打印第5行?删除第一行?替换字符串?

只打印第5行:

➜  apache sed -n "5p" tomcat
stop

删除第一行:

[root@xiaoka ~]# cat story
Long ago a lion and a bear saw a kid.
They sprang upon it at the same time.
The lion said to the bear, “I caught this kid first, and so this is mine.”
[root@xiaoka ~]# cat story
They sprang upon it at the same time.
The lion said to the bear, “I caught this kid first, and so this is mine.”

替换字符串:

➜  apache cat story
Long ago a lion and a bear saw a kid.
They sprang upon it at the same time.
The lion said to the bear, “I caught this kid first, and so this is mine.”
➜  apache sed 's#this#that#g' story
Long ago a lion and a bear saw a kid.
They sprang upon it at the same time.
The lion said to the bear, “I caught that kid first, and so that is mine.”

49.打印文件第一行到第三行?

文件tomcat中内容:

➜  apache cat tomcat
text21
text22
text23
start
stop
restart
end
➜ apache head -3 tomcat
text21
text22
text23
➜ apache sed -n '1,3p' tomcat
text21
text22
text23
➜ apache awk 'NR>=1&&NR<=3' tomcat
text21
text22
text23

50.如何用awk查看第2行倒数第3个字段?

➜  apache awk 'NR==3{print $(NF-2)}' story
this
➜  apache cat story
Long ago a lion and a bear saw a kid.
They sprang upon it at the same time.
The lion said to the bear, “I caught this kid first, and so this is mine.”

人与人的羁绊就薄如蝉翼

相关文章
|
3月前
|
算法 程序员 Go
PHP 程序员学会了 Go 语言就能唬住面试官吗?
【9月更文挑战第8天】学会Go语言可提升PHP程序员的面试印象,但不足以 solely “唬住” 面试官。学习新语言能展现学习能力、拓宽技术视野,并增加就业机会。然而,实际项目经验、深入理解语言特性和综合能力更为关键。全面展示这些方面才能真正提升面试成功率。
60 10
|
4月前
|
Java 程序员 Linux
学校不教,工作需要!!!程序员需要掌握的常见Linux命令,掌握可以让工作效率翻倍!!
这篇文章列出了程序员在Linux环境下提高工作效率所需要掌握的常见命令,包括文件操作、系统监控、网络配置、进程管理等,并提供了一些实用技巧和快捷键。
|
4月前
|
JavaScript 前端开发 小程序
CoderGuide 程序员前后端面试题库,打造全网最高质量题库
CoderGuide涵盖范围包括且不限于:前端面试题(Vue,React,JS,HTTP,HTML,CSS面试题等),后端面试题(Java,Python,Golang,PHP,Linux,Mysql面试题等),以及算法面试题,大厂面试题,高频面试题,校招面试题等,你想要的,这里都有!
75 2
|
4月前
|
Linux 数据安全/隐私保护 Perl
解锁Linux高手秘籍:文件操作+命令解析大揭秘,面试场上让你光芒万丈,技术实力惊艳四座!
【8月更文挑战第5天】Linux作为服务器与嵌入式系统的基石,其文件管理和命令行操作是技术人员必备技能。本文从文件操作和基础命令两大方面,深入浅出地解析Linux核心要义,助你在面试中脱颖而出。首先探索文件系统的树状结构及操作,包括使用`ls -la`浏览文件详情、`touch`创建文件、`rm -r`慎删目录、`cp`与`mv`复制移动文件、以及利用`find`搜索文件。接着掌握命令行技巧,如用`cat`、`more`和`less`查看文件内容;借助`grep`、`sed`与`awk`处理文本;运用`ps`、`top`和`kill`管理进程;并通过`chmod`和`chown`管理文件权限。
84 8
|
4月前
|
监控 Linux 数据安全/隐私保护
Linux大神养成记:掌握这些逆天命令与快捷方式,面试秒变MVP,让你的技术实力燃爆全场!
【8月更文挑战第5天】Linux作为开源领域的核心,熟悉其基本命令对系统管理员和技术人员至关重要。本文精选了面试中常考的Linux命令,覆盖文件管理、文本处理、进程监控及权限调整等关键领域,并介绍了提高效率的快捷方式。通过掌握如`ls -l`、`grep &quot;error&quot;`、`top`、`chmod 755`等实用命令,以及Tab自动补全、历史命令浏览等功能,不仅能显著提升日常工作效能,还能在求职面试时展现出扎实的技术功底。
69 4
|
5月前
|
Linux 编译器 Shell
拼多多面试 Linux下一个应用程序开始执行到main被调用之间经历了什么?
在Linux中,程序启动到`main`调用涉及加载器、内核、动态链接器和C运行时。`execve`系统调用加载ELF文件,内核创建进程,加载段,设置栈和调用动态链接器。动态链接器解析符号,重定位,执行初始化。C运行时初始化堆栈,调用`main`。从`_start`到`main`的流程包括环境设置和函数调用。
76 0
|
6月前
|
机器学习/深度学习 关系型数据库 Shell
老程序员分享:Linux之pushd、popd和dirs的使用讲解,比cd
老程序员分享:Linux之pushd、popd和dirs的使用讲解,比cd
50 1
|
5月前
|
存储 Java Linux
Java面试之Linux和docker
Java面试之Linux和docker
49 0
|
6月前
|
开发工具 git Docker
老程序员分享:linux试题
老程序员分享:linux试题
46 0
|
关系型数据库 Unix Shell