Linux Shell的常用操作有哪些
怎么入门文章编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《Linux Shell的常用操作有哪些》,涉及到,有需要的可以收藏一下
Linux】1 Shell
1. 语录
计算机不仅仅用来开发个网站或软件,更是我们手中的利器,我们的tools。
shell是我们与计算机交互的主要方式,可视化的图形界面其实很受限,你只能通过预设的按钮去做一些事情。
2. Shell
2.1 程序
操作系统中通常都有一个”shell“,例如windows中的powershell。它们之间可能有些区别,但总的来说差不多。在windows系统中,也可以通过安装Git,使用linux风格的git bash 。(windows 下的git bash有时也不太一样,更建议真正的linux系统)
shell中可以通过输入程序名来执行程序,比如有个程序叫date,就之间输入($是命令提示符,就像windows中的>)
$ date Sat Mar 18 20:52:33 2023
可以给程序传递参数,例如程序echo
的运行效果就是把传递给它的参数打印出来,
$ echo hello hello
此外,如果有多个参数,参数之间是使用空格分开的,如果传多单词组成的参数,可以使用\
(转义字符),例如下面其实只给echo
传了一个参数,
$ echo hello\ world hello world
系统可以找到你输入的程序,是通过 Path(路径),可以查看环境变量中的所有路径
$ echo $PATH /c/Users/ThinkPad/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/Users/ThinkPad/bin:/c/Program Files/Common ...(我省略了)
在你输入一个程序名,比如echo
时,shell就会在系统的所有路径的目录中搜索该程序,你可以这样查看一个程序所在的路径
$ which echo /usr/bin/echo
补充:关于程序(命令)的参数,我们使用-
后面接单个字母,使用--
后面接单词。例如-a
,--all
。
2.2 目录
程序默认会在当前目录下运行。下面是一些常用的目录操作
命令 | 介绍 |
---|---|
pwd (print work directory) | 打印当前目录路径 |
ls | 列出当前目录下的文件,使用-l 参数将显示更多详细信息 |
cd | 切换目录到指定目录,使用cd - 可回到刚才所在的目录,方便在两个目录间切换。. 表示当前目录,.. 表示父目录,~ 表示用户目录,/ 开头表示根目录。 |
通过--help
参数,可以查看某个命令的用法,例如
$ ls --help
想一想:ls -l列出的目录列表及其信息,如何解读?
而操作文件需要权限,你需要拥有整条路径的权限才能对文件进行相应的操作。下面是一些和文件操作有关的命令介绍。
2.3 文件
2.3.1 简单文件操作
你可以使用mv
命令给文件重命名,即使它是move(移动)的意思。假设你在当前的目录下已经有个文件hello.txt,那么你可以使用命令
$ mv hello.txt hello2.txt
将它重命名为hello2.txt。cp
命令可以复制文件,它的意思是copy (很显然),你可以接着刚才的命令使用
$ cp hello2.txt hello.txt
那么你的hello.txt文件又回来了!现在你有了两个相同内容的文件,却有着不一样的名字。但估计你会觉得这有些多余,但好在你可以使用命令rm
删掉其中一个,就像下面这样
$ rm hello2.txt
好了,现在我们又回到了刚刚开始的样子,但我们刚刚的操作已经在终端留下了杂乱的信息,使用clear
命令清除它们!
$ clear
如果你想新建文件,可以使用touch
命令,比如新建一个空hello2.txt文件
$ touch hello2.txt
有时你会感觉命令的名字有些奇怪,为什么创建文件要是touch?其实它就像前面的mv命令,重命名仅仅对它的一种使用方式,而它能做的不止于此,它其实可以将文件移动到你计算机的任何一个地方!
touch是一个时间戳命令,当操作的文件不存在时就会自动新建一个文件——而不是它本身只有新建文件的功能。当你感到疑惑时可以使用touch --help看看帮助文档。而我使用echo命令同样达到新建文件的目的
$ echo '' > hello3.txt
它将新建一个空文件hello3.txt 。你可能看着这些linux命令就像回到了高中背单词的时候,同一个单词有着相互略微联系的多种用法——也确实如此,单词是语言的基础。
至于刚刚命令中的>>
符号,相信大家一看就懂,我们后面也将会进一步介绍。
2.3.2 重定向
程序的输出除了直接显示到屏幕上,你也可以将它保存到文件里,而重定向可以帮你达成这个目标。这里有个流的概念,每个程序都有自己的输入流与输出流,程序从自己的输入流中读取数据,并将运行结果写入到输出流中。而程序默认从键盘输入获取数据,并将运行结果写到屏幕上,我们将键盘输入称为标准输入流,将屏幕称为标准输出流。而重定向将助你获得修改程序输入、输出方向的能力——而不总是键盘和屏幕。
echo
命令将输入流中的数据传递到输出流,但我现在不想输出到屏幕,我要将输入的内容保存到文件里,那么可以使用>
——重定向输出流。
$ echo hello > hello.txt
想一想:为什么
echo < hello.txt
输出为空?
类似地可以使用<
重定向输入流。cat
命令可以将文件输入显示到屏幕,如
$ cat hello.txt hello
现在我们通过重定向,可以将hello.txt文件的内容复制到另一个文件hello2.txt中
$ cat < hello.txt > hello2.txt $ cat hello2.txt hello
cat
程序从hello.txt中获得输入,并将输出写入了hello2.txt中——而不是屏幕上。
>
重定向的输出流是覆盖模式,对应到文件操作中,就是先清空文件中原有的内容,然后写入新内容。如果你是想在原来的基础上添加一些内容,那么>>
很适合你,它将以追加模式写入新内容。
$ echo world >> hello.txt $ cat hello.txt hello world
命令 | 介绍 |
---|---|
< | 重定向输入流 |
> | 重定向输出流,以覆盖模式写入 |
>> | 重定向输出流,以追加模式写入 |
2.4 管道
一个程序的输出可以保存到文件里,也可以直接传递给另一个程序。将左侧程序的输出直接作为右侧程序的输入,这便是管道的作用,管道符为|。
tail命令通过-n参数,可以输出它输入中的最后n行。命令ls -l /会显示出很多信息,那么通过下面的命令我可以只显示其中最后两行:
$ ls -l / | tail -n 2 -rw-r--r-- 1 ThinkPad 197121 24183 Nov 28 12:20 unins000.msg drwxr-xr-x 1 ThinkPad 197121 0 Nov 28 12:20 usr/
tee
命令可以将输入同时输出到屏幕和指定的文件中,那么加上管道你可以像下面这样
$ echo linux1234 | tee hello.txt linux1234
终于介绍完啦!小伙伴们,这篇关于《Linux Shell的常用操作有哪些》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

