操作系统面试题(2)Linux命令与Shell

操作系统面试题(2)Linux命令与Shell

1 Linux常用命令有哪些?

cd 切换目录
ls 显示目录下的文件 -a 显示包括隐藏文件的所有文件 -l 显示文件详细信息 -ltr 以最后修改时间升序列出文件
pwd 显示当前目录
find 查找命令 find 路径 -name ‘文件名’ 查找指定目录下的该文件
mv 文件重命名或移动文件 mv 文件名1 文件名2–重命名 mv 文件名 目录–移动文件
cp 复制文件 cp 文件 目录
mkdir 创建子目录 mkdir 目录名
rm 删除命令 -i 删除前确认 -rf递归删除目录下所有文件且不用确认
head 查看文件前10行 -n 查看前n行
tail 查看文件后10行 -n 查看后n行 -f 实时查看
cat 查看文件 cat 文件1 文件2 查看文件1和文件2
less 查看大文件时使用,CTRL+f 向前翻页 CTRL+b 向后
vim 编辑命令 有三种工作模式:命令模式、输入模式、编辑模式(进去后默认处于命令模式,按i进入输入模式,然后esc可退出。然后按:进入编辑模式,输入wq保存并退出)
其他通用的有:
Ps -ef | grep 程序 —查看进程信息
Kill -9 进程号 —彻底杀掉进程
Scp 文件 远程用户名@远程ip:/etc —复制文件到远程地址
Tar -zcvf —压缩
Tar -zxvf —解压
Su —切换登录用户
df 查看磁盘空间

2 如何查看文件内容?

vi 文件名 编辑方式查看,可修改
cat 文件名 显示全部文件内容
more 文件名 分页显示文件内容
less 文件名 与 more 相似,更好的是可以往前翻页
tail 文件名 仅查看尾部,还可以指定行数
head 文件名 仅查看头部,还可以指定行数

3 如何查看磁盘使用空间?

df -hl:查看磁盘剩余空间
df -h:查看每个根路径的分区大小
du -sh [目录名]:返回该目录的大小
du -sm [文件夹]:返回该文件夹总M数
du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹)

4 如果将文本中所有“abc”替换为“xyz”?

cat file | tr "abc" "xyz" > file_name.txt

5 举例说明grep命令怎么使用?

查找特定文件中的错误:grep "error" /var/log/syslog
查找包含错误关键字的所有日志文件:grep -ir "error" /var/log/
查找特定应用程序的错误日志:grep "error" /var/log/nginx/error.log

6 如何找出占用空间最大的文件?

有两种方法:

du -h . | sort -rh | head -n 5

显示当前目录下占用空间最大的前5个文件(包括子目录)。du -h .命令用于计算当前目录下所有文件和目录的大小,sort -rh命令按照人类可读的格式将结果进行倒序排序,head -n 5命令显示前5行结果。

find /path/to/directory -type f -exec du -Sh {} + | sort -rh | head -n 5

将/path/to/directory替换为你想要查找的目录路径。该命令将递归地查找指定目录下的所有文件,使用du -Sh命令计算文件大小,sort -rh命令按照人类可读的格式进行倒序排序,head -n 5命令显示前5行结果。

7 什么是Shell?

shell 是一个程序,它从键盘获取命令并将它们提供给操作系统以执行,在大多数 Linux 系统上,一个名为bash(代表 Bourne Again Shell,原始 Unix shell 程序 sh 的增强版本,由 Steve Bourne 编写)的程序充当命令解释器。

8 shell 脚本变量和环境变量有什么区别?
shell 变量是一个仅包含在设置或定义它的 shell 中的变量,环境变量是可以从shell传递到它创建的任何子进程的属性。

9 shell 脚本\ #!/bin/sh 或\ #!/bin/bash 什么意思?

这一行说明要使用的 shell,比如 #!/bin/bash 表示脚本使用 /bin/bash
对于 python 脚本,就是 #!/usr/bin/python。

10 Shell 脚本如何写一个函数?

function hello()
{ 
    echo "hello" 
}

11 Shell 脚本如何连接两个字符串?

str1='Hello, '
str2='World!'
str=${str1}${str2}
echo $str

12 Shell 脚本如何执行循环?

for i in {1..5}
do  
   echo $i  
done
i=1
while [ $i -le 5 ]
do
  echo $i
  let i++
done

13 Shell 脚本如何检查文件是否存在?

if test -e 文件路径
then
    echo "文件存在"
else
    echo "文件不存在"
fi
if [ -e 文件路径 ]
then
    echo "文件存在"
else
    echo "文件不存在"
fi
if [ -f 文件路径 ]
then
    echo "普通文件存在"
else
    echo "普通文件不存在"
fi
if [ -d 文件路径 ]
then
    echo "目录存在"
else
    echo "目录不存在"
fi

参考(摘抄的文字版权属于原作者)
https://zhuanlan.zhihu.com/p/555452448
https://www.liangzl.com/t/CDAE38718FG7.html
https://www.shence123.com/s/25523.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注