网站首页 > 博客文章 正文
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。
九、实际应用
- 远程服务器管理:
通过SSH连接到远程服务器后,你将只能使用命令行界面。这时,熟悉这些基本命令就显得尤为重要。例如,使用cd和ls来导航文件系统,使用vim编辑配置文件,用tail -f查看实时日志等。 - Docker操作:
使用Docker时,大量操作都是通过命令行完成的。比如: - docker build -t myimage .: 构建Docker镜像
- docker run -d myimage: 运行容器
- docker ps: 查看运行中的容器
- docker exec -it container_id /bin/bash: 进入容器的shell
- CI/CD配置:
在配置持续集成/持续部署(CI/CD)流程时,你需要编写一系列shell命令来自动化构建、测试和部署过程。例如: - build: steps: - run: npm install - run: npm test - run: docker build -t myapp . - run: docker push myapp:latest
- 日志分析:
当需要分析大量日志文件时,命令行工具非常有用: - grep "ERROR" app.log | sort | uniq -c | sort -nr
- 这个命令可以帮你快速找出日志中出现最多的错误信息。
- 批量文件处理:
假设你需要将所有的.jpg文件重命名为.png: - for file in *.jpg; do mv "$file" "${file%.jpg}.png"; done
记住,掌握这些命令不是一蹴而就的。最好的学习方法是在实际项目中运用它们。随着使用频率的增加,你会逐渐熟悉这些命令,并发现它们的强大之处。持续学习和实践,你将能够更加高效地管理系统,解决问题,提高工作效率。
Linux命令行的魅力在于它的灵活性和强大功能。通过组合不同的命令,你可以完成复杂的任务。随着经验的积累,你会发现命令行操作不仅高效,而且能让你对系统有更深入的了解和控制。所以,开始你的Linux命令行冒险吧,一个充满可能性的世界正等着你去探索!
- 上一篇: Linux技巧:常见的Linux帮助相关的命令介绍
- 下一篇: DevOps—Linux命令行进阶
猜你喜欢
- 2024-12-16 Linux这17个操作技巧是每个运维工程师应知必会的吧?
- 2024-12-16 Linux部分经常使用的命令(SUSE 服务器)
- 2024-12-16 Linux Shell
- 2024-12-16 干货分享:shell脚本批量telnet ip 端口
- 2024-12-16 Linux 系统日常巡检脚本
- 2024-12-16 Linux故障排查思路及常用命令(收藏)
- 2024-12-16 在linux 下怎么查看服务器的cpu和内存的硬件信息
- 2024-12-16 Linux 安全与运维指南,安全第一!
- 2024-12-16 Linux环境中使用netstat和awk命令监控网络连接情况
- 2024-12-16 Linux命令学习神器!命令看不懂直接给你解释
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)