Linux学习笔记
文章目录
第一章:初识Linux
1.1 硬件,软件与操作系统
- 硬件:计算机系统中由电子,机械,和光电元件等组成的各种物理装置的总称;
- 软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件和计算机交流,而操作系统为软件的一类;
- 操作系统:计算机软件的一种。作为用户和计算机硬件之间的桥梁,调度和管理计算机硬件进行工作;
常见的操作系统:
- PC: Windows,Linux,Mac Os;
- 移动端:Android,ios,鸿蒙;
1.2 Linux组成
Linux系统由以下两部分组成:
- Linux系统内核;
- 系统级应用程序;
内核提供最核心的功能,如调度cpu,调度内存,调度文件系统,调度网络通讯,调度IO等系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统;
Linux系统内核是开源的,由其组成部分推理,这也就意味着厂商只需集成自己的系统级别的应用程序便可推出自己的Linux发行版,常见的Linux系统如Ubuntu,CentOS等便是这样发行出来的;
1.3 Linux系统安装
请自行安装你想要的linux操作系统。
1.4 WSL
windows subsystem for Linux.
是用于windows系统之中的Linux子系统,可以在windows系统之上的Linux系统中,获得Linux系统环境,并完全直连计算机硬件,直接使用主机的物理硬件,构建Linux操作系统,并且并不会影响windows系统的运行。WSL是windows自带功能,需要开启,无需下载。
WSL部署方法:部署WSL
1.5 虚拟机快照
在学习阶段很有可能由于误操作损坏当前系统,可以通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机保存的状态。该操作在关机状态下保存快照效率较高。
Linux系统快照使用方法
第二章:Linux基础命令
2.1 Linux目录结构
和windows一样,Linux的目录结构为树形结构,windows系统可以有多个盘符,但是在linux中没有盘符这个概念,只有一个根目录:/,所有文件都在它下面。也就是说windows中可以有多个盘符,继而可以有很多树,但是在linux系统中只有一棵树。
2.2 Linux系统路径的描述方式
- 在Linux系统中路径之间的层级关系使用:/来表示;开头的/为根目录,后面的/为层级关系。
- 在windows系统中路径之间的层级关系使用:\来表示;
2.3 命令行与命令
- 命令行:即Linux终端,是一种命令提示符界面,以纯字符的形式操作系统,可以使用各种字符化命令对系统发作操作指令;
- 命令:即Linux程序,一个命令就是一个linux程序,命令没有图形化界面,可以在命令行终端中提供字符化的反馈;
2.4 Linux命令基础
Linux命令基础格式:
command [-options] [-parameters]
- command :命令本身 ;
- options :可选选项,可以通过选项控制命令的行为细节;
- parameter :可选参数,多数用于命令的指向目标等;
示例:
ls -l /home/user
以列表的形式,显示/home/user目录中的内容;
cp -r test1 test2
复制文件夹test1成为test2
ls命令
作用: 列出目录下的内容。
ls [-a -l -h] [linux路径]
-a -l -h 为可选参数
- -a : all,列出所有文件,包括隐藏文件与文件夹;以.开头的为Linux系统的隐藏文件与文件夹。
- -l : list 以列表竖向排列的形式展示内容,并展示更多信息;
- -h : 以便于阅读的方式,列出文件的大小,该选项必须要搭配-l一起使用
[linux路径] 是此命令可选的参数。如果不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容
Home目录与当前工作目录
- Home目录:每个Linux操作用户在linux系统的个人帐户目录,路径在/home/用户名。
- 当前工作目录:Linux命令行终端在启动的时候默认会加载当前登陆用户的Home目录作为当前工作目录,所以ls命令列出的是Home目录的内容
cd命令
作用: 切换目录。 change directory
cd [Linux路径]
cd命令无需选项,只有参数,表示要切换到哪个目录下;
cd命令直接执行,不写参数,表示回到用户的Home目录下;
pwd 命令
作用: 查看当前工作目录。 print work directory
无选项,无参数;
相对路径,绝对路径与特殊路径符
绝对路径:以根目录为起点,描述路径的一般写法,路径描述以/开头;
相对路径:以当前目录为起点,描述路径的一种写法,亩经描述无需以/开头;
特殊路径符:
- .:表示当前目录;
- …:表示上一级目录;
- ~:表示Home目录;
mkdir命令
**作用:**通过mkdir命令可以创建新的目录。Make Directory
mkdir [-p] linux路径
参数必填,表示Linux路径
-p 可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录;
文件操作命令
touch命令
作用: 创建文件
touch Linux路径/文件
touch命令无选项,参数必填,表示要创建的文件路径,相对,绝对,特殊路径符均可以使用;
cat命令
作用: 查看文件内容
cat Linux路径/文件
cat同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对,绝对,特殊路径等都可以使用;
more命令
作用: 查看文件内容
与cat不同的是:cat是直接将内容全部显示出来,more支持翻页,如果文件内容过多,可以一页一页的展示;空格翻页,q退出;
more Linux路径
同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对,绝对,特殊路径等都可以使用;
cp命令
作用: 复制文件或者文件夹,cp来源于英文单词copy
cp [-r] 参数1,参数2
-r选项,可选,用于复制文件夹使用,表示递归;
参数1,Linux路径,表示被复制的文件或文件夹;
参数2,Linux路径,表示要复制去的地方;
mv命令
作用: 移动文件或者文件夹,mv来源于英文单词move
mv 参数1,参数2
参数1,Linux路径,表示被移动的文件或文件夹;
参数2,Linux路径,表示要移动去的地方;
如果参数2和参数1的文件名不一致,则表明移动并改名;
rm命令
删除文件或者文件夹,rm来源于英文单词remove
rm [-r -f] 参数1,参数2...参数n
-r 用于删除文件夹
-f force,强制删除不提示。【普通用户删除内容不会弹出提示,只有root用户删除内容会有提示;所以一般普通用户用不到-f选项。这里普通用户的权限实际上是提前设置好的,也就是默认是安全的,但是root用户的权限太高了,容易发生误操作,因此root用户删除文件的时候会有提示】
参数表示要删除的文件或文件夹,空格隔开;
rm命令支持通配符*
- test*:表示以test开头的任意内容;
- *test:表示以test结尾的任意内容;
- test:表示含有test的任意内容;
su - root 临时切换用户;
exit命令退回普通用户;
查找命令
which命令
作用: 查找命令的位置,只针对于命令;
前面提到所有的命令的本质实际上都是一个linux程序,那么如何找到这些程序的位置呢?这里就可以用到which
which 要查找的命令
find命令 按名称搜索
搜索指定文件
find 起始路径 -name "被查找文件名“
find / -name “test”
find命令 按文件大小搜索
find 起始路径 -size +|-[kMG]
- +,- :表示大于小于;
- n:表示大小数字
- kMG表示大小单位,k(小写)表示kb,M表示MB,G表示GB;
示例:
- 查找小于10kb的文件:find / -size-10k
- 查找大于100M的文件:find / -size+100M
- 查找大于1G的文件:find / -size+1G
grep命令
作用: 从文件中通过关键字过滤文件行
grep [-n] 关键字 文件路径
选项 -n,可选,表示在结果中显示匹配的行的行号。
参数 关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用” “将关键字包围起来;
参数 文件路径,必填,表示要过滤内容的文件路径,可作为内容输出端口;
wc命令
作用: 数量统计,可以通过wc命令统计文件的行数,单词数量等;
wc [-c -m -l -w ] 文件路径
-c : 统计bytes数量
-m : 统计字符数量
-l : 统计行数
-w : 统计单词数量
文件路径:被统计的文件,可作为内容输入端口;
管道符 |
将管道符左边命令的结果,作为右边命令的输入
ls | grep test
ls -l /usr/bin | wc -l
echo命令
echo 要输出的内容
建议使用双引号将其括起来。
‘’的作用为:被其括起来的内容会被当作命令去执行;
echo ‘pwd’
输出pwd执行后的内容;
重定向符号
>,将左侧命令的结果,覆盖写入到符号右侧指定的文件中;
>>,将左侧命令的结果,追加写入到符号右侧指定的文件中;
- echo “Welcome” >> haha.txt;
- echo “Welcome1” > haha.txt;//再次执行,覆盖新内容
- echo “Welcom2” >> haha.txt;//再次执行,追加新内容
tail命令
**作用:**查看文件尾部内容,跟踪文件的最新更改;
tail [-f -num] Linux路径
-f,表示持续跟踪;
-num,表示查看尾部多少行,默认为10行;
这里的-f指持续的跟踪:
tail -f -10 1.txt
如果使用了-f这里会输出1.txt文件的最后10行,但是不会停止,如果另外开一个终端,修改1.txt的内容,此时,最后10行的数据会发生变化,即持续追踪效果。终止追踪为ctrl c.