Linux学习笔记
1、虚拟机
2、命令:
- ls:展示列表,看当前工作区有什么文件
- cp:复制
- mv:移动
- rm:删除
- touch:新建文件
- mkdir:创建目录
- cd:更换工作区
- ip addr:展示网络信息
- tar -cvf:压缩文件
- tar -xvf:解压
3、计算机基础知识
- 操作系统是一种系统软件
- 计算机硬件——操作系统——系统软件——应用软件和支撑软件——用户
- 硬件是躯体,软件是灵魂
4、操作系统的概述
定义:操作系统是裸机之上的第一层软件,与硬件关系尤为密切。操作系统是控制和管理计算机系统内各种硬件和软件资源、有效的组织多道程序运行的系统软件,是用户和计算机之间的 接口。
- Windows系列(客户端):windows10、
- 类Unix系列(服务器):Linux、IOS、Unix
5、操作系统的类型
-
批处理系统
- 特点:多道和成批
-
分时系统(Linux和Windows)
- 特点:同时性、交互性、独立性、及时性
-
实时系统
- 典型应用形式:过程控制系统
-
网络操作系统:需要设定明显的主机
-
分布式操作系统:没有明显的主机
- 解释一个操作系统控制一堆计算机
6、Linux系统的历史和现状
-
开源软件、免费
-
1991年初,发布了Linux0.01版本
-
1991年10月发布了Linux0.02版本
-
1993年发布了Linux0.99版本
-
1994年3月发布了Linux1.0版本
-
1994年加入GNU组织
特点:
- 开源免费
- 性能高,安全性强
- 便于定制和在开发
- 互操作性高
- 与Unix兼容
- 全面的多任务和真正的32/64位操作系统
- 在服务器市场及嵌入式系统领域应用广泛,是一种高性能、低开支的可以替代其他昂贵操作系统的系统。
不足:
- 硬件方面的支持
- 桌面功能不够完备
- 操作入门门槛较高
常用版本:
- CentOS
7、常见的命令
全是小写
-
poweroff
-
作用:关闭操作系统
-
语法:poweroff
-
选项:
-n:在关机前不做将记忆体资料写会硬盘的动作
-w:并不会真的关机,只是把记录写到/var/log/wtmp档案里
-d:
-
在特殊情况下普通用户可以使用,及只有一个普通用户独占操作系统时才可以使用
-
shutdown
- 仅root使用,普通用户不能使用
- shutdown 数字,在几分钟之后关机,now是立即关机
- shutdown -c:取消的意思
- shutdown -r 数字:重启,在几分钟后重启,now是立即重启
- reboot:重启,当普通用户独占一个系统时才可以使用
-
init:初始化系统
- init 0:关机
- init 6:重启
-
logname:显示第一次登陆的用户名
-
whoami:当前用户,看你用那个身份操作当前系统
-
su:切换用户
-
who:当前用户列表
-
users:当前用户列表,简单的
-
id:查询用户的身份信息
-
last:查看操作系统的历史操作信息(主要用来问题查询)
-
8、用户与组命令
useradd(仅root命令)
作用:创建用户账号
语法
选项:
-
-c<备注> 加上备注文字。
-
-d<登入目录> 指定用户登入时的起始目录
-
-D 变更预设期
-
-e
用户和组的增删改查:
- 增加:useradd -g 组名 用户名
- passwd 用户名
- 调整:usermod -g 组名 用户名:
- 删除:userdel -r :删除用户所用资料
- 组的增加:groupadd
- 组的删除:groupdel
切换用户:su 注意root切换到普通用户不需要密码,而普通用户和root之间相互转换还有普通用户和普通用户之间转换需要密码
Linux权限调用类命令:
-
sudo
-
作用:一管理员的身份执行指令,也就是说,经由sudo所执行的指令就好像是root亲自执行
-
语法:
sudo -V
sudo -h
sudo -l
sudo -v
sudo -k
sudo -s
sudo -H
9、Linux命令概述
-
为什么使用命令?
- 历史原因:版本多,图形操作界面多样化,命令都一样
- 资源原因:桌面占用过多资源与命令行相比(主要)
- 进阶原因:熟练掌握Linux命令操作也是领会Linux系统精髓的必然
- 管理原因:一般执行远程管理是都是进入文本环境(主要)
-
命令格式:命令名 [-选项。。。] [参数。。。]
- 命令名必须是小写的英文字母,并且往往是表示相应功能的英文单词或单词缩写。
- 空格很重要
-
Linux联机帮助命令
-
man 命令:查看某个命令的解释文档
- man -a:显示被隐藏的文件,显示全部的文件
- 回车:一行一行的翻
- 空格:一页一页的翻
-
命令 --help:也是查看当前命令的帮助
-
ls [-选项。。。] [参数。。。]:查看当前目录下的目录列表
- ls /:显示根路径下的目录名称,但不改变当前的目录
- ls -l [目录名] :长列表显示的比较详细
- ls -a [目录名] :查看当面目录下的所有目录
- ls -R 目录名:递归
- ls -t [目录名]:排序,按时间排序最晚的在最前面
-
cp 目录名称 目录拷贝的目标位置:复制+粘贴
-
示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面 cp /usr/tmp/aaa /usr
-
注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归
-
-
mv 目录名称 目录的新位置:剪切+粘贴
- 示例:将/usr/tmp目录下的aaa目录剪切到 /usr目录下面 mv /usr/tmp/aaa /usr
- 注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作
-
rm [-rf] 目录:删除
- 删除文件:
- rm 文件 删除当前目录下的文件
- rm -f 文件 删除当前目录的的文件(不询问)
- 删除目录:
- rm -r aaa 递归删除当前目录下的aaa目录
- rm -rf aaa 递归删除当前目录下的aaa目录(不询问)
- 全部删除
- rm -rf * 将当前目录下的所有目录和文件全部删除
- rm -rf /* 【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除
- 注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包
- 删除文件:
-
ln 文件名 新的文件名:
-
ln :硬链接,删除原来的文件名,打开新建的文件依然可以找到数据,删除lmv打开123依然可以连接到我们的数据
-
ln -s :符号连接(软连接,常用)删除123打开s-lmy连接不到我们的数据
- 能指向目录
- 能跨分区连接
- 我指向的东西可以不存在
- 权限和源文件单独管理,
-
echo
- 作用:字符串在屏幕上的输出,最后会换行
- 语法:echo string
- -e:对输出的内容中的转义字符进行识别(转义字符一定是一个)
- -n:
- 作用:字符串在屏幕上的输出,最后会换行
-
printf
- 作用:屏幕输出,最后不会换行,能加参数,模仿C语言
-
date:(记得加上加号)
- 显示日期
-
cal
- 作用:用来显示日历
-
expr
- 表达式
-
file
- 作用:
-
wc
10、路径
相对路径:…/…/目录名(…代表父母目录)
绝对路径:/目录名/目录名
- bin:符号链接 /usr/bin
压缩:
Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。
而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。命令:tar -zcvf 打包压缩后的文件名 要打包的文件
其中:z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为xxx.tar
tar -zcvf ab.tar aa.txt bb.txt
或:tar -zcvf ab.tar * -
-
10LInux文本编辑器(vi/vim)
vi的工作模式
●命令模式
这是执行vi后的缺省模式,此时键盘输入当作命令,命令有大小写之区分。
●插入模式
在命令模式下可进入该模式。用户输入的任何字符都被vi当做文件内容保存起来,并
将其显示在屏幕上。
●末行模式
在命令模式下可进入该模式。该模式用来进行保存文件、打开文档或环境的设定。
命令模式是难点
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
1、vi的末行模式
进入末行模式的命令(:/ ?)
1、vi环境变更
-
: set nu:显示行号
-
set nonu:取消行号
-
数字 :具体到某行
2、文件的保存和退出
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
:q 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
:n1,n2 w 绝对路径+文件名(文件保存在vi命令输入时的目录下):将文件中n1行至n2行的内容另存为一个文件
:!command:直接在vi中执行command命令,而且可以查看命令的执行结果
3、编辑多个文件时
:efilename:打开文件filename进行编辑
:n:编辑下一个文件
:N:编辑上一个文件
4、对文本的内容进行修改
:r 文件名字:把该文件的内容复制到光标后
:r!command:将命令command执行结果输入到当前行
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
5、查找匹配字符
/root :光标移至下一个包含root的行
/root/+n:光标移至下一个包含root的行下面的第n行
/root/-n:光标移至下一个包含root的行上面的第n行
?root:光标移至上一个包含root的行
?root?+n:光标移至上一个包含root的行下面的第n行
?root?-n:光标移至上一个包含root的行上面的第n行
6、替换匹配字符串
😒/str1/str2:用str2替换该行第一个str1
😒/str1/str2/g:用str2替换该行全部的str1
:行号,行号s/str1/str2:用str2替换这两行号之间第一个str1
:行号,行号s/str1/str2/g:用str2替换这两行号之间str1
$:代表最后的,至于最后什么根据场景确定
.:代表当前的,至于当前的什么根据场景确定
:行号,行号s/str1/str2/gc:用str2替换这两行号之间str1,一个一个换,y是换n是不换
:行号:移动到该行
2、命令模式:
1、基础移动
上:k nk:向上移动n行 gg可以移到第一行 G移到最后一行
下:j nj:向下移动n行
左:h nh:向左移动n列
右:l nl:向右移动n列
2、按文件划分
G:文件末尾
gg:文件首
行数G:移动到某行
4、在屏幕内移动光标
H(home) 将光标移到屏幕顶部行首。
M(middle) 将光标移到屏幕中部行首。
L(lower) 将光标移到屏幕底部行首。
4、按字符/行移动光标
除了空格键和方向键外,减号’-’(上)、enter键(下)、h(左)、j(下)、k(上)、l(右)也可当方向键移动光标。如果需要一次移动多个字符或者多行,可以在方向键前输入一个数字,如 7h 表示向左移动 7 个字符,3SPACE 表示向右移动 3 个字符,2j 表示向下移动 2 行。光标行移动时,光标移到下一行的相同位置,如果下一行字符不足,则停在行尾
0 :移到行首。
^ :移到行首(和 0 不同之处在于,^ 会将光标移动到当前行第一个非空白字符的位置)。
$ :移到行尾。
减号(-) :移到上一行行首;方向键在上移一行时,会移到上一行的相同列的位置。
加号(+) :移到下一行行首;方向键在下移一行时,会移到下一行的相同列的位置。
5、按句子和段落移动光标
‘(‘和’)’ 分别表示将光标移到上/下一个句子的开头。
‘{‘和’}’ 分别表示将光标移到上/下一个段落的开头。
6、将光标移到某个特定字符
f/F 查找当前行特定字符出现的位置,f 是查找特定字符下一次出现的位置,F 是查找特定字符上一次出现的位置。如,输入fa,表示从光标位置开始向右查找第一次出现 a 的位置,找到则光标移到该位置,未找到则不移动。输入3fc,表示查找光标右边第3次出现字符 c 的位置。输入分号(;)可以重复上一次的查找命令。
7、按字移动光标
w/W 把光标移到下一个字符的第一个字符。标点符号也看作一个字。如果下一个字在下一行,光标依次在下一行查找。w 和 W 的区别在于 W 是按空格来区分字符;如果标点与字连写了,W 会把它当作一个字,而 w 仍把标点单独当作一个字来查找。当查找到文件的最后一个字时,如果再查找一次,光标移到最后一个字符。13w 表示光标向右移动13个字。
b/B(begin) 把光标移到上一个字的首字符。标点符号也看作一个字。其它属性同上述的 w/W。
e/E(end)把光标移到下一个字的尾字符。标点符号也看作一个字。其它属性同上述的 w/W。
w,W:移动到后一个字的开头。
b,B:移动到前一个字的开头。
e、E:移动到后一个字的末尾。
ge,gE:移动到前一个字的末尾。
移动到前一个字的末尾.大写忽略标点字符,但非全部特殊字符。
大写忽略标点字符,但非全部特殊字符.
8、文本的复制和粘贴
yy:复制当前行的内容到缓冲区
11yy:复制当前行下的11行
p:粘贴你复制的内容大写上小写下
9、文本的删除
x: 删除光标所在字符,等同于[Delete]功能键
X: 删除光标前字符,相当与[Backspace]
dd: 删除光标所在的行
r: 修改光标所在字符
R: 替换当前字符及其后的字符,直到按 [ESC]
s: 从当前光标位置处开始,以输入的文本替代指定数目的字符
S: 删除指定数目的行,并以所输入文本代替之
do: 删至行首
d$: 删至行尾
10、文本的修改
r : 修改光标所在的字符,r后接着要修改的字符
R :进入替换型插入模式,新增内容会覆盖原先内容,退出方式等同于退出插入模式
cc:修改光标所在行
C:修改从光标位置到该行尾的内容
11、其他
n:在同一方向上重复查找(配合末行模式字符串的检索使用)
N:在反一方向上重复查找(配合末行模式字符串的检索使用)
u:撤销前一条命令的结果
略标点字符,但非全部特殊字符.
11、文件传输
1、文件传输命令
-
ftp协议
21端口注意
-
安装ftp:
-
sudo yum -y install vsftpd :安装 vsftpd
-
systemctl status vsftpd :查看vsftpd的状态,保证vsftpd处于启动状态
-
sudo systemctl disable firewalld :关闭Linux的防火墙
-
systemctl status firewalld:查看Linux防火墙的状态
-
关闭selinux-linux
-
临时关闭:输入命令setenforce 0,重启系统后还会开启
-
永久关闭:输入命令vi /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后保存退出。
-
-
sudo:重启Linux
-
-
?代表:任意一个字符
*代表:任意个字符