面试必考的40个Linux常用命令(文末免费下载Linux命令大全学习教程)
Linux面试必考的40个Linux常用命令(文末附Linux命令大全)
ls、cd、pwd、cp、mv、rm、mkdir、rmdir、touch、cat、tail、head、grep、find、chmod、chown、ps、top、df、du、ln、tar、zip、unzip、rsync、scp、wc、sort、uniq、cut、sed、awk、echo、date、uptime、uname、whoami、history、clear、man
🧑 博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。各技术博客社区平台的优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:gylzbk)
💬 博主粉丝群介绍:① 群内高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 群里红包不断,异常活跃,感兴趣的加我vx(ID:gylzbk),拉你进群,互相学习共同进步。
在 Linux 面试中,熟悉常用的 Linux 命令是不可或缺的。这不仅帮助你更好地理解系统操作,还能应对实际问题和面试考察。本文详细介绍 40 个常用的 Linux 命令,并通过表格解析每个命令的常用选项,最后附上具体示例,以帮助你全面掌握这些命令。
1. ls
列出目录内容的命令。
功能:
ls # 列出当前目录中的文件和目录
ls -l # 列出详细信息,包括权限、所有者、大小和修改时间
ls -a # 列出所有文件,包括隐藏文件(以.开头的文件)
ls -lh # 以人类可读的格式列出详细信息
常用选项表:
选项 | 说明 |
---|---|
-l | 列出详细信息(列表格式) |
-a | 列出所有文件,包括隐藏文件 |
-h | 以人类可读的格式显示文件大小 |
-R | 递归列出子目录及其内容 |
示例命令:
ls -l /home/user
2. cd
改变当前工作目录。
功能:
cd /path/to/directory # 切换到指定目录
cd .. # 切换到上一级目录
cd ~ # 切换到用户主目录
cd - # 切换到上一次所在目录
常用选项表:
选项 | 说明 |
---|---|
无 | 切换到指定的目录 |
… | 切换到上一级目录 |
~ | 切换到用户主目录 |
- | 切换到上一次所在目录 |
示例命令:
cd /var/log
3. pwd
显示当前工作目录的完整路径。
功能:
pwd # 输出当前工作目录的路径
常用选项表:
选项 | 说明 |
---|---|
无 | 输出当前工作目录的完整路径 |
示例命令:
pwd
4. cp
复制文件或目录。
功能:
cp source_file target_file # 复制文件
cp -r source_dir target_dir # 递归复制目录及其内容
常用选项表:
选项 | 说明 |
---|---|
-r | 递归复制目录及其内容 |
-i | 覆盖前进行提示 |
-u | 只复制比目标文件新的文件 |
-v | 显示详细的复制过程 |
示例命令:
cp -r /home/user/documents /backup/documents
5. mv
移动或者重命名文件或目录。
功能:
mv old_name new_name # 重命名文件或目录
mv file1 /new/directory/ # 移动文件到新目录
常用选项表:
选项 | 说明 |
---|---|
-i | 覆盖前进行提示 |
-u | 只移动比目标文件新的文件 |
-v | 显示详细的移动过程 |
示例命令:
mv old_project new_project
6. rm
删除文件或目录。
功能:
rm file # 删除单个文件
rm -r dir # 递归删除目录及其内容
rm -f file # 强制删除文件(不提示确认)
常用选项表:
选项 | 说明 |
---|---|
-r | 递归删除目录及其内容 |
-f | 强制删除(不提示确认) |
-i | 删除前提示确认 |
示例命令:
rm -rf /tmp/temporary_files
7. mkdir
创建目录。
功能:
mkdir new_directory # 创建单个目录
mkdir -p parent/child # 创建目录树,包括父目录
常用选项表:
选项 | 说明 |
---|---|
-p | 递归创建多级目录 |
-v | 显示详细的创建过程 |
示例命令:
mkdir -p /new/path/to/directory
8. rmdir
删除空目录。
功能:
rmdir empty_directory # 删除空目录
常用选项表:
选项 | 说明 |
---|---|
-p | 递归删除多级空目录 |
-v | 显示详细的删除过程 |
示例命令:
rmdir /tmp/empty_directory
9. touch
创建空文件或更新文件的修改时间。
功能:
touch new_file # 创建新文件
touch existing_file # 更新文件的修改时间
常用选项表:
选项 | 说明 |
---|---|
-a | 仅修改访问时间 |
-m | 仅修改修改时间 |
-c | 不创建任何文件,只修改时间 |
示例命令:
touch /path/to/newfile.txt
10. cat
连接和显示文件内容。
功能:
cat file # 显示文件内容
cat file1 file2 # 合并并显示多个文件内容
常用选项表:
选项 | 说明 |
---|---|
-n | 显示行号 |
-b | 显示非空行的行号 |
-s | 压缩多个空行 |
-v | 显示不可打印的字符 |
示例命令:
cat /path/to/file.txt
11. tail
显示文件的最后几行。
功能:
tail file # 显示文件的最后10行
tail -n 20 file # 显示文件的最后20行
tail -f logfile # 实时刷新并显示日志文件的新增内容
常用选项表:
选项 | 说明 |
---|---|
-n | 显示最后几行 |
-f | 实时刷新显示,常用于观察日志文件的变化 |
-c | 显示最后几字节 |
示例命令:
tail -f /var/log/syslog
12. head
显示文件的前几行。
功能:
head file # 显示文件的前10行
head -n 20 file # 显示文件的前20行
常用选项表:
选项 | 说明 |
---|---|
-n | 显示前几行 |
-c | 显示前几字节 |
示例命令:
head -n 20 /path/to/file.txt
13. grep
搜索文本中的模式。
功能:
grep "pattern" file # 在文件中搜索包含特定模式的行
grep -r "pattern" directory # 在目录中递归搜索包含特定模式的行
grep -i "pattern" file # 忽略大小写进行搜索
常用选项表:
选项 | 说明 |
---|---|
-i | 忽略大小写 |
-v | 反向搜索(不匹配模式的行) |
-r | 递归搜索目录中的文件 |
-n | 显示匹配行的行号 |
-l | 仅显示包含匹配的文件名 |
示例命令:
grep -rn "main" /path/to/project
14. find
搜索文件和目录。
功能:
find /path -name "filename" # 在目录中搜索指定文件名
find /path -type d -name "dirname" # 搜索特定名称的目录
find /path -mtime -1 # 搜索最近一天内修改的文件
常用选项表:
选项 | 说明 |
---|---|
-name | 按文件名搜索 |
-type | 按文件类型搜索(f:文件,d:目录) |
-mtime | 按修改时间搜索(例如 -1 表示最近一天内修改) |
-size | 按文件大小搜索 |
示例命令:
find /home/user -name "*.txt"
15. chmod
修改文件权限。
功能:
chmod 755 file # 设置文件权限为755(所有者读写执行,组和其他人读执行)
chmod u+x file # 增加所有者的执行权限
chmod -R 755 directory # 递归修改目录及其内容的权限
常用选项表:
选项 | 说明 |
---|---|
u | 用户(所有者)权限 |
g | 组权限 |
o | 其他用户权限 |
a | 所有用户权限 |
+ | 增加权限 |
- | 移除权限 |
= | 赋予权限 |
示例命令:
chmod -R 755 /path/to/directory
16. chown
改变文件所有者和组。
功能:
chown user:group file # 修改文件的所有者和组
chown -R user:group directory # 递归修改目录及其内容的所有者和组
常用选项表:
选项 | 说明 |
---|---|
-R | 递归修改目录及其内容 |
–reference | 使用参考文件的所有者和组 |
示例命令:
chown -R user:group /path/to/directory
17. ps
显示当前进程状态。
功能:
ps # 显示当前终端的进程
ps -aux # 显示所有进程的详细信息
ps -e | grep process_name # 搜索特定名称的进程
常用选项表:
选项 | 说明 |
---|---|
-e | 显示所有进程 |
-f | 显示完整格式 |
-u | 显示特定用户的进程 |
-aux | 显示所有用户的进程和额外信息 |
示例命令:
ps -aux | grep apache2
18. top
实时显示系统进程。
功能:
top # 启动 top 实时显示进程信息
# 在 top 界面中,按 q 退出
常用选项表:
选项 | 说明 |
---|---|
-d | 设置更新间隔时间 |
-p | 监视指定的进程 |
-n | 显示更新的次数 |
-b | 以批处理模式运行 |
示例命令:
top -d 2
19. df
显示磁盘使用情况。
功能:
df # 显示所有文件系统的磁盘使用情况
df -h # 以人类可读的格式显示磁盘使用情况
常用选项表:
选项 | 说明 |
---|---|
-h | 以人类可读的格式显示磁盘使用情况 |
-T | 显示文件系统类型 |
-i | 显示 inode 信息 |
-a | 显示所有文件系统 |
示例命令:
df -h
20. du
显示目录或文件的磁盘使用情况。
功能:
du # 显示当前目录和子目录的磁盘使用情况
du -h # 以人类可读的格式显示磁盘使用情况
du -sh directory # 显示特定目录的总磁盘使用情况
常用选项表:
选项 | 说明 |
---|---|
-h | 以人类可读的格式显示磁盘使用情况 |
-s | 仅显示总计 |
-a | 显示目录和文件的使用情况 |
-c | 显示总计并包括整体合计 |
示例命令:
du -sh /var/log
21. ln
创建文件链接。
功能:
ln source_file target_file # 创建硬链接
ln -s source_file target_file # 创建符号链接(软链接)
常用选项表:
选项 | 说明 |
---|---|
-s | 创建符号链接 |
-f | 强制创建 |
-v | 显示详细信息 |
-n | 禁止符号链接递归 |
示例命令:
ln -s /path/to/original /path/to/link
22. tar
创建和解压归档文件。
功能:
tar -cvf archive.tar file1 file2 # 创建 tar 归档文件
tar -xvf archive.tar # 解压 tar 归档文件
tar -czvf archive.tar.gz file1 # 创建 gzip 压缩的tar归档文件
tar -xzvf archive.tar.gz # 解压 gzip 压缩的tar归档文件
常用选项表:
选项 | 说明 |
---|---|
-c | 创建新归档文件 |
-x | 解压归档文件 |
-v | 显示详细信息 |
-f | 使用归档文件名 |
-z | 压缩归档文件至 gzip |
示例命令:
tar -czvf backup.tar.gz /home/user/documents
23. zip
压缩文件或目录。
功能:
zip archive.zip file1 file2 # 创建 zip 压缩文件
zip -r archive.zip directory # 递归压缩目录
常用选项表:
选项 | 说明 |
---|---|
-r | 递归压缩目录 |
-j | 仅保存文件名称,不包含相对路径 |
-v | 显示详细信息 |
示例命令:
zip -r backup.zip /home/user/documents
24. unzip
解压 zip 文件。
功能:
unzip archive.zip # 解压 zip 文件
unzip -l archive.zip # 列出 zip 文件的内容
常用选项表:
选项 | 说明 |
---|---|
-l | 列出内容 |
-v | 显示详细信息 |
-d | 指定解压目录 |
-o | 覆盖已存在的文件 |
示例命令:
unzip -d /path/to/destination backup.zip
25. rsync
远程文件和目录同步。
功能:
rsync -avz source/ user@remote:/path/to/target/ # 同步本地和远程目录
常用选项表:
选项 | 说明 |
---|---|
-a | 归档模式,保持文件的权限等信息 |
-v | 显示详细信息 |
-z | 压缩传输数据 |
-r | 递归传输目录 |
26. scp
通过 SSH 进行安全拷贝。
功能:
scp file user@remote:/path/to/target/ # 将文件拷贝到远程服务器
scp user@remote:/path/to/file /local/path # 从远程服务器拷贝文件到本地
常用选项表:
选项 | 说明 |
---|---|
-r | 递归拷贝目录及其内容 |
-v | 显示详细信息 |
-P | 指定 SSH 端口 |
-C | 启用压缩 |
示例命令:
scp -r /local/directory user@remote:/path/to/directory
27. wc
计算文件的字数、行数、字节数。
功能:
wc file # 显示文件的行数、单词数和字节数
wc -l file # 显示文件的行数
wc -w file # 显示文件的单词数
wc -c file # 显示文件的字节数
常用选项表:
选项 | 说明 |
---|---|
-l | 显示行数 |
-w | 显示单词数 |
-c | 显示字节数 |
-m | 显示字符数 |
示例命令:
wc -l /path/to/file.txt
28. sort
对文本文件内容进行排序。
功能:
sort file # 对文件内容进行排序
sort -r file # 反向排序
sort -n file # 按数字排序
常用选项表:
选项 | 说明 |
---|---|
-r | 反向排序 |
-n | 按数字排序 |
-k | 按指定列排序 |
-u | 去除重复行 |
示例命令:
sort -n /path/to/numbers.txt
29. uniq
去除重复行。
功能:
uniq file # 去除重复行(前提是内容已排序)
sort file | uniq # 排序后去除重复行
uniq -c file # 统计重复行的出现次数
常用选项表:
选项 | 说明 |
---|---|
-c | 统计每行重复次数 |
-d | 只显示重复行 |
-u | 只显示非重复行 |
示例命令:
sort data.txt | uniq -c
30. cut
从每行中提取部分字段。
功能:
cut -d ' ' -f 1 file # 提取以空格为分隔符的第1个字段
cut -c 1-5 file # 提取每行的1到5个字符
常用选项表:
选项 | 说明 |
---|---|
-d | 指定分隔符 |
-f | 指定提取的字段 |
-c | 指定提取的字符范围 |
示例命令:
cut -d ',' -f 2 data.csv
31. sed
流编辑器,用于文本替换、删除或插入。
功能:
sed 's/old/new/g' file # 替换文件中所有的 old 为 new
sed -n '5,10p' file # 显示文件的第5行到第10行
常用选项表:
选项 | 说明 |
---|---|
-n | 取消默认输出 |
-i | 直接编辑文件 |
-e | 允许多个编辑命令 |
-s | 静默模式,不显示处理信息 |
示例命令:
sed 's/foo/bar/g' example.txt
32. awk
强大的文本处理工具。
功能:
awk '{print $1}' file # 打印每行的第1个字段
awk -F ',' '{print $2}' file.csv # 使用逗号作为分隔符,打印第2个字段
常用选项表:
选项 | 说明 |
---|---|
-F | 指定输入分隔符 |
-v | 传递变量给脚本 |
-f | 从文件中读取 awk 命令 |
示例命令:
awk -F ':' '{print $1}' /etc/passwd
33. echo
输出字符串或变量。
功能:
echo "Hello, World!" # 输出字符串
echo $HOME # 输出环境变量的值
常用选项表:
选项 | 说明 |
---|---|
-n | 不输出末尾的换行符 |
-e | 解释转义字符 |
示例命令:
echo "User home directory is $HOME"
34. date
显示或设置系统日期和时间。
功能:
date # 显示当前日期和时间
date "+%Y-%m-%d %H:%M:%S" # 自定义格式显示日期和时间
常用选项表:
选项 | 说明 |
---|---|
-u | 以 UTC 时间显示 |
-d | 显示指定日期和时间 |
+ | 自定义显示格式 |
示例命令:
date "+%Y-%m-%d %H:%M:%S"
35. uptime
显示系统运行时间和负载。
功能:
uptime # 显示系统运行时间、登录用户数、平均负载
常用选项表:
选项 | 说明 |
---|---|
无 | 显示系统运行时间和负载 |
示例命令:
uptime
36. uname
显示系统信息。
功能:
uname # 显示操作系统名称
uname -a # 显示所有系统信息
uname -r # 显示操作系统内核版本
常用选项表:
选项 | 说明 |
---|---|
-a | 显示所有系统信息 |
-r | 显示内核版本 |
-s | 显示操作系统名称 |
-n | 显示网络节点主机名 |
示例命令:
uname -a
37. whoami
显示当前用户的用户名。
功能:
whoami # 输出当前用户的用户名
常用选项表:
选项 | 说明 |
---|---|
无 | 显示当前用户的用户名 |
示例命令:
whoami
38. history
显示命令历史。
功能:
history # 显示命令历史
history | grep "search_term" # 在命令历史中搜索特定命令
常用选项表:
选项 | 说明 |
---|---|
-c | 清空命令历史 |
-w | 写入命令历史到文件 |
示例命令:
history | grep "ls"
39. clear
清除终端屏幕。
功能:
clear # 清除屏幕内容
常用选项表:
选项 | 说明 |
---|---|
无 | 清除当前终端屏幕内容 |
示例命令:
clear
40. man
显示手册页。
功能:
man command # 显示命令的手册页
man ls # 显示 ls 命令的手册页
常用选项表:
选项 | 说明 |
---|---|
-k | 搜索手册页 |
-f | 显示特定命令的手册页说明 |
示例命令:
man ls
总结
掌握这40个常用的 Linux 命令将大幅提升你在面试中的表现。这些命令涵盖了文件操作、权限管理、进程管理、磁盘管理、文本处理等多个方面,能够帮助你应对常见的系统操作和问题解决。在日常工作中,熟练使用这些命令同样能提升你的工作效率。希望这篇干货满满的技术博客能为您在 Linux 面试中提供实用的帮助!
Linux命令大全学习教程
在微信搜索公众号:Alex技术圈
或者 AlexTechVision
,关注公众号后回复:Linux命令大全
即可免费下载。
- 点赞
- 收藏
- 关注作者
评论(0)