Linux基础命令是掌握Linux系统的基石,无论是系统管理、软件开发还是日常运维,都离不开对命令的熟练运用,本文将以“豪华版”的深度和广度,结合实用案例与技巧,带你系统学习Linux基础命令,内容适合初学者入门及进阶用户复习,最终整理为CHM格式方便离线查阅。

文件与目录管理命令
文件和目录是Linux系统中最基本的操作对象,以下命令将帮助你高效管理它们。
-
ls(列出目录内容)
ls
是最常用的命令之一,用于显示当前目录下的文件和子目录,通过组合选项可以查看更详细的信息:ls -l
:以长格式显示,包含权限、所有者、大小、修改时间等。ls -a
:显示所有文件,包括隐藏文件(以开头)。ls -h
:以人类可读格式显示文件大小(如K、M、G)。ls -R
:递归显示子目录内容。
示例:ls -lh
显示当前目录下文件的长格式列表,并人性化显示大小。
-
cd(切换目录)
cd
用于在不同目录间切换,基本用法如下:cd /
:切换到根目录。cd ~
或cd
:切换到当前用户的主目录。cd ..
:返回上一级目录。cd -
:在最近两次访问的目录之间切换。
示例:cd /var/log
切换到系统日志目录。
-
pwd(显示当前目录)
pwd
(Print Working Directory)用于输出当前所在的工作目录的完整路径,常用于确认当前位置。
示例:pwd
输出如/home/user/docs
。(图片来源网络,侵删) -
mkdir(创建目录)
mkdir
用于创建新目录,常用选项:mkdir -p
:递归创建多级目录(若父目录不存在则自动创建)。
示例:mkdir -p project/src
创建多级目录结构。
-
rm(删除文件或目录)
rm
用于删除文件或目录,需谨慎使用:rm -f
:强制删除,不提示确认。rm -r
:递归删除目录及其内容。rm -rf
:强制递归删除(危险操作,需确认路径无误)。
示例:rm -rf temp_folder
删除temp_folder目录及其所有内容。
-
cp(复制文件或目录)
cp
用于复制文件或目录:cp file1 file2
:将file1复制为file2。cp -r dir1 dir2
:递归复制目录dir1到dir2。cp -p
:保留文件权限、时间戳等属性。
示例:cp -r backup/ /mnt/
将backup目录复制到mnt目录下。
-
mv(移动或重命名文件)
mv
既可移动文件/目录,也可用于重命名:(图片来源网络,侵删)mv old_name new_name
:重命名文件。mv file1 /path/to/dir/
:将file1移动到指定目录。
示例:mv document.txt report.txt
将文件重命名为report.txt。
查看与处理命令
-
cat(查看文件内容)
cat
用于显示整个文件的内容,适合小文件查看。
示例:cat config.conf
输出config.conf的内容。 -
less(分页查看文件)
less
支持分页、搜索、后退等操作,适合大文件查看:less large_file.log
:打开文件后,按q
退出,/keyword
搜索关键词。
示例:less /var/log/syslog
分页查看系统日志。
-
head/tail(查看文件开头或结尾)
head -n 10 file
:查看文件前10行。tail -n 10 file
:查看文件末尾10行,tail -f
可实时追踪文件更新(如日志监控)。
示例:tail -f access.log
实时查看Web服务器访问日志。
-
grep(文本搜索)
grep
用于在文件中搜索匹配的文本:grep "error" log.txt
:在log.txt中搜索包含"error"的行。grep -i "warning"
忽略大小写搜索。grep -v "debug"
排除包含"debug"的行。
示例:grep -i "failed" /var/log/auth.log
搜索登录失败记录(忽略大小写)。
系统信息与管理命令
-
uname(显示系统信息)
uname -a
显示系统的所有信息,包括内核版本、主机名等。
示例:uname -r
查看内核版本。 -
top/htop(进程监控)
top
实时显示系统进程、CPU及内存占用,htop
是其增强版(需安装),界面更友好。
操作:按q
退出,按P
按CPU排序,按M
按内存排序。 -
ps(查看进程)
ps aux
显示所有进程的详细信息,ps -ef
以全格式显示。
示例:ps -ef | grep nginx
查找nginx相关进程。 -
kill/killall(终止进程)
kill PID
:通过进程ID终止进程。killall process_name
:通过进程名终止所有同名进程。
示例:kill -9 1234
强制终止PID为1234的进程。
-
df/du(磁盘使用情况)
df -h
:显示各分区的磁盘使用情况(人类可读格式)。du -sh /path
:显示指定目录的总大小(s
汇总,h
人性化显示)。
示例:du -sh ~
查看用户主目录的总大小。
权限与用户管理
-
chmod(修改权限)
权限分为读(r)、写(w)、执行(x),可通过数字或符号修改:chmod 755 file
:所有者rwx,组和其他用户r-x。chmod u+x script.sh
:为所有者添加执行权限。
示例:chmod 600 private_key
设置只有所有者可读写私钥文件。
-
chown(修改所有者)
chown user:group file
修改文件的所有者和所属组。
示例:chown www-data:www-data /var/www/html
将网站目录所有者改为Web服务用户。 -
useradd/usermod(用户管理)
useradd -m newuser
:创建新用户并创建主目录。usermod -aG sudo newuser
:将用户添加到sudo组。
示例:userdel -r olduser
删除用户及其主目录。
打包与压缩命令
-
tar(打包/解包)
tar
是Linux下最常用的打包工具,支持多种压缩格式:tar -czvf archive.tar.gz /path
:打包并gzip压缩。tar -xzvf archive.tar.gz
:解包并解压gzip文件。tar -xvf archive.tar
:解包未压缩的tar文件。
示例:tar -czvf backup.tar.gz /home/user/docs
将docs目录打包并压缩为backup.tar.gz。
-
gzip/gunzip(压缩/解压)
gzip file
压缩文件为.gz格式,gunzip file.gz
解压。
示例:gzip large_file
压缩large_file为large_file.gz。
网络相关命令
-
ifconfig/ip(查看网络接口)
ifconfig
或ip addr
显示网络接口的IP地址等信息。
示例:ip addr show eth0
查看eth0网卡的详细信息。 -
ping(测试网络连通性)
ping www.baidu.com
测试与目标主机的网络连通性。
示例:ping -c 4 192.168.1.1
发送4个数据包后退出。 -
ssh(远程登录)
ssh user@remote_host
通过SSH协议登录远程主机。
示例:ssh root@192.168.1.100
以root用户登录远程服务器。 -
wget/curl(下载文件)
wget https://example.com/file.zip
下载文件。curl -O https://example.com/file.zip
保存文件到当前目录。
示例:wget -c partial_file.zip
断点续传下载。
常用快捷键与技巧
- Tab补全:输入命令或文件名前按Tab键自动补全。
- Ctrl+C:终止当前运行的命令。
- Ctrl+D:退出当前终端或会话。
- Ctrl+R:搜索历史命令。
- 命令别名:通过
alias ll='ls -al'
设置常用命令别名,需添加到~/.bashrc
永久生效。
CHM格式使用说明整理为CHM( Compiled HTML Help)格式后,可通过Windows的CHM查看器或Linux的chmsee
、xchm
等工具打开,CHM支持目录索引、全文搜索和书签功能,方便快速定位命令,制作时需注意将所有命令示例、表格和说明转换为HTML格式,并生成可点击的导航目录。
相关问答FAQs
Q1: 如何在Linux中快速查找包含特定文本的文件?
A1: 可使用find
命令结合grep
实现,在当前目录及子目录中查找包含"error"的.txt文件:find . -type f -name "*.txt" -exec grep -l "error" {} \;
。-type f
表示查找文件,-name "*.txt"
限制文件扩展名,-exec grep -l
对每个文件执行grep搜索并输出包含文本的文件名。
Q2: Linux中如何批量重命名文件?
A2: 可使用rename
命令(需安装,不同发行版语法可能不同)或结合for
循环实现,将当前目录下所有.txt文件的后缀改为.bak:for f in *.txt; do mv "$f" "${f%.txt}.bak"; done
,该命令遍历所有.txt文件,通过参数扩展${f%.txt}
去除原后缀并添加.bak,实现批量重命名。