Linux下的基本指令

可涵不会debug 2024-06-21 08:37:01 阅读 61

前言:

可涵开始Linux的新篇章旅行啦,本文主要介绍Linux下的基本指令~

引言:

何为Linux?

Linux是一种免费使用和自由传播的类UNIX操作系统。

那什么是操作系统呢?

操作系统是一款进行软硬件资源管理的软件。

为什么要进行软硬件管理呢?

对上提供良好的稳定的运行服务。——工具


我们下面开始学习Linux下的指令~

首先我们需要明确,我们现在学习的指令操作和图形化界面没有任何区别。

快速学习一些简单指令  

1.who & whoami

who 查看当前有哪些人登陆了我是机器

whoami 查看当前账号是谁

2、clear

清屏

3、pwd

显示当前所处的工作目录

4、cd

切换路径。更改工作目录,后面跟上目录名,然后代表已经进入该目录

4、ls

查看当前目录下的文件信息

5、touch

创建文件的指令,后面直接跟创建文件的文件名

6、makdir

新建目录,后面直接跟上目录名

补充知识点:空文件是否占据磁盘空间?

问题:如果我今天在Windows上,建一个空文件,这个空文件要占据磁盘/固态硬盘的存储空间吗?

答案是空文件一定占据磁盘空间的

原因:

空文件的文件名、大小、属性数据本质也都是数据,也要被计算机记录下来!看到文件不要狭隘的看见文件的内容,文件的属性也是数据。

文件 = 文件内容 + 文件属性

注意这些内容全部都是二进制数据,都要被存储。

我们学习的所有的文件操作本质都是:

要么对文件内容做操作要么对文件属性做操作


一、ls指令 

ls -l指令:(注意前面有空格!)

可以直接简写成 ll

显示文件的属性列表

ls -a:

显示所有文件,a——all,包括隐藏文件

隐藏文件:以.开头的文件就是隐藏文件,当我们用ls -l是发现不了隐藏文件,只有用ls -al才可以显示出来。

注意ls -a -l 和 ls -l -a 和 ls -al 和ls -la 操作含义一模一样!

补充知识:Linux下的目录结构的认识

. 表示当前路径

..表示上级路径

注意任何一个目录下都有.文件和..文件,用于指向自己和上级目录,根节点的..也表示指向自己。

所以cd .. 表示返回上级路径,回退操作。

我们发现一直返回上级路径到最后只剩下 / ,/也是一个目录,并且是Linux的根目录

Linux的整体目录结构是一颗多叉树的样子。

什么是路径:

用路径分隔符分隔起来的文件夹所组成的一串字符串就是路径。

注意Linux下的路径分隔符是反斜杠 / 

windows下的路径分隔符是正斜杠 \

路径分隔符之间一定是一个目录/文件

为什么要有路径?

因为路径具有唯一性,我们通过路径可以查找到我们想要的文件,路径的本质就是这一个多叉树的搜索路径。

对于路径更深的理解(与二叉树相结合)

叶子结点,一定是普通文件,或者是空目录路上结点,非叶子结点,一定是目录访问一个文件的本质,需要先找到它,找到文件的本质:就是在一棵多叉树中进行结点的查找。

绝对路径的概念:

我们将从/目录开始,定位一个叶子文件的方式从而形成的路径称为绝对路径。

相对路径的概念:

相对于自身当前所处的目录为参考点,我们定位一个文件的路径就称为相对路径。

cd命令

功能 :改变工作目录。将当前工作目录改变到指定的目录下 cd后面可以直接加上当前目录的文件名,表示进入该文件。

也可以加上..表示回退到上级目录

总结:

cd命令后面跟上绝对路径/相对路径即可!

cd的一些其他命令:

cd - :跳转回最近一次所处的目录。在两个目录之间快速跳转。(反复横跳)

cd ~进入用户的家目录

什么是家目录?

windows中,我们C盘中有用户这个文件,打开后,其实就相当于进入了家目录

Windows中,其实有桌面的概念,但是本质桌面也是目录/文件夹,只不过当用户登录的时候,你到家目录里面有桌面的文件夹,Windows把这个文件夹中的所有文件,以图标的形式,显示在显示器上,就有了桌面!

默认登陆的时候,默认登录所在的路径,就是当前登录用户的家目录。

stat指令:

查看文件更详细的信息。

ACM时间如何理解?

touch指令:

功能:

