目录
Linux操作系统
Shell的定义
Linux命令
cd命令
ls命令
硬连接和软连接
组合键的用法
帮助命令
索引号
通配符
du命令
df命令
touch命令
mkdir命令
cp命令
alias命令
mv命令
rm命令
find命令
prink命令
搜索命令
查看硬件信息
查看系统时间
Linux:自由和开放源码的操作系统。Linux可以被安装在计算机的设备当中,
Linux的特点:多用户,多任务。,丰富的网络功能,安全性高,移植性强。有一定的兼容性。良好的用户界面。性能快,响应速度快
Linux:专业的开发人员使用的操作系统。专门为IT从业者配套的专业的操作系统
shell:翻译人类输入的代码,把代码翻译成二进制给计算机识别,然后计算机内核分配相应的资源,来执行发出的指令
计算机内核反馈的信息同样是二进制,把计算机语言翻译成人类能识别的语言。
默认的shell:bash类似于编译器
内部命令:shell的一部分,其中主要包含的是比较简单的命令,通常是在linux系统启动加载时,就已经嵌套在了shell当中
并且驻留在系统的内存。执行速度比外部命令的执行速度快。例如 cd echo exit history
外部命令:实用程序,功能通常都笔记比较强大,程序量也比较大。不适合在系统加载时一起启动。
需要使用时才会调用到内存,cpu分配资源。
通用的命令格式:
命令字符 【选项】 参数(执行对象)
pwd:告诉你当前的位置,显示系统所在的路径
cd:切换目录
cd 目标位置的名称(指向的是目录名,只能目录之间切换,不能切换文件。)
cd ~:切换到家目录
cd / :切换到/目录
cd - :回到上次执行的目录
cd .. :返回上一级目录
cd . : 留在当前目录不动
~:用户的家目录。
/:根目录。
tab按键:自动补齐功能、查看、纠错
\ :强制换行,换行符号。换一行继续输入,但是不影响之前命令的完整性
ls :展现当前目录下的所有文件和目录,不包含隐藏文件,而且是简略查看,不是详细查看
ls -a:查看所有,包含隐藏文件和目录。linux的隐藏文件和目录,都是以点开头的。
ls -l:以长格式(详细信息展示)展示文件的目录和列表,包含权限、大小、最后更新时间等等详细信息。
ls -i:查看文件的索引号
ls -la :所有的文件包括隐藏文件都以长格式显示
ls -lha:以人性化显示文件的大小
ls -lhaR:递归不仅可以显示当前文件和隐藏文件,还可以显示当前目录和子目录中的所有文件
ls -lgaRi:递归显示所有文件还有索引号。
ln:创建硬连接
硬连接的特点:
1.俩个文件互为硬连接,两个文件索引号一致。可以通过ls -i查看两个文件的索引号
2.互为硬连接的两个文件,如有更新,内容将始终保持一致。
3.删除其中一个对另一个文件没有任何影响。只有普通文件才可以创建硬连接。目录不可以创建硬连接
ln -s:创建软连接
软连接的特点:
1.这两个文件的索引号不同,是两个不同的文件。
2.如有更新,俩个文件的内容将始终保持一致。
3.删除连接文件对源文件没有影响,但是删除源文件连接文件将会立刻失效。
4.普通文件和目录都可以创建软连接。
crtl+c:退出当前命令,取消本次操作。
crtl+z:退出当前命令,不能取消命令行的操作。
crtl+a:切换到行首
crtl+e:切换到行尾
命令的帮助文档:man(操作手册)help(操作提示)
n:可以向下匹配查找到的内容
N:可以向上匹配查找到的内容
inode号:索引号机制。
除了磁盘满了无法写入以外。索引号消耗完毕,即便磁盘还有剩余空间,也无法继续写入。
通配符:匹配文件名和目录名。不能匹配文件内容。(只能进行匹配但是不能精确匹配)
{a..z}:小写的a..z
{A..Z}:大写的A..Z
{1..10}:表示数字的范围。
[a-z]:范围匹配,匹配所有的a-z,既有大写,也有小写。
[0-9]:匹配0-9的数字。
?:匹配任意单个字符。匹配范围不包含隐藏文件
*:匹配所有字符,长短不限。匹配范围不包含隐藏文件
ls [aceh].txt:单个字符进行匹配,不再是范围匹配
ls [27].txt:单个字符进行匹配,不再是范围匹配
du:查看当前所在目录的内容大小
du -h:人性化展示当前所在目录的内容大小
du -sh* :统计当前目录下每一个文件的大小,以列表的形式展示。
df:查看所有分区以及挂载点的大小
df -h:人性化查看分区以及挂载点的大小
df -i:查看挂载点的可用inode号
touch的特点:如果文件已存在,创建相同名称不会提示文件名重读,也不会覆盖原文件的内容。
touch:创建文件(可以创建单个也可并行创建多个文件)
mkdir:创建目录。(文件和目录名都是唯一的,在当前目录下不能和文件重名)也可以并行创建多个目录
mkdir -p:递归创建目录
cp:复制。最终的参数必须是目录,这个路径必须是一个目录,不能是文件名。
cp -r:复制目录
cp -p:保留权限复制
cp -a:完整保留所有信息和权限,同时可以直接复制目录。
alias:别名系统
临时:命令行配置都是临时的。重启系统就会失效
永久:改配置文件一般都是永久生效。
source /etc/profile :全局配置文件,所有人都生效
在每个用户的家目录下 .bashrc 是每个用户的个人配置文件,只对个人生效
unalias:删除之前配置的别名
mv:可以剪切,相当于移动文件位置,最后的参数必须是个目录,否则他会认为是改名
mv:可以重命名。原来的文件或者目录,就不再了,会形成一个新的文件名或者目录名。但是不影响文件或目录的内容
cp也可以对文件或者目录重命名,cp 重命名目录是,加-a选项,-a强制复制。但是最后的参数必须是一个目录。
rm:删除
rm -r :删除目录下所有,包括子目录的所有
rm -f :强制删除,而且不进行提示。
rm -rf * :全部删除(不要乱用,缝纫机警告)
find:只能查找文件,不能查找文件内容
find [查找路径] [查找条件] [处理动作]
查找路径:指定具体目标的路径(绝对路径)不加路径,默认就是你要查的当前目录。
查找条件:文件名 大小 文件类型 文件权限 等进行查找。
处理动作:对符合查找到的文件做操作,默认就是输出至屏幕。也就是打印(Print)
查找的类型:
find-name:根据文件名进行查找,可以配合通配符一起使用(重点)
find-size:根据文件的大小进行查找。(重点)
find-size:
+10M:比10M大
-10M:比10M小
10M:等于10M
K M G都是要大写
c:小写。byte。
find-user:根据文件的所有者进行查找。(重点)
find-type:根据文件的类型进行查找。(重点)
find-inum:根据文件的索引号进行查找。删除一些正常删除都删除不掉的文件。(重点)
find-perm:根据文件权限进行查找
f:普通文件(重点)
d:目录文件(重点)
l:连接文件
s:套接字文件
b:存储文件。块设备文件
c:字符设备文件
p:管道文件
find的特点:
1.精确查找,不是完全一致是查不出来的。
2.使用通配符匹配,要加双引号。
3.遍历当前目录下的所有,包含自己。速度比较慢
prink:默认动作,展示结果。
-ls:查找到的文件,执行一个命令:ls-l 长格式,详细的展示查找到的文件。
-fls 文件名:把查找到的文件的长格式信息保存到指定的文件当中。
-delete:删除查找到的内容,慎用。
-ok 命令 {} \;
-exec 命令 {} \; 执行命令之后没有提示,直接执行。
ctime:变更时间,最后一次改变文件的时间。改变文件的元数据。修改内容也会变
mtime:修改文件时间,最后一次修改文件的内容时间
atime:最后一次访问文件的时间。每查看一次文件都会改变这个时间。
mtime +10:表示从第11天开始
mtime -10:表示10天以内
mtime 10:第10天到第11天
whereis:搜索系统命令,不能搜索系统命令。不仅能够查找到二进制命令的位置,还可以查找到命令的帮助文档位置
witch:就是查找命令的位置,如果命令有别名,还可以查找到他的别名。
lscpu:查看cpu的信息
free -h:人性化查看系统的内存信息
free -m:数字化查看,单位是MB
lsblk:查看硬盘分区
arch:查看设备机器的架构
uname -r:查看系统内核,内核版本不一致,可能会出现软件不兼容的问题。
date:查看系统时间
date +%T:只显示时间
date +%F:只显示年月日
1. /root :只有超级管理员的家目录叫root。和普通用户家目录是分开的
2. /home :普通用户的家目录。普通用户在自己的家目录当中,拥有所有权权限。rwx
3. /bin 或 /sbin :命令文件的目录,放的一定是可执行的文件或者命令、代码。
bin里面的命令所有用户都可以执行。
4. /sbin :也存放命令且是只有管理员才可以执行的命令。
5. /boot :放的是系统的内核文件和系统的启动文件。(不要做任何操作,了解即可)
6. /dev :存放设备文件的目录。(包括硬盘、光驱)(不要做任何操作,了解即可)
7. /etc :存放系统程序和大部分系统配置文件以及应用程序的配置文件。
(rpm或yum安装的文件,默认的安装位置都在etc目录)(只操作和我有关的,无关的一律不碰)
8. /var :存放各种日志文件的。主要功能就是看日志。解决问题也是主要看日志。
log:日志
messages:所有的系统日志
9. /lib :存放系统程序的动态连接共享库文件。类似于Windows的dll配置文件。
10. /usr :第三方编译安装使用。第三方软件的安装目录。
主要是编译安装时用的目录,还包括系统用户的一些工具和程序
11. /media :存放媒体文件。例如U盘(了解即可)
12. /proc :存放映射系统信息的文件(了解即可)
13. /mnt :用于设备挂载点。主要就是挂载光盘镜像。
14. /opt :第三方应用程序或者文件存放的目录。(主要使用的目录)
15. /tmp :存放系统的临时文件(了解即可)
家目录(root、home)、etc改配置文件、opt主要使用的目录、var看日志、mnt挂载光盘镜像。
cat 叫做全量查看。文件有多少就展示多少。查看中小文件比较好用,大文件查看速度很慢,而且是全量展示,不利于查找过滤关键字且只能查看不能修改。
cat -n :对所有输出的行数进行编号
cat -b :对空白行不编号
cat -s :连续多个空白行替换成一个空行
cat -snb 可以叠加使用
more 叫做分页查看,也是只能查看不能进行其他操作。
less 也是分页查看,可以筛选过滤关键字。
/ 键进入搜索筛选过滤关键字
more 和less 适用于查看大文件以分页查看的方式查看,可以使查看大文件的速度流畅一些。
head 是从头看。从文本的第一行开始往下看。是指定行数看文件。不指定默认是10行
head -n :指定行数查看
tail 是从尾看。动态查看文件内容。尾部更新的都是文本中最新的内容。不指定默认10行
tail -n :指定行数查看
tail -f :动态查看的命令。永远查看的是文件最新的内容。也可以指定行数。
后续文件如果有更新,实时更新查看日志。
wc 是统计文件内容
wc -l :只显示统计文件行数
wc -w :只显示统计文件单词个数
wc -c :只显示统计文件字节数
(针对文件内容进行统计)
grep :linux文本三剑客之一。主要作用就是过滤文件内容。不是对文件名进行过滤的而是对文本
的内容进行过滤。文本三剑客都是针对文件的内容。
grep :是针对文本内容按行进行处理和过滤的。
例如 :grep 'root' /etc/passwd
例如 :grep -n 'root' /etc/passwd
例如 :grep -e 'root' -e 'bash' /etc/passwd
grep -l :加不加都一样。可以忽略
grep -n :显示匹配行和行号,同时包含过滤的内容
grep -c :只显示匹配到的总行数,但是不显示内容
grep -v :取反,只有不包含过滤条件的行才会显示
grep -e :逻辑或。可以实现多个条件查找
命令执行的结果显示在屏幕上也是文本内容,也可以进行内容过滤。所以grep也可以过滤。
| 管道符:把两个命令或者多个命令可以用管道符的方式连接起来一起使用
文本命令一般都可以使用管道符。
例如 grep、awk、sed 都可以使用管道符
tar :打包,解包(压缩和解压缩)
.bz2 格式:压缩速率比较高。压出来的包文件较小,但是速度慢。
.gz 格式:压缩速度较快,但是压缩出来的文件较大,也就是压缩速率较低。
tar -c :创建压缩包(打包)
tar -x :解压缩包(解包)
tar -C :解压时指定文件的路径
tar -f :使用归档文件。必须要加的选项
tar -v :输出详细的信息。可以不加
tar -j :调用bz2格式进行压缩或解压
tar -z:调用gz格式进行压缩或解压
例如 tar -zcvf zyg.gz 123 456 789
tar:固定格式
-zcvf:调用gz的方法来创建一个压缩文件
zyg.gz:创建压缩包的名称
123 456 789:要压缩打包的文件
例如 tar -zxvf zyg.gz -C ky321
tar:固定格式
-zxvf :调用.gz方法解压一个文件
zyg.gz:要解压的包
-C :指定路径
ky321/ :路径名
如果不加-C会默认解压到当前目录且自动覆盖没有提示
压缩文件最简写:tar -cf zyg.bz2 123 456 789
解压文件最简写:tar -xf zyg.bz2 -C /opt/
创建压缩包需要在压缩包的名字后面加压缩格式 .bz2 或 .gz 。方便区分文件和压缩包。
linux无法用tar解压.zip格式和.rar格式的压缩包需要通过以下两条命令解压:
unzip:解压.zip格式压缩包
unrar:解压.rar格式的压缩包
vim是vi的升级版。vim拥有纠错功能,可以对文件内容进行增删改查。
只能看不能进行任何其他操作
数字 gg 或 数字 G:行间快速跳转
G :直接跳到最后一行
M:跳转至当前页面的中间位置
H:跳转至当前页面的第一行
L:跳转至当前页面的最后一行
dd:删除光标所在的一行
u:撤销上次的操作。多按几次u可以多次撤销上次的操作
U:撤销对行的操作
yy:多行复制
p:在当前光标所在行的下一行粘贴
P:在当前光标所在行的上一行复制
x或delete键:删除单个字符
/ :搜索模式。n向下匹配,N向上匹配
R:替换。在光标位置按R后从左往右依次替换字符
i :在当前的光标位置插入内容
I :在光标所在行的行首位置开始插入内容
a :在当前光标位置后移一位开始编辑内容
A :在光标所在行的行尾位置开始插入内容
o :在当前光标位置的下一行开始插入内容
O :在当前光标位置的上一行开始插入内容
set nu :给每一行编号(空格也算是一行)
set nonu:取消行号
q:不保存退出
q!:强制不保存退出
w:仅保存
wq:保存退出
wq!:强制保存退出
w 文件名 :w后面加上文件名回车之后再进入末行模式wq可以之间创建文件并保存
行间快速跳转
如果在已经有文件名的情况下w 文件名,相当于另存为
e 其他文件名 :打开一个新文件开始编辑,对原文件没有影响。
r :把其他文件内容插入当前文本当中,光标在哪读取的文件内容就在光标的下一行插入
s /shi/wei :替换。 s /我要替换的内容/替换后的内容/ 光标在哪就替换哪一行
s /a/b/g:对行内所有字符进行替换
1,13 s/a/b/g:指定行号范围内进行替换
% s/a/b/g :全文替换
1,5 m 10 :把1-5行剪切到到10行 (掌握以下即可)
1,5 co 10 :把1-5行复制粘贴到10行 (掌握以下即可)
每种模式之间要退出需要按下esc键。命令模式除外,命令模式是默认模式