1. Linux命令行概述
Linux命令行(也称为终端或Shell)是Linux操作系统中与用户交互的文本界面。通过命令行,用户可以执行各种任务,如文件管理、进程控制、系统配置等。相比图形用户界面(GUI),命令行具有更高的效率和灵活性,尤其适用于服务器管理和自动化任务。
本文将涵盖以下内容:
- 常用命令
- 文件与目录操作
- 权限管理
- 进程管理
- 命令行技巧
2. 常用命令
2.1 文件与目录操作
-
ls
- 功能:列出当前目录下的文件和子目录。
- 示例:
bash
取消自动换行
复制
ls ls -l # 详细列表 ls -a # 包含隐藏文件
-
cd
- 功能:切换当前工作目录。
- 示例:
bash
取消自动换行
复制
cd /home/user/Documents cd .. # 返回上一级目录 cd ~ # 切换到主目录
-
pwd
- 功能:显示当前工作目录的完整路径。
- 示例:
bash
取消自动换行
复制
pwd
-
cp
- 功能:复制文件或目录。
- 示例:
bash
取消自动换行
复制
cp source.txt destination.txt cp -r source_dir/ destination_dir/ # 递归复制目录
-
mv
- 功能:移动或重命名文件或目录。
- 示例:
bash
取消自动换行
复制
mv oldname.txt newname.txt mv file.txt /home/user/Documents/
-
rm
- 功能:删除文件或目录。
- 示例:
bash
取消自动换行
复制
rm file.txt rm -r directory/ # 递归删除目录 rm -f file.txt # 强制删除,不提示
-
mkdir
- 功能:创建新目录。
- 示例:
bash
取消自动换行
复制
mkdir new_folder mkdir -p /path/to/new_folder # 创建多级目录
-
rmdir
- 功能:删除空目录。
- 示例:
bash
取消自动换行
复制
rmdir empty_folder
2.2 文件查看与编辑
-
cat
- 功能:显示文件内容。
- 示例:
bash
取消自动换行
复制
cat file.txt
-
head
- 功能:显示文件的开头部分。
- 示例:
bash
取消自动换行
复制
head file.txt head -n 5 file.txt # 显示前5行
-
tail
- 功能:显示文件的结尾部分。
- 示例:
bash
取消自动换行
复制
tail file.txt tail -n 5 file.txt # 显示后5行 tail -f logfile.log # 实时查看日志文件
-
nano
- 功能:使用nano编辑器编辑文件。
- 示例:
bash
取消自动换行
复制
nano file.txt
-
vim
- 功能:使用vim编辑器编辑文件。
- 示例:
bash
取消自动换行
复制
vim file.txt
2.3 权限管理
-
chmod
- 功能:更改文件或目录的权限。
- 示例:
bash
取消自动换行
复制
chmod 755 script.sh chmod u+x script.sh # 给文件所有者添加执行权限
-
chown
- 功能:更改文件或目录的所有者。
- 示例:
bash
取消自动换行
复制
chown user:group file.txt chown -R user:group directory/ # 递归更改目录及其内容的所有者
-
chgrp
- 功能:更改文件或目录的所属组。
- 示例:
bash
取消自动换行
复制
chgrp group file.txt
2.4 进程管理
-
ps
- 功能:显示当前运行的进程。
- 示例:
bash
取消自动换行
复制
ps ps -ef # 显示所有进程的详细信息
-
top
- 功能:实时显示系统进程状态。
- 示例:
bash
取消自动换行
复制
top
-
kill
- 功能:终止进程。
- 示例:
bash
取消自动换行
复制
kill 1234 # 终止PID为1234的进程 kill -9 1234 # 强制终止进程
-
pkill
- 功能:根据进程名终止进程。
- 示例:
bash
取消自动换行
复制
pkill firefox
3. 命令行技巧
3.1 Tab补全
- 功能:自动补全命令或文件名。
- 用法:在输入命令或文件名时,按下Tab键,Shell会自动补全。如果有多个匹配项,按两次Tab键会显示所有匹配项。
3.2 历史命令
- 功能:查看和使用之前执行过的命令。
- 命令:
bash
取消自动换行
复制
history
- 用法:
- 使用上下箭头键浏览历史命令。
- 使用
!n
执行历史命令中第n条命令。 - 使用
!!
重复执行上一条命令。
3.3 管道与重定向
-
管道(|):
- 功能:将一个命令的输出作为另一个命令的输入。
- 示例:
bash
取消自动换行
复制
这将列出当前目录下的所有文件,并筛选出包含“txt”的文件。ls -l | grep "txt"
-
输出重定向(>):
- 功能:将命令的输出写入文件。
- 示例:
bash
取消自动换行
复制
这将把ls -l > files.txt
ls -l
的输出写入files.txt
文件。如果文件已存在,则会覆盖。
-
追加重定向(>>):
- 功能:将命令的输出追加到文件末尾。
- 示例:
bash
取消自动换行
复制
echo "Hello, World!" >> greeting.txt
-
输入重定向(<):
- 功能:从文件读取输入。
- 示例:
bash
取消自动换行
复制
sort < numbers.txt
4. 综合示例
以下是一个综合使用上述命令的示例:
bash
取消自动换行
复制
# 创建一个新目录
mkdir my_project
# 进入新目录
cd my_project
# 创建多个子目录
mkdir src include bin
# 复制文件到src目录
cp ~/Downloads/example.c src/
# 查看src目录内容
ls src
# 编辑example.c文件
nano src/example.c
# 编译代码
gcc src/example.c -o bin/example
# 运行程序
./bin/example
# 查看程序输出
echo $?
# 查看当前进程
ps -ef | grep example
# 终止程序
kill 1234
# 查看历史命令
history
5. 总结
本文介绍了Linux命令行基础,包括:
- 常用命令:文件与目录操作、文件查看与编辑、权限管理、进程管理。
- 命令行技巧:Tab补全、历史命令、管道与重定向。
通过学习和实践这些基础知识,你可以高效地使用Linux命令行进行日常操作和系统管理。希望本文能够帮助你快速掌握Linux命令行的使用!
希望这篇文章能够帮助你快速入门Linux命令行!如果你有任何问题或建议,欢迎在评论区留言。