专业的编程技术博客社区

网站首页 > 博客文章 正文

一般人不常用到的常用Linux命令行大揭秘:从入门到实践

baijin 2024-12-16 11:17:19 博客文章 12 ℃ 0 评论

Linux系统,虽然几乎用在我们周围日常生活的方方面面,像你的Android手机、路由器、智能电视等设备,但一般人也不会用到它的命令行,而掌握了Linux命令行操作不仅是一项必备技能,更是打开计算机世界大门的钥匙。虽然Linux的知识体系浩如烟海,但实际工作中,我们常用的命令其实并不多。现在深入了解这些最基础、最常用的Linux命令,让你能够自如地在命令行中畅游。

一、终端:你的命令中心

在开始我们的Linux命令之旅前,首先需要打开终端(Terminal)。终端就像是你和计算机之间的翻译官,你输入的命令会被解释并执行,计算机的反馈也会在这里显示。

  • Mac用户:直接打开Terminal应用即可。
  • Windows用户:需要安装WSL(Windows Subsystem for Linux)。WSL允许你在Windows系统上运行Linux环境,非常方便。
  • Linux用户:直接打开你的终端模拟器,如GNOME Terminal或Konsole等。

二、文件系统导航:认识你的数字世界

  • pwd (Print Working Directory)
    这个命令会显示你当前所在的目录路径。
    示例:输入 pwd ,可能会显示 /home/username
  • ls (List)
    列出当前目录下的文件和文件夹。
  • ls -a: 显示所有文件,包括以.开头的隐藏文件。
  • ls -l: 以长格式显示,包含权限、所有者、大小、修改时间等详细信息。
  • ls -h: 以人类可读的格式显示文件大小(如KB, MB, GB)。
  • ls -R: 递归显示子目录的内容。
    组合使用:ls -lha 可以显示包括隐藏文件在内的所有文件的详细信息,并以易读格式显示大小。
  • cd (Change Directory)
    用于在文件系统中移动。
  • cd 目录名: 进入指定目录。
  • cd …: 返回上一级目录。
  • cd ~: 返回home目录。
  • cd -: 返回上一个工作目录。

三、文件和目录操作:管理你的数字资产

  • mkdir (Make Directory)
    创建新文件夹。
  • mkdir dir1 dir2: 同时创建多个目录。
  • mkdir -p parent/child/grandchild: 创建嵌套目录。
  • cp (Copy)
    复制文件或目录。
  • cp file1 file2: 将file1复制为file2。
  • cp -r dir1 dir2: 复制整个目录及其内容。
  • cp *.txt backup/: 复制所有.txt文件到backup目录。
  • mv (Move)
    移动文件或重命名。
  • mv file1 dir1/: 将file1移动到dir1目录。
  • mv file1 file2: 将file1重命名为file2。
  • mv dir1 dir2: 如果dir2不存在,则重命名dir1为dir2;如果dir2存在,则将dir1移动到dir2下。
  • rm (Remove) 删除文件或目录。
  • rm file: 删除文件。
  • rm -r dir: 递归删除目录及其内容。
  • rm -f file: 强制删除,无需确认。
    警告:使用rm -rf时要格外小心,它会无条件删除所有内容且无法恢复(这个就是“删库跑路”常用的那个)

四、文件内容操作:探索和编辑

  • cat (Concatenate)
    查看文件内容,也可用于合并文件。
  • cat file1 file2: 显示两个文件的内容。
  • cat file1 file2 > file3: 合并file1和file2,并将结果保存到file3。
  • less
    分页查看文件内容,特别适合大文件。
    使用方法:less filename
    在less界面中,可以使用上下箭头滚动,按q退出。
  • head 和 tail
    查看文件的开头或结尾部分。
  • head -n 10 file: 显示文件前10行。
  • tail -n 5 file: 显示文件最后5行。
  • tail -f log: 实时查看不断更新的日志文件。
  • grep
    在文件中搜索指定的字符串。
  • grep “keyword” file: 在file中搜索keyword。
  • grep -r “keyword” dir: 在dir目录及其子目录中递归搜索keyword。
  • grep -i “keyword” file: 不区分大小写搜索。
  • vim
    强大的文本编辑器,学习曲线较陡但非常高效。
  • vim filename: 打开或创建文件。
  • 按i进入插入模式,开始编辑。
  • 按Esc退出插入模式。
  • 在命令模式下,:w保存,:q退出,:wq保存并退出。
  • 五、系统和进程管理
  • ps (Process Status)
    显示当前运行的进程。
  • ps aux: 显示所有进程的详细信息。
  • top
    实时显示系统资源使用情况和进程信息。
  • kill
    终止指定的进程。
  • kill PID: 终止指定PID的进程。
  • kill -9 PID: 强制终止进程。

六、网络相关

  • ping
    测试网络连接。
  • ping google.com: 测试与Google服务器的连接。
  • wget
    从网络下载文件。
  • wget https://example.com/file.zip: 下载指定URL的文件。
  • curl
    进行网络请求,常用于API测试。
  • curl https://api.example.com: 获取网页内容。

七、权限管理

  • chmod
    修改文件或目录的权限。
  • chmod 755 file: 给file赋予rwxr-xr-x权限。
  • chmod +x script.sh: 给脚本添加执行权限。
  • chown
    修改文件或目录的所有者。
  • chown user:group file: 修改file的所有者和组。

八、实用技巧

  • 使用Tab键自动补全命令或文件名。
  • Ctrl + R 可以搜索命令历史。
  • Ctrl + A 快速移动到行首,Ctrl + E 移动到行尾。
  • man 命令可以查看其他命令的详细说明,如 man ls。

九、实际应用

  1. 远程服务器管理:
    通过SSH连接到远程服务器后,你将只能使用命令行界面。这时,熟悉这些基本命令就显得尤为重要。例如,使用cd和ls来导航文件系统,使用vim编辑配置文件,用tail -f查看实时日志等。
  2. Docker操作:
    使用Docker时,大量操作都是通过命令行完成的。比如:
  3. docker build -t myimage .: 构建Docker镜像
  4. docker run -d myimage: 运行容器
  5. docker ps: 查看运行中的容器
  6. docker exec -it container_id /bin/bash: 进入容器的shell
  7. CI/CD配置:
    在配置持续集成/持续部署(CI/CD)流程时,你需要编写一系列shell命令来自动化构建、测试和部署过程。例如:
  8. build: steps: - run: npm install - run: npm test - run: docker build -t myapp . - run: docker push myapp:latest
  9. 日志分析:
    当需要分析大量日志文件时,命令行工具非常有用:
  10. grep "ERROR" app.log | sort | uniq -c | sort -nr
  11. 这个命令可以帮你快速找出日志中出现最多的错误信息。
  12. 批量文件处理:
    假设你需要将所有的.jpg文件重命名为.png:
  13. for file in *.jpg; do mv "$file" "${file%.jpg}.png"; done

记住,掌握这些命令不是一蹴而就的。最好的学习方法是在实际项目中运用它们。随着使用频率的增加,你会逐渐熟悉这些命令,并发现它们的强大之处。持续学习和实践,你将能够更加高效地管理系统,解决问题,提高工作效率。

Linux命令行的魅力在于它的灵活性和强大功能。通过组合不同的命令,你可以完成复杂的任务。随着经验的积累,你会发现命令行操作不仅高效,而且能让你对系统有更深入的了解和控制。所以,开始你的Linux命令行冒险吧,一个充满可能性的世界正等着你去探索!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表