Interview AiBox logo

Interview AiBox 实时 AI 助手,让你自信应答每一场面试

download免费下载
2local_fire_department24 次面试更新于 2025-08-23account_tree思维导图

请列举一些Linux常用命令及其用途

lightbulb

题型摘要

Linux常用命令按功能可分为八大类:文件和目录操作(ls, cd, cp, mv, rm)、文本处理(cat, grep, sed, awk)、系统信息管理(uname, top, df, free)、网络相关(ping, ssh, curl, netstat)、权限管理(chmod, chown, sudo)、进程管理(ps, kill, jobs)、搜索查找(find, locate, which)和压缩解压(tar, zip, gzip)。掌握这些命令是后端开发的基础技能,能够有效进行系统管理、文件处理、问题排查和日常开发工作。

Linux常用命令及其用途

Linux作为服务器端主流操作系统,掌握其常用命令是后端开发的基本技能。下面按照功能类别列举Linux常用命令及其用途。

1. 文件和目录操作命令

ls - 列出目录内容

ls -l  # 以长格式显示文件详细信息
ls -a  # 显示所有文件,包括隐藏文件
ls -h  # 以人类可读的方式显示文件大小

cd - 切换目录

cd /path/to/directory  # 切换到指定目录
cd ..                  # 返回上一级目录
cd ~                  # 切换到用户主目录
cd -                  # 切换到上一个工作目录

pwd - 显示当前工作目录

pwd  # 显示当前所在的完整路径

mkdir - 创建目录

mkdir directory_name        # 创建新目录
mkdir -p dir1/dir2/dir3     # 创建多级目录

rmdir - 删除空目录

rmdir directory_name  # 删除空目录

touch - 创建空文件或更新文件时间戳

touch file.txt  # 创建空文件或更新文件时间戳

cp - 复制文件或目录

cp source_file destination_file      # 复制文件
cp -r source_directory destination  # 复制目录
cp -p source_file destination_file   # 保留文件属性复制

mv - 移动或重命名文件/目录

mv old_name new_name  # 重命名文件/目录
mv file /path/to/dir  # 移动文件到指定目录

rm - 删除文件或目录

rm file.txt           # 删除文件
rm -r directory       # 递归删除目录及其内容
rm -f file.txt        # 强制删除文件,不提示
rm -rf directory      # 强制递归删除目录(慎用)

ln - 创建链接

ln source_file link_name      # 创建硬链接
ln -s source_file link_name   # 创建软链接(符号链接)

2. 文本处理命令

cat - 查看文件内容

cat file.txt          # 显示文件内容
cat -n file.txt      # 显示文件内容并显示行号
cat file1 file2 > file3  # 合并文件1和文件2到文件3

less/more - 分页查看文件内容

less file.txt        # 分页查看文件内容,支持前后翻页
more file.txt        # 分页查看文件内容,仅支持向前翻页

head/tail - 查看文件头部/尾部内容

head file.txt        # 查看文件前10行
head -n 20 file.txt  # 查看文件前20行
tail file.txt        # 查看文件后10行
tail -f file.txt     # 实时查看文件更新(常用于日志监控)
tail -n 20 file.txt  # 查看文件后20行

grep - 文本搜索

grep pattern file.txt              # 在文件中搜索匹配模式的行
grep -i pattern file.txt          # 忽略大小写搜索
grep -r pattern directory/        # 递归目录中搜索
grep -v pattern file.txt          # 搜索不匹配模式的行
grep -n pattern file.txt          # 显示匹配行及行号
grep -c pattern file.txt          # 统计匹配行数

sed - 流编辑器

sed 's/old/new/g' file.txt        # 替换文件中的文本
sed -i 's/old/new/g' file.txt     # 直接修改文件内容
sed '1,5d' file.txt               # 删除文件1-5行
sed -n '1,5p' file.txt            # 只显示文件1-5行

awk - 文本处理工具

awk '{print $1}' file.txt         # 打印每行的第一个字段
awk -F: '{print $1}' /etc/passwd  # 使用冒号作为分隔符打印第一个字段
awk '{sum+=$1} END {print sum}' file.txt  # 计算第一列的总和

sort - 排序

sort file.txt          # 对文件内容进行排序
sort -n file.txt      # 按数字大小排序
sort -r file.txt      # 逆序排序
sort -u file.txt      # 去除重复行并排序

uniq - 去重

uniq file.txt         # 去除相邻的重复行
sort file.txt | uniq  # 先排序再去除所有重复行
uniq -c file.txt      # 统计重复行出现的次数

