Linux初识——基本指令

我们在linux下输入各种指令,其实就相当于在windows中的相关操作,比如双击,新建文件夹等。

以下是相关基本指令基本用法

一.ls(显示当前目录下的所有文件和目录)

那如何显示当前目录(我们所在的位置)呢?用指令pwd即可。

1.2 创建一个文件夹/目录

有时候,我们点到文件夹的尽头发现内部无文件了,此时ls发现是空的,为了让其显示,我们可以尝试在此目录下新建一个文件夹,指令:mkdir 文件名

1.3 ls+选项

除此之外,ls大部分还可以后面跟一个选项,比如:ls -l即列出该目录下文件的详细信息。除此之外,还有一些其他的常用选项。

-a:显示当前目录下的所有文件

与ls不同的是,其多了.和..。但我们也能通过颜色判断其是文件夹。稍后再作解释。

1.4 选项的合并

那我们可不可以把两个选项同时使用呢?当然可以即ls -a -l;显示更多文件和文件的更详细的信息。(命令和选项,选项和选项之间必须有至少一个空格隔开,我们建议一个空格即可)

ls除了支持选项进行独立写,也支持合并写,比如ls -al即可达成上面同样的效果(顺序可以随意)

1.5 关于选项 -a

接下来,我们来解释一下刚才ls -l操作看不到的.和..

在Linux中, 以 . 开头的文件称为隐藏文件,只有用-a操作我们才能看见,包括我们自己创建的隐藏文件也是如此

.114就是新创建的隐藏文件/目录

1.6 -l下显示的其他信息

如图所示,显示了这两个文件的全部信息,那除了名字,剩下这堆信息又代表着什么呢?

这好比我们在windows下新建一个文本文档,虽然我什么也没写,显示的是0kb,但其也会占据此磁盘空间,这是因为其还有文件的属性,包括文件类型,创建时间等。因此我们得出。

文件=文件内容+文件属性。对文件的操作就是对内容操作或对属性操作。

在上面的红框开头,以d开头的文件我们称为目录,以-开头叫普通文件(比如源文件,文本文件等)

二. pwd(当前的工作路径,即所在目录)

我们在刚才已经演示了用法,在此就不多说了

除此之外,我们还需注意的是,在windows中连续进入几个文件加,上面会显示D:\XX\XXX\XXX.其中,\被称为路径分隔符,在Linux中,路径分割符用/表示,有了分隔符,我们就可以用文件夹(目录)+分隔符来表示一条路径,进而找到我们要找的文件。

有了这个东西,我们可以把ls再完善一下功能,如果我们想显示某一具体文件夹的信息(不一定是当前文件夹),只需 ls -l /文件夹名即可。显示指定目录下的内容。所以,ls的用法通式为:

ls 选项 路径

对于一般的路径:/root/../.../....,我们把第一个/称为根目录,剩下的叫路径。

三 . cd(路径切换)

cd+路径 可切换到指定路径下。这个操作类似于windows的双击文件夹操作。

最后一步就是切换到根目录了。

有了cd操作,我们解释一下.和..到底是啥东西。

.和..叫特殊目录,.是当前目录,..是上级目录(对于112,他的上级目录就是root)cd..就是退到上一级目录,相当于windows中的回退。

3.1 ls -d

有时候,我们并不想展开某一个具体文件夹里的内容,只想看看当前路径下的文件夹,但我们用-l他总是会把文件夹展开显示,因此,需要用 -d选项,ls -d 目录即可展示当前路径下的内容而不打开目录,即只查看目录自己。

因此,我们也可以查看根目录本身而不打开根目录的内容。

注意:/里可以放普通文件,也可以放目录,/里面的目录也是如此,所以,Linux的目录结构是一颗多叉树的形状

3.2 绝对路径与相对路径

这颗多叉树的叶子节点,一定是空目录或普通文件,任何一个父节点可能有多个子节点,但任何一个子节点只有一个父节点。也就是说从根目录到目标文件,来回的路径是唯一的。这也告诉我们,可以用路径来定位一个文件的位置。这种路径称为绝对路径。

有绝对就有相对,那什么是相对路径呢?

假设我现在在112中新建一个txt文件(112中同时有一个lesson2的文件夹)

正常来说,我们想找到这个文件,就会用绝对路径表示:ls /root/112/hello.txt。但我们学过..是上级目录,因此,可用..代替:现在我们的位置是/root/112/lesson2,因为hello.txt在112中,所以我们要回退一个。即ls ../hello.txt。这个就是相对路径,相对是相对于当前路径的意思。之前的cd ..就是相对路径。在实际命令行操作的时候,经常使用相对路径,因为很方便。但绝对路径无论何时都能找到指定文件,在配置文件中使用居多。

