linux
linux 操作系统
企业版vmware vsphere esxi服务器
在线下载资源 wget命令 ,需要安装
自动下载文件的自由工具
yum install wget
常识
快捷键
xshell快捷键
logout 命令退出
ctrl+d 退出用户登陆
ctrl+shift+f 快速登陆
知识点
登陆默认显示相对路径
不区分的空格 多少空格都可以
后面.文件后缀只是文件标识
查找以什么开头^
以什么结尾 $
查找空白符 ^$
掌握普通用户登录后系统的提示符:$
掌握root用户登录后系统的提示符:#
Linux终端也称为虚拟控制台,Linux终端采用字符命令方式工作,用户通过键盘输入命令,通过Linux终端对系统进行控制
Linux是一个多用户、多任务、支持多线程和多CPU的操作系统
默认端口号
ftp:23
dns:53
http:80
https:443
ssh:22
NAT模式
电脑宿主机的ip在局域网内是唯一的,选择了NAT模式创建虚拟机,虚拟机就是一个新的局域网
桥接模式
用此模式,就是局域网中一台独立的主机,它可以访问该类网段任意一台机器,
仅主机模式
单机模式
yum 装软件
ifconfig 查看网络路径
lo:本机回环
ens33 inet 连接外网的地址
查看帮助
命令 --help
ls --help
-用man帮助手册
man ls
-去寻找在线的linux解释中文网站 http://linux.51yip.com/search/ls
概念性的理解
1.Linux内置解释器bash 相当于pyhon解释器
2.Linux的内部大多是使用python去书写
云计算
1.只需要 花钱,买腾讯,阿里云服务器
2.专人维护
缺点 容易信息数据泄露
文件目录结构
linux和window的区别
蓝色是文件夹的意思
绿色 chmod 777 test(文件名)
ls usr/bin 二进制可以执行命令
Linux不像Windows那样的系统目录,Linux使用正斜杠"/"而不是反斜杠""来标识目录。
Windows目录:
Linux目录:
/opt 第三方模块
/etc 放置配置文件
/root 存放root的信息
/home /etc /var
树形结构
根目录是 斜杠 /
所有目录都是以根目录为开头
目录中间的斜杠是,目录分隔符
Linux首先是建立一个根"/"文件系统,所有的目录也都是由根目录衍生出来。
ls / 查看根
/bin:
bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot:
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:
这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt:
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux:
这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv:
该目录存放一些服务启动之后需要提取的数据。
/sys:
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:
这个目录是用来存放一些临时文件的。
/usr:
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/usr/bin:
系统用户使用的应用程序。
/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
/var:
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。
linux起步
虚拟机设置
1.首先创建centos 下载
查看ip路径 ip addr 可以简写成 ip a
设置一下网络连接和磁盘
Linux一切皆文件
2.ipconfig 不能在centos中使用 使用步骤
配置好网络后,安装网络工具包
yum install net-tools -y #
就可以使用
3.如果使用ifconfig看不到ip地址的话,那就得重启网络服务
3.1重启网络的步骤
-确保配置文件正确配置
vim /etc/sysconfig/network-scripts
确保onboot=yes即可
3.2重启网络服务
systemctl restart network
远程连接linux
1.下载Xshell
2.命令:ssh ip (默认22端口)
host only 仅主机 单机模式,了解即可
电脑pc > 皇帝
虚拟机 > 老百姓
老百姓被皇帝控制,无法与外届通信
nat模式(网络地址转换)
电脑pc > 皇帝
nat > 宰相
虚拟机 > 老百姓
老百姓的房子是宰相分配的 与皇帝无关
虚拟机的ip是nat分配的,电脑环境无论怎么变化,都不会影响虚拟机
好处:
在家,在学校,在公司,使用虚拟机,ip地址都不会变化
桥接
电脑pc > 皇帝
虚拟机 > 老百姓
只要更换了一波皇帝,老百姓房子都得换
只要换了个教室,插上网线,ip就变了
好处:不用配置
坏处:更换ip麻烦
概念 硬件介绍
虚拟环境 是主机本体''分身''出的多个环境
redis缓存数据库 放入数据库
云计算用于 服务器的租赁
XSHELL 和 虚拟机linux进行关联
#登陆服务器
ssh 用户名@路径
快捷登陆
ctrl+shift+f#登陆之后使用
ctrl+d 快速退出
远程连接
18.查看linux网络端口的命令
netstat -tunlp
参数解释:
netstat [选项]
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-l或--listening:显示监控中的服务器的Socket;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-a或--all:显示所有连线中的Socket;
#案例
检查服务器的80端口是否打开
netstat -tunlp | grep 80
#安装nginx,且运行nginx,打开80端口
#安装 yum install nginx -y
#启动 通过yum安装的软件,都可以通过系统服务管理命令,去启动,无论是nginx 还是mariadb等
systemctl start/stop/restart/status nginx
#注意关闭防火墙的命令
systemctl stop firewalld #停止防火墙服务
systemctl disable firewalld #停止防火墙开机自启
iptables -F #清空防火墙规则
查看主机名
hostname 查看主机名
hostnamectl set-hostname 新的主机名
修改 linux命令提示符
echo $PS1 查看命令提示符的
用于修改每次显示的权限
示例
#PS1='[\u@\h \t \w]\$'
[root@localhost 04:22:10~]
#\u@\h \w
PS1='[\u@\h \t \w]\$'
参数
\d 日期
\H 完整主机名
\h 主机名第一个名字
\t 时间24小时制HHMMSS
\T 时间12小时制
\A 时间24小时制HHMM
\u 当前用户账号名
\v BASH的版本
\w 完整工作目录
\W 利用basename取得工作目录名
\# 下达的第几个命令
\$ 提示字符,root为#,普通用户为$
PS1 > 变量名
$PS1 > 查看变量内容
PS1=新内容 重新赋值
变量赋值,查看
name='chaoge'
echo $name
PS1显示ip地址
export PS1="[\u@\h `/sbin/ifconfig ens33 | sed -nr 's/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'` \w]\$"
语法操作
> #重定向覆盖输出符 如同python的 with open w模式
>> #重定向追加输出符 a 模式
< #重定向写入覆盖符 用在mysql数据导入
<< #不常用
echo 24{1..6}> b.py#覆盖写
cat b.py -n 查看数据并显示行数
echo 24{1..6}>> b.py#添加写
cat b.py -n 查看数据并显示行数
顶点(跟)路径是绝对
不是顶点(根)路径是相对
用户管理 权限
组操作
1.创建组
groupadd test
增加一个test组
2.修改组
groupmod -n test2 test
将test组的名子改成test2
3.删除组
groupdel test2
删除 组test2
4.查看组
4.1 查看当前登录用户所在的组 groups
groups someuser
查看apacheuser所在组
4.2 查看所有组
cat /etc/group
sodu管理员权限
使用sodu权限要修改文件
visudo 编辑sudoers文件
写入
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
chaoge ALL=(ALL) ALL
esc :wq保存
#允许chaoge在任何地方,执行任何命令
用于 需要sudo ls /root 以root身份去运行
sodu知识点扩展
sudo 【选项】【参数】
-b:在后台执行指令;
-h:显示帮助;
-H:将HOME环境变量设为新身份的HOME环境变量;
-k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。
-l:列出目前用户可执行与无法执行的指令;
-p:改变询问密码的提示符号;
-s<shell>:执行指定的shell;
-u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;
-v:延长密码有效期限5分钟;
-V :显示版本信息。
用户分类
root 最高用户
个root管理员就是所有UNIX系统中的超级用户,它拥有最高的系统所有权,
2.查看所有用户组 cat /etc/group
3.cat /etc/passwd 可以查看所有用户的列表
cat /etc/passwd|grep 用户名 #这条命令可以用来精确查找某个用户
sudo命令 管理员权限
普通用户
系统管理员UID为0
系统自带用户是1-999
普通用户是1000之后
etc/passwd 用户信息文件
4.$符号是普通用户命令提示符,#是超级管理员的提示符
创建用户
创建用户的的同时会创建用户组GID
cx 用户名
useradd cx #创建用户cx 创建用户组cx
passwd cx
#查看当前用户
whoami
普通用户可以在临时文件
创建 /tmp默认是临时文件
passwd 用户名 #更改用户密码
查看用户的id属性
uid=0(root) gid=0(root) groups=0(root)
u 当前用户id
gid 用户组id
groups 组
参数
tty 查看当前终端
who am i 仅显示当前用户正在使用的终端和登录时间
w
查看所有终端(功能最全,显示用户名,终端标记,登录时间,负载等信息)
id 用户名 #查看用户的id 和组id
切换用户
su username #切换用户
su - 用户名 #切换用户
用户环境变量
完全切换到新的用户
·····························
root 切换普通不需要密码
su - 普通用户名
普通 切换root需要密码
su - root
删除用户
userdel -rf cx 完全删除用户
-f 强制删除用户
-r 同事删除用户以及家目录
退出登陆
#先看下当前用户(我是谁)
whoami
#切换用户
su - oldboy
#退出用户登录
logout
ctrl + d
文件夹权限
什么是权限
在Linux中,每个文件都有所属的所有者,和所有组,并且规定了文件的所有者,所有组以及其他人对文件的,可读,可写,可执行等权限。
对于目录的权限来说,可读是读取目录文件列表,可写是表示在目录内新增,修改,删除文件。可执行表示可以进入目录
root不会被权限挡住(无视权限)
用户分为三个等级
u (user)属主
g (group)属组
u (others)其他用户(不是属主也不是属组)
- 第一个符号是文件类型
文件是- 文件夹是d
查看权限
Linux权限的观察
使用一条命令查看权限
ls -l /var/log/mysqld.log
1.权限,第一个字母为文件类型,后续9个字母,每3个一组,是三种身份的权限
2.文件链接数
3.文件拥有者-属主
4.文件拥有组-属组
5.文件大小
6.最后一次被修改的时间日期
7.文件名
文件类型
- 一般文件
d 文件夹
l 软连接(快捷方式)
b 块设备,存储媒体文件为主
c 代表键盘,鼠标等设备
文件权限
r read可读,可以用cat等命令查看
w write写入,可以编辑或者删除这个文件
x executable 可以执行
目录权限
r 可以对此目录执行ls列出所有文件
w 可以在这个目录创建文件
x 可以cd进入这个目录,或者查看详细信息
清空权限命令
chmod 0 清空所有人的权限
参数
ls-l 当前文件夹下的详细信息 简写ll
chmod 修改权限
chmod 用户+权限 文件名
chmod o+w 文件名
chmod 可以直接修改数字权限
r4 w2 x1 7
文件权限
文件的读写执行是:
顺序必须是 读写执行
r read 读
w write 写
x exec可执行
- 没有权限
参数详细介绍
[root@s24_linux tmp]# ls -l
#ll
total 0
-rw-r--r--. 1 root root 0 Oct 27 16:36 gg.txt
- 这是一个普通文件, d 代表文件夹 l 代表软连接快捷方式
rw-(users 属主的权限 ) 读 写 权限
r--(group 属组的权限,在这个组里面的人,都有) 只读的权限
r-- ( others 当前登录的用户,和这个文件没关系,就是其他人的身份权限) 只读的权限
修改用户权限
chmod
chmod [身份] [参数] [文件]
u(user) +(添加)
g(group) -(减去)
o(other) =(赋值)
a(all)
增加删除权限
方法一
u user用户 o 其他人权限 g
chmod (chang mode) #修改权限
chmod u+x filename #给文件的user用户,添加x可执行权限
chmod o-r gg.txt #给其他人去掉r的读取权限
方法二 权限与数字转化
属主添加可读可写可执行权限
chmod 700 pyyu.txt
属主可读可写可执行
属组可读可执行
其他人可读可执行
chmod 755 pyyu.txt
文件和文件夹的读写执行
1.文件的读写执行
r cat more less 读取文件内容
w vim echo追加 编辑文件内容
x 可以执行的文件
2.文件夹的读写执行
r ls
w 在文件夹中 mkdir 或者touch等创建文件,必须有x权限才行
x 可以cd进入文件夹
切换属组
chgrp wy filename.txt
#修改文件的属组为wy组
修改文件属主
chown wy filename.txt #修改文件的主人是 wy
加入组
usermod -G 想要加入的组名 加入的组名
#加入组 需要退出会话,重新登陆才能生效
usermod -G gg wy
#把wy组加入gg组
在文件中yy 是复制 p是打印
chagrp 换组
增
touch创建文件
touch xxx.py
1.如果文件已经存在,修改文件的访问时间
2.如果文件不存在,则创建这个文件
cat写入创建文件
cat -n ''
EOF 文件结束标识符
tac 倒序输出
解压 zxvf
[root@localhost tmp]# cat >> music.txt <<EOF
> 左手根我一起画个龙
> 右手捧着一个大碗面
> EOF
#在每一行的结尾加上$符
[root@master tmp]# cat -E 1.txt
mkdir
mkdir oldoy(文件夹名) 创建文件夹
mkdir -p oldoy/3344/oopp
改
sed处理字符的命令
s是替换模式 g 全局替换 -i插入
sed "s/替换的字符/替换成的/g" 路径
示例
找到passwd文件中所有的root替换为大写的ROOT
sed -i "s/root/ROOT/g" passwd
知识点补充
sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。
命令格式
sed [options] 'command' file(s)
sed [options] -f scriptfile file(s)
选项
-e<script>或--expression=<script>:以选项中的指定的script来处理输入的文本文件;
-f<script文件>或--file=<script文件>:以选项中指定的script文件来处理输入的文本文件;
-h或--help:显示帮助;
-n或--quiet或——silent:仅显示script处理后的结果;
-V或--version:显示版本信息。
-i ∶插入, i 的后面可以接字串
sed命令
a\ 在当前行下面插入文本。
i\ 在当前行上面插入文本。
c\ 把选定的行改为新的文本。
d 删除,删除选择的行。
D 删除模板块的第一行。
s 替换指定字符
h 拷贝模板块的内容到内存中的缓冲区。
H 追加模板块的内容到内存中的缓冲区。
g 获得内存缓冲区的内容,并替代当前模板块中的文本。
G 获得内存缓冲区的内容,并追加到当前模板块文本的后面。
l 列表不能打印字符的清单。
n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。
N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。
p 打印模板块的行。
P(大写) 打印模板块的第一行。
q 退出Sed。
b lable 分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。
r file 从file中读行。
t label if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
T label 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
w file 写并追加模板块到file末尾。
W file 写并追加模板块的第一行到file末尾。
! 表示后面的命令对所有没有被选定的行发生作用。
= 打印当前行号码。
# 把注释扩展到下一个换行符以前。
sed替换标记
g 表示行内全面替换。
p 表示打印行。
w 表示把行写入一个文件。
x 表示互换模板块中的文本和缓冲区中的文本。
y 表示把一个字符翻译为另外的字符(但是不用于正则表达式)
\1 子串匹配标记
& 已匹配字符串标记
sed元字符集
^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。
$ 匹配行结束,如:/sed$/匹配所有以sed结尾的行。
. 匹配一个非换行符的任意字符,如:/s.d/匹配s后接一个任意字符,最后是d。
* 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。
[] 匹配一个指定范围内的字符,如/[ss]ed/匹配sed和Sed。
[^] 匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。
\(..\) 匹配子串,保存匹配的字符,如s/\(love\)able/\1rs,loveable被替换成lovers。
& 保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。
\< 匹配单词的开始,如:/\<love/匹配包含以love开头的单词的行。
\> 匹配单词的结束,如/love\>/匹配包含以love结尾的单词的行。
x\{m\} 重复字符x,m次,如:/0\{5\}/匹配包含5个0的行。
x\{m,\} 重复字符x,至少m次,如:/0\{5,\}/匹配至少有5个0的行。
x\{m,n\} 重复字符x,至少m次,不多于n次,如:/0\{5,10\}/匹配5~10个0的行。
sed实际用例
#替换oldboy.txt中所有的oldboy变为oldboy_python
#此时结果输出到屏幕,不会写入到文件
sed 's/oldboy/oldboy_python/' /tmp/oldboy.txt
#使用选项-i,匹配每一行第一个oldboy替换为oldboy_python,并写入文件
sed -i 's/oldboy/oldboy_python/' /tmp/oldboy.txt
#使用替换标记g,同样可以替换所有的匹配
sed -i 's/book/books/g' /tmp/oldboy.txt
#删除文件第二行
sed -i '2d' /tmp/oldboy.txt
#删除空白行
sed -i '/^$/d' /tmop/oldboy.txt
#删除文件第二行,到末尾所有行
sed '2,$d' /tmp/oldboy.txt
#显示10-30行
-p --print
-n --取消默认输出
sed -n '10,30p' /tmp/oldboy.txt
把文件改成可执行文件
chomod 777
cd 跳转
cd ../ 查看父级的目录
cd ~ 返回当前用户的家目录
cd -返回上一次访问的目录
mv(移动和改名)
mv 文件 /文件夹改名
mv x.log xx.log
移动文件 文件夹
mv /home/shahe/oldboy /tmp/chaoyang
mv 文件名 ./路径
mv ppt.mp3
mv 新文件 旧文件
alias 别名
把对应的 命令执行的结果进行替换
alias查看 一些命令执行的相应结果进行修改
alias rm="执行命令"
示例
alias rm="echo 你这个傻蛋,求你别用rm了"
alias rm="echo 你这个大傻子,求求你别用rm了"
alias rm="rm -i" #改回去
unalias 命令 #取消别名
unalias rm
查
du 统计文件夹大小命令
1.ls -h
2.以du命令为准
-h 显示mb gb单位
-s 显示统计
#统计/var/log文件夹大小
3.du -sh /var/log/
/是根目录
./是当前
/* 是根目录下所有
./* 当前所有文件夹
hostname
查看linux网络端口命令
知识点
netstat -tunlp
参数解释:
netstat [选项]
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-l或--listening:显示监控中的服务器的Socket;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-a或--all:显示所有连线中的Socket;
#案例
检查服务器的80端口是否打开
netstat -tunlp | grep 80
#安装nginx,且运行nginx,打开80端口
#安装 yum install nginx -y
#启动 通过yum安装的软件,都可以通过系统服务管理命令,去启动,无论是nginx 还是mariadb等
systemctl start/stop/restart/status nginx
#注意关闭防火墙的命令
systemctl stop firewalld #停止防火墙服务
systemctl disable firewalld #停止防火墙开机自启
iptables -F #清空防火墙规则
netstat -tunlp
监听
master process 工作进行
work process
#检查nginx的端口是否存活
netstat -tunlp |grep nginx
ln 软连接是什么
相当于一个别名
快捷方式
ln -s 目标文件 软连接
ln -s 目标文件 软连接名
1.存在文件/tmp/test.txt
[root@master tmp]# ls -l
-rw-r--r-- 1 root root 10 10月 15 21:23 test.txt
2.在/home目录中建立软连接,指向/tmp/test.txt文件
ln -s /tmp/test.txt my_test
3.查看软连接信息
lrwxrwxrwx 1 root root 13 10月 15 21:35 my_test -> /tmp/test.txt
4.通过软连接查看文件
cat my_test
my_test只是/tmp/test.txt的一个别名,因此删除my_test不会影响/tmp/test.txt,但是删除了本尊,
快捷方式就无意义不存在了
find 查找
#Linux里如何找到需要的文件 例如 oldboy.py
find 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名)
参数
-name 按照文件名查找文件
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录 (文件夹)。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件 (快捷方式)。
f - 普通文件 (文本类型)。
s - socket文件
全局搜索
find / -type 文本类型 -name 文件名(文件夹)
局部搜索
/路径
find /opt -type 文本类型 -name 文件名(文件夹)
#示例
全局搜索以txt结尾的文件
find / -type f '*.txt'
find / -type d -name "python*" #找出磁盘上所有的以python开头的文件夹
示例
find /tmp/ -type f -name "oldboy.py"
#找出/tmp所有以 .txt 结尾的文件
find /tmp/ -type f -name "*.txt"
#找到/etc下所有名字以host开头的文件
find /etc -name 'host*'
#找到/opt上一个名为settings.py
find /opt -name 'settings.py'
cat 查看文件的内容
linux 的结束符都是以$结尾
tac 反向查看文件 从最后一行开始读
cat -n文件 显示文件并带有行数
cat -E 文件 每一行结尾结束符
nl 文件名 一样
cat 文件 只显示文件
显示中文
#!congding:utf-8 加一个头 需要在文件中加一个头信息
写入文件
直接写入文件
cat >> second.py <<EOF
cat >> shi.txt << EOF
cp(拷贝)
cp是个好命令,操作文件前,先备份
cp main.py main.py.bak
使用方法
复制 > copy > cp
#移动xxx.py到/tmp目录下
cp xxx.py /tmp/
#移动xxx.py顺便改名为chaoge.py
cp xxx.py /tmp/chaoge.py
把当前文件夹的内容 拷贝到/opt/tmp_back/
mkdir /opt/tmp_back 创建一个文件夹
cp -R ./* /opt/tmp_back/
Linux下面很多命令,一般没有办法直接处理文件夹,因此需要加上(参数)
cp -r 递归,复制目录以及目录的子孙后代
cp -p 复制文件,同时保持文件属性不变 可以用stat
cp -a 相当于-pdr
#递归复制test文件夹,为test2
cp -r test test2
echo(显示)
1.可以写入文件
echo 打印
echo 24期{1..999} >
echo 打印{1..999}这个是 打印多个
echo {1...999} >>> (写入文件) 1.py
pwd (翻译全称print work directory) ,打印当前工作目录
2.找出当前PATH的值 $是取值符
echo $PATH
3.修改PATH PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
#进行冒号隔开
4.清空文件内容
echo ""> 文件名
ls 查看
ls /路径 ls /opt
ls -l /opt #显示对应文件和目录的详细资料
ls -a 显示指定目录所有子目录与文件,包括隐藏文件
ls -h -l以易于阅读的格式输出文件大小
pwd 显示当前路径
ls -l -a -h /tmp 查看/tmp下全部内容 和全部文件大小
sl命令
好玩的命令
more 分屏显示
more 文件名 分屏分页显示
按下空格space是翻页
按下b键是上一页
回车键向下读取内容
head tail 查看
head 从头看
head -n 4 显示到第四行
默认显示前十行
tail 从末尾开始查
默认显示世行
tail -f 文件名 监测日志的变化
用于 文件变化会实时生成
#示例
tail -f /var/log/py.log
-3 相当于 -n 3
#输出文件的10-20行
head -n 4 '文件名' | tail -n 3
ps查看进程命令
|管道符
ps -ef
ps aux #列出机器所有信息
ps aux |grep "文件名" 进行过滤 # "文件名"有关进程
示例
ps aux | grep "python" #找到机器所有和python有关的进程
grep过滤字符串命令
grep -n "查找内容" 文件名 显示行号
-i 忽略大小写
-v 反转参数(排除我要找的东西)
查找以什么开头^
以什么结尾 $
查找空白符 ^$ 找出空格
|二次过滤 不用再次指定文件名
E 支持正则语法
#示例
找出文件的有用信息行
#去掉注释 grep -v "^#"
#去掉空行 grep -v "^$"
grep -v "^#" filename | grep -v "^$"
删
杀死进程kill
19.杀死进程的命令
#通过进程id 杀死nginx
1. 检查pid ps aux | grep nginx
2.杀死进程id kill id 号码
rm删除
rm
rm -rf /tmp/* 强制删除
rm -i 文件 #删除文件且交互式提示,是否删除 ,系统做了别名,默认加上rm -i
rm -r 文件夹 #递归删除文件夹
rm -f 文件 #强制删除文件,且不提示
清空
clear清除屏幕
> 文件名 清空文件内容
压缩解压缩
压缩
打包 tar -cvf alltmp.tar ./*
-xvf 解包
-zcvf 压缩打包
-zxvf 解压缩包
另一种打包
yum install unzip -y
解压缩 unzip 压缩包
yum包下载
是rpm的升级版 可以把关联软件
下载yum源
21.软件包管理 yum命令
软件包格式都是
mysql-xxx.rpm 软件格式包
rpm -ivh mysql-xxx.rpm #安装rpm软件包
python-xx.rpm
配置yum源的过程
centos的默认yum仓库路径是 /etc/yum.repos.d ,在这目录下,第一层文件夹中的repo文件会识别为仓库文件
1.获取阿里云的yum源
打开网址https://opsx.alibaba.com/mirror
2.找到第一个仓库
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3.下载第二个仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
4.生成yum缓存,加速以后下载
yum makecache
相当于python的pip3装模块
yum 内置的模块
例如 yum install vim -y
yum install wget
因为yum包里的东西不会自动清空
清除YUM缓存。
yum clean all
文件操作
vim 文本编辑器升级版
1. vi或者vim 文件名 #打开文件,进入命令模式
2. 输入 a i o ,其一的字符,进入编辑模式
a append 在光标后开始写入
i insert 在光标当前位置开始编辑
o 在光标下一行开始编辑
3.代码写完后,退出编辑模式,按下esc,回到命令模式
4.输入 冒号,进入底线命令模式
:q 直接不保存退出
:q! 不保存强制退出
:wq 保存退出
:wq! 强制写入内容且退出
top任务管理器
top 可以显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
显示
top命令
top 命令用于动态地监视进程活动与系统负载等信息
我们来分析一下图片信息
统计信息区
第一行 (uptime)
系统时间 主机运行时间 用户连接数(who) 系统1,5,15分钟的平均负载
第二行:进程信息
进程总数 正在运行的进程数 睡眠的进程数 停止的进程数 僵尸进程数
第三行:cpu信息
1.5 us:用户空间所占CPU百分比
0.9 sy:内核空间占用CPU百分比
0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比
97.5 id:空闲CPU百分比
0.2 wa:等待输入输出的CPU时间百分比
0.0 hi:硬件CPU中断占用百分比
0.0 si:软中断占用百分比
0.0 st:虚拟机占用百分比
第四行:内存信息(与第五行的信息类似与free命令)
- 8053444 total:物理内存总量
- 7779224 used:已使用的内存总量
- 274220 free:空闲的内存总量(free+used=total)
- 359212 buffers:用作内核缓存的内存量
第五行:swap信息
8265724 total:交换分区总量
33840 used:已使用的交换分区总量
8231884 free:空闲交换区总量
4358088 cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。
参数
-b 批处理
-c 显示完整的治命令
-I 忽略失效过程
-s 保密模式
-S 累积模式
-d<时间> 设置间隔时间
-u<用户名> 指定用户名
-p<进程号> 指定进程
-n<次数> 循环显示的次数
查看文件特殊权限的命令
查看 chattr设置的命令
lsattr 文件名
lsattr test.py
---i-------- /etc/resolv.conf
设置文件特殊权限的命令
chattr +i 文件名 #加锁 #root用户都没有这个权限
chattr -i 文件名 #去掉锁
#让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件
chattr +a /var/log/messages
data更新下系统事件
yum ntpdate 需要下载模块
ntpdate 服务器ip
yum install ntpdate -y
ntpdate ntp.aliyun.com #和阿里提供的时间服务器,进行时间同步
在线下载wget
yum install wget
wget -r -p yum install ntpdate -y
ntpdate ntp.aliyun.com #和阿里提供的时间服务器,进行时间同步
关机命令
shutdown 关闭服务器
reboot命令用于重启机器
poweroff用于关闭系统
scp远程传输
Linux scp命令用于Linux之间复制文件和目录
scp 你想要的内容 传输到哪里
两个机器进行连接 需要把网络连接变成桥接
语法
scp 你想要的内容 传输到哪里
[当前在机器1]
#把我本地的机器1的/tmp/刚哥.txt 发到远程机器的/opt/目录下
scp /tmp/刚哥.txt root@机器的ip:/opt/
#把自己的东西发给别人
#把本地的first.py 发送给root@192.168.16.105这个机器,然后
1.如果data文件夹存在,则放入data文件夹中
2.如果没有data这个文件夹,则把first.py改名为data
scp ./first.py root@192.168.16.105:/data
#把别人的东西拿过来 # root@192.168.16.105:/data/钢哥的小秘密.txt
scp root@192.168.16.105:/data/钢哥的小秘密.txt /opt
#发送所有的文件和文件夹给别人
把当前目录所有 发给 @192.168.16.105对应目录下的data目录
scp -r ./* root@192.168.16.105:/data/
知识点扩展
W开头的命令
which
查找并显示给定命令的绝对路径。
用于查找命令
用法
语法
which [-a] filename ...
which 文件名
简介
which命令 用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
which 是根据使用者所配置的 PATH 变量内的目录去搜寻给定命令的绝对路径。如果所给出的命令是shell 内嵌命令的话,命令是无法给出绝对路径。且命令执行失败。
示例
root@LeeMumu:~# which man
/usr/bin/man
root@LeeMumu:~# which ls
/bin/ls
root@LeeMumu:~# echo $?
root@LeeMumu:~# which cd
root@LeeMumu:~# echo $?
which python
#usr/bin/python
whereis
简介
查找二进制程序、代码等相关文件路径。
whereis 文件 #查找出相关属性名
详细介绍
whereis命令 用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径。
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。 但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。
语法
whereis [options] [-BMS directory... -f] name...
选项
-b # 只查找二进制文件
-B<目录> # 只在设置的目录下查找二进制文件
-f # 不显示文件名前的路径名称
-m # 只查找说明文件
-M<目录> # 只在设置的目录下查找说明文件
-s # 只查找原始代码文件
-S<目录> # 只在设置的目录下查找原始代码文件
-u # 查找不包含指定类型的文件
示例
root@LeeMumu:~# whereis man
man: /usr/bin/man /usr/local/man /usr/share/man /usr/share/man/man7/man.7.gz /usr/share/man/man1/man.1.gz
root@LeeMumu:~# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
root@LeeMumu:~# whereis -b ls
ls: /bin/ls
whereis ls 会打印出对应的路径和压缩文件
#ls:/user/bin/ls /usr/share/man/man1/ls.1.gz
which ls #usr/bin/ls
which cd 会输出对应绝对路径#/usr/bin/cd
who
要显示关于谁正在使用本地系统节点的信息
显示目前登入系统的用户信息。
要显示当前用户名whoami root
whoami 我是谁 查看当前用户明
定时任务
1.检查定时任务列表
crontab -l
2.设置定时任务
crontab -e
#语法 ,每分钟向一个文件中,追加一个信息
知识点
命令要写绝对路径
不写 就是*
- 区间
,第几和第几
练习
查看命令的绝对路径
which rm -a
#每分钟执行一次命令
* * * * * 命令的绝对路径
#每小时的3,15分组执行命令
* * * * * 命令的绝对路径
3,15 * * * *
#在下午8-11点的第3和第15分钟执行
* * * * * 命令的绝对路径
3,15 20-23 * * *
3,5 5-9(早上五点,6点,7点,8点,9点)
第三分钟和第五分钟
#每晚21:30执行命令
* * * * * 命令的绝对路径
30 21 * * *
#每晚的12点执行命令
0 0 * * *
#每周六、日的1:30执行命令
* * * * * 命令的绝对路径
30 1 * * 6,0
#每周一到周五的凌晨1点,清空/tmp目录的所有文件
* * * * * 命令的绝对路径
0 1 * * 1-5 /usr/bin/rm -rf /tmp/*
#每晚的21:30重启nginx
* * * * * 命令的绝对路径
30 21 * * * /usr/bin/systemctl restart nginx
#每月的1,10,22日的下午4:45重启nginx
* * * * * 命令的绝对路径
45 16 1,10,22 * * /usr/bin/systemctl restart nginx
#每个星期一的上午8点到11点的第3和15分钟执行命令
* * * * * 命令的绝对路径
3,15 8-11 * * 1
引用云仓库
用linux传输到windows
yum install lrzsz 下载模块
支持拖拽
sz 传输
rz 接收
vim和vi
vi是linux 内置的文本编辑器
vim 是具有程序编辑能力的编辑器
使用
vim 需要yum install vim -y
写y 直接同意 如果不写y会有判断 是否同意
安装之后
vi 和vim一样
命令模式
1.vi 打开进入文件内部
2.进入命令模式
#命令模式
3.输入i insert
a append
o 光标下一行
4.按下esc回到命令模式
5.输入:进入底线命令模式
6.输入
#底线命令模式
:wq保存退出
:q退出
:wq保存退出
:wq!强制写入内容且推出
:!q强制退出
:wq!强制写入
#输入模式
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
参数
w 是下一个
b 是上一个
结尾是$ 开头0
行尾 G 行尾 g
命令模式/从前往后找 查找 ?从后往前找
查找到了用字母n 查找下一个
shift +5 就是% 查看括号的另一半
想要复制的行数 yy p复制
x删除光标当前字符
u是撤销
dd删除所在行
dG 删除当前行和下面的所有行
cu 列出行号
:加上行号 就可以找到对应的行数
#注意不要在第一行输入赋值内容 容易查询
vim 文件名 vi文件名
vi/vim编辑器,编辑文件
执行 vim的
#coding=utf-8 可以识别中文
gcc执行代码
一.安装(基于Centos6.5, 其他系列Linux系统命令有所不同)
yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
yum -y install wget httpd-tools vim
1.就把gcc当成c语言编译器, g++当成c++语言编译器用就是了.(知乎)
2.wget是一个从网络上自动下载文件的自由工具, 可以在用户退出系统的之后在后台继续执行, 直到下载任务完成.(百度百科)
二.测试(查看版本信息, 编译Helloworld)
1.查看gcc版本信息
gcc --version
2.编写Helloworld
创建名为ctest.c文件
touch ctest.c
编辑该文件
#include <stdio.h>
int main()
{
printf("hello world!\n");
return 0;
}
编译gcc ctest.c
可以看到生成了a.out文件
执行a.out
./a.out
输出结果
tar打包,压缩命令
打包命令
tar
参数
-z 调用gzip压缩
-x 解包
-c 打包
-v 显示过程
-f 必须写参数结尾,指定tar包的名字
tar zcvf 打包到的路径 被打包的路径
tar -cvf 打包
案例
1.把/tmp下所有内容打包成 alltmp.tar 文件
tar -cvf alltmp.tar /tmp/*#打包
2.解包的命令,把alltmp.tar的内容,解压缩到/tmp目录下
tar -cvf alltmp.tar
3.打包且压缩的命令,能够节省60%-70%磁盘空间
tar -zcvf alltmp.tar.gz ./*
4.解压缩命令
tar -xjf ../alltmp.tar.gz ./
17.另一个打包命令 zip,解包命令unzip
杀死进程
杀死进程的命令
#通过进程id 杀死nginx
1. 检查pid
ps aux | grep nginx
2.杀死进程id
kill id 号码
DNS
配置文件
cat /etc/resolv.conf
#dns服务器地址
nameserver 119.29.29.29
nameserver 223.55.5
查看Linux的dns,唯一配置文件
配置文件
cat /etc/resolv.conf#dns服务器地址
nameserver 119.29.29.29
nameserver 223.5.5.5
本地强制dns解析文件/etc/hosts
指定本地解析:
/etc/hosts
主机IP 主机名 主机别名
127.0.0.1 www.pyyuc.cn
上课笔记
重点记忆
问题
如果没有网络怎么办
1.如果没有ifconfig命令怎么办
- 使用内置的命令
ip addr show #查看网络信息对应的ip
配置好网络后,安装网络工具包
yum install net-tools -y #
2.如果使用ifconfig看不到ip地址的话,那就得重启网络服务
3.重启网络的步骤
-确保配置文件正确配置
vim /etc/sysconfig/network-scripts
确保onboot=yes即可
4.重启网络服务
systemctl restart network
sk 问题
1.服务器有哪些硬件?
主板,CPU,CPU风扇,网卡,显卡,内存,声卡,硬盘,电源模块
2.内存,CPU,硬盘的作用?
内存:RAM,CPU与磁盘之间的缓冲设备,也叫临时储存器
CPU:进行运算,逻辑处理
硬盘:数据存储介质,可以永久存储数据信息
3.服务器常见品牌?
IBM 浪潮 DELL 联想 HP
4.操作系统的作用?
计算机系统中必不可少的基础系统软件,它是应用程序运行及用户操作必备的基础环境支撑
5.开源软件的特性,以及开源许可的协议
低风险、高品质、低成本、更透明
许可协议:Apache许可证,MIT许可证,BSD许可证,GPL许可证,Mozilla许可证,LGPLL许可证
6.linux优点
免费、开源、稳定性强、对数据处理更加友好
使用linux的好处是自由传播,免费,不会犯法,任意切换图形/命令终端,安全稳定,不用杀毒软件,不卡
7.说出常见的linux发型版
RedHat、CentOS、openSUSE、Debian、Ubuntu、
8.用虚拟机学linux的好处是?
1.利用虚拟机搭建Linux学习环境简单方便、容易上手,最重要的是虚拟机模拟的Linux和真实服务器几乎无区别
2.搭建Linux集群或者需要模拟多台服务器通信的时候,可以同时开启好几台虚拟机
3.免费搭建Linux环境,不需要自己花钱租服务器
4.需该虚拟机配级方便快捷
资源
1.查看linux的path变量
echo $PATH
2.简述linux的文档目录结构
/ 根目录是顶级目录
/opt
/etc
/usr/bin
绝对 从顶级根目录开始找到当前位置
相对路径 只要不是绝对路径,就是相对路径
linux目录格式是一个倒过来的树形目录
3.递归创建文件夹/tmp/oldboy/python/{alex,wusir,nvshen,xiaofeng}
mkdir -p /tmp/oldboy/python/{alex,wusir,nvshen,xiaofeng}
4.显示/tmp/下所有内容详细信息
ls -la /tmp/*
5.简述 / ~ - 的含义
/ 在开头是根目录 ,在第二个位置起,就是目录分隔符
~ 用户家目录
- 上一次工作目录
6.请简述你如何使用vi命令
1. vi 文件
2. 输入i 进入编辑模式
3. 输入内容,写东西
4. 按下esc ,推出命令模式,输入冒号 :wq! 强制写入内容保存并且退出vim
7.查看/etc/passwd的内容并且打印行号
cat -n /etc/passwd
8.查看文本有哪些命令?
cat tac head tail more less
9.linux xshell常用快捷键?
ctrl + l 等于clear
ctrl + d 快速logout
ctrl + shift + r 等于快速登录
10.如何用echo清空一个文件?
echo > filename
11.复制/tmp/下所有内容到/home,在修改文件前,先拷贝一份,防止内容被破坏
cp -r /tmp/* /home/ # -r递归子目录拷贝内容
12.重命名test.py为my.py
mv test.py my.py
13.强制删除/tmp下内容
rm -rf /tmp/ #删除tmp整个文件夹
rm -rf /tmp/* #删除tmp文件夹中所有内容
14.找到服务器上的settings.py
find 从哪找 名字叫什么
find / -ty -name settings.py
15.找到/etc下的网卡配置文件,提示网卡配置文件名是ifc开头
find /etc -type f -name "ifc*"
这里题目,请先cp /etc/passwd /tmp/ 拷贝文件
16.过滤出/tmp/passwd下有关root的信息
grep 过滤命令
grep 你想要什么 从那个文件中过滤
grep -i "root" /tmp/passwd # -i参数是忽略大小写
17.过滤出/tmp/passwd下除了/sbin/nologin的信息,且打印行号
#从/tmp/passwd这个文件中,找出,除了/sbin/nologin这个信息的行
grep -v "/sbin/nologin" /tmp/passwd # -v是排除的意思
#去掉空白和注释行
grep -v "^$" passwd | grep -v "^#"
18.查看/tmp/passwd前25行
head -25 /tmp/passwd
19.查看/tmp/passwd后3行
tail -3 /tmp/passwd
20.不间断打印/var/log/py.log的信息
tail -f /var/log/mysql.log
21.替换/tmp/passwd中的所有root为ROOT
#sed处理字符的命令
#语法,s是替换模式,g是全局替换
#
sed "s/你想替换的内容/替换之后的内容/g"
#把passwd文件中所有的root替换为大写的ROOT, -i参数是将替换结果写入到文件
sed -i "s/root/ROOT/g" passwd
23.配置rm别名为“禁止你用rm,谢谢”,然后取消别名
alias rm="echo 常鑫,禁止你使用rm,求求你了"
24.将服务器1的/tmp/my.py远程传输到服务器2的/opt/目录下
#此时我在服务器2上
scp 你想要的内容 你想放到哪里去
scp root@服务器1ip:/tmp/my.py /opt/
25.将服务器2的/opt/test.py拷贝到服务器1的/home目录下
#此时我在服务器2上
scp root@服务器2ip:/opt/test.py root@服务器1ip:/home/
26.统计/var/log/文件夹大小
du -sh /var/log/ # -s 合计结果 -h 显示 mb gb单位
27.简述top的常见参数
28.给settings.py加锁,禁止删除
chattr +i settings.py
29.同步服务器时间到ntp.aliyun.com
ntpdate -u ntp.aliyun.com # -u 更新时间
30.下载http://pythonav.cn/xiaobo.jpg图片
wget http://pythonav.cn/xiaobo.jpg
明天总攻击
16.打包,压缩命令
打包命令
tar
参数
-z 调用gzip压缩
-x 解包
-c 打包
-v 显示过程
-f 必须写参数结尾,指定tar包的名字
1.案例
把/tmp下所有内容打包成 alltmp.tar 文件
tar -cvf alltmp.tar ./*
2.解包的命令,把alltmp.tar的内容,解压缩到/tmp目录下
3.打包且压缩的命令,能够节省60%-70%磁盘空间
tar -zcvf alltmp.tar.gz ./*
4.解压缩命令
tar -zxvf ../alltmp.tar.gz ./
17.另一个打包命令 zip,解包命令unzip
18.查看linux网络端口的命令
netstat -tunlp
参数解释:
netstat [选项]
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-l或--listening:显示监控中的服务器的Socket;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-a或--all:显示所有连线中的Socket;
#案例
检查服务器的80端口是否打开
netstat -tunlp | grep 80
#安装nginx,且运行nginx,打开80端口
#安装 yum install nginx -y
#启动 通过yum安装的软件,都可以通过系统服务管理命令,去启动,无论是nginx 还是mariadb等
systemctl start/stop/restart/status nginx
#注意关闭防火墙的命令
systemctl stop firewalld #停止防火墙服务
systemctl disable firewalld #停止防火墙开机自启
iptables -F #清空防火墙规则
19.杀死进程的命令
#通过进程id 杀死nginx
1. 检查pid
ps aux | grep nginx
2.杀死进程id
kill id 号码