admin管理员组文章数量:1440170
与终端热恋期:Linux基础指令的甜蜜对话指南
与终端热恋期:Linux基础指令的甜蜜对话指南
前言:
第一次打开 Linux 终端时,你或许像面对一位高冷的约会对象:它沉默地闪烁着光标,而你紧张地敲下 ls
,仿佛在试探地问“在吗?”——得到的回应可能是一串冷冰冰的目录列表,或是突如其来的“Command not found”(“你说啥?”)。
但别急着关掉窗口逃跑!这段关系需要的不是天分,而是一点“恋爱技巧”。
你以为的终端:
- 社恐达人:只会用黑白文字回应
- 毒舌专家:动不动就甩出“Permission denied”(“你谁啊?”)
- 谜语人:
rm -rf /
的警告像极了“你再这样我们就完了!”
实际上的终端:
- 外冷内热型伴侣:只要学会正确“告白语法”,它能为你泡咖啡(定时任务)、写情书(自动脚本)、甚至打理整个“家”(服务器)。
- 细节控狂魔:文件名大小写、空格和符号的严格区分,不过是它独特的“仪式感”。
- 养成系天花板:从
cd
(“跟我来”)到grep
(“记住你的每一句话”),每学一条指令,都是解锁新亲密等级的密码。
在这本指南里,我们不聊晦涩的“技术黑话”,只说你和终端之间的“悄悄话”。你会学到:
- 如何用
sudo
温柔破解权限壁垒(“让我证明我爱你”); - 用
管道符 |
制造浪漫协作(“你的输出是我的输入”); - 甚至用
crontab
实现每日定时问候(“早安比咖啡更早到达”)。
现在,深吸一口气,输入你的第一条“情话”—— 毕竟,最好的爱情,总是从勇敢按下回车键开始。
(温馨提示:若中途遭遇“心碎”(段错误),请默念三遍 Ctrl+C
再重来。它值得。)
正文:
1.ls指令
1.1.语法
ls指令的语法是很简单的,也是我们之后用到的最多的(小编自认为),它的语法有很多,如下所示:
代码语言:javascript代码运行次数:0运行复制ls #单纯的ls指令就是会展示当前目录下所有的文件
ls -a #后面跟着的是选项,此时ls提供的选项有很多种,至于选项到底是什么,这些都是后话了,此时用完这个就会展现出所有的文件(包括隐藏文件,对于隐藏文件,小编会在之后细说的,现在先简单认识一下函数的功能)
ls -l #通过列竖式的样子一一列出每个文件,并且给出文件的一些详细信息(这些也是后话了,以及文件创建时的日期)
ll #这里说点有意思的,其实指令和选项之间有时候是可以合并的,此时我们可以用这个来表示上面的命令行参数,从而减少字母的输入
ls -a -l #这个相信看完前面选项的介绍,很快就明白它的意思了,这个指令的意思就是把目录下所有的文件打开并给出详细信息
ll -a #当然我们可以写,但是lla是行不通的,我也不能解释为什么,只能说是语法不允许把。
当然最后一个指令,输入的顺序是无所谓的,各位只需要记住,我们只要有了对应的选项就可以使用出对应的功能,这些其实和命令行参数有关,当然这些都是后话了,以后小编会解释的。
1.2.浅谈隐藏文件
此时小编随便创建一个文件夹(这个小编会讲的),并且使用上面的第二个指令,如下所示:
此时不难看出虽然当前我们并没有创建文件,但是此时系统却还有两个文件,这两个文件便是隐藏文件,很多读者朋友会疑惑隐藏文件的作用是什么,这里小编用一个简单的例子说一下:当我们在写一个比较重要的文件时,这个文件我们不想让别人知道,所以我们可以把这个文件设置为隐藏文件,对于Linux下的隐藏文件,我们一般都是.开头的,这里可能会有读者朋友会有疑问了,那么一个.到底是什么?小编先卖个关子,等会小编讲目录和文件的时候会说,此时我们只要记住.开头的是隐藏文件就好,并且在Windows下也会存在隐藏文件,如下图所示。
从这里便可以看到隐藏的项目,并且各位读者朋友也会看见Windows下的隐藏文件也是以.开头的。
1.3.浅谈文件和目录
此时很多读者朋友对目录这个词很陌生,其实这就是我们常说的文件夹,不过在Linux下多以目录称呼,所以小编之后除了特别说明,所有的目录都是文件夹,目录和文件是有区别的,此时在Linux下我们在用ls -a -l详细展示每一个文件的时候,便可以看到每一个文件或者目录前面的东西都有一些字符串。
其中最前面的字母如果是d,那么代表此时是目录;如果是-,那么代表此时是文件。通过上图我们可以发现,此时的.和…居然都是目录,那么它们到底是什么呢?这里小编就不卖关子了,此时的.代表着当前目录;…代表的是上级目录,这里可能很多读者疑惑了,这个…代表的上级目录我还可以理解,这个.的作用到底是啥?其实很好证明,这里小编要用一些超纲的知识了,小伙伴们看不懂是没有关系的,这些我们都会学,我们通过gcc把code.c文件进行编译一下,就会形成下图的可执行文件:
此时我们如果直接输入ceshi可执行文件,系统是会报错的:
此时这个错误是想告诉我们,系统并没有找到ceshi文件,所以为了让系统能找到这个文件,我们需要使用.隐藏文件来指明当前目录,从而可以让操作系统可以定位到我们当前的目录,从而可以在目录下找到ceshi文件从而运行,具体的要等以后小编讲述文件系统才会详谈,此时我们只要知道.是指当前目录,…指的是上一节目录就好了。
1.4.常用选项总结
2.pwd指令
2.1.语法
这个指令的用法相比上面的就简单了很多。
代码语言:javascript代码运行次数:0运行复制pwd #显示当前所在的路径,对于路径是什么,我稍后会说。
2.2.浅谈路径
路径,其实大多数读者朋友都不陌生的,因为我们在使用Windows系统的时候,也是时常会用到路径,如下图所示:
Windows下的路径就是如上图表示的,其中\是路径分隔符;不过在Linux下,路径分隔符变成了‘/’,通过上面的代码就可以知晓,对于路径,我想说以下两点:
1.两个路径分隔符之间的一定是一个目录。
2.最末端可以是一个目录,同样也可以是一个文件。
最先开始的目录其实是根目录,用/来表示,Linux下所有的文件都是树状结构,并且是多多叉树的结构,非叶子结点一定是目录,而叶子结点可以是目录,也可以是文件,它的结构如下图所示:
此时我们可以知道路径的两种形式,这里稍微透露一下之后的一个指令:cd指令,它的作用就是可以让我们想到哪里去就到哪里去,当然,我们必须有权限(也是后话了),此时我们可以把路径分为两种:绝对路径和相对路径,下面我分别介绍:
1.绝对路径:就是从根目录开始依次到我们对应的目录/文件,就比如我想要找到bin目录,那么我们可以从根目录开始,找到usr目录从而找到bin目录:/usr/bin。官方的话语来说,就是:具有目的性的定位文件的方式
2.相对路径:此时假设我们是local目录,我们想要找到bin目录,如果采取绝对路径的话,那么就会显的很繁琐,所以此时我们仅需借助其中一个隐藏目录:,,通过…到usr目录,从而找到bin目录,就相对于我的位置来找到目录或者文件。
2.3.一个有趣的指令-tree
小编在上面说过,目录在Linux是以树状的形式呈现的,Linux中有一个指令:tree指令可以给我们展示一颗由文件和目录组成的树,不过想要下载它的话,我们可以采用以下的方式下载。
代码语言:javascript代码运行次数:0运行复制yum install tree #在centos系统下,下载的指令小编会在以后说的。
之后我们有如下的使用方法。
代码语言:javascript代码运行次数:0运行复制# 显示当前目录的树状结构(默认递归到所有子目录)
tree
# 显示指定目录的树状结构
tree /path/to/directory
# 限制目录层级深度(例如仅显示2层)
tree -L 2
# 显示隐藏文件(以点开头的文件/目录)
tree -a
呈现的效果可以自己去看,当然,可能有些读者朋友会好奇根目录下用tree指令会出现什么效果,其实很好说,因为根目录包含了大量的文件,所以我们使用这个指令时,系统会疯狂的形成树,当我们碰到这种情况的时候,直接CTRL+C,就可以强制结束这个进程(进程的概念我之后会说),这个操作在Windows下是复制操作,在Linux成了强制结束进程的操作了,所以这就是这俩系统复制粘贴不同的原因。
3.cd指令
3.1.语法
这个指令我在上面就提到了,它的功能就是可以让我们跳转到任意的目录下,下面小编就浅浅的展示它的用法。
代码语言:javascript代码运行次数:0运行复制cd 目录名 #这里可以跟绝对路径,也可以跟相对路径,也可以跟着当前目录下的目录名
我用几个例子来概述一下上面的用法:
1.绝对路径
2.相对路径
3.当前目录下的目录名
3.2.关于家目录
1.如何返回家目录
值得一提的是,当我们看到上图的时候,有些读者可能对其中表示疑惑,并不知道它代表的是什么意思。其实它代表的意思就是家目录,表示家目录,所以当我们想返回家目录的时候,小编最推荐下面两种用法。
代码语言:javascript代码运行次数:0运行复制cd #啥也不跟,意味着回到家目录
cd ~ #也是回到家目录家目录是什么
2.家目录是什么
用法我就说到这里,下面我简单介绍一下家目录是什么。
在 Linux 的世界里,家目录就像你的肥宅快乐屋——一个专属于你的数字小宇宙,里面堆满了你所有的“宝藏”和“黑历史”。
1. 你的地盘,你做主
- 路径:
/home/你的用户名
,比如/home/熬夜冠军小明
。 - 权限:其他用户想偷窥?门都没有!除非他们拿着“管理员大喇叭”(
sudo
)强行破门,但系统会默默记在小本本上(日志警告)。
2. 隐藏文件:你的“私房钱”
- 命名规则:所有以
.
开头的文件/文件夹(比如.bashrc
、.ssh
),都是你的魔法咒语书。- 它们默认隐身,只有输入
ls -a
才能召唤。 - 随便改它们?轻则终端配色丑哭,重则程序当场摆烂(比如删了
.config
,软件可能直接表演“失忆”)。
- 它们默认隐身,只有输入
3. 房间分区指南
- Downloads:快递堆放区,塞满了“下次一定整理”的安装包、电影种子。
- Documents:假装努力区,放着写了一半的博客草稿和去年没看完的 PDF。
- Pictures:黑历史相册,存着从猫片到截图的所有“互联网遗产”。
- Desktop:终极摆烂区,图标多到能玩《大家来找茬》。
4. 家目录の哲学
- 自由与责任:你可以在这里疯狂
rm -rf
,但别对着根目录(/
)手滑,否则……(当然啦,这些指令都是后面我要讲的知识点)- 系统:你礼貌吗?
- 你:重装系统的姿势又增加了!
5. 家目录冷知识
- 彩蛋:输入
cd
后直接回车,一秒瞬移回家,比喊“妈我饿了”还快。(上面的指令) - 终极奥义:把家目录备份到云盘,等同于给你的数字灵魂买了份保险。
4.touch指令
4.1.语法
这个指令就是我们期待已久的创建文件指令,此时我们通过这个指令就可以在当前目录下创建文件,包括文本文件,二进制文件等等,其用法如下所示:
代码语言:javascript代码运行次数:0运行复制touch 文件名 #此时后面跟着文件名即可
4.2.浅谈一下Linux系统下的文件
1.文件是什么
可能很多读者朋友看到这个标题会疑惑,此时小编这句话的意思到底是什么?文件不就是文件吗?下面我先提出一个问题:当我在一个文件夹中建立一个文本文件,此时我们不写入数据,问:这个文件的大小是否为0?
下面我揭晓结果:其实这个时候文件并不是空的,我们可以说文件的内容是空的,但是文件并不仅仅有文件内容,文件创立的实现,文件名等等属性也是文件的组成部分之一,它们并不是0的,所以小编想告诉各位的是:文件 = 文件的内容 + 属性,这句话很重要,它会常常出现在我的文章中,以后各位就知道它的重要性了。
在 Linux 的世界里,文件类型就像程序员穿衣服——有没有标签不重要,关键是看本质!
2. Linuxの佛系哲学
- 你叫它“日记.txt”?它微微一笑:
- “你说是就是吧,反正我读的是内容,不是名字。”
- 哪怕你把C代码文件命名成《霸道总裁爱上我.doc》,只要用
gcc
编译它……- 系统:问题不大,反正我只看二进制,又不嗑CP。
3. 扩展名?人类的仪式感罢了
- Windows:文件必须穿制服(.exe、.doc、.mp3),否则直接懵逼。
- Linux:穿睡衣还是西装?随便!反正我靠文件头魔法(
file 文件名
)看透你的真身。- 比如你把一首歌改成
学习资料.pdf
:- Windows:打不开!骗子!
- Linux:莫慌,
file
一下——“哦,是MP3啊,耳机拿来,我直接播!”
- 比如你把一首歌改成
4. 但人类啊,总爱给自己加戏
- 虽然Linux不在乎,但程序员们还是坚持给文件加扩展名:
- C文件叫
.c
:方便自己半夜debug时别把咖啡当代码喝下去。 - 脚本叫
.sh
:防止自己一激动对着rm -rf /*
喊“这脚本真棒”。 - 纯文本叫
.txt
:主要是为了气哭Windows用户——“看,我连标签都比你自由!”
- C文件叫
5. 终极真相
Linux其实是个反内卷大师:
- 其他系统:“文件必须按标签分类,否则扣你绩效!”
- Linux:“爱叫啥叫啥,你开心就好——反正
file
命令和vim
会出手。”
所以,下次在Linux里乱改文件名时,记得对它说:“你不懂,这叫赛博朋克风!”
本文标签: 与终端热恋期Linux基础指令的甜蜜对话指南
版权声明:本文标题:与终端热恋期:Linux基础指令的甜蜜对话指南 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1747705160a2747152.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论