wc - 统计

wc file.txt           # 统计文件的行数、单词数和字节数
wc -l file.txt        # 只统计行数
wc -w file.txt        # 只统计单词数
wc -c file.txt        # 只统计字节数

3. 系统信息和管理命令

uname - 显示系统信息

uname                # 显示内核名称
uname -a             # 显示所有系统信息
uname -r             # 显示内核版本

top/htop - 动态显示进程信息

top                  # 实时显示系统进程和资源使用情况
htop                 # 增强版的top,界面更友好

df - 显示磁盘空间使用情况

df                   # 显示磁盘分区使用情况
df -h                # 以人类可读格式显示
df -T                # 显示文件系统类型

du - 显示目录或文件大小

du directory         # 显示目录大小
du -h directory      # 以人类可读格式显示
du -sh directory     # 显示目录总大小
du -ah directory     # 显示目录中所有文件的大小

free - 显示内存使用情况

free                 # 显示内存使用情况
free -h              # 以人类可读格式显示
free -m              # 以MB为单位显示

date - 显示或设置系统时间

date                 # 显示当前时间
date "+%Y-%m-%d %H:%M:%S"  # 按指定格式显示时间
date -s "2023-12-25 12:00:00"  # 设置系统时间

history - 显示命令历史

history              # 显示执行过的命令历史
history 10           # 显示最近10条命令
!number              # 执行历史记录中编号为number的命令

4. 网络相关命令

ping - 测试网络连通性

ping hostname        # 测试与主机的连通性
ping -c 4 hostname   # 只发送4个ping包

ifconfig/ip - 配置网络接口

ifconfig             # 显示所有网络接口信息
ifconfig eth0        # 显示指定网络接口信息
ip addr show         # 显示所有网络接口信息(新版本)
ip link set eth0 up  # 启用网络接口

netstat/ss - 显示网络状态

netstat -tuln        # 显示所有监听的TCP/UDP端口
netstat -an          # 显示所有网络连接
ss -tuln             # 显示所有监听的TCP/UDP端口(新版本)

curl/wget - 网络文件传输

curl URL             # 获取URL内容并显示
curl -O URL          # 下载URL文件
wget URL             # 下载URL文件
wget -c URL          # 断点续传下载

ssh - 安全远程登录

ssh user@hostname    # 登录到远程主机
ssh -p port user@hostname  # 指定端口登录

scp - 安全复制文件

scp local_file user@remote:/remote/path  # 复制本地文件到远程主机
scp user@remote:/remote/file local_path  # 复制远程文件到本地
scp -r local_dir user@remote:/remote/path  # 复制本地目录到远程主机

5. 权限管理命令

chmod - 修改文件权限

chmod 755 file.sh   # 设置文件权限为rwxr-xr-x
chmod u+x file.sh   # 给文件所有者添加执行权限
chmod a-w file.txt  # 移除所有用户的写权限

chown - 修改文件所有者

chown user file.txt  # 修改文件所有者
chown user:group file.txt  # 修改文件所有者和所属组
chown -R user directory   # 递归修改目录所有者

chgrp - 修改文件所属组

chgrp group file.txt  # 修改文件所属组
chgrp -R group directory  # 递归修改目录所属组

sudo - 以超级用户权限执行命令

sudo command         # 以超级用户权限执行命令
sudo -i              # 切换到root用户
sudo su              # 切换到root用户

6. 进程管理命令

ps - 显示进程状态

ps aux               # 显示所有进程的详细信息
ps -ef               # 显示所有进程的详细信息
ps -p PID            # 显示指定进程信息

kill/killall - 终止进程

kill PID             # 终止指定进程
kill -9 PID          # 强制终止进程
killall process_name # 终止所有指定名称的进程

jobs/fg/bg - 作业控制

jobs                 # 显示当前作业
fg %n                # 将作业n切换到前台运行
bg %n                # 将作业n切换到后台运行

nohup - 忽略挂起信号运行命令

nohup command &      # 后台运行命令,忽略挂起信号

7. 搜索和查找命令

find - 查找文件

find /path -name filename  # 按名称查找文件
find /path -type f         # 只查找文件
find /path -type d         # 只查找目录
find /path -mtime -7       # 查找7天内修改过的文件
find /path -size +10M      # 查找大于10MB的文件

locate - 快速查找文件

locate filename      # 快速查找文件(使用数据库)
updatedb             # 更新文件数据库

which/whereis - 查找命令位置

