Linux基础了解

Linux和window中的一些区别

window是先有分区,再有目录,linux是先有目录,再有分区,将一个个分区挂载在文件夹下面

linux的文件存放的方式是挂载,linux中的文件夹的作用是单纯的路径,window中的文件夹起到的作用是容器。

linux中,一切皆是文件,比如这里的cpu都会有一个文件,将这些硬件以文件的形式来存储(/dev文件夹中),在后面我们用到大量设备操作的时候会用到这个文件夹,比如检测鼠标左右键哪个按下了。

Linux预置文件夹的介绍

user文件夹

放置了很多应用程序和文件,以及系统自带的系统文件,程序,还有帮助文档之类

proc文件夹(全称process)和sys文件夹

里面保存的是系统当前运行时的实时信息,比如进程,端口之类的,在之后我们代码调试的时候可以来查看这个文件夹来辅助我们调试

这个系统将运行时的数据,内核的一些信息来封装到了这个文件夹里面,这样我们访问系统运行时相关的信息就在这里,更加方便对系统也更加安全。这些信息相当于是挂载到了这两个文件夹下面,在虚拟机关闭的时候这个文件夹下面的数据就会自动消失

系统运行时数据存放的分区与硬盘分区有本质区别,普通分区是在磁盘上直接分配的一段连续的物理空间。这个分区是在内存中的,是将内存中内核的数据进行了封装,打包,我们将这个分区叫做虚拟分区,这个分区是基于运行内存的。

具体这两个文件夹里面的东西先不展开解

var(various)易变文件夹

存放的是易变的问件,管理系统运行时产生的各种数据。比如说日志,缓存,安装包,临时文件,为什么要将这些易变的文件统一放到一个文件夹下面呢?一方面是便于管理,另一方面其实也可以减少磁盘碎片的产生因为比如在window系统下面,我们通常对于一些文件进行删除增加,长期以往其实会产生一些磁盘碎片在电脑中,造成卡顿,但是linux建立这样一个文件夹也可以尽量减少磁盘碎片,使得运行更加高效,提高系统性能,这样在整理磁盘碎片的时候也更加高效。

        在计算机存储中,"进行删减"通常指的是删除文件或缩减文件大小的操作。当文件被删除或其大小减小时,文件系统并不会立即将原先文件所占据的磁盘空间全部释放出来。相反,文件系统通常会将这些空闲的磁盘空间标记为可重用,但不会立即重用它们。

        这样的处理方式可能导致磁盘碎片的产生。磁盘碎片是指文件系统中存在的非连续的、不相邻的磁盘空间片段。当文件系统中的文件被删除或大小减小时,可能会在磁盘上留下一些不连续的空闲空间片段。这些分散的空间片段称为磁盘碎片。

        磁盘碎片会对文件系统的性能产生一定的影响,因为它可能导致文件系统在写入或读取文件时需要更多的寻道操作,从而降低文件系统的效率。为了解决这个问题,操作系统通常会提供磁盘碎片整理或磁盘碎片整理工具,用于将散乱的磁盘空间片段整理成连续的空间,从而提高磁盘的读写性能。

mnt文件夹

/mnt 文件夹通常用于临时挂载其他文件系统或设备的默认挂载点。在 Linux 系统中,当需要访问外部存储设备(如 USB 驱动器、光盘、网络存储等)上的数据时,可以将这些设备挂载到 /mnt 文件夹下,以便访问其内容。

/mnt 文件夹本身并不会自动挂载任何文件系统或设备,而是一个预留的位置,供用户手动挂载需要访问的文件系统或设备。通常,用户可以在 /mnt 下创建子文件夹,用于挂载不同的设备或文件系统,例如 /mnt/usb/mnt/cdrom 等。

需要注意的是,虽然 /mnt 文件夹是一个常用的挂载点,但实际上可以选择任何空闲的目录作为挂载点,只要在挂载之前确保目录存在并具有足够的权限即可,但是linux中的文件不能随便挂载在任意文件夹下面,可能会存在许多问题。

Vim编辑器的介绍

这是个没有菜单的编辑器,(没有windows编辑器中的图形界面),也不能使用ctrl+c,ctrl+v(这些是常见图形界面下编辑器的快捷键),那当我们需要执行诸如保存、查找、替换、剪切等等动作的时候怎么办呢?答案是将键盘的输入分成两种模式:一种模式下键盘敲入的就是编辑的内容,另一种模式下键盘敲入的是要编辑器完成的动作。简而言之,vim需要两个操作模式:

  • 一个模式下键入的信息,作为文本本身的内容,称之为编辑模式.
  • 一个模式下键入的信息,作为执行的动作,称之为命令模式

