Interview AiBox logo

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

download免费下载
基础local_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

相关题目

请介绍C++11中引入的主要新特性

C++11引入了众多现代化特性,包括:1)自动类型推导(auto)简化了复杂类型声明;2)基于范围的for循环提高了遍历容器的便利性;3)智能指针(unique_ptr, shared_ptr, weak_ptr)提供了更安全的内存管理;4)Lambda表达式支持匿名函数定义;5)右值引用和移动语义优化了资源转移性能;6)nullptr作为明确的空指针表示;7)强类型枚举(enum class)避免命名空间污染;8)constexpr支持编译时计算;9)统一初始化语法({})适用于各种类型;10)using关键字提供更清晰的类型别名定义;11)可变参数模板增强了模板灵活性;12)线程支持库实现标准多线程编程;13)新容器(array, forward_list, unordered容器)和算法丰富了标准库功能。这些特性使C++更现代化、安全且易用。

arrow_forward

设计一个社交朋友圈系统,支持用户发布动态、好友查看动态等功能,请设计其数据结构和系统架构

朋友圈系统设计涉及数据结构和系统架构两个方面。数据结构包括用户表、好友关系表、动态表、媒体表、点赞表和评论表等。系统架构采用分层设计,包括客户端层、接入层、业务逻辑层、数据存储层和基础设施层。核心功能包括发布动态、获取好友动态、点赞评论等。性能优化方面考虑了缓存策略、数据库优化和服务优化。系统设计还考虑了功能扩展和技术扩展,以适应未来的发展需求。

arrow_forward

请列举并解释进程间通信的方式。

进程间通信(IPC)是操作系统提供的重要机制,主要方式包括:管道(匿名/命名)、消息队列、共享内存、信号量、信号、套接字和文件映射。管道适用于父子进程通信;消息队列支持异步通信;共享内存是最快的IPC方式;信号量用于进程同步;信号适合异步通知;套接字最通用,可用于网络通信;文件映射支持数据持久化。不同方式各有优缺点,应根据具体场景选择。

arrow_forward

请解释C++中虚函数的实现原理

C++中虚函数的实现原理主要依赖于虚函数表(vtable)和虚指针(vptr)。每个包含虚函数的类都有一个虚函数表,存储该类虚函数的地址;每个对象实例包含一个虚指针,指向其类的虚函数表。当通过基类指针或引用调用虚函数时,系统会通过虚指针找到虚函数表,再从表中获取实际要调用的函数地址,从而实现运行时多态。这种机制虽然有一定的性能开销,但为C++提供了强大的面向对象多态能力。

arrow_forward

select,poll,epoll有什么区别

select、poll和epoll是三种I/O多路复用机制。select是最早的,有fd数量限制(1024),性能O(n);poll改进了select,移除了fd数量限制,但仍是O(n)性能;epoll是Linux特有的,性能O(1),支持大量连接,有水平触发和边缘触发两种模式。epoll通过回调机制和mmap内存共享实现了高效的事件通知,适合高并发场景,但不跨平台。select和poll适合少量连接或需要跨平台的场景。

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

分享题目

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

外部分享