前端面试linux基础命令
前端面试linux基础命令详细介绍
在前端面试中,Linux 基础命令是常见考点,尤其涉及项目部署、日志调试、环境配置等场景。以下是前端开发中常用的 Linux 基础命令及高频考点,按功能分类整理:
一、文件与目录操作(核心高频)
1. 查看文件 / 目录
ls:列出目录内容ls -l(长格式)、ls -a(显示隐藏文件)、ls -h(人类可读大小)、ls -R(递归子目录)- 示例:
ls -lht(按修改时间倒序,显示易读大小)
cd:切换目录cd ..(上级目录)、cd ~(用户主目录)、cd -(返回上一次目录)
pwd:显示当前工作目录
2. 创建 / 删除文件 / 目录
mkdir:创建目录mkdir -p(递归创建多级目录,如mkdir -p src/js)
rm:删除文件 / 目录rm file.txt(删除文件)、rm -r dir(删除目录)、rm -f(强制删除,不提示)、rm -rf /(危险!谨慎使用,删除根目录所有文件)
touch:创建空文件touch index.html
3. 复制 / 移动 / 重命名
cp:复制文件 / 目录cp src/file.js dist/(复制文件到目录)、cp -r dir1 dir2(复制目录)
mv:移动文件(或重命名)mv old.js new.js(重命名)、mv file.js ../backup/(移动到上级目录)
二、文件内容查看与编辑
1. 查看文件内容
cat:显示文件全部内容(适合小文件)cat index.html
more/less:分页查看文件(less功能更强,支持搜索)less access.log(按/keyword搜索,按q退出)
head/tail:查看文件头部 / 尾部内容head -n 10 file.log(前 10 行)、tail -n 10 -f file.log(实时监控文件尾部更新,常用于日志调试)
2. 文本处理(面试重点)
grep:搜索文件中包含指定字符串的行grep "error" access.log(搜索包含 "error" 的行)grep -r "functionName" ./src(递归搜索src目录下所有文件中的 "functionName")grep -v "keyword"(排除包含关键词的行)
awk:按列处理文本(如日志分析)awk '{print $1}' access.log(打印第一列)awk -F':' '{print $2}' config.ini(以冒号分隔,打印第二列)
sed:流编辑器,用于替换、删除等操作sed 's/old/new/g' file.txt(将文件中所有 "old" 替换为 "new")
三、网络与进程管理(部署必备)
1. 网络相关
ping:测试网络连通性ping www.baidu.com(按Ctrl+C停止)
curl/wget:下载文件curl -O https://example.com/file.zip(下载并保留文件名)wget https://example.com/file.tar.gz
netstat/lsof:查看网络连接和端口占用netstat -tunlp | grep 8080(查看 8080 端口占用)lsof -i :8080(同上,更简洁)
2. 进程管理
ps:查看进程状态ps -aux(显示所有用户进程)、ps -ef | grep node(查找 Node.js 进程)
top/htop:实时监控进程(htop交互性更强)- 按
M按内存排序,按P按 CPU 排序
- 按
kill:终止进程kill -9 1234(强制终止 PID 为 1234 的进程)
四、权限与环境变量
1. 文件权限
chmod:修改文件 / 目录权限chmod 755 script.sh(所有者可读可写可执行,其他用户可读可执行)chmod +x file.sh(添加执行权限)
chown:更改文件所有者chown user:group file.txt
2. 环境变量
echo $VAR_NAME:查看环境变量(如echo $NODE_ENV)export VAR_NAME=value:临时设置环境变量(仅当前会话有效)cat ~/.bashrc:查看用户级环境变量配置文件
五、压缩与解压缩(部署常用)
tar:打包 / 解包文件- 打包:
tar -czvf project.tar.gz ./src(压缩为 gzip 格式) - 解包:
tar -xzvf project.tar.gz
- 打包:
gzip/gunzip:压缩 / 解压缩单个文件unzip:解压 zip 文件unzip file.zip
六、管道与重定向(高阶用法)
|:管道,将前一个命令的输出作为后一个命令的输入ls -l | grep .js(列出目录中所有 js 文件)
>:重定向输出到文件(覆盖)echo "hello" > output.txt
>>:追加输出到文件tail -f log.txt >> backup.log
七、实用工具
df:查看磁盘空间df -h(人类可读格式)
du:查看目录大小du -sh node_modules(查看 node_modules 目录大小)
which:查找命令所在路径which node(查看 node 命令路径)
history:查看命令历史history | grep npm(搜索历史中的 npm 命令)
前端面试高频问题示例
- 如何递归删除一个目录?
→rm -r dirName(谨慎!先确认目录内容) - 如何查看端口 8080 是否被占用?
→netstat -tunlp | grep 8080或lsof -i :8080 - 如何实时监控日志文件并过滤错误信息?
→tail -f access.log | grep "error" - 如何统计一个文件的行数?
→wc -l file.txt - 如何在当前目录及其子目录中搜索包含某个关键词的文件?
→grep -r "keyword" .(.表示当前目录)
注意事项
- 安全意识:避免使用
rm -rf直接操作根目录,先ls确认路径。 - 结合场景:回答时尽量关联前端开发场景(如部署时打包、日志调试、端口排查等)。
- 命令参数:重点记忆常用参数(如
-l,-a,-r,-f),理解其含义而非死记硬背。
通过以上整理,可覆盖前端面试中 90% 以上的 Linux 基础命令考点,建议结合实际操作(如在本地终端练习)加深记忆。