- 上一篇
- 安装包和GOCACHE有什么区别

- 下一篇
- Python:助你驾驭区块链复杂性的向导
-
- 文章 · linux | 12分钟前 |
- LinuxAliases命令提升效率终极秘籍
- 277浏览 收藏
-
- 文章 · linux | 49分钟前 |
- LinuxDHCP活动监控工具及方法推荐
- 429浏览 收藏
-
- 文章 · linux | 1小时前 |
- OpenSSL在Debian故障排除技巧全攻略
- 301浏览 收藏
-
- 文章 · linux | 2小时前 |
- Linuxcmatrix数据备份的实现技巧
- 121浏览 收藏
-
- 文章 · linux | 3小时前 |
- Linuxcmatrix命令使用技巧及原理揭秘
- 375浏览 收藏
-
- 文章 · linux | 4小时前 |
- Linux上Swagger工具提升API性能指南
- 287浏览 收藏
-
- 文章 · linux | 5小时前 |
- Linux下Postman环境变量设置攻略
- 154浏览 收藏
-
- 文章 · linux | 6小时前 |
- nginx缓存策略设置详解及优化技巧
- 100浏览 收藏
-
- 文章 · linux | 6小时前 |
- Linux中用yum查找软件版本的具体方法
- 192浏览 收藏
-
- 文章 · linux | 7小时前 |
- Linux系统Filezilla更新教程及最新版本下载
- 395浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- 协启动
- SEO摘要协启动(XieQiDong Chatbot)是由深圳协启动传媒有限公司运营的AI智能服务平台,提供多模型支持的对话服务、文档处理和图像生成工具,旨在提升用户内容创作与信息处理效率。平台支持订阅制付费,适合个人及企业用户,满足日常聊天、文案生成、学习辅助等需求。
- 7次使用
-
- Brev AI
- 探索Brev AI,一个无需注册即可免费使用的AI音乐创作平台,提供多功能工具如音乐生成、去人声、歌词创作等,适用于内容创作、商业配乐和个人创作,满足您的音乐需求。
- 7次使用
-
- AI音乐实验室
- AI音乐实验室(https://www.aimusiclab.cn/)是一款专注于AI音乐创作的平台,提供从作曲到分轨的全流程工具,降低音乐创作门槛。免费与付费结合,适用于音乐爱好者、独立音乐人及内容创作者,助力提升创作效率。
- 6次使用
-
- PixPro
- SEO摘要PixPro是一款专注于网页端AI图像处理的平台,提供高效、多功能的图像处理解决方案。通过AI擦除、扩图、抠图、裁切和压缩等功能,PixPro帮助开发者和企业实现“上传即处理”的智能化升级,适用于电商、社交媒体等高频图像处理场景。了解更多PixPro的核心功能和应用案例,提升您的图像处理效率。
- 6次使用
-
- EasyMusic
- EasyMusic.ai是一款面向全场景音乐创作需求的AI音乐生成平台,提供“零门槛创作 专业级输出”的服务。无论你是内容创作者、音乐人、游戏开发者还是教育工作者,都能通过EasyMusic.ai快速生成高品质音乐,满足短视频、游戏、广告、教育等多元需求。平台支持一键生成与深度定制,积累了超10万创作者,生成超100万首音乐作品,用户满意度达99%。
- 9次使用
-
- 命令行工具:应对Linux服务器安全挑战的利器
- 2023-10-04 501浏览
-
- 如何使用Docker进行容器的水平伸缩和负载均衡
- 2023-11-07 501浏览
-
- linux .profile的作用是什么
- 2024-04-07 501浏览
-
- 如何解决s权限位引发postfix及crontab异常
- 2024-11-21 501浏览
-
- 如何通过脚本自动化Linux上的K8S安装
- 2025-02-17 501浏览