which command        # 查找可执行文件位置
whereis command      # 查找命令、源文件和手册页位置

8. 压缩和解压命令

tar - 打包和解包

tar -cvf archive.tar file1 file2  # 打包文件
tar -xvf archive.tar             # 解包文件
tar -czvf archive.tar.gz dir/    # 打包并gzip压缩
tar -xzvf archive.tar.gz         # 解压gzip压缩包
tar -cjvf archive.tar.bz2 dir/   # 打包并bzip2压缩
tar -xjvf archive.tar.bz2        # 解压bzip2压缩包

zip/unzip - ZIP压缩和解压

zip archive.zip file1 file2      # 创建ZIP压缩包
unzip archive.zip                # 解压ZIP压缩包

gzip/gunzip - GZIP压缩和解压

gzip file.txt         # 压缩文件
gunzip file.txt.gz    # 解压文件

bzip2/bunzip2 - BZIP2压缩和解压

bzip2 file.txt       # 压缩文件
bunzip2 file.txt.bz2 # 解压文件
--- title: Linux命令分类及常用命令 --- graph TD A[Linux常用命令] --> B[文件和目录操作] A --> C[文本处理] A --> D[系统信息和管理] A --> E[网络相关] A --> F[权限管理] A --> G[进程管理] A --> H[搜索和查找] A --> I[压缩和解压] B --> B1[ls cd pwd mkdir rmdir] B --> B2[touch cp mv rm ln] C --> C1[cat less more head tail] C --> C2[grep sed awk sort uniq wc] D --> D1[uname top df du free] D --> D2[date history] E --> E1[ping ifconfig ip netstat ss] E --> E2[curl wget ssh scp] F --> F1[chmod chown chgrp sudo] G --> G1[ps kill killall jobs] G --> G2[fg bg nohup] H --> H1[find locate which whereis] I --> I1[tar zip unzip gzip] I --> I2[gunzip bzip2 bunzip2]

总结

Linux命令是后端开发人员必备的基础技能,掌握这些常用命令能够大大提高工作效率。通过文件和目录操作命令可以管理系统文件,文本处理命令可以处理日志和配置文件,系统信息命令可以监控系统状态,网络命令可以排查网络问题,权限管理命令可以确保系统安全,进程管理命令可以控制系统进程,搜索命令可以快速定位文件,压缩命令可以节省存储空间。熟练使用这些命令是Linux系统管理和开发工作的基础。

account_tree

思维导图

Interview AiBox logo

Interview AiBox — 面试搭档

不只是准备,更是实时陪练

Interview AiBox 在面试过程中提供实时屏幕提示、AI 模拟面试和智能复盘,让你每一次回答都更有信心。

AI 助读

一键发送到常用 AI

Linux常用命令按功能可分为八大类:文件和目录操作(ls, cd, cp, mv, rm)、文本处理(cat, grep, sed, awk)、系统信息管理(uname, top, df, free)、网络相关(ping, ssh, curl, netstat)、权限管理(chmod, chown, sudo)、进程管理(ps, kill, jobs)、搜索查找(find, locate, which)和压缩解压(tar, zip, gzip)。掌握这些命令是后端开发的基础技能,能够有效进行系统管理、文件处理、问题排查和日常开发工作。

智能总结

深度解读

考点定位

思路启发

auto_awesome

相关题目

在软件开发中,如何设计有效的测试用例?

设计有效测试用例需遵循明确性、完整性、独立性等原则,运用等价类划分、边界值分析等黑盒测试技术和语句覆盖、分支覆盖等白盒测试技术。针对单元测试、集成测试、系统测试和验收测试等不同级别,采用相应的设计策略和方法。测试用例应包含完整的文档结构,使用专业工具进行管理,并基于风险分析确定优先级。最佳实践包括测试用例复用、自动化测试和定期评审,避免过度依赖脚本、忽视负面测试等常见误区。

arrow_forward

请详细说明ArrayList和LinkedList的区别,包括它们的底层实现、性能特点和使用场景。

ArrayList和LinkedList是Java中两种常用的List实现,它们在底层实现、性能特点和使用场景上有显著差异。ArrayList基于动态数组实现,具有O(1)的随机访问性能,但插入/删除操作需要移动元素,时间复杂度为O(n);LinkedList基于双向链表实现,随机访问性能为O(n),但插入/删除操作只需修改指针,时间复杂度为O(1)。ArrayList适合读多写少、需要频繁随机访问的场景;LinkedList适合写多读少、需要频繁在头部或中间插入/删除的场景,同时它还实现了Deque接口,可作为队列或双端队列使用。在实际开发中,ArrayList的使用频率更高,因为大多数场景下随机访问的需求更常见,且内存效率更高。

