目录
一、Linux基础知识
整个界面:终端
用户态:可以下发指令,且可以返回结果的操作环境
语言:字符界面——命令;图像界面——鼠标操作
shell翻译(多种类型)| /bin/bash 常用类型
内核态:1.接受指令;2.执行 ;3.传递返回结果 4;用户无法直接干预
总而言之,以上就是用户与系统之间的沟通方式
1.用户态及内核态
用户态:用户模式,指的是应用程序的运行状态。用户态下运行的程序不能直接访问硬件设备或执行特权指令,所有对硬件的访问都必须通过操作系统进行。
内核态:内核模式,指的是操作系统内核的运行状态。内核态下运行的程序拥有最高权限,可以访问所有资源,包括CPU、内存、I/O等。内核是二进制语言。
2.shell
什么是shell:Shell是一个解释用户输入的命令并将命令传递给操作系统执行的程序。
3.绝对路径及相对路径
绝对路径:从根目录开始,要是一个完整的路径。
例如:/opt/my_dir/data1.txt
相对路径:基于当前的工作目录的文件的描述。
例如:当前工作目录 /home/user 则 . /就代表 /home/user
在/home/user中当要访问“ file.txt ”文件时:使用相对路径 ./file.txt
相对路径的表现形式:
4.Linux命令
1.Linux命令的分类:内部命令和外部命令
2.Linux命令的格式
例如:命令字 选项 参数
rm -rf data1.txt
命令:定义的基本功能 【必备】
选项:添加的扩展对象 【不必备,且部分命令有默认选项】
参数:功能的操作/执行对象 【不必备,且部分命令有默认参数】
1.选项可以为多个
2.参数也可以有多个,具体需要按照命令的基本功能来看
3.参数的前后顺序也是有讲究的
3.Linux命令辅助操作
注意:用table补全时 当按不出来时就说明有两个相同首字母的文件;双击table可查看命令。
二、Linux部分基础命令
1.cd命令
cd- 将用户的工作目录移动到其他指定目录中(只能一层一层移动)
格式 | 说明 |
---|---|
cd-" 目标位置 " | 切换到指定的目录中去 |
cd~ | 切换到home目录 |
cd .. | 切换到上层目录 |
cd - | 切换到上层目录 |
2.rm 命令
rm- 删除一个文件或者目录
命令 | 解释 |
---|---|
rm-f | 删除文件时不提醒直接强制删除 |
rm-i | 删除文件时提醒用户是否要删除 |
rm-r | 删除目录时必须使用此选项,表示递归删除整个目录树(谨慎) |
3.ln命令 软硬链接
ln- 文件或目录建立连接文件
软连接:ln -s+源文件或者目录 (链接文件或目录位置)
按文件名去建立链接的
优:可以跨文件系统,方便
缺:占用indoe空间,默认权限太大,源文件删除之后则软链接失效。
硬链接:ln+源文件或者目录 (链接文件或目录位置)
优:不重复占用空间及indoe号
缺:不能进行跨文件系统进行创建。
符号链接 | 相对源文件大小 | lndoe号 | 占用磁盘大小 | 删除源文件 | 文件属性 | 允许创建位置 |
---|---|---|---|---|---|---|
软连接 | 小 | 不相同 | 相对较小 | 不能操作 | 指向源文件 | 相对自由 |
硬链接 | 大 | 相同 | 与源文件一样 | 能查看 | 独立的文件 | 相对受限 |
4.ls 命令
ls-显示目录中的内容
形式:ls + 选项+文件或目录
常用选项 | 说明 |
---|---|
-l | 显示文件的详细信息 |
-a | 显示隐藏文件 |
-A | 显示隐藏文件,除了“ . ”和“ .. ” |
-d | 显示本目录 |
-h | 人性化显示信息(带单位,通常为k) |
-R | 递归显示(依次显示子目录) |
-- color | 带有颜色的显示 |
5.通透符
通透符 | 说明 |
---|---|
? | 表示任意一个字符,有且只有一个字符 f?.txt |
* | 表示任意一个字符,无论字符多长。但不匹配隐藏文件 |
[ ] | 匹配字符组的任意一个字符[a..z ][ A..Z ][ 1.. 9 ] |
{1..10 } | 1到10 |
\ | 转义符,表示原来的意思 |
6.mkdir指令
mkdir - 创建新的目录
mkdir + 选项 + 目录位置及名称
如:使用 mkdir 命令创建一个名为 my_dir 的目录
mkdir my_dir
7.touch 命令
touch-建立新的文件
创建一个abc.txt 文件
touch abc.txt
8.du 命令
du-统计指定目录或文件所占的磁盘空间大小
形式:du + 选项 + 文件或目录
选项 | 说明 |
---|---|
-a | 统计磁盘空间占用时包所有的文件,不仅仅只统计目录 |
-h | 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 |
-s | 只统计所占用空间总的大小,不统计每个子目录、文件的大小 |
--max-depth=n | 统计所有小于等于第n层的目录的总大小 |
9.cp 命令
cp-复制文件或目录
将要复制的文件或目录复制一份并且保存为新的文件或目录
常用选项 | 说明 |
---|---|
-f | 强制复制过去,目标文件会被覆盖且不会提示 |
-i | 在复制之前会有提示,若文件存在会问是否将其覆盖 |
-p | 保留源文件的权限、所有者及其时间 |
-r | 复制目录时必须要有此选项,表示递归复制其所有文件及其目录 |
10.mv 命令
mv-将文件或目录移动到其他位置并且重命名
例:将文件abc.txt 从opt目录移动到dirl目录中并更名xyz.txt
mv opt/abc.txt dirl/xyz.txt
11.find 命令
find- 查找文件或目录
特点:精确查找,实时查找,遍历(慢)查找调节较多
格式:find [查找路径] [查找调节 ] [处理动作 ]
例:查找在opt目录下所有大于1G的文件
find/opt/ -size+1G -type f
查找类型 | 关键字 | 说明 |
---|---|---|
名称 | -name | 根据目标文件的名称进行查找,允许使用通透符“ * ” “ ?” |
大小 | -size | 根据目标文件的大小进行查找,一般使用 + ,- 来设置超过或小于指定的大小作为查找条件,通常使用的容量单位kB、MB、GB(k小写,M,G大写) |
属主 | -user | 根据文件是否属于目标用户进行查找 |
类型 | -type | 根据文件的类型进行查找文件类型包括:普通文件 f,目录 d,块设备 b,字符设备 c 等 |
inode号 | -inum | 根据文件inode号查找 |
权限 | -perm | 根据文件权限查找 |
最大搜索目录深度 | -maxdepth level | 将你的文件已分级的形式查找 |
最小搜索目录深度 | -mindepth level | 将你的文件已分级的形式查找 |
type类型 | 说明 |
---|---|
-type f | 普通文件 |
-type d | 目录文件 |
-type l | 符号链接文件 |
-type s | 套接字文件 |
-type b | 块设备文件 |
-type c | 字符设备文件 |
-type p | 管道文件 |
12.管道符 |
| (管道符):标准输入,将管道符左侧的执行结果,作为参数交给右边的命令去执行,标准输出。
例:
ps:进程概念
1.通常来说一个程序只有一个主进程(master进程),可以有多个子进程和线程(ps:进程是怎么创建出来的,主要是以fork方式派生出来的)主要消耗的是CPU资源。
2.进程之间进行通讯,可以通过管道的方式,管道符为“|”
3.以“ find abc/ - type f | wc-l ” 为例 ,| 的作用是,将find xxx进程的标准输出传递给wc - l 这个进程,作为标准输入最后将wc - l 这个进程的标准输出,打印在终端上。