当前位置:首页>Linux>【信奧初赛】Linux命令与time命令精讲

【信奧初赛】Linux命令与time命令精讲

  • 2026-10-11 06:38:18
【信奧初赛】Linux命令与time命令精讲

导语:Linux命令是竞赛必备技能,time命令用于查看程序运行时间,是性能测试的重要工具!

一、常用Linux命令

1.1 文件操作

命令说明示例
ls列出文件ls, ls -l, ls -a
cd切换目录cd dir, cd .., cd ~
pwd显示当前目录pwd
mkdir创建目录mkdir dir
rmdir删除空目录rmdir dir
touch创建文件touch file
rm删除文件rm file, rm -rf dir
cp复制文件cp src dest
mv移动文件mv src dest

1.2 文件查看

命令说明示例
cat查看文件内容cat file
less分页查看less file
head查看前n行head -n 10 file
tail查看后n行tail -n 10 file
wc统计行数wc -l file

1.3 权限操作

命令说明示例
chmod修改权限chmod 755 file
chown修改所有者chown user file

1.4 搜索命令

命令说明示例
grep搜索内容grep pattern file
find查找文件find . -name "*.cpp"

1.5 压缩解压

命令说明示例
tar打包压缩tar -czvf file.tar.gz dir
tar解压tar -xzvf file.tar.gz
zip压缩zip file.zip file
unzip解压unzip file.zip

二、time命令

2.1 基本用法

time ./program

输出程序运行时间。

2.2 输出格式

real    0m0.123s  # 实际时间(墙上时间)user    0m0.099s  # 用户态CPU时间sys     0m0.024s  # 系统态CPU时间
  • real:从程序开始到结束的实际时间

  • user:程序执行用户代码的CPU时间

  • sys:程序执行系统调用的CPU时间

2.3 统计信息

time -v ./program

输出详细统计信息:

Command being timed: "./program"User time (seconds): 0.099System time (seconds): 0.024Percent of CPU this job got: 99%Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.123Average shared text size (kbytes): 0Average unshared data size (kbytes): 0Average stack size (kbytes): 0Average total size (kbytes): 0Maximum resident set size (kbytes): 2432Average resident set size (kbytes): 0Major (requiring I/O) page faults: 0Minor (reclaiming a frame) page faults: 506Voluntary context switches: 1Involuntary context switches: 24Swaps: 0File system inputs: 0File system outputs: 0Socket messages sent: 0Socket messages received: 0Signals delivered: 0Page size (bytes): 4096Exit status: 0

2.4 指定输出文件

time -o output.txt ./program

将结果输出到文件。

2.5 自定义格式

time -f"real:%e user:%U sys:%S" ./program

常用格式符:

  • %e:实际时间(秒)

  • %U:用户态CPU时间(秒)

  • %S:系统态CPU时间(秒)

  • %P:CPU使用率

三、性能分析

3.1 时间复杂度验证

# 测试不同数据规模的运行时间for n in100010000100000; doecho"n=$n"    time ./program $ndone

3.2 优化效果对比

# 对比优化前后的运行时间g++-O0 program.cpp -o program_o0g++-O2 program.cpp -o program_o2echo"O0:"time ./program_o0echo"O2:"time ./program_o2

3.3 内存使用

time -v ./program | grep"Maximum resident set size"

查看程序最大内存使用。

四、其他性能工具

4.1 /usr/bin/time

系统自带的time命令,功能更强大:

/usr/bin/time -v ./program

4.2 perf

性能分析工具:

perf stat ./program

输出:

 Performance counter stats for './program':         123,456 cycles                    #    3.45 GHz          78,901 instructions              #    0.64  insn per cycle              123 context-switches          #    0.000 M/sec                0 CPU-migrations            #    0.000 M/sec              456 page-faults               #    0.000 M/sec       0.035467333 seconds time elapsed       0.034999999 seconds user       0.000000000 seconds sys

五、历年真题

