- 学习最常见,最有用的命令
必须掌握的能力
-
显示当前目录和目录内容
-
在目录之间移动
-
创建文件和目录
-
将文字写入文件
-
查看文件内容
-
删除文件和目录
-
复制和粘贴文件和目录
-
移动/剪切文件和目录
-
运行多个命令
-
变更权限
-
以管理员身份运行
-
连接到另一台计算机或服务器
-
其他一些有用的命令
-
使用基本的文本编辑器
基本术语的理解
Windows,macOS(无论使用什么操作系统)都只是计算机的直观表示。这被称为图形用户界面(GUI)。带有文件浏览器,桌面,图标和所有其他图形,在这以前你只能命令行操作。您不能输入拖放,指向和点击,而是只能输入内容。那是唯一二者的区别。
您可以通过命令行访问_整个_计算机。您可以通过命令行执行所有操作。执行效率,交互效率也是最高的,可能唯一的缺点,你会觉得是交互友好性差,但是你要知道它的应用场景(高效利用硬件资源)就不会觉得是一个缺点了。
简单实战
我可以通过网络浏览器访问我电脑中的文件。如果我打开Google Chrome浏览器并输入/Users
,那么我将看到如下效果。
命令行界面也是如此。包括我们自己cmd命令打开的命令行dos界面
我的终端背景很暗。您的颜色可能是白色,蓝色或其他,取决于您所使用的内容。这只是个人喜好,我们以后可以学习改变这些配置。
就像我C:/
在Google Chrome中一样,当前我通过命令提示符/cmd终端“切换到”同一文件夹中。我将通过pwd
在终端中键入然后按Enter 来证明这一点。pwd
代表“ 打印工作目录路径”,显示“文件所在路径”。
pwd
但是我怎么知道文件中内容呢?如何与任何这些文件和目录进行交互?我将使用ls
命令,该命令代表列出目录内容
ls
现在,我可以完全看到 和Chrome /网络浏览器中看到的一样的内容了!
现在您应该了解,您正在通过命令行访问计算机上任何文件和文件夹了。
当我打开终端时,我看到了
NolBook:~ taniarascia$
您可能还会看到其他内容,但是~
和$
仍然存在
Computer Name:Directory Username READY
-
计算机名(NolBook)-这只是我给我的计算机起的名字。
-
目录(
~
)-计算机名称旁边是您正在使用的当前目录。~
代表主目录,这是我的taniarascia
文件夹。 -
用户名(taniarascia)-这可能有点令人困惑,因为我的主文件夹和用户名都是taniarascia,但这是专门指计算机用户。
-
就绪(
$
)-美元符号表示提示已准备就绪,可以接受您的命令。您无需输入$
,它就在那里。在Windows计算机上,这由>
符号表示。
终端或命令提示符是运行外壳程序的程序(命令行界面),该外壳程序会解释录入的命令。
我们将学习如何使用鼠标或键盘快捷键在计算机上执行许多常规操作。我们将在目录之间移动,创建文件和文件夹,删除它们,移动它们,复制和粘贴它们以及编辑文件。您也可以随时按clear
以擦拭所有历史记录并拥有干净的屏幕。
到目前为止,我们已经学到了三件命令。
| 命令 | 含义 | 描述 |
| :-- | :-- | :-- |
| pwd
| 打印工作目录 | 找出当前目录在哪里 |
| ls
| 列出目录内容 | 查看您当前位置的文件和目录 |
| clear
| 明确 | 清除终端屏幕 |
pwd
在编写任何命令之前,请始终记住键入以确保您知道自己在哪里。
默认情况下,如果退出Terminal,您将最终回到主目录。
在目录之间移动
现在,我在主文件夹中。如果要移动到其他地方,我将使用cd
命令- 更改目录。我将移至“ **音乐”**文件夹,然后检查我的位置。键入这些命令,然后在每个命令之后按Enter键。
cd music
pwd
ls
首先,我移至“ 音乐”文件夹。不管大小写,终端都将理解为目录,因此我可以编写音乐或Music。我打印出当前位置以确保确定,然后列出内容。如您所见,它说的NolBook:music
不是NolBook:~
,所以我知道我现在在不同的目录中。
很好,但是我真的不想在Music文件夹中做任何事情。我该如何回去?在终端中,一个点(.
)表示当前目录,两个点(..
)表示一个目录向后或靠近根目录。
我想回到一个目录,回到我之前的主文件夹。
cd …
NolBook:~ taniarascia$
通过输入,cd ..
我告诉shell将我带回到一个目录,现在我回到home / ~
。现在拓展一下练习在目录之间移动,使用../..
将带您回到两个目录,依此类推。
目录和文件名中的空格
如果尝试移动到具有空格的目录中,则可能会遇到问题。例如,在我的音乐文件夹中,有一个名为Audio Music Apps的目录。但是,如果我尝试简单键入。
cd Audio Music Apps
-bash: cd: Audio: No such file or directory
命名行界面程序认为我试图移入音频而不是**音频音乐应用程序,**因为它无法识别空格。有两种方法可以解决此问题。
使用引号
将任何文件都用双引号引起来以保留空格
cd “Audio Music Apps”
转义
\
在每个空格之前键入反斜杠字符。如果您按Tab键,终端将为您完成!只需键入cd A
并按Tab键,shell便会自动假定您要键入的内容。
cd Audio\ Music\ Apps/
| 命令 | 含义 | 描述 |
| :-- | :-- | :-- |
| cd
| 变更目录 | 在目录之间移动 |
您可以通过按Control + C随时结束命令
创建文件和目录
您可以从命令行创建文件和文件夹。
建立目录
让我们创建一个文件夹,使用(Make Directory)命令练习名为Shell的文件夹。mkdir
mkdir Shell
恭喜,您创建了目录!如果输入ls
,我将在主文件夹中看到我新创建的目录。
NolBook:~ taniarascia$ cd shell
NolBook:shell taniarascia$ pwd
/Users/taniarascia/shell
建立文件
现在让我们制作一个文件。您可以使用touch
命令执行此操作。
touch test.html
我的示例名称不是很独特,因此我将其命名为test.html。输入此代码时,它不会输出任何内容来表示命令已成功执行。您可以ls
查看它,或在(Finder是Mac软件)Finder中检查是否已创建有效的.html文件。
您可以创建任何类型的文件,但是只有通过终端创建基于文本的文件才有意义。
您也可以同时创建多个文件。
touch one.txt two.txt three.txt
将文字写入文件
我们曾经touch
创建过一个空文件,甚至可以使用echo
创建一个包含某些内容的文件。
echo “Hello World” > hello.txt
现在,我有一个名为hello.txt的纯文本文件,其中包含内容Hello World
。
查看文件内容
我可以通过Terminal使用cat
命令查看内容。
cat hello.txt
NolBook:shell taniarascia$ cat hello.txt
Hello World
在这一点上,我建议创建更多文件和目录,并在它们之间移动来熟悉命令。
这些命令- touch
,cat
和echo
-的功能远远超过我在这些快速示例中显示的内容
| 命令 | 含义 | 描述 |
| :-- | :-- | :-- |
| mkdir
| 创建目录 | 创建一个新目录 |
| touch
| 触摸 | 创建一个新文件 |
| cat
| 级联 | 查看文件内容 |
| echo "x" >
| 回声 | 快速将文本打印到文件 |
删除文件和目录
现在假设您已经在测试文件夹中弄乱了文件和目录,因此我们可以开始清理它。
删除文件
使用rm
(删除)命令删除文件。
rm hello.txt
请注意,这将永久删除文件-不会将其发送到垃圾箱/回收站。
*
在编程中,星号 被称为通配符。我可以选择使用通配符删除某个文件类型的所有文件。例如,如果我有许多.png文件,则可以rm *.png
批量删除整个.png文件。
删除目录
现在,让你用mkdir goodbye
创建一个名为**goodbye**的新目录,你尝试将其删除
rm goodbye`。您会收到此错误。
NolBook:shell taniarascia$ rm goodbye
rm: goodbye: is a directory
没问题,我们将使用rmdir
(删除目录)将其删除。
rmdir goodbye
现在不见了。如果要删除其中包含文件夹的文件,则必须运行稍有不同的命令。
rm -r goodbye
与touch
一样,我们可以同时删除多个文件或文件夹。
rm one.txt two.txt three.txt
| 命令 | 含义 | 描述 |
| :-- | :-- | :-- |
| rm
| 去掉 | 删除目录条目 |
| rmdir
| 删除目录 | 删除目录 |
复制文件和目录
我们还可以使用cp
(Copy)命令通过命令行复制和粘贴文件。只需键入,cp
然后输入源(要复制的文件)和目标(要复制到的位置)。
cp source destination
我在我的Shell文件夹中。比方说,我使用mkdir websites
创建一个新目录。现在,我可以将test.html
从/Users/taniarascia/shell
复制到/Users/taniarascia/shell/websites
。
cp test.html websites
这与复制和粘贴(命令+ C)相同。
要复制整个目录,请使用该-R
选项。我可以将website目录及其所有内容复制到新目录中。
cp -R websites websites2
复制文件
您也可以复制同一文件夹中的文件。(创建一个副本文件)
cp test.html test2.html
移动文件和目录
您可以使用mv
(Move)命令移动文件,就像复制文件一样。
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!