Linux基础命令详解
Linux基础命令详解
什么是Linux命令?
Linux命令是在Linux系统中通过终端执行的命令,它们是与Linux系统交互的主要方式。Linux命令通常由命令名、选项和参数组成,格式为:
command [options] [arguments]- 命令名:命令的名称,如
ls、cd等 - 选项:修改命令行为的标志,通常以
-或--开头 - 参数:命令操作的对象,如文件或目录名
Linux终端
终端模拟器
在图形界面中,我们使用终端模拟器来执行Linux命令。常见的终端模拟器包括:
- GNOME Terminal:GNOME桌面环境的默认终端
- Konsole:KDE桌面环境的默认终端
- xfce4-terminal:Xfce桌面环境的默认终端
- Terminator:支持多窗口的终端模拟器
- Tilix:支持平铺窗口的终端模拟器
终端快捷键
掌握终端快捷键可以提高工作效率:
- Ctrl+C:中断当前命令
- Ctrl+D:结束输入(EOF)
- Ctrl+Z:暂停当前命令
- Ctrl+L:清屏
- Ctrl+A:光标移动到行首
- Ctrl+E:光标移动到行尾
- Ctrl+U:删除从光标到行首的内容
- Ctrl+K:删除从光标到行尾的内容
- Ctrl+W:删除从光标到前一个单词的内容
- Tab:自动补全命令或文件名
基础文件系统导航命令
pwd - 显示当前工作目录
pwd命令用于显示当前工作目录的绝对路径。
pwdcd - 切换目录
cd命令用于切换当前工作目录。
# 切换到指定目录cd /path/to/directory
# 切换到用户主目录cdcd ~
# 切换到上一级目录cd ..
# 切换到上一次工作目录cd -ls - 列出目录内容
ls命令用于列出目录中的文件和子目录。
# 列出当前目录内容ls
# 列出详细信息(权限、所有者、大小、修改时间等)ls -l
# 列出所有文件(包括隐藏文件)ls -a
# 列出详细信息并包括隐藏文件ls -la
# 按大小排序(从大到小)ls -lhS
# 按修改时间排序(最新的在前)ls -lht
# 只列出目录ls -d */文件操作命令
touch - 创建空文件
touch命令用于创建空文件或更新文件的时间戳。
# 创建单个空文件touch filename
# 创建多个空文件touch file1.txt file2.txt file3.txt
# 更新文件的时间戳(不修改文件内容)touch existing_file.txtmkdir - 创建目录
mkdir命令用于创建新目录。
# 创建单个目录mkdir directory
# 创建多个目录mkdir dir1 dir2 dir3
# 创建嵌套目录(递归创建)mkdir -p parent/child/grandchild
# 创建目录时设置权限mkdir -m 755 secure_directoryrm - 删除文件或目录
rm命令用于删除文件或目录。
# 删除文件rm file.txt
# 删除多个文件rm file1.txt file2.txt file3.txt
# 强制删除文件(不提示确认)rm -f file.txt
# 删除目录(递归删除)rm -r directory
# 强制删除目录(不提示确认)rm -rf directory
# 删除空目录rmdir empty_directorycp - 复制文件或目录
cp命令用于复制文件或目录。
# 复制文件cp source.txt destination.txt
# 复制文件到目录cp file.txt directory/
# 复制多个文件到目录cp file1.txt file2.txt file3.txt directory/
# 递归复制目录cp -r source_directory destination_directory
# 保留文件属性(权限、时间戳等)cp -p source.txt destination.txt
# 复制时显示进度cp -v source.txt destination.txtmv - 移动或重命名文件或目录
mv命令用于移动文件或目录,也可用于重命名文件或目录。
# 重命名文件mv oldname.txt newname.txt
# 移动文件到目录mv file.txt directory/
# 移动多个文件到目录mv file1.txt file2.txt file3.txt directory/
# 移动目录mv source_directory destination_directory
# 交互式移动(提示确认)mv -i file.txt directory/
# 强制移动(不提示确认)mv -f file.txt directory/
# 移动时显示进度mv -v file.txt directory/文件查看命令
cat - 查看文件内容
cat命令用于查看文件的全部内容,适合查看小文件。
# 查看文件内容cat file.txt
# 查看多个文件内容cat file1.txt file2.txt
# 查看文件内容并显示行号cat -n file.txt
# 查看文件内容并压缩空行cat -s file.txtless - 分页查看文件内容
less命令用于分页查看文件内容,适合查看大文件。
# 分页查看文件内容less file.txt
# 在less中搜索关键词/keyword
# 向前搜索n# 向后搜索N
# 退出lessqhead - 查看文件开头
head命令用于查看文件的开头部分。
# 查看文件前10行head file.txt
# 查看文件前n行head -n 20 file.txt
# 查看文件前n字节head -c 100 file.txttail - 查看文件结尾
tail命令用于查看文件的结尾部分,也可用于实时监控文件变化。
# 查看文件后10行tail file.txt
# 查看文件后n行tail -n 20 file.txt
# 实时监控文件变化tail -f logfile.txt
# 实时监控文件变化并显示行号tail -fn 20 logfile.txt文本搜索命令
grep - 搜索文本
grep命令用于在文件中搜索指定的文本模式。
# 在文件中搜索关键词grep "keyword" file.txt
# 在多个文件中搜索关键词grep "keyword" file1.txt file2.txt
# 递归搜索目录中的文件grep -r "keyword" directory/
# 忽略大小写grep -i "keyword" file.txt
# 显示匹配行的行号grep -n "keyword" file.txt
# 显示不匹配的行grep -v "keyword" file.txt
# 使用正则表达式grep -E "pattern" file.txt系统信息命令
uname - 显示系统信息
uname命令用于显示系统信息。
# 显示系统内核名称uname
# 显示详细系统信息uname -a
# 显示内核版本uname -r
# 显示硬件架构uname -mhostname - 显示主机名
hostname命令用于显示或设置主机名。
# 显示主机名hostname
# 设置主机名(需要root权限)sudo hostname newhostnamedate - 显示或设置日期和时间
date命令用于显示或设置系统的日期和时间。
# 显示当前日期和时间date
# 显示指定格式的日期和时间date +"%Y-%m-%d %H:%M:%S"date +"%A, %B %d, %Y"
# 设置日期和时间(需要root权限)sudo date -s "2026-02-05 12:00:00"uptime - 显示系统运行时间
uptime命令用于显示系统的运行时间和负载情况。
# 显示系统运行时间和负载uptime# 输出示例: 14:30:45 up 2 days, 3:45, 2 users, load average: 0.12, 0.08, 0.05who - 显示当前登录用户
who命令用于显示当前登录到系统的用户。
# 显示当前登录用户who
# 显示详细信息who -a
# 显示当前用户whoami网络命令
ping - 测试网络连接
ping命令用于测试与目标主机的网络连接。
# 测试与目标主机的连接ping google.com
# 发送指定数量的数据包ping -c 5 google.com
# 持续ping直到按下Ctrl+Cping google.comifconfig - 显示网络接口信息
ifconfig命令用于显示或配置网络接口信息。
# 显示所有网络接口信息ifconfig
# 显示指定网络接口信息ifconfig eth0
# 启动网络接口ifconfig eth0 up
# 关闭网络接口ifconfig eth0 downip - 网络配置工具
ip命令是一个功能强大的网络配置工具,可替代ifconfig。
# 显示所有网络接口信息ip addr
# 显示路由表ip route
# 显示网络连接ip link权限管理命令
chmod - 修改文件权限
chmod命令用于修改文件或目录的权限。
# 使用符号模式修改权限chmod u+rwx file.txt # 给所有者添加读、写、执行权限chmod g+rx file.txt # 给组添加读、执行权限chmod o-rwx file.txt # 移除其他用户的所有权限
# 使用数字模式修改权限chmod 755 file.txt # 所有者:rwx,组:rx,其他:rxchmod 644 file.txt # 所有者:rw,组:r,其他:r
# 递归修改目录权限chmod -R 755 directory/chown - 修改文件所有者
chown命令用于修改文件或目录的所有者。
# 修改文件所有者chown user file.txt
# 修改文件所有者和组chown user:group file.txt
# 递归修改目录所有者chown -R user:group directory/压缩和解压缩命令
tar - 归档工具
tar命令用于创建和提取归档文件。
# 创建tar归档 tar -cvf archive.tar files/
# 创建gzip压缩的tar归档 tar -czvf archive.tar.gz files/
# 创建bzip2压缩的tar归档 tar -cjvf archive.tar.bz2 files/
# 提取tar归档 tar -xvf archive.tar
# 提取gzip压缩的tar归档 tar -xzvf archive.tar.gz
# 提取bzip2压缩的tar归档 tar -xjvf archive.tar.bz2
# 查看归档内容 tar -tvf archive.tarzip/unzip - 压缩和解压缩zip文件
zip和unzip命令用于创建和提取zip压缩文件。
# 创建zip压缩文件 zip archive.zip files/
# 提取zip压缩文件 unzip archive.zip
# 查看zip文件内容 unzip -l archive.zip进程管理命令
ps - 显示进程信息
ps命令用于显示当前系统的进程信息。
# 显示当前用户的进程ps
# 显示所有进程ps aux
# 以树状结构显示进程ps axjf
# 按CPU使用率排序ps aux --sort=-%cpu
# 按内存使用率排序ps aux --sort=-%memtop - 实时监控进程
top命令用于实时监控系统的进程和资源使用情况。
# 实时监控进程top
# 在top中按CPU使用率排序P
# 在top中按内存使用率排序M
# 退出topqkill - 终止进程
kill命令用于终止指定的进程。
# 使用进程ID终止进程kill PID
# 强制终止进程kill -9 PID
# 终止指定名称的进程pkill process_name磁盘管理命令
df - 显示磁盘使用情况
df命令用于显示文件系统的磁盘使用情况。
# 显示磁盘使用情况df
# 以人类可读的格式显示df -h
# 显示inode使用情况df -idu - 显示目录大小
du命令用于显示目录或文件的大小。
# 显示目录大小du directory/
# 以人类可读的格式显示du -h directory/
# 显示目录总大小du -sh directory/
# 显示前n个最大的文件或目录du -h --max-depth=1 directory/ | sort -hr | head -n 10包管理命令
apt - Debian/Ubuntu包管理器
apt命令是Debian和Ubuntu系统的包管理器。
# 更新包列表sudo apt update
# 升级已安装的包sudo apt upgrade
# 安装包sudo apt install package_name
# 卸载包sudo apt remove package_name
# 搜索包sudo apt search package_name
# 显示包信息sudo apt show package_nameyum - RHEL/CentOS包管理器
yum命令是RHEL和CentOS系统的包管理器。
# 更新包sudo yum update
# 安装包sudo yum install package_name
# 卸载包sudo yum remove package_name
# 搜索包sudo yum search package_name
# 显示包信息sudo yum info package_namednf - Fedora包管理器
dnf命令是Fedora系统的包管理器,是yum的替代品。
# 更新包sudo dnf update
# 安装包sudo dnf install package_name
# 卸载包sudo dnf remove package_name
# 搜索包sudo dnf search package_name
# 显示包信息sudo dnf info package_name常用快捷键和技巧
命令历史
- history:显示命令历史
- !n:执行历史中第n条命令
- !!:执行上一条命令
- !command:执行最近一次以command开头的命令
- Ctrl+R:搜索命令历史
命令别名
可以为常用命令创建别名,提高工作效率。
# 在~/.bashrc或~/.bash_aliases中添加别名alias ll='ls -la'alias la='ls -a'alias ..='cd ..'alias ...='cd ../..'alias grep='grep --color=auto'
# 使别名生效source ~/.bashrc命令组合
可以使用管道和重定向组合多个命令。
# 使用管道将一个命令的输出作为另一个命令的输入ls -la | grep "txt"
# 将命令输出重定向到文件ls -la > file.txt
# 将命令输出追加到文件ls -la >> file.txt
# 将命令错误输出重定向到文件command 2> error.txt
# 将命令输出和错误输出都重定向到文件command &> output.txt
# 从文件读取输入command < input.txt帮助命令
man - 显示命令手册
man命令用于显示命令的手册页。
# 显示命令手册man command
# 搜索手册页man -k keyword
# 显示手册页的特定部分man section commandhelp - 显示内置命令帮助
help命令用于显示shell内置命令的帮助信息。
# 显示内置命令帮助help command
# 显示所有内置命令help—help - 显示命令选项帮助
大多数命令都支持--help选项,用于显示命令的选项和用法。
# 显示命令选项帮助command --help总结
本文介绍了Linux系统中最常用的基础命令,包括文件系统导航、文件操作、文件查看、文本搜索、系统信息、网络命令、权限管理、压缩和解压缩、进程管理、磁盘管理、包管理等方面的命令。
掌握这些基础命令是使用Linux系统的必备技能,它们可以帮助你更高效地管理和操作Linux系统。通过不断练习和使用,你会逐渐熟悉这些命令,并能够灵活运用它们来解决实际问题。
练习
-
使用
ls命令查看当前目录的详细内容,包括隐藏文件。 -
使用
mkdir命令创建一个嵌套目录结构:test/dir1/dir2。 -
使用
cp命令将一个文件复制到刚创建的目录中。 -
使用
grep命令在一个文件中搜索特定关键词。 -
使用
chmod命令修改文件的权限。 -
使用
tar命令创建一个压缩归档文件。 -
使用
df和du命令查看磁盘使用情况。 -
使用
ps和top命令查看系统进程。 -
使用
ping命令测试网络连接。 -
使用
man命令查看一个命令的详细手册。
通过这些练习,你将更加熟悉Linux基础命令的使用,为进一步学习Linux系统打下坚实的基础。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!