真题1(文件操作)

列出当前目录文件的命令是?

A. cdB. lsC. pwdD. mkdir

答案与解析

答案:B

解析:ls命令列出当前目录文件,cd切换目录,pwd显示当前目录,mkdir创建目录。

真题2(目录操作)

切换到上级目录的命令是?

A. cd .B. cd ..C. cd ~D. cd /

答案与解析

答案:B

解析:cd ..切换到上级目录,cd .当前目录,cd ~用户目录,cd /根目录。

真题3(time命令)

time命令输出的real时间是?

A. 用户态CPU时间B. 系统态CPU时间C. 实际时间D. 总CPU时间

答案与解析

答案:C

解析:real是实际时间(墙上时间),user是用户态CPU时间,sys是系统态CPU时间。</details>

真题4(time输出)

time命令的user时间表示什么?

A. 实际时间B. 用户态CPU时间C. 系统态CPU时间D. 等待时间

答案与解析

答案:B

解析:user时间是程序执行用户代码的CPU时间,sys是执行系统调用的CPU时间。</details>

真题5(权限)

修改文件权限为755的命令是?

A. chown 755 fileB. chmod 755 fileC. chmod 777 fileD. chown 777 file

答案与解析

答案:B

解析:chmod修改权限,chown修改所有者,755表示所有者可读可写可执行,其他用户可读可执行。


六、记忆口诀

Linux命令常用,ls列出文件cd切换目录;

pwd显示当前目录,mkdir创建目录rm删除;

cat查看文件grep搜索内容,find查找文件;

time命令查看运行时间,real实际时间user用户态sys系统态;

性能测试优化对比,Linux命令竞赛必备!

CSP初赛知识点系列:

1、竞赛与计算机发展历史

【CSP初赛系列1】CCF与NOI系列竞赛历史精讲

【CSP初赛系列2】CSP-J与CSP-S赛制详解

【CSP初赛系列3】GESP等级认证与大学生竞赛精讲

ICPC与CCPC竞赛精讲

【CSP初赛系列5】计算机发展历史精讲

【CSP初赛系列6】第一台电子计算机精讲

2、计算机系统基础

【CSP初赛系列7】计算机发展年代精讲

【CSP初赛系列8】冯诺依曼架构与硬件基础精讲

【CSP初赛系列9】计算机组成精讲

【CSP初赛系列9】输入输出设备精讲

【CSP初赛系列10】主频、IPC与CPU时间精讲

【CSP初赛系列11】CPU性能指标精讲

【CSP初赛系列12】MIPS与FLOPS性能指标精讲

【信奧初赛】位字节与字精讲

3、操作系统与Linux基础

【信奧初赛】内存管理精讲

【信奧初赛】文件系统精讲

【信奧初赛】g++编译选项精讲

【信奧初赛】GDB调试工具精讲

4、网络基础

【CSP初赛系列14】IP地址与网络基础精讲

【CSP初赛系列15】IP地址与DNS精讲

【CSP初赛系列16】IP地址分类精讲

【CSP初赛系列17】TCP协议与网络安全精讲

【CSP初赛系列18】TCP-IP协议栈精讲

IP地址分类精讲

TCP-IP协议栈精讲

HTTP与网页基础精讲

【CSP初赛系列19】HTTP与网页基础精讲

【CSP初赛系列20】DNS域名解析与HTTP协议精讲

永久免费
        信奥天天练 是一款专为信息学奥赛备考打造的微信小程序,汇集 CSP-J、CSP-S、GESP 三大赛事,支持随机练习、章节练习、真题考试、模拟考试,配合错题集、收藏夹与推荐书单,助你随时随地高效备考。
学霸都在练 是一款专为中小学全学段打造的备考刷题小程序,覆盖小升初、中考、高考及学科竞赛,支持真题模考、章节练习、错题巩固、知识点速查,配套学习资料与刷题题库,助你随时随地高效提分。

最新文章

随机文章