在Linux下,任何一个目录都有.和..空目录也是如此,.相当于指向自己的指针,..相当于指向上一级路径的指针。 特殊地,根目录的.和..都指向自己。

3.3 cd - :跳转到最近的上一次路径,比如

3.4 cd ~

结果发现,无论当前在哪个路径,经过cd ~后都会回到/root,我们称为家目录

对于家目录的定义:对于root用户,首次登录所处的路径。对于普通用户,首次登录所处的路径(/home/用户名)。相当于windows的用户里叫桌面的文件夹。

所以,cd ~是回到用户自己的家目录下。root用户可以随便去普通用户的家目录下,相当于超级管理员,而普通用户只能去自己的家目录。

四 .touch指令(新建普通文件)

语法:touch 文件名

注意,在同一路径下不允许出现相同名字的文件或目录

五. mkdir(新建一个目录)

语法:mkdir 目录名 表示在当前路径下新建一个新目录,当然,也可以用相对路径在其他位置新建目录

但有时候我们想一次性新建一串目录比如:

这是不被允许的,我们只能新建一个然后cd进去继续新建,但是有一个选项可以帮助我们一次性完成,即在上图的mkdir后加-p即可。

六 rmdir和rm(删除命令)

rmdir不能删除普通文件,也不能删除非空文件,通常用来删除空目录。

rm可以删除普通文件,也可以删除非空目录,但需要加-r选项,他会把从他开始的所有子目录都删除,是一个递归的过程。但是在进行删除过程中会一直问你是否确定删除,直到递归结束,此时如果我们不想重复性地回答他,直接采用强制删除 rm -rf 目录即可。注意:不要强制删除根目录。

七 . *(通配符)

表示的是任意内容,用法为,xxx* 即代表了xxx后加任意名字的文件的所有文件比如:

file*代表着file后+任意为名字的文件的名字 ,*可以和ls rm搭配使用。如果是只写一个*,比如rm -rf * ,即强制删除当前目录下的任意名字的文件和目录 ,ls同上。(touch命令是新建普通文件的指令,语法为touch 文件名)。

八. 热键

8.1 Tab键

其功能如下:

第一个,命令补齐。比如我们在询问身份时往往会这样

但假设我们忘记了询问的命令了(如图所示,只记得是who什么什么)此时我们就可以连按两下tab,他就会显示以who开头的所有命令,如果我此时再输入一个a然后再按一下tab,发现直接显示whoami,这就是命令补齐。

第二个,路径补齐。

假设我们现在想知道上一级目录里除了lesson2还有什么,我们输入完ls ../后按下tab,就会显示112下的所有目录和文件,我们在输入new后再按下tab就会把剩余的目录补齐。(最后的什么也没显示是因为newdir下无目录和文件)

8.2 ctrl+c

在windows中是复制的快捷键,在linux中是强制终止运行,适用于我们输错了指令导致失控的情况下。

九.man指令

man相当于指令手册一样,当我们忘记了一些要用的指令时,可以用man指令查找,比如我想查关于ls 的相关指令,即man ls即可(以下是运行结果)pwd等等也可以。

除此之外,man也可以:man 数字 指令。数字相当于手册的章节,我们不输数字时默认在1号,像c语言的库函数在3号,我们要查函数就需要man 3 函数。当然,如果我们不输数字,他会从1号开始找,1号找不到找2号,直到找到为止。

十. cp指令(拷贝)

语法:cp 要拷贝的文件名/目录 拷贝成新的文件名/目录

拷贝后,文件里的内容也会拷贝,代码也会拷贝。不仅如此,也可以目录之间的拷贝,但需要加选项-r ,即递归式的拷贝。

注意:cp进行拷贝时需用相对路径或绝对路径进行拷贝

这里是把dir3中的test.txt拷贝到了dir4中

如果是拷贝目录的话,即cp -r 目录名1 目录名2,如果目录名2在当前路径存在那么就会在目录2中创建一个目录1的文件夹并把内容拷贝到其中,如果目录2名字不存在,那他就会在当前目录创建一个名为目录2的文件夹并把内容拷贝到其中。

这里我先把dir3的文件删除了,然后分别把dir4拷贝到dir3中,以及把dir4拷贝到当前目录中(di34是新的名字)。

相关推荐
大树8813 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠13 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质13 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush413 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行52013 小时前
Linux 11 动态监控指令top
linux
小宇宙Zz13 小时前
Maven依赖冲突
java·服务器·maven
Inhand陈工14 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智14 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
不会C语言的男孩15 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
shushangyun_15 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化