这两种模式的转换:

  • 默认打开 vi 的时候,进入了命令模式
  • 从命令模式,进入编辑模式:按i、a、o、I、O……
  • 从编辑模式,进入命令模式:按Esc

编辑模式没什么好研究的,主要是命令模式,熟练使用vi/vim实际上指的是熟练掌握命令模式中,vi所能支持的命令都有哪些?答案如下。

vim不仅是在linux中有,在windows中也有,上次学导就是展示的windows下的vim

vim常用指令

vim命令含义
:w保存当前文件
:w filename另存为 filename
:q退出当前正在编辑的文件
:q!强制退出当前正在编辑的文件并放弃最近一次保存到现在的所有操作

:wq

(组合技)

保存文件并退出
u撤销最近一次操作。(按Ctrl+r恢复撤销掉的操作)
i在光标所在的位置前面插入字符
a在光标所在的位置后面插入字符
o在光标所在行的下一行插入新的一行
O在光标所在行的上一行插入新的一行
x剪切光标处所在的字符。(x前可先按一个数字,则剪切若干个字符)
dd剪切光标处所在的一行。(dd前可先按一个数字,则剪切若干行)
yy复制光标处所在的一行。(yy前可先按一个数字,则复制若干行)
d$剪切从光标处(含)开始到该行行末的所有字符
d^剪切从光标处(不含)开始到该行行首的所有字符
y$复制从光标处(含)开始到该行行末的所有字符
y^复制从光标处(不含)开始到该行行首的所有字符
p将剪切板中的资料粘贴到光标所在处
r修改光标所在的字符,r之后接跟你要修正的字符(比如你要把fox中的o改成i,只需将光标停在o上,接着连续按下r和i)
h将光标向前移动一个字符
j将光标向下移动一个字符
k将光标向上移动一个字符
l(小写L)将光标向后移动一个字符
gg跳到文本的最初一行
G跳到文本的最末一行
Ctrl + u向上(up)翻页
Ctrl + d向下(down)翻页
:%s/old/new将文件中所有的old字符串替换成new
/string从光标处往下查找字符串string,注意在输完你要查找的字符串string之后要按回车键。如果你要找的字符串string有多个,你可以按n将光标跳到下一个位置,按N将光标跳到上一个位置
?string跟上面的</string>是一样的,区别是它从光标处往上查找

 常用功能:

1.代码很长快速定位

按下esc,切换为命令行模式

输入 ”:1000“,便可以跳转到第1000行

按下G便可跳转到底部

不要将这些命令当成枯燥的死记硬背的东西,要把它当成一种工具

工具的使用没有理解和不理解这一说,而是只有熟练与不熟练的区别。

Vim编译器的使用

用法:

// 查看编译器的版本:
gec@ubuntu:~$ gcc -v

// 将源码 a.c 编译生成程序 a
gec@ubuntu:~$ gcc a.c -o a

// 编译源码的时候打开所有的警告
gec@ubuntu:~$ gcc a.c -o a -Wall

释义:
-v:查看编译器版本
-o:指定编译后生成的程序名//-o是ouput的意思
-Wall:打开所有警告,注意W是大写的,意为 all Warning

实际上我们遇到的都是这样的工程文件,而不是单单的一个.c文件

此时如果我们还是gcc main.c -o main

这样就会报错

Linux中的命令

命令的基础格式

其中第一个是必须的,第二个选项和第三个参数是选填,这三部分之间以空格相隔开

ls命令

ls命令是linux下最常用的命令。ls命令就是list的缩写,用来打印出当前目录的清单。

ls中选项和参数介绍

-l选项

ls命令选项的组合使用

可以发现既显示了隐藏文件,又以竖向排列的形式显示了更多信息

-h选项

单独使用-h不会达到显示后面单位的效果

ls命令用法具体可参照下面文章;

Linux命令 - ls命令_ls命令是什么的缩写-CSDN博客

cd/pwd(目录切换命令)的使用 

cd命令

更改当前工作目录,且cd没有选项,只有参数

目标:

        1.掌握使用cd切换工作目录命令

        2.掌握pwd展示当前工作目录命令

cd命令的三种用法

1.cd后面加上一个文件从根目录(/)开始的完整路径

2.如果想访问当前工作目录下面的文件夹可以直接:(举个例子当前工作目录为/)cd lib,不用附带前面的目录,如果在默认用户目录(~)下面,输入cd lib会告诉我们找不到这个文件夹。

3.直接cd不加参数回到当前用户目录

