前言:
首先,我们需要明白为什么要掌握linux命令行指令。因为在日常生活中我们最为熟悉的还是windows操作系统和IOS操作系统,所以为了能对Linux操作系统可以更方便的使用,所以我们需要掌握相关的指令来让开发的过程更加便捷。
此外在本文中像ls,cd,pwd这几个最为基础的指令就没有包含在里面。
最后,如果其中的某些指令,当输入以后系统提示没有这个安装包,则按系统提示下载就好例如:tree,rename等等:eg:sudo apt install rename就好
1.查看当前磁盘所有文件:
指令:ls / (注意二者中间需要加空格)
这里有很多文件目录出现,其中需要特别注意的就是
1.bin(binary)使用较多的指令等都存放在里面;
2.boot:是系统运行的时候的一些配置启动文件等等(不要随便动,不然容易出问题);
3.dev(device):放Linux的设备文件
4.etc:配置文件
5.home:存放用户目录(你设计的大多数文件等等都会存放在其中)
6.lib:动态库(给程序使用)
7.lost+found:这里面主要是记录异常显示(类似与开机异常日志)
8.mnt和media:存放常见的挂载设备(例如外接的硬盘什么的。都可以在这里找到)
9.opt:安装文件目录(比如我们下载一个文件的话,安装文件就在这里)
10.root:不用多说是我们Linux系统中的最高级权限用户
11.user:存放软件资源
12.src:内核相关的东西
2.文件颜色不同的区别:
每次终端打开文件以后,会看见各种文件的颜色不同,其中都分别有什么意思:
白色:普通文件
蓝色:目录
绿色:可执行文件(脚本)
青色:链接文件(ln文件)
红色:压缩文件(tar文件)
黄色:设备文件
灰色:其他文件
3.常用的终端快捷键:
(这里就提一下就好,因为我觉得直接键盘方向键移动就好,没必要花时间去记忆),如果想了解的话可以后台dd我。
4.文件权限:
当使用 ls -al(以长格式显示当前目录中的所有文件和目录)时,不难发现在显示文件前会有一段乱码,那么针对这些乱码分别有什么意思。我们这里做一个详细解释
在这其中:r:代表可读;w:代表可写;x:可执行/切换目录(.exe);.:当前无权限。
并且其中分为3个3个指令的为一组。分别是所有者,用户组,其余使用者。例如上文中的starry:他的文件权限是drwxrwxr-x:代表其所有者可读可写可执行;用户组可读可写可执行;其余人可读不可写可执行
5.通配符:
6.man指令(用户手册):
还有类似的whatis,info(功能都相同,但效果不同)这里就不赘述了。
这里可以直接认为是heli帮助手册,在这里可以查看系统调用,库函数等各种信息
连续输入两次 man man来开启。效果如下。当然,如果你已经调整好了你的Ubuntu系统为支持中文显示的模式那现实的就是中文,否则默认是英文输出。在这里面就可以看到有9个章节,其中可以找到所需要的点。
操作的话(其实鼠标滑动也可以翻页)按空格是挑一页,j是下一行,k是上一行。如果需要查找关键词的话,点击键盘的/然后输入你所需关键字就会跳转过去,然后按n切换下一个关键词。最后需要退出的话按q即可。
此外对于man指令还有些小窍门,例如man+(指令名称),就会自动跳转到对应的章节去查看这个指令的语法等等。如果这个指令你不确定是否有多个章节用man -f (指令名称),然后直接man(章节数字)+(指令名称就好)就可以获得对应的章节消息。
7.创建空白文档和目录:
mkdir:创建空白目录
touch:创建空白文档
对于这两个的解释的话可以去看我的ubuntu基础操作里有具体的描述,这里我们就话不多说直接操作就好。
8.创建和删除文档和目录:
rm:删除文档
rmdir:删除文档
这里我们直接把上面创建的文档和目录全部删除即可。
9.文档移动和重命名:
mv:移动和重命名(rename指令可以实现批量化修改)
这里我们先把一个叫try的文档移动到starry目录中,然后把名字修改为test。
10. 复制命令:
cp:复制文档(cp 要被复制的文档名称 新文档名称)
这里我们把创建的good文件复制成名为good1的文档(这里复制过去的文档内容都是一样的)
10.1:重复复制提醒
ps:但是当我们在开发过程中,可能会出现大量的文档,这个时候可能会出现文档重复的情况。那如果我们希望系统可以提醒我们复制的文档已经存在的话,则需要加上-i这个选项。然后系统就会提示我们:(如下)。敲yes 或者no来选择就好。
11. 目录操作:树状树
通过树状图的方式列举出所在目录的目录内容。(让文件从属关系,位置更加清晰)
对于其中的参数:
-a:显示所有的文件和目录(这里会充分显示.a隐藏文件);
-L(数字):(数字)层级显示:
-t:用文件和目录的更改时间排序;
-r:用文件和目录的更改时间倒序排序;
-f:显示完整的相对路径名称;
-d:显示目录名称;
-p:显示文件权限
12. stat指令(文件所有信息/比ls全面)
显示文件的各种信息,比ls更加全面。文件名,大小,权限,用法,类型等等都会显示
用法:stat (查看的文件名称)
此外如果加上-f的话,还可以查看所在的文件系统信息
13.rename指令(字符串批量改变文件名)
这里我们要回忆一下前面的mv指令,最重要的特点是批量化。
用法:rename 's/目标文件格式名称/想修改成的文件名称/' 具体是哪个文件
例如这里我们把file1.xtx文件换成file1.txt文件
14.文件目录相关指令
这里对于实际的开发(我认为用处不大,当然只是我的个人想法。如果有想了解相关内容的可以后台私信我,我会出章节来填补此内容)。
basename:提前文件完整路径名的文件名,删除指定文件后缀
dirname:提前目录名称(和上面的搭配用)
15.chattr文件/目录权限修改:
对于文件或者目录的权限的修改;更改文件属性。系统管理员常用(限制使用)
+:给文件开启某项权限;-给文件去除某项权限;=给文件赋予某个权限
+i:给文件上锁
-i:给文件解锁
a:只允许添加内容
用法:sudo chattr +i 文件名称
查看文件的属性:lsattr (文件名称);(stat也可以)
echo:添加内容
例如:此处我们给file1.txt文件上锁,不允许任何人删除或修改该文件。
16.file识别文件类型
用法:file (想查看文件的名称)
17.md5sum(验证文件是否安全)
通过md5值有没有变化来判断文件是不是正版,安全的。
生成md5sum值用法:md5sum (想生成MD5值的文件名称)一大串数字就是md5值
计算文件md5值用法:此处有两种方法:-b(二进制模式读取);-t(文本模式读取)
生成对应的md5文件:md5sum (文件名称) > file.md5(注意:md5文件都用.md5来结尾)
md5检验用法:-c校验
一旦有被修改就会出现以下情况:
18.find(查找相关路径/文档)
格式:sudo find / -(路径名称) *(文件类型)。ps:如果没有输入文件路径则默认是全局搜索。(这里就不完全展开讲诉),也记不长久。知道有这个用法就好
此外:-user(用户名)可以选择特定的用户名称
-size (大小)选定满足特点大小的该文件
由于常见用linux指令过于复杂。这里先讲了基本的操作和文件的管理。
后续还会继续更新这一部分的系列。请大家感兴趣的话可以点赞关注以下