Linux基本知识&基本命令以及操作
(一)Linux基本知识
(1) Linux核心思想
1.1 一切皆文件
系统中所有(包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件)都归结成一个文件。
简单来说:就好比如一棵树,初始的种子容纳了所有。
1.2 每个软件都有确定的用途
1.2.1 用途
字面意思:应用的方面和范围。
1.2.2 软件依赖关系
Linux中的软件依赖关系成一颗拓扑树结构,比如A直接或间接依赖B,那么B就不可能直接或间接依赖A。试想从时间上A、B必然有一个先出现,而先出现的不可能依赖于后出现的。并且如果A与B互相依赖则就是“鸡与蛋”的问题,因此必然有一个先出现而另一个依赖于先者。
来源:https://www.linuxidc.com/Linux/2010-08/27972.htm
(2) 系统调用与库函数
2.1 系统调用
系统调用:操作系统为用户提供的一系列操作的接口(API),这些接口提供了对系统硬件设备功能的操作。
2.2 库函数
库函数:对系统调用的一层封装(可能包含有一个系统调用,有可能有好几个系统调用)。
2.3 系统调用与库函数
(3) Linux目录树和路径
3.1 Linux目录树
我们可以发现每一个文件都有自己所管辖的功能。
3.2 Linux路径
意义:从2.1我们了解了Linux的目录树后。就像我们拿到了一张地图,我们要去往一个地方,知道自己所在位置和目的是十分总要的。为此,我们需要了解路径。
首先,我们要知道主目录和根目录。
主目录:用户的HOME目录。对不同用户,主目录不同。
例如:
用户名为User的用户,默认的HOME目录:/home/user
用户名为root的用户,默认的HOME目录:/root
根目录(/):树状形式目录的根。
3.2.1 绝对路径
绝对路径:从哪根目录(/)开始的路径。
例如;
/usr/local
3.3.2 相对路径
相对路径:不是从根路径(/)开始的路径。
例如:
假设我们随意创建了一个文件叫file
就有:
file
./file //.当前目录
../file //..上一级目录
~/file //当前用户的主目录
(4) 命令格式
谨记:Linux中严格区分大小写。
如下图:pwd打印当前目录。
(二)Linux基本命令及操作
导言:就像我们上面基本知识提到的,Linux的核心思想是一切皆文件,那么我们就要了解如何操作这些文件。但是,在了解如何操作文件前,我们是不是要知道在哪里放文件,换句话来说就是要知道自己的位置。
所以对于我来说,我的切入角度是:位置→位置上的内容→怎么操作内容…
(1) 当前目录和切换目录
1.1 pwd命令:打印当前所在目录
1.2 cd命令:切换工作目录
这样我们的目录就切换到了usr目录下了。
当然,cd命令还可以与在相对路径下提到的相结合。
例如:
cd .
cd ..
cd ~
(2) 目录下的内容
2.1 ls命令:显示目录的内容
ls命令:可以列出指定目录下的内容。如果不进行指定,可以列出当前目录下的内容。
例如:
刚刚我们已经用cd切换到了usr目录上了,我们可以用ls显示当前目录有什么。
那么我想显示回自己用户的目录呢?就可以进行指定。
2.2 ls命令常用选项。
常用的有:
ls -a //-a→all:显示全部文件(包含隐藏文件)
ls -l //-l→listing:使用一个列示档格式
当然,不仅仅只有这几种,既然讲到命令的选项,学会运用命令help和man帮助自己也是十分重要的,后面跟大家说明。
(3) 文件/文件夹的操作
3.1 touch命令:创建文件/修改文件时间
touch file.txt //创建一个空文件
假如文件存在,则可以修改文件时间。
3.2 mkdir命令:创建文件夹
3.2.1 创建一个或多个文件
mkdir dir //创建一个文件
mkdir dir1 dir2 dir3 //创建多个文件
3.2.2 创建一个文件包含另一个文件
例如:创建一个dir含dir1,并且dir1含dir2
mkdir -p dir/dir1/dir2 //-p→parent:根据需要创建父目录
例如:创建一个dir含dir1和dir2,并且dir2含dir3和dir4
mkdir -p dir/{dir1,dir2/{dir3,dir4}} // 留意{}使用
3.3 文件、文件夹删除以及通配符
3.3.1 rm命令:文件、文件夹删除
例如:删除一个文件
rm file //删除一个文件,但是并不能是文件夹
例如:删除一个文件夹
rm -rf dir //rf→ recursive force:删除文件夹以及文件夹下的内容。
当然,rm还可以配合通配符进行更高效的处理。
例如:
rm -rf file[a-z].txt
rm -rf dir[1-2]
rm -rf dir*
3.3.2 通配符
3.4 cp命令:文件/文件夹的拷贝
例如:将file文件复制为file1文件
blog.csdnimg.cn/20200224202446331.png)
cp file file1 //cp 源文件 目标文件
例如:将dir文件夹复制成dir1文件夹
cp -rf dir dir1
3.5 mv命令:文件/文件夹的剪切、重命名
例如:将dir1剪切到dir中
mv dir1 dir //源文件 目标文件
例如:将dir命名为dir1。
mv dir1 dir //源文件 目标文件
3.6 查看文件内容命令
3.6.1 cat命令:可读、可写
3.6.2 less、more命令
less命令:只读,往下翻
more命令:只读,上下翻都可
3.6.3 head、tail命令
head命令:看文件的前10行
head -n :看文件的前n行
tail命令:看文件的后10行
tail -n :看文件的后n行
3.7 文件的编辑模式
3.7.1 VIM命令:进入插入模式
例如:我要进行file.txt编辑
=
3.7.2 插入模式下快捷用法(慢慢熟练后,方便以后编程速度)
来源:https://www.runoob.com/linux/linux-vim.html
常用命令 | 操作 |
---|---|
h j k l | 左下上右 |
y(shift+Y) | 拷贝(拷贝行) |
p(shift+P) | 粘贴(粘贴行) |
s(shift+S) | 删除(删除行) |
u(shift+U) | 撤销命令(撤销行内命令) |
3.7.3 进行文件的退出、存储的操作
例如:进行file.txt退出,存储等操作
shift键 + :
命令 | 操作 |
---|---|
:w | 存储(:wq 存储并退出) |
:q | 退出(:q!强制退出) |
:e x | 编辑档案 |
:n | 开新文件 |
:h | 呼叫vim help |
:xx | 跳至xx行 |
:1,$ | 代码对齐 |
:x,y> | 多行缩进>,缩回< |