这里的小细节我们可以看到,cd切换到根目录/,$前面显示的不是~而是/,还有就是cd进入根目录之后ls命令不加选项和参数默认展现出来的变成了/下面的东西,不再是默认的用户下面东西。

pwd命令

刚才我们虽然说可以通过ls来辅助验证当前目录,但是这是很不恰当的,应该用正规的pwd命令

注意pwd无选项也无参数

 

绝对路径和相对路径

注意的是绝对路径必须以当前目录为起点,如果一个文件不是以当前目录为起点是不能用绝对路径访问。

特殊路径符

感觉主要第二点回退比较有用,第一点和第三点比较鸡肋

cd ../text/hello.txt  意思是:返回到我们上一级目录的text目录下面的hello.txt文件 

mkdir(创建目录命令) 

-p选项表示自动创建不存在的父目录,适用于创建连续多层次的目录

 注意:创建用户需要修改权限,我们要确保操作均在当前用户的目录内,即(~)/home/linux目录里面,在外面操作会涉及到权限问题,无法成功,后续我们再来说权限有关的问题。

文件操作命令(touch-cat-more命令)

注意这三种命令都没有选项,只需要写上linux路径

touch创建文件

区分哪些是文件,哪些是文件夹,这里蓝色的就是文件夹,浅色的是文件,前面我们还说过带      ". "的是隐藏文件。当然仅凭颜色去分辨是不靠谱的,我们可以通过ls -l来看这些文件的具体信息

可以看到前面是-的表示文件,为d表示文件夹

cat命令查看文件中内容 

 在linux中但凡涉及到路径,那么相对,绝对,特殊路径均可以使用。

more命令查看文件内容 

文件操作命令(cp-mv-rm命令)

cp命令复制文件/文件夹

对于cp命令自己的理解

1.文件复制到文件:只将文件的内容复制到另一个文件中

2.文件复制到文件夹:将整个文件复制到指定文件夹下面一份

3.文件夹复制到文件夹:将这个文件夹整体复制到目标文件夹下面一份,此时必须加上-r

4.文件夹复制到文件,❌

对于这里的一些cp命令其他操作的总结

1.当源文件 file1.txt 和目标文件 file2.txt 都在同一个目录下,我们想要进行操作:               cp file1.txt file2.txt,即使 file2.txt 不存在,它也会创建一个新的 file2.txt 文件,并将 file1.txt 的内容复制到 file2.txt 中。

2.如果目标文件的路径和源文件不在同一个目录下,cp text1.txt test7/tmd,这里test7文件夹存在,tmd文件不存在,系统也会自动建立在test7文件夹下面创建一个tmd文件。当然test7文件夹不存在,根据下面第三点和第四点我们知道会报错:没有这个文件或目录。

3.cp file1.txt new_folder/,如果目标文件夹不存在,cp命令将会报错并提示目标文件夹不存在。你需要确保目标文件夹存在,或者先创建它,然后再执行复制操作。这里不论这个文件夹和这个file1.txt文件是同一目录还是不同目录下都会报错。

4.当我们想要将一个文件复制到一个文件夹中时,比如cp file1.txt new_folder/,如果new_folder文件夹确实存在,那么加不加这个/都可以正常执行

如果new_folder/文件夹不存在且我们写成cp file1.txt new_folder/会报错,

如果new_folder/文件夹不存在且我们不加上/,写为cp file1.txt new_folder,系统就会创建一个new_folder文件,不是文件夹了,违背了我们想创建文件夹的目的,所以加上/在文件夹名称后面还是很有必要的。

mv命令移动文件/文件夹

没有选项

1.可以看到,这里text1.txt不存在,所以我们是相当于对text2.txt做了一个重新命名的操作,这个操作很常用。

2.如果 text1.txt和text2.txt两个文件都存在,执行 mv text2.txt text1.txt 将会 text2.txt 文件内容覆盖 text1.txt 文件中内容。这个操作会导致数据丢失,并且变化后的名字就为text1.txt。相当于左边的内容,右边的名字,我们不推荐这样写。

3.如果将文件移动到不存在的文件夹中,也会报错

并且还是注意,我们在这里写文件夹的时候还是在文件夹名字后面加上一个/,不然也可能造成一些错误

4.对文件夹进行移动

rm命令删除文件/文件夹

通配符 * 

rm命令支持通配符*,用来做模糊匹配

rm命令-r选项使用

用于删除文件夹

rm命令-f选项使用

使用su - root并输入密码提升权限,最后退出管理员的时候使用exit

 

这篇文章介绍了本文未介绍完的命令:Linux命令继续学习-CSDN博客

  • 21
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值