Linux
定义:
操作系统,自由和开放源码的操作系统
可以安装在各种计算机的设备当中
服务器:特定的进程提供的服务,集中在一起,对外提供功能。
特点:
多用户;多任务;丰富的网络功能;安全性高;移植性强;有一定的兼容性;良好的用户界面;性能快响应速度也快。
Shell
相当于翻译官
作用:翻译人类输入的代码,把代码翻译成二进制给计算机内核进行识别,然后计算机内核分配相应的资源执行你发出的指令。计算机内核反馈的信息同样是二进制。把计算机语言翻译成人类能够识别的语言。
默认shell:bash(类似于翻译器)
通用的命令格式:
命令字符 【选项】 参数(执行对象)
linux基本命令
TAB:自动补齐键
\:强制换行(换行符号)
#:超级管理员
$:普通用户
PWD:显示现在系统所在的路径
cd:切换目录
~:用户的家目录
/:根目录
Ctrl+U:清空至行首
Ctrl+K:清空至行尾
Ctrl+L=clear:清屏
Ctrl+C:退出当前命令,取消本次操作
Ctrl+Z:退出当前命令
Ctrl+A:切换到行首
Ctrl+E:切换至行尾
显示当前文件路径
【root@test1~】
root:登录当前系统的用户名
@:固定符号
test1:当前的主机名
~:当前所在的目录
绝对路径和相对路径
以/为开头叫做绝对路径,没有/叫做相对路径
切换到root下的根目录
【root@test1~】cd /
切换到opt目录中
【root@test1/】cd /opt
cd -:切换回上一次执行的目录
cd ~:返回当前账户的家目录
cd ..:返回上一级的目录
cd .:当前目录
ls:展示当前目录下的所有文件和目录,不包含隐藏文件
ls常用选项
ls -a:查看所有,包含隐藏文件和目录。
ls -l:以长格式展示文件和目录的列表,包含权限,大小,最后更新时间等等详细信息。
ls -A:与-a选项作用相似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的“..”
ls -h:以更人性化的方式显示目录或文件的大小
ls -i:查看索引号
ls -d:显示目录本身的属性,而不是显示目录中的内容。
ls -t:以时间排序,最新的文件会排在上面。
ls -r:表示反向排序、倒序输出。
rwx r-x r
:所有者的权限 所在组的权限 其他用户的权限。
-rwxrwxr-- 1 root root 762 07-29 18:19 exit
r:可读
w:可写
x:可执行。
rwx r-x r-x:所有者的权限 所在组的权限 其他用户的权限。
第1字段: 文件属性字
第一个字符代表文件的类型:
“-”表示该文件是一个普通文件
“d”表示该文件是一个目录
“l”表示该文件是一个软链接文件。类似于windows下的快捷方式
第1字符的后面9个字母表示该文件或目录的权限位:
r表示读(查看、下载)、w表示写(添加、更改、删除、上传)、x表示执行(运行文件、切换目录)
其中前三个表示文件拥有者(属主)的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。
新建的文件默认是不带执行权限的
新建的目录是有执行权限的
第2字段:文件硬链接数
如果一个文件不是目录,此时这一字段表示这个文件所具有的硬链接数
如果是一个目录,则第2字段表示该目录所含子目录的个数。
如果新建一个空目录,这个目录的第二字段就是2,表示该目录下有两个子目录。
第3字段:文件\目录拥有者 chown
第4字段:文件\目录拥有者所在的组 chgrp
第5字段: 文件所占用的空间(默认以字节为单位)
如果是一个目录,则表示该目录的大小,而不是目录以及它下面的文件的总大小。
Linux系统中一切皆文件,因此目录也是一种文件。
第6字段:文件\目录最近访问或修改时间
第7字段:文件名
如果是一个符号链接(软链接文件),那么会有一个 “->” 箭头符号,后面根一个它指向的文件名0
硬链接和软连接
硬连接 :允许一个文件可以有多个文件名。
创建 ln 源文件名 创建硬链接的文件名。
ln ky32.txt dym
硬连接的特点:
1、两个文件互为硬连接,两个文件的索引号一致。
2、互为硬连接的两个文件,如有更新,内容将始终保持一致。
3、删除其中一个对另一个文件没有任何影响。
4、只有普通文件可以创建硬连接,目录是不能创建硬连接的。
软连接:
创建方法:
ln -s ky32.txt dym
源文件 源文件的连接文件名,可以自定义
软连接的特点:
1、两个文件的索引号不同,是两个不同的文件。
2、如有更新,内容将始终保持一致
3、删除连接文件对源文件没有影响,但是删除源文件,连接文件将立刻失效。
4、普通文件和目录都可以创建软连接。
Inode索引号机制
索引号消耗完毕,即使磁盘还有剩余空间,也无法继续写入。
磁盘满了,也无法写入。
通配符
匹配文件名和目录名,不能匹配文件内容。
?:匹配任意个单个字符。匹配范围不包含隐藏文件
*:匹配所有字符,长短不限。匹配范围不包含隐藏文件
du:查看当前所在目录的内容大小
du -h:以人性化查看当前所在目录的内容大小
du -sh *:统计当前目录,每一个文件的大小,以列表的形式展示
df:查看所有分区以及挂载点的大小
df -h:人性化查看挂载点的大小
df -i:查看挂载点的可用索引号
创建文件
touch
如果文件已经存在,创建相同名称不会提示文件名重复,也不会覆盖源文件的内容。
创建目录
mkdir
mkdir -p:递归创建目录
复制
cp:最终参数必须是目录
cp -r:复制mulu
cp -p:保留权限复制
cp -a:完整保留所有的信息和权限同时可以直接复制目录
别名系统 alias
剪切和重命名
mv:可以剪切,相当于移动文件位置最后的参数是一个目录,否则他会认为改名
mv:可以重命名,原来的文件或目录就不在了,会形成一个新的文件名或目录名,但是不影响文件或目录的内容。
删除
rm -rf 要删除的目录或文件
-r:删除目录下的所有,包括子目录里的所有
-f:强制删除,而且不进行提示
rm -rf *:删除所有文件(慎用!)
查找文件(文件名和目录名)
find
特点:
1.精确查找,不是完全一致是查不出来的
2.使用通配符等匹配,要加双引号
3.遍历当前目录下的所有,包含自己。速度比较慢。
Find 【查找路径】 【查找条件】 【处理动作】
查找条件
-name:根据文件名进行查找,可以配合通配符一起使用
-size:根据文件的大小进行查找
-user:根据文件的所有者进行查找
-inum:根据文件的索引号进行查找
-type根据文件的类型进行查找
f:普通文件
d:目录文件
l:连接文件
处理动作
-print:默认动作,展示结果
-ls:长格式详细的展示查找到的文件
-fls:把查找到的文件的长格式信息保存到制定的文件当中
-delete:删除查找到的内容(慎用!)
-ok 命令 {} \; :执行命令之后会提示用户进行确认的操作
-exec 命令 {} \; :执行命令之后没有提示,直接执行
ctime:变更时间,最后一次改变文件的时间,改变文件的源数据,修改内容也会变。
mtime:修改文件时间,最后一次修改文件的内容时间。
atime:最后一次访问文件的时间。每查看一次文件都会改变这个时间。
whereis:不能搜索普通文件,智能搜索系统命令。
which :查找命令的位置,如果命令有别名,还可以查找到他的别名。
lscpu:查看cpu信息
free:查看内存
free -h:人性化查看内存 free -m:数字化查看内存
lsblk:查看硬盘和分区情况
arch:查看设备机器的架构
uname -r:查看系统的内核版本
文件管理
cat:全量查看。
-n:对所有输出的行数进行编号
-b:对空白行不编号
-s:连续多个空行替换成一个空行
分页查看
more
less:
head:从头开始看,默认看10行
tail:从尾开始看(尾部更新最新的文件),也是默认10行
tail -f:动态查看文件内容
tail -nf:从尾部向上查看到第n行
wc:统计文件内容。
wc -l:统计行数
wc -w:统计单词个数
wc -c:统计字节数
grep:linux三剑客之一。主要作用就是过滤文件内容
(不是对文件名进行过滤,而是对文件的内容进行过滤)
-i:过滤文件内容,加不加都一样,可以忽略
-n:显示匹配行和行号,通知书包含过滤的内容
-c:只显示匹配到的总行数,但是不显示匹配到的内容
-v:取反,只有不包含过滤条件的行才会显示
-e:逻辑或,可以实现多个条件查找
管道符:|
把两个命令或者多个命令用管理符的方式连接起来,一起使用
文本命令一般都可以使用管道符
归档命令
tar:打包;解包
.bz2和.gz两种格式
常用选项
-c:创建压缩包
-x:解包
-C:解压时指定文件的路径
-f:表示使用归档文件,必须要加的选项
-v:输出详细的信息(可以不加)
-j:调用bz2格式进行压缩或解压
-z:调用gz格式进行压缩或解压
文本编辑器
vim可以对文件内容进行增删改查
命令模式 编辑模式 底行模式 每种模式之间要退出需要按下esc键,除了命令模式,命令模式是默认模式。
编辑模式
i:在当前的光标位置插入内容
I:当前的光标移动到行首为止,插入内容
a:在当前光标位置后移一位开始编辑内容
A:光标移动至行尾开始插入内容
o:在当前光标位置的下一行开始插入内容
O:在当前光标位置的上一行开始插入内容
R或shift+r:替换当前光标处字符
命令模式
G:直接跳转到最后一行
nG或ngg:跳转到文件的第n行
M:跳转到当前页面的中间位置
H:跳转到当前页面的第一行
L:跳转到当前页面的最后一行
Page down键或ctrl+F:向下翻动一整页内容
Page up键或ctrl+b:向上翻动一整页内容
x或delete键:删除光标处的单个字符
dd或D:删除当前光标所在行
ndd:删除从光标处开始的n行内容
yy或Y:复制当前行整行的内容到剪贴板
nyy:复制从光标处开始的n行内容
小写p:粘贴到光标所在行之下
大写P:粘贴到光标所在行之上
u:按一次取消最近的一次操作;重复u键恢复多步操作
U:用于取消对当前行所做的所有编辑
底行模式
:set nu:在编辑器中显示行号
:set nonu:在编辑器中取消行号显示
:q:不保存退出
:q!强制不保存退出
:w:仅保存
:wq:保存退出
:wq!:强制保存退出
/word:从当前光标处开始向后进行查找字符串“word”
?Word:从当前光标处开始向前进行查找字符串“word”
1,5 m 10:将1-5行的内容剪切粘贴到第10行下面
1,5 co 10:将1-5行的内容复制粘贴到第10行下面