360笔试题之LINUX和UNIX篇

写出完成以下任务的命令:

1.查看当前所在目录。如若当前在,/home/usr1目录下,查看此目录大小。列出此目录下的所有文件(包括隐藏文件)。

参考答案:

您可以使用以下命令查看当前所在目录和目录大小,并列出所有文件(包括隐藏文件):

复制代码
pwd
du -sh /home/usr1
ls -a /home/usr1

pwd 命令用于打印当前所在目录的完整路径。

du -sh /home/usr1 命令用于显示 /home/usr1 目录的大小,-s 选项表示仅显示总大小,-h 选项表示以可读的方式显示大小。

ls -a /home/usr1 命令用于列出 /home/usr1 目录下的所有文件(包括隐藏文件),-a 选项表示显示所有文件,包括以 . 开头的隐藏文件。

2.查看网络状态,查看网络适配器配置。查看系统进程,查看系统执行中的进程及其所占资源的命令。

参考答案:

要查看网络状态,可以使用以下命令:

  • 在Windows上,使用命令ipconfig可以查看网络适配器配置,并显示当前的IP地址、子网掩码、默认网关等信息。

  • 在Linux上,使用命令ifconfig可以查看网络适配器配置,并显示当前的IP地址、子网掩码、默认网关等信息。

要查看系统进程和系统执行中的进程及其所占资源,可以使用以下命令:

  • 在Windows上,使用命令tasklist可以查看系统进程,并显示进程的名称、PID(进程ID)、内存使用情况等信息。

  • 在Linux上,使用命令ps aux可以查看系统执行中的进程,并显示进程的用户、PID、CPU使用情况、内存使用情况等信息。

根据操作系统的不同,可能需要以管理员或超级用户权限运行这些命令才能获得完整的信息。

3.新建一个文件apptest.c

参考答案:

要在Linux中创建一个新的文件apptest.c,可以使用touch命令。在终端中输入以下命令:

复制代码
touch apptest.c

这将在当前目录下创建一个名为apptest.c的空文件。如果文件已经存在,则执行此命令将更新文件的访问和修改时间戳。

4.列出所有你知道的可以用来查找文件和文件内容的命令。

参考答案:

以下是常用的在命令行中用来查找文件和文件内容的命令:

  1. find:用于在指定目录及其子目录中查找文件。例如:find /path/to/directory -name "filename"
  2. locate:用于在整个文件系统中快速查找文件。例如:locate filename
  3. grep:用于在文件中搜索指定的字符串。例如:grep "search_string" filename
  4. fgrep:用于在文件中快速搜索固定字符串。例如:fgrep "search_string" filename
  5. ag:The Silver Searcher (ag)是一个更快速的grep替代工具,用于在文件中搜索字符串。例如:ag "search_string" filename
  6. ack:类似于ag,用于在文件中搜索字符串。例如:ack "search_string" filename
  7. sed:用于在文件中执行文本替换和数据处理操作。例如:sed 's/old_string/new_string/g' filename
  8. awk:用于在文件中处理和提取数据。例如:awk '{print $1}' filename
  9. head:用于显示文件的开头几行。例如:head -n 10 filename
  10. tail:用于显示文件的末尾几行。例如:tail -n 10 filename
  11. less:用于在终端中逐页显示文件内容。例如:less filename
  12. more:用于在终端中一页一页地显示文件内容。例如:more filename
  13. cat:用于在终端中连续显示文件内容。例如:cat filename
  14. wc:用于统计文件的行数、字数和字节数。例如:wc filename
  15. du:用于查看文件或目录的磁盘使用情况。例如:du -h filename或du -h /path/to/directory

5.有300个源代码文件(.cpp , .h , .inl)放在同一个文件夹里面,由于版本升级,需要修改该文件夹中所有.cpp的文件中的版本号(由version='1.2'更新为version='3.0')

要求:1.只修改.cpp文件中的版本号,不能影响.h和.inl文件 2.对原有的文件需要做备份,以.bak结尾

参考答案:

您可以使用以下Shell脚本实现此操作:

复制代码
#!/bin/bash

# 备份并修改.cpp文件中的版本号

# 设置文件夹路径
folder_path=/path/to/folder

# 遍历文件夹中的.cpp文件
for file_path in $(find $folder_path -type f -name "*.cpp"); do
    # 备份文件
    cp $file_path $file_path.bak
    
    # 修改版本号
    sed -i "s/version='1.2'/version='3.0'/g" $file_path
done

请将/path/to/folder替换为你实际的文件夹路径。然后将上述代码保存到一个脚本文件(例如update_version.sh),使用终端运行该脚本即可完成修改。

相关推荐
2601_966949656 小时前
为什么量化策略需要大量历史股票数据?从回测可信度理解数据规模
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
niucloud-admin6 小时前
JAVA V6 多商户商城 开发文档——插件目录结构
java·开发语言
滕州市燕猫虎计算机科技工作室个体工商户6 小时前
Java锁
java·开发语言
多加点辣也没关系7 小时前
JavaScript|第31章:表单与控件
开发语言·javascript·ecmascript
菜鸟~noob2337 小时前
【电子战】 第09篇:阵列信号处理——波束形成、MVDR、MUSIC【含matlab代码】
开发语言·matlab·信号处理
ocean21037 小时前
2025-2026年Python面试高频知识点洞察
开发语言·python·面试·python八股文
零依赖极客7 小时前
Day 6·1 ARMv8.2 dotprod——vdotq_s32 一条指令做 4 个点积
c语言·开发语言·人工智能·矩阵·arm·vllm
新时代牛马9 小时前
cyclictest 毛刺从哪来?从ftrace、latencytop、perf到IRQ/调度延迟定位
android·开发语言·python·kotlin
三8449 小时前
Java 模板注入(FreeMarker) · 02 · 模板引擎与 FreeMarker 语法
java·开发语言·web安全·freemarker
疯狂打码的少年9 小时前
【计算机网络】子网掩码与子网划分计算(含CIDR表示法)
服务器·笔记·计算机网络·php