Linux系统由Linux系统内核和系统级应用程序两部分组成
内核提供核心功能:调度各类硬件资源
系统级应用程序:出厂自带程序,如文件管理器,任务管理器等
用户————>系统程序/第三方程序————>内核————>硬件
Linux的内核是开源免费的,下载网址:https://www.kernel.org
任何个人、公司都可以在内核之上提供系统级程序的完整封装,称之为Linux发行版
本篇主要基于Centos操作系统进行讲解
Linux的目录结构是一个树型结构,相较于Windows,Linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面
在Linux系统中,路径之间的层级关系用 :/
来表示
在Windows系统中,路径之间的层级关系用 :\
来表示
command [-options] [parameter]
command:命令本身
-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节
parameter:[可选,非必填]命令的参数,多数用于命令的指向目标
eg:语法中的[],表示可选的意思
ls命令的作用是列出目录下的内容,语法细节如下
ls [-a -l -h] [Linux路径]
当不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容
当使用参数,ls命令的参数表示:指定一个Linux路径,列出指定路径的内容
ls / //列出根目录的内容
语法选项
-a选项,表示:all的意思,即列出全部文件(包括隐藏的文件/文件夹)
Linux中,以.开头的是隐藏文件/文件夹,只有通过-a选项,才能查看
-l选项,表示:以列表(竖向排列)的形式展示内容,并展示更多信息
-l选项其实和图形化中,文件以列表形式排列是一个意思
-h选项,表示:以易于阅读的形式,列出文件大小,如K、M、G
-h选项必须要搭配-l选项一起使用
语法中的选项是可以组合使用的,例如
ls -a -l
ls -al
ls -la
上述三种写法都是一样的,表示同时应用-l和-a的功能
除了选项本身可以组合以外,选项和参数也可以一起使用,例如
ls -al /
表示以列表形式查看根目录下的所有内容
Linux启动时默认加载当前工作目录为HOME目录
HOME目录:每个Linux操作用户在Linux系统的个人账户目录,路径在:/home/用户名
例:Linux用户为ZS,其HOME目录为:/home/ZS
cd命令的作用是切换工作目录
cd(Change Directory)
语法
cd [Linux路径]
cd命令无需选项,只有参数,表示要切换到哪个目录下
cd命令直接执行,不写参数,表示回到用户的HOME目录
pwd命令的作用是查看当前工作目录
pwd(print word directory)
语法
pwd
pwd命令,无选项,无参数,直接输入pwd即可
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头
相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头
当前工作目录为home,如何切换到home目录下的Desktop文件夹
1.绝对路径
cd /home/Desktop
2.相对路径
cd Desktop
. 表示当前目录,例如cd ./Desktop 表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致
.. 表示上一级目录,例如cd .. 即可切换到上一级目录,cd ../.. 切换到上二级的目录,三级则为cd ../../..
~ 表示home目录,例如cd ~ 即可切换到home目录或cd ~/Desktop,切换到home内的Desktop目录 //cd ~ 回家咯
mkdir的作用是创建新的目录(文件夹)
mkdir(Make Directory)
语法
mkdir [-p] Linux路径
参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径,包括特殊路径符均可(Linux路径通用)
-p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
例如
mkdir aaa //相对路径
mkdir /home/root/aaa //绝对路径
mkdir ./aaa //特殊路径符
mkdir ../aaa
mkdir ~/aaa
选项
如果一次性创建多个层级目录,如
mkdir aaa/bbb/ccc
会显示报错,因为上级目录aaa和bbb并不存在,所以无法创建ccc目录
这时可以通过-p选项,将创建的这一整条链条都创建完成
mkdir -p aaa/bbb/ccc
eg:在home目录之外创建文件夹会涉及到权限问题而导致无法成功,需要修改权限
touch命令的作用是创建文件
语法
touch Linux路径
touch命令无选项,参数必填,表示要创建的文件路径
cat命令的作用是查看文件内容
语法
cat Linux路径
cat命令无选项,参数必填,参数表示被查看的文件路径
more命令同意可以查看文件内容,同cat不同的是
cat是直接将内容全部显示出来
more支持翻页,如果文件内容过多,可以一页页的展示
语法
more Linux路径
more命令无选项,参数必填,参数表示被查看的文件路径
在查看的过程中,通过空格翻页
通过q退出查看
例如
Linux系统内置有一个文件,路径为/etc/services,里面内容很多,可以使用more命令查看
more /etc/services
分辨文件和文件夹
Linux有高亮显示可以初步判断
深色高亮的是文件夹,浅色的则是文件,但这个不够准确
可以通过ls -l来查看
最左边带有d的(directory)是文件夹
带-的是文件
cp命令可以用于复制文件/文件夹
cp(copy)
语法
cp [-r] 参数1 参数2
-r选项,可选,用于复制文件夹,表示递归
参数1,Linux路径,表示被复制的文件或文件夹
参数2,Linux路径,表示要复制去的地方
mv命令可以用于移动文件/文件夹
mv(move)
语法
mv 参数1 参数2
参数1,Linux路径,表示被移动的文件或文件夹
参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
eg
当用cp、mv命令将文件复制/移动到文件时,复制/移动的是文件内容
rm命令可用于删除文件、文件夹
rm(remove)
语法
rm [-r -f] 参数1 参数2 ....... 参数N
同cp命令一样,-r选项用于删除文件夹
-f表示force,强制删除(不会弹出提示确认信息)
但普通用户删除内容不会弹出提示,只有root才会
参数1、参数2、......、参数N 表示要删除的文件或文件夹路径,用空格隔开
通配符
rm命令支持通配符,用来做模糊匹配
符号*表示通配符,即匹配任意内容(包含空),示例
test* 表示匹配任何以test开头的内容
*test 表示匹配任何以test结尾的内容
*test* 表示匹配任何包含test的内容
例如
touch test1.txt test2.txt
mkdir test3
rm -rf test* //该命令可以将test1.txt test2.txt test3一次性删除,不论是文件还是文件夹
注意
rm -rf /
rm -rf /* 慎用
Linux中的命令,本体实际上就是一个个二进制可执行程序
和windows里的.exe文件是一个意思
which命令可以用来查看所使用的一系列命令的程序文件存放在哪里
语法
which 要查找的命令
find命令可以搜索指定的文件/文件夹
语法
1.按文件名查找
find 起始路径 -name "被查找文件名"
起始路径指的是查找范围,如/则是在根目录下搜索,/home则是在家目录下搜索
find查找时可以使用通配符做文件的模糊查询
2.按文件大小查找
find 起始路径 -size +|-n[kMG]
+、-表示大于和小于
n表示大小数字
kMG表示大小单位,k(小写)表示kb,M表示MB,G表示GB
示例:
find / -size +100k //在根目录下查找大于100KB的wenjian
可以通过grep命令,从文件中通过关键字过滤文件行
语法
grep [-n] 关键字 文件路径
选项,-n,可选