提示:版权归Strawberry所有(大数据2202Byj)
未经授权,禁止搬用。
Linux
1.文档命令
1.cd命令
1.格式:cd 目标目录
1.目标目录可为绝对路径,也可为相对路径
2.cd
单独打是返回用户名存在目录
3.cd -
返回上一次目录
2.ls命令
1.ls [选项] [目录或文件属性]
1.-a 这里的a指all 显示所有文件及隐藏文件
2.-d 这里的d指directory 这里查看当前目录所有的文件和目录的详细信息
3.-l 得到一个目录下的文件和子目录的详细信息
4.-t 这里的t指time 按照时间顺序
知识点:
**
‘-’:普通文件;
‘d’:目录文件;
‘-’:普通文件;
‘p’:管理文件;
‘l’:链接文件;
‘b’:块设备文件;
’c‘:字符设备文件;
‘s’:套接字文件
**
2.ls -l 文件 以长格式列表查看当前目录
1.第一个字母为文件类型
2.第一个组合剩下的9个按照每3个分一组
(1)第一组为所有者/所有者权限
(2)第二组为组用户权限(一个组中除了所有者的权限)
(3)第三组为其他用户权限
文件权限知识点:
r为read 名为读权限
w为write 名为写权限
x为execute 名为可执行权限
-名为无权限
注意:1.d参数没有意义 要跟l一起才会有意义
如下图
第一个组为文件类型和权限组
第二个数字对于普通文件是链接数 对于目录文件是第一级子目录数
第三个的root是指用户名
第四个的root是指组名
第五个的数字是指文件大小 单位为byte
第六个的Feb 18 2022为最后修改时间
第七个为文件名
注意:Tab补不出来说明指令错误
3.mkdir命令
介绍:mkdir的英文名就是Make Directory翻译过来就是创建目录
1.mkdir [-p] Linux路径
- Linux路径必须填写,创建的文件夹的路径
- 2.-p选项 可以选择,表示自动创建不存在的父目录,适用于创建连续多层级的目录
- rmdir可以清空目录
4.touch命令
介绍:可以通过touch命令创建文件
1.touch Linux路径
1.touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可使用
5.cat命令
1.cat Linux路径
1.cat同样没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可使用
6.more命令
1.more Liunx路径
与cat的不同:
1.cat是直接将内容全部显示出来,more支持翻页。
2.如果文件内容过多,可以一页一页显示。
注意:空格翻页 q退出
7.cp命令
介绍:cp的英文全称为copy意为复制
1.cp [-r] 参数1 参数2 … 目标文件
1.-r选项 可选,用于复制文件夹使用,表示递归。
2.参数1,参数2… Linux路径,表示被复制的文件或文件夹。
3.目标文件,Liunx路径,表示要复制去的地方。
8.mv命令
介绍:mv的英文全称为move意为移动
1.mv [-i -f -b -u -t] 参数1 参数2
1.参数1,Linux路径,表示被移动的文件。
2.参数2,Liunx路径,表示要移动去的地方。
3.-i 若存在同名文件,则向用户询问是否覆盖
4.-f force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
5.-b 当文件存在时,覆盖前为其创建一个备份
6.-u 若目标文件已存在需移动的同名文件,且源文件比较新,才会更新文件
7.-t 指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
9.rm命令
介绍:rm命令可用于删除文件、文件夹。rm的英文全称为remove
1.rm [-r -f] 参数1 参数2 … 参数N
1.同cp命令一样,-r选项用于删除文件夹
2.-f表示force,强制删除(不会弹出提示确认信息)
(1)普通用户删除内容不会弹出提示,只有root管理员用户删除内容会提示。
(2)所以一般普通用户用不到-f选项
3.参数1、参数2、…、参数N表示要删除的文件或文件夹路径,按照空格分隔开
2.通配符,用来模糊匹配。
1.Linux中通配符有* [] ?
2.*表示通配符,即匹配任意内容(包括空)。
示例:
1.test*表示匹配任何以test开头的内容。
2.*test表示匹配任何以test结尾的内容。
3.* test *表示匹配任何包含test的内容
删库指令:rm -fr /*
3.?:匹配任意一个字符(注意是一个字符)
4.
^在通配符中是非的意思
可以使用[a-z],[0-9],[A-Z],[a-z0-9]
也可以使用以下命令
[[:upper:]]-------------所有大写字母
[[:lower:]]-------------所有小写字母
[[:alpha:]]-------------所有字母
[[:dight:]]--------------所有数字
[[:alnum:]]------------所有字母和数字
[[:space:]]------------所有空白字符
[[:punct:]]-------------所有标点符号
[^[:upper:]]-----------所有大写字母以外
[^0-9]-----------------所有数字以外
[^[:alnum:]]----------所有数字和字母以外
3.su -root
1.su -root 并且输入密码 临时切换到root用户体验
2.exit退出命令,返回普通用户
10.which指令
1.which 被查找的命令
1.which是用于查找命令的程序文件放在哪里
11.find指令
1.find 起始路径 -name “被查找文件名”
1.注意双引号不要丢
2.可以使用通配符
2.find 起始路径 -size + -n [kMG]
1.+、-表示大于和小雨
2.n表示大小数字
3.KMG表示大小单位, 注意:k是小写
1.find 起始路径 -type 文件类型
1.查找文件类型
12.wc指令
介绍:wc [-c -m -l -w] 文件路径
1.-c 统计bytes的数量
2.-m 统计字符数量
3.-l 统计行数
4.-w 统计单词数量
5.参数,文件路径 被统计的文件 可作为内容端口
直接wc 一个文件路径显示的分别是
行数 单词数量 字节数
13.管道符
介绍:管道符的作用是将左边的结果作为右边的输入简称:|
14.echo指令
介绍:可以使用echo命令在命令行内输出指定内容
1.echo 输出的内容
1.无需选项,只有一个参数,表示要输出的内容,复杂内容可以用“”包围
2.反引号
使用echo pwd则会输出pwd
echo ·pwd· 则会执行pwd命令
15.重定向符
1.>
作用:将左侧命令的结果,覆盖写入到符号右侧指定的文件中
2.>>
作用:将左侧命令的结果,追加写入到符号右侧指定的文件中
16.tail指令
介绍:可以查看文件尾部内容,跟踪文件的最新更改
1.tail [-f -num] Linux路径
- Linux路径 表示被跟踪的文件路径
- -f 表示持续跟踪
- -num 表示要查看尾部多少行,不填默认10行
2.vi/vim编辑器
介绍:vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的作用,可以不同颜色字体来辨别语法的正确性,极大的方便了程序的设计和编辑性
三种工作模式:
1.命令模式:
A.命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能
2.输入模式
B.也就是所谓的编辑模式、插入模式。此模式下,可以对文件内容进行自由编辑
3.底线命令模式
C.以:开始,通常用于文件的保存、退出
1.vi 文件路径
2.vim 文件路径
vim兼容vi的所有功能,后续全用vim命令
1.如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
2.如果文件路径表示的文件存在,那么此命令会用于编辑此文件
1.vi/vim的初始体验
2.命令模式下的快捷键(了解即可 记住i就行了)
dd删除所在行
ndd删除当前向下多少行
yy复制所在行
nyy复制当前向下多少行
p黏贴所在行
u撤销
ctrl+r反向撤销
3.底线命令模式
3.权限指令
1.认识root用户
无论是Windows MacOS Linux均采用多用户的管理模式进行权限管理
1.在Linux系统中,拥有最大权限的账户名:root(超级管理员)
2.之前使用的都是普通用户:strawberry
1.普通用户的权限,一般在其HOME目录内是不受限的。
2.一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限。
2.su和exit指令
1.su [-] [用户名]
介绍:su命令就是用于账户切换的系统命令,英文单词:Switch User
1.-符号是可选的,表示是否在切换用户后加载环境变量(后续详解),建议带上
2.用户名,表示要切换的用户,用户名可以省略,表示直接切换到root
3.切换用户后,可以通过exit退回上一个用户,也可以使用ctrl+d
1.使用普通用户,切换到其他用户需要输入密码
2.使用root用户,切换到其他用户无需密码
2.sudo指令
1.sudo 其他命令
1.在其他命令之前,带上sudo,即可为这一条命令临时赋予root授权
2.但是并不是所有的用户,都有权力使用sudo,我们需要为普通用户配置sudo认证
2.配置sudo认证
1.首先先切换到root用户,执行visudo命令,会自动通过vi编辑器打开/etc/sudoers
2.在文件最后添加:
用户名 ALL=(ALL) NOPASSWD:ALL
其中最后的NOPASSWD:ALL 表示使用sudo不需要密码
3.用户和用户组
1.用户、用户组
Linux系统中:
1.可以配置多个用户
2.配置多个用户组
3.用户可以加入多个用户组中
Linux中关于权限管控级别有2个级别,分别是:
1.针对用户的权限控制
2.针对用户组的权限控制
2.用户组管理
需要root用户执行
1.groupadd 用户组名
创建用户组
2.groupdel 用户组名
删除用户组
3.用户管理
1.useradd [-g -d] 用户名
创建用户
1.-g指定用户的组,如果不指定-g,则会创建同名组并自动加入,指定的-g需要组已经存在,如已存在同名组,则必须要用-g
2.-d指定用户HOME路径,如果不指定,则HOME目录默认存在为:/home/用户名
2.userdel [-r] 用户名
删除用户
1.-r,删除用户的HOME目录,不适用-r,删除用户时,HOME目录保留
3.id [用户名]
1.这里的用户名是可选参数,如果不添加用户名参数,则是查看本身。
4.usermod -aG 用户组 用户名
介绍:把用户名加到指定的用户组里
5.getent
1.getent passwd
1.通过getent passwd,可以查看当前系统中有哪些用户
2.共有7份信息,分别是:
用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
1.getent group
1.使用gentent group,可以查看当前系统中有哪些组。
2.共有3份信息,分别是:
组名称:组认证(显示为x):组ID
3.查看权限控制
1.认知权限信息
1.r针对文件可以查看文件内容
针对文件夹可以查看文件夹内容,如ls命令
2.w针对文件表示可以修改此文件
针对文件夹,可以在文件夹内:创建、删除、改名等操作
3.x针对文件可以将文件作为程序执行
针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
4.修改权限控制
注意:只有文件、文件夹的所属用户或root用户可以修改
1.chmod [-R] 权限 文件或文件夹
1.R,对文件夹内的全部内容应用同样的操作
实例:
chmod u=rwx,g=rx,o=x hello.txt
这里的
u表示user所属用户权限
g表示group组权限
o表示other其他用户权限
chomod的更改简单用法:
权限可以用3位数字来表示,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其他用户权限。
数字的细节如下:r代表4,w代表2,x记为1,可以有:
0:无任何权限 ---
1:仅有x权限 --x
2:仅有w权限 -w-
3:有w和x权限 -wx
4:仅有r权限 r--
5:有r和x权限 r-x
6:有r和w权限 rw-
7:所有权限 rwx
2.chown [-R] [用户][:][用户组] 文件或文件夹。
普通用户无法修改所属为其他用户或组,所以此命令只适用于root用户执行
1.R,同chmod,对文件夹内全部内容应用相同规则。
2.用户:用户,修改所属用户。
3.用户组,修改所属用户组
4.:用于分割用户和用户组
实例:
chown root hello.txt 将hello.txt所属用户修改为root
chown :root hello.txt 将hello.txt所属用户组修改为root
chown root:strawberry hello.txt 将hello.txt所属用户修改为root,用户组修改为strawberry
chown -r root test 将文件夹test的所属用户修改为root并对文件夹内容应用同样规则
4.实用命令
1.各类快捷键指令
1.ctrl+c强制退出
2.ctrl+d退出登出
3.history查看历史命令
4.!命令前缀,自动匹配上一个命令
5.ctrl+r,搜索历史命令
6.ctrl+a|e光标移动到命令开始或结束
7.ctrl+←|→左右跳单词
8.ctrl+l或者clear清屏
2.软件安装
1.yum [-y] [install remove search] 软件名称
在Centos可以使用此指令
install下载
remove移除
search搜索
2.apt [-y] [install remove search] 软件名称
在Ubuntu可以使用此指令
以上两个指令,加上-y自动安装,不加-y则询问安装
3.systemctl
介绍:Linux系统有很多软件都支持systemctl命令控制:启动、停止、开机自启,能够被systemctl管理的软件,一般也称之为:服务
1.systemctl [start stop status enable disable] 服务名
1.参数介绍
start启动
stop关闭
status查看状态
enable开启开机自启
disable关闭开机自启
2.系统服务
NetworkManager主网络服务
network副网络服务
firewalld防火墙服务
sshd,ssh服务
4.软链接
介绍:在系统中创建软连接,可以将文件、文件夹连接到其他位置
类似windows中的快捷链接
1.ls -s 参数1 参数2
1.-s选项 创建软连接
2.参数1:被链接的文件或文件夹
3.参数2:要链接去的目的地
5.日期、时区
1.date [-d] [格式化字符串]
%Y 年
%y 年后面两位数字
%m 月份
%d 日
%H 小时
%M 分钟
%S 秒
%s 自1970-01-01 00:00 UTC到现在的秒数
2.如何修改时区
1.rm -f /etc/localtime
2.ln -s /usr/share/zoneinfo/Asia/Shanghai
3.ntp的作用
可以自动联网同步时间,可以通过ntpdate -u ntp.aliyun,com
6.IP主机和主机名
1.IP地址
1.ifconfig查看ip地址详情
2.主机名
可以使用hostname查看主机名
可以使用 hostname 主机名 修改主机名
也可以使用hostnamectl set-hostname 主机名 永久修改主机名
3.域名解析
即:
第一步先查看本机的记录(私人地址本)
Windwos中查看:C/Windows/System32.driver/etc/hosts
Linux中查看:/etc/hosts
再去联网查看DNS服务器(如114.114.114.114,8.8
8.8访问)
4.配置主机名映射
我们通过finalshell是通过IP地址连接到服务器的,那能不能可以通过域名链接呢?
可以,我们在windows系统中的hosts文件中配置记录即可
比如
7.配置Linux固定IP地址
在VMware中固定IP地址:
1.在Vmware Workstation配置IP地址网关和网段(IP地址范围)
2.在Linux系统中手段修改配置文件,固定IP
图:
第一步
第一小步:修改子网IP
第二小步:子网掩码一定是255.255.255.0
第三小步:NAT设置
第二步:
使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33
8.网络传输
1.下载和网络请求
1.ping [-c num] ip或主机名
1.-c,检查的次数,不使用则是无限次持续检查
2.ip或主机名,被检查的ip地址或主机名地址
2.wget [-b] url
1.-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件中
2.参数:url,下载链接
3.curl [-O] url
1.-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件
2.url,要发起的请求的网络地址