Linux 基础命令详解与学习笔记
Linux 基础命令详解与学习笔记
- 一、Linux 文件系统基础
- 二、文件与目录操作命令
- 三、文件内容查看与处理命令
- 四、文件搜索与文本过滤命令
- 五、系统管理与进程命令
- 六、权限与用户管理命令
- 七、压缩与解压命令
- 八、网络相关命令
- 九、学习建议与下一步
- `掌握这些基础命令,你就已经迈过了Linux世界的门槛。持续练习和探索,你会越来越熟练。`
Linux 的世界虽然一开始可能让人望而生畏,但一旦掌握了它的基础命令,你就会发现它那强大而高效的魅力。这份指南将带你系统性地学习 Linux 中最常用和最关键的基础命令,并附上一些实用的笔记和技巧,帮助你快速上手。
一、Linux 文件系统基础
Linux 文件系统采用树状目录结构,一切皆文件(包括硬件设备)。理解几个核心目录的作用至关重要:
/
:根目录,所有目录的起点。
/bin & /sbin
:存放系统基本命令和管理命令(sbin 通常需要 root 权限)。
/etc
:存放系统配置文件。
/home
:用户家目录所在地,每个用户都有一个以用户名命名的子目录。
/root
:系统管理员(root)的家目录。
/var
:存放经常变化的文件,如日志、邮件等。
/tmp
:临时文件目录。
二、文件与目录操作命令
这是你最常使用的命令集合,用于导航和操作文件系统。
命令 | 功能描述 | 常用参数与示例 | 学习笔记 |
---|---|---|---|
pwd | 显示当前工作目录的绝对路径 | pwd | 时刻清楚自己所在的位置,是一切操作的前提。 |
ls | 列出目录内容 | -l详细列表 、 -a显示隐藏文件(以.开头)、-h人类可读的文件大小(配合-l)、-t按修改时间排序、ls -lah组合使用 | ls -l结果第一列表示文件类型和权限:-(普通文件),d(目录),l(软链接) |
cd | 切换当前工作目录 | cd /path/to/dir绝对路径跳转、cd relative/path相对路径跳转、cd或 cd ~回家目录、cd …回上一级目录、cd -回上一次所在目录 | 熟练使用 Tab键自动补全路径,能极大提高效率并避免输错。 |
mkdir | 创建新目录 | -p递归创建所需父目录、mkdir -p project/{src,docs,bin} | 一次性创建多个并列目录或复杂的嵌套目录结构。 |
rmdir | 删除空目录 | rmdir empty_dir | 只能删除空目录,安全但用处有限。 |
touch | 创建空文件或更新文件时间戳 | touch new_file.txt | 常用来快速创建一个空文件以备使用。 |
cp | 复制文件或目录 | -i覆盖前提示(安全!)、-r或 -R递归复制目录(必须!)、-a归档模式(保留所有属性)、cp -a old_dir/ new_dir/ | -a 参数是备份的神器,保留权限、时间戳等所有信息。 |
mv | 移动或重命名文件/目录 | mv old_name new_name重命名、mv file /tmp/移动文件、-i覆盖前提示 | 在同一个目录下操作就是重命名,在不同目录下操作就是移动。 |
rm | 删除文件或目录 | -i删除前提示(安全!)、-r递归删除目录(必须!)、-f强制删除(极度危险!)、rm -ri dir_to_remove/ | rm -rf请务必慎之又慎! Linux 没有回收站,删了就很难恢复。永远不要执行 rm -rf /。 |
三、文件内容查看与处理命令
如何查看和初步处理文件内容。
命令 | 功能描述 | 常用参数与示例 | 学习笔记 |
---|---|---|---|
cat | 查看较小文件的全部内容 | -n显示行号、cat -n /etc/profile | 文件太大时会用 less。也可用于合并文件:cat file1 file2 >combined_file |
more | 分页查看文件内容(只能向下) | more large_file.log | Enter 下一行,空格 下一页,q退出。 |
less | 分页查看文件内容(可上下翻页) | less large_file.log | 比 more更强大:空格/PgDn:下一页、b/PgUp:上一页、/keyword:向下搜索、?keyword:向上搜索、q退出。 |
head | 查看文件开头几行(默认10行) | -n指定行数、head -n 20 syslog | 快速瞥一眼文件的结构或开头格式。 |
tail | 查看文件末尾几行(默认10行) | -n指定行数、-f实时追踪文件新增内容、tail -f /var/log/syslog | -f是运维神器,常用来实时监控日志文件的变化。Ctrl+C 终止追踪。 |
四、文件搜索与文本过滤命令
在大量文本中快速定位所需信息。
命令 | 功能描述 | 常用参数与示例 | 学习笔记 |
---|---|---|---|
find | 在指定目录递归查找文件 | -name按文件名查找、-type按类型查找 (f=文件, d=目录)、-mtime按修改时间查找、find /var/log -name “*.log”、find /home -type f -mtime -7 | Linux 下最强大的查找工具,参数极多,可组合复杂条件。 |
grep | 在文本中搜索匹配模式的字符串 | -i忽略大小写、-n显示匹配行的行号、-r递归目录搜索、-v反向选择(显示不匹配的行)、grep -rn “error” /var/log/ | 日志分析核心工具。常与管道 ` |
五、系统管理与进程命令
了解系统状态和管理运行中的程序。
命令 | 功能描述 | 常用参数与示例 | 学习笔记 |
---|---|---|---|
ps | 查看当前进程快照 | **aux 显示所有用户进程的详细信息、**ef 显示全格式进程信息(含PPID)`ps aux | grep nginx` |
top | 动态实时显示系统进程和资源占用 | top | 系统监控利器。按 P按CPU排序,M按内存排序,k终止进程,q退出。 |
kill | 向进程发送信号以终止进程 | -9发送 SIGKILL 信号强制终止、kill 1234、kill -9 1234 | 先用 ps或 top查到目标进程的 PID,再用 kill。-9是最后手段,可能导致数据丢失。 |
df | 查看磁盘空间使用情况 | -h人类可读格式 (KB, MB, GB)、df -h | 检查各个分区的剩余空间,避免磁盘写满。 |
du | 查看文件或目录的磁盘占用大小 | -sh以人类可读格式显示总大小、du -sh /home/username/ | 快速找出哪个目录或文件占用了大量空间。 |
六、权限与用户管理命令
Linux 是一个多用户系统,权限控制是安全的核心。
命令 | 功能描述 | 常用参数与示例 | 学习笔记 |
---|---|---|---|
chmod | 修改文件/目录的访问权限 | 符号模式:u(用户), g(组), o(其他), a(所有)、+(添加), -(移除), =(设置)、chmod u+x script.sh(给所有者添加执行权限)、数字模式:r=4, w=2, x=1、chmod 755 script.sh(rwxr-xr-x) | 755(目录和可执行脚本常用),644(普通文件常用)。 |
chown | 更改文件/目录的所有者和所属组 | -R递归修改、chown user:group file.txt、chown -R www-data:www-data /var/www/ | 通常需要 sudo权限。用于将web目录的所有权交给web服务器用户。 |
sudo | 以 root 超级用户权限执行命令 | sudo apt update、sudo -i切换到root shell | 在命令前加上 sudo,输入当前用户密码即可获得临时root权限。慎用! |
七、压缩与解压命令
用于打包和压缩文件以节省空间或便于传输。
命令 | 功能描述 | 常用参数与示例 | 学习笔记 |
---|---|---|---|
tar | 打包和解包文件(常与压缩联用) | -c创建打包文件、-x解包、-z通过gzip过滤(处理.tar.gz)、-j通过bzip2过滤(处理.tar.bz2)、-v显示过程、-f指定文件名、tar -czvf archive.tar.gz files/(打包压缩)、tar -xzvf archive.tar.gz(解压) | 记住口诀:create(创建),extract(解包),verbose(详细),file |
zip / unzip | 压缩为.zip格式 / 解压.zip文件 | -r递归压缩目录、zip -r archive.zip directory/、unzip archive.zip | 跨平台(Windows/Linux)友好。 |
八、网络相关命令
检查和操作网络连接。
命令 | 功能描述 | 常用参数与示例 | 学习笔记 |
---|---|---|---|
ping | 测试与目标主机的网络连通性 | -c指定发送包次数、ping -c 4 google.com | 收到回复说明网络通畅。按 Ctrl+C停止。 |
ss / netstat | 查看网络连接和端口监听状态 | -tuln查看所有监听中的TCP/UDP端口、ss -tuln或 netstat -tuln | ss是更现代的工具,替代了 netstat。常用来看哪些服务正在运行。 |
curl / wget | 在命令行中下载文件 | curl -O http://example.com/file.zip、wget http://example.com/file.zip | curl功能更丰富(支持更多协议),wget支持递归下载。 |
九、学习建议与下一步
1、多动手实践:不要只看不练。尝试在自己的Linux系统或虚拟机中执行每一个命令,并观察结果。故意制造错误(如在权限不足时操作),看看系统如何提示。
2、使用–help和man:忘记命令用法时,命令 --help会给出简单帮助,man 命令(manual)会提供极其详细的官方手册。学会查手册是成为Linux高手的关键。
3、组合命令与管道:Linux哲学是“一个工具只做一件事,并做好”。通过管道 |可以将多个命令组合起来,完成复杂任务。例如:
ps aux | grep nginx(在进程列表中查找nginx)
cat log.txt | grep “error” | tail -n 10(显示日志中最后10条错误信息)
4、下一步学习:
Shell脚本编程:将一系列命令写入文件自动执行,实现自动化。
系统服务管理:学习 systemctl来启动、停止、重启服务(如Nginx、MySQL)。
软件包管理:学习 apt(Debian/Ubuntu)或 yum(CentOS/RHEL)来安装和管理软件。