arrow_forward

HashMap的底层原理是什么?它是线程安全的吗?在多线程环境下会遇到什么问题?如果要保证线程安全应该使用什么?ConcurrentHashMap是怎么保证线程安全的?请详细说明。

HashMap基于数组+链表/红黑树实现,通过哈希函数计算元素位置,使用链地址法解决哈希冲突。HashMap是非线程安全的,多线程环境下可能导致死循环、数据覆盖等问题。线程安全的替代方案包括Hashtable、Collections.synchronizedMap()和ConcurrentHashMap。ConcurrentHashMap在JDK 1.7采用分段锁实现,JDK 1.8改用CAS+synchronized,锁粒度更细,并发性能更好。

arrow_forward

Java中的集合框架(Collection & Map)有哪些主要接口和实现类?

Java集合框架主要分为Collection和Map两大体系。Collection体系包括List(有序可重复,如ArrayList、LinkedList)、Set(无序不可重复,如HashSet、TreeSet)和Queue(队列,如PriorityQueue、ArrayDeque)。Map体系存储键值对,主要实现类有HashMap、LinkedHashMap、TreeMap、Hashtable和ConcurrentHashMap等。不同集合类在底层结构、有序性、线程安全、时间复杂度等方面有不同特性,应根据具体需求选择合适的实现类。

arrow_forward

请详细介绍一下你参与过的项目,包括项目背景、你的职责以及使用的技术栈。

面试者需要清晰介绍参与过的项目,包括项目背景、个人职责、使用的技术栈、遇到的挑战及解决方案,以及项目成果和个人收获。重点突出自己在项目中的具体贡献、技术选型的思考过程、解决问题的思路以及从中获得的成长。回答应结构清晰,重点突出,体现技术深度和解决问题的能力。

arrow_forward

阅读状态

阅读时长

10 分钟

阅读进度

2%

章节:56 · 已读:1

当前章节: 1. 文件和目录操作命令

最近更新:2025-08-23

本页目录

1. 文件和目录操作命令
`ls` - 列出目录内容
`cd` - 切换目录
`pwd` - 显示当前工作目录
`mkdir` - 创建目录
`rmdir` - 删除空目录
`touch` - 创建空文件或更新文件时间戳
`cp` - 复制文件或目录
`mv` - 移动或重命名文件/目录
`rm` - 删除文件或目录
`ln` - 创建链接
2. 文本处理命令
`cat` - 查看文件内容
`less`/`more` - 分页查看文件内容
`head`/`tail` - 查看文件头部/尾部内容
`grep` - 文本搜索
`sed` - 流编辑器
`awk` - 文本处理工具
`sort` - 排序
`uniq` - 去重
`wc` - 统计
3. 系统信息和管理命令
`uname` - 显示系统信息
`top`/`htop` - 动态显示进程信息
`df` - 显示磁盘空间使用情况
`du` - 显示目录或文件大小
`free` - 显示内存使用情况
`date` - 显示或设置系统时间
`history` - 显示命令历史
4. 网络相关命令
`ping` - 测试网络连通性
`ifconfig`/`ip` - 配置网络接口
`netstat`/`ss` - 显示网络状态
`curl`/`wget` - 网络文件传输
`ssh` - 安全远程登录
`scp` - 安全复制文件
5. 权限管理命令
`chmod` - 修改文件权限
`chown` - 修改文件所有者
`chgrp` - 修改文件所属组
`sudo` - 以超级用户权限执行命令
6. 进程管理命令
`ps` - 显示进程状态
`kill`/`killall` - 终止进程
`jobs`/`fg`/`bg` - 作业控制
`nohup` - 忽略挂起信号运行命令
7. 搜索和查找命令
`find` - 查找文件
`locate` - 快速查找文件
`which`/`whereis` - 查找命令位置
8. 压缩和解压命令
`tar` - 打包和解包
`zip`/`unzip` - ZIP压缩和解压
`gzip`/`gunzip` - GZIP压缩和解压
`bzip2`/`bunzip2` - BZIP2压缩和解压
总结
Interview AiBox logo

Interview AiBox

AI 面试实时助手

面试中屏幕实时显示参考回答,帮你打磨表达。

免费下载download

分享题目

复制链接,或一键分享到常用平台

外部分享