创建一个不存在的文件夹touch命令参数可以更改文档或目录的日期时间

mkdir指令:

mkdir-p后面可以直接创建路径

几个小细节:

ls -d 显示当前目录的信息

ls -ld 显示更详细的信息,包括属性

命令行中用上下键显示历史命令。

tree命令:

tree命令用图形化显示当前文件的树状结构!

删除命令:

rmdir删除空文件,如果不是空文件,不让删

rm -rf:r表示递归删除,因为文件的形式是二叉树,我们要递归到叶子结点,删除叶子节点,再往上遍历删除,f表示强制删除(force)

* 是通配符,表示指定路径下的所有文件

加上*删除路径下的所有文件

以.开头的文件(隐藏文件)默认不会被删除。

想要删除指定文件名,rm后面要跟上指定的文件名

常用选项 : -f 即使文件属性为只读 ( 即写保护 ) ,亦直接删除 -i 删除前逐一询问确认 -r 删除目录及其下所有文件 总结: 以后删除就用rm,后面加上文件名或者目录,-r表示删除目录,-f表示强制删除,-i表示删除前再确定一遍是否删除

man指令:

功能:

查询Linux手册页的命令,比如Linux操作系统中有一个man,我们有不会的操作指令就可问这个man。

用法:

man 手册编号 查找的内容

如果不写手册编号,默认从1开始,直到找到为止。

cp命令:

cp source destination

拷贝文件

不能在相同目录下拷贝文件,不允许一个目录下有两个同名文件,除非后缀加上.bak表示备份文件

拷贝文件也不包含.开头的文件,因为每个文件下面都含有.文件和..文件,如果拷贝过去,会造成一个文件下含有相同的文件名,这与我们理念一个文件中不包含两个相同的文件名相悖!

拷贝目录

默认cp只能拷贝文件,加上-r-f可以拷贝目录

注意:

拷贝文件/目录时,我们可以更改拷贝过去的文件名,只要保重是同级别,就表示更改文件名

当要被拷贝的目录后面加上/*,就表示拷贝当前所有的文件!

nano指令:

后面加文件名,打开文件,进行书写

mv命令:

功能:

1、剪切文件

mv source dst

跟cp拷贝命令相同理解,如果dst是绝对路径,是跟source是同级,那么可以更改dst的文件名。

2、给文件重命名

利用剪切的操作给文件重命名,如果将一个文件剪切到不存在的文件名,就是将原来的文件重命名那个不存在的文件名

 alias取别名

在命令行中取的别名,在Xshell关闭后,就自动销毁了

所以ll是l-s的别名。

echo命令

后面跟什么,就打印什么。

> 输出重定项

echo本来是将内容写入到显示屏上,加上>后,我们可以让其写入在文件中。(这就构成了输出重定项)如果是新的文件,就新建一个文件,然后将内容输入到文件中

每次先清空文件内容,再写入文件。

所以我们根据这个特性,可以新建空文件,并且清空目标文件

我们也可以在>前面什么也不写,代表新建一个空文件。

>> 追加重定项

跟>的区别是>>不会清空文件,而是在原始内容的基础上追加新的内容。

cat命令:

1、打印文件内容

2、cat-n 在输出时加上行号

3、cat和tac,后者反向打印

4、cat输入什么,就会自己打印什么

cat从键盘文件读取什么,就向显示器文件写入什么,默认读取的时候,是从键盘文件中输入的!

输入重定项 < 

把本应该从键盘文件中读入的内容,更改成从普通文件中进行输入,输入重定项!

less指令:

1、less后面跟文件名,读取文件内容

2、/ 加上字符串,向下搜索字符串功能。

head/tail指令

head和tail就像他的名字一样浅显易懂,他们是用来显示开头或结尾某个数量的文字区块

语法:

如果head/tail直接跟上文件名,默认打印前10行/后10行。

如果加上-n,n自行输入,就表示打印前n行/后n行

| 命令行管道

将多组命令连接到一起,例如上面指令,是前80010行代码作为数据通过 | 这个管道,作为下一个命令的输入可以打印80000~80010行代码!

date 命令

+%Y %m %d表示格式化打印

%s打印时间戳,从1970年1月1日截止到现在的累计时间秒数。

一些热键:

Tab按键:具有命令补全的功能,当我们想用一个命令,但忘了具体拼写,我们可以根据Tab补全Ctrl+C按键:让当前的程序强制停止


声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。