Linux 面试中被问到的问题
推荐 Linux 命令查询网站, 清晰简约 https://www.linuxcool.com/
曾在面试中被问(初级小白文,大佬自动右上角红叉), 总结如下, 以后发现其他问题会补充:
你工作中 linux 常用命令有哪些 ?
常用的命令主要是
1.管道符 "|" 搭配三剑客, 前一个命令的输出作为后一个命令的输入
三剑客请移步大佬博客: https://www.cnblogs.com/along21/p/10366886.html
大佬总结的太清楚了! 前人栽树后人乘凉 嘿嘿嘿...
2.对文本的搜索工具 grep
比如说,找到包含单词的所有行并显示行号: grep -n 'word' testfile
区别:
查找和搜索文件 find
find命令可以根据给定的路径和表达式查找的文件或目录
-name 按名称查找/etc目录下面所有的.conf结尾的配置文件: find /etc -name "*.conf
-size 按大小查找/etc目录下面大于1M的文件: find /etc -size +1M
3.对文本和数据进行切片处理 awk
比如说,指定分隔符打印每一行第一第二个字段: awk -F ':' '{print $1, $2}' testfile
4.对文本文件进行编辑处理(增删改) sed
比如说,打印输出文件并显示行号且删除2-5行: nl /dir | sed '2,5d'
Linux 三剑客, 均支持正则表达式.
5.对配置文件的修改 vi/vim
6.改变文件或目录的权限 chmod
文件调用权限分为三级 : 文件拥有者u、群组g、其他o u g o
每一权限对应的三种执行操作: 可读取r、可写入w、可执行x r w x
或者直接使用数字表示对应三种文件调用权限的三种执行操作 1 1 1 = 7
7.建立软硬链接 ln -s
软链接又称符号链接,实际就是一个文本文件中包含另一个文件的信息.
硬链接就是同一个文件使用多个别名,换句话就是若干文件共用一个 inode.
8.查看系统内存情况 free
9.查看磁盘空间使用情况 df -hl
10.查看所有分区情况 fdisk -l
11.查看系统的磁盘以树状列出所有块设备 lsblk
12.查看文件 cat tac head tail more less tailf nl 等
cat,tac 从第一行开始,将文件内容输出到屏幕上,缺点屏幕无法全部容下时只能看到部分内容
head,tail 读取文件的前几行与后几行, -n number 显示number行内容
more,less 根据窗口函数大小,适当的输出文件内容,more只能向后翻页
tailf 动态跟踪日志文件logfile,最初的时候打印文件的最后10行内容,从开始一点点读
nl cat -n一样,同样是从第一行输出全部内容,并且把行号显示出来
13.输出字符串或提取Shell变量的值 echo --help 查看帮助文档
如何查看文件的 第 100 行 内容 ?
方法一: head -100 filename | tail -1
方法二: nl filename | sed -n '100p'
方法三: sed -n '100p' filename
方法四: awk 'NR==100' filename
如何查看某一文件中有多少行 ?
Linux wc命令用于计算字数。
利用wc指令我们可以计算文件的Byte数、字数、或是行数.
语法: wc [-clw][--help][--version][文件...]
参数: -c 只显示bytes数, -l 只显示行数, -w 只显示字数
常用命令:
在默认的情况下,wc将计算指定文件的行数、字数,以及字节数
wc testfile
根目录下空间不足, 如何追加空间至根目录下 ?
思路:
1.将/home内容进行备份,备份到临时目录tmp下;
2.将/home文件系统所在的逻辑卷删除;
3.扩大/root文件系统;
4.新建一个/home;
5.恢复/home内容,将tmp目录压缩的内容给恢复过来。
实现:
1.将/home内容进行备份,备份到临时目录tmp下;
查看分区状态: df -hl
对home目录进行备份: tar cvf /tmp/home.tar /home
2.将/home文件系统所在的逻辑卷删除;
目的是卸载home目录:
fuser -km /home/
umount /home
删除home目录的lv: lvremove /dev/mapper/centos-home 完成后会有提示语句 Y+enter...
此时已经将home目录卸载, 使用df命令home不存在
3.扩大/root文件系统;
为root目录添加100G空间: lvextend -L +100G /dev/mapper/centos-root
扩展root的文件系统: xfs_growfs /dev/mapper/centos-root
4.新建一个/home;
重新创建home目录的lv: lvcreate -L 40G -n /dev/mapper/centos-home
创建home的文件系统: mkfs.xfs /dev/mapper/centos-home
将home目录挂载回去: mount /dev/mapper/centos-home
5.恢复/home内容,将tmp目录压缩的内容给恢复过来。
解压到home目录中 :tar xvf /tmp/home.tar -C /home/
进入home目录, 使用mv命令将解压文件启动至此: mv * ../
此时再使用df -hl命令查看,空间追加完成