Linux01_基本指令


# Linux系统

### 一、简介

##### 1、操作系统

~~~markdown
操作系统(Operating System,简称OS)是管理和控制计算机的硬件和软件资源的计算机`程序`,是直接运行在裸机上的基本的系统软件,任何其它的软件都必须在操作系统的支持运行。

操作系统负责管理与配置的计算机的`内存`、决定系统资源的优先次序、控制输入与输出设备、操作网络及管理文件系统等
~~~

~~~markdown
安装PC机上操作系统:
1. Windows操作系统  95 98 2000 2003 xp 7 vista 8 10
2. Mac os x操作系统 10.5 10.6 10.7(lion) 
3. Linux/Unix操作系统 - 后续讲解

安装在移动设备上的操作系统(移动端操作系统):
1. Android 开源 
2. iOS 
3. 塞班 
4. black berry 
5. windows phone
6. 华为 等
~~~

~~~markdown
项目阶段:1. 开发阶段  2.上线运行阶段
项目开发阶段,一般都会选择Windows操作系统或苹果操作系统(比较少),但项目上线后或项目部署时,一般都会选择将项目运行在Linux/Unix操作系统上,而不是Windows系统  
~~~



##### 2、Linux系统

~~~markdown
1. Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于posi协议和unix的多用户、多任务,支持多线程和多CPU的操作系统。


2. 操作系统两大阵营:Windows系统 和 Unix的衍生系统(Linux、Mac os x)

3. Unix操作系统和Linux操作系统的区别:
    Unix操作系统是受知识产权保护
    Linux是免费的,开源的 
~~~

- Linux系统的特性:

~~~markdown
- 开放性
- 多任务:同时执行多个任务,同时运行多个程序
- 多用户:可以存在多个用户,并且可以为不同的用户分配不同的资源、存储空间、权限等
- 良好的界面:Linux同时拥有图形界面和字符界面 (学习期间:字符界面 项目部署:字符界面 指令)
- 丰富的网络功能:Linux在通信和网络功能方面优于其它操作系统
- 可靠的系统安全: 安全性较高
- 良好的可移植性

# 总结:免费、安全、可靠、稳定、 多平台
~~~



![53234908061](D:\资料\第二阶段 Web全栈\04 Linux\Linux-notes\Linux_pic\1532349080616.png)

##### 3、Linux系统安装

~~~markdown
双系统(Linux和Windows同时存在,开机选择操作系统):
    优点:每次打开的是一个系统,独占系统资源
    缺点:切换系统不方便,需要重启电脑再重新选择操作系统
    
虚拟机(借助工具 VMware workstation来安装Linux系统):
    优点:系统切换很方便
    缺点:同时运行着两个系统,占用的系统资源比较多,要求电脑的配置要更高(内存>=4G)
~~~



##### 4、Linux目录结构

~~~markdown
Windows系统是在C盘中,也分了其它的盘,C、D、E、F盘 盘符 C:/users/Mr_lee

在Linux系统中,没有盘符的概念,只有一个根目录 / 系统中所有的文件都是/的子目录或子目录的子目录

目录结构:

- bin  
        二进制的可执行文件 类似于windows中的exe文件 
- sbin
        二进制的可执行文件 要求root用户才能访问
- home
        存放用户的目录 /home/Mr_lee  普通用户
- root
        超级管理员的目录 /root
- tmp
        临时文件
- usr
        存放共享的资源
- var
....
~~~



##### 5、Linux的Shell

~~~markdown
1. Shell是用于给用户输入指令,它是系统的用户界面,给用户提供了与计算机内核进行交互的一种接口。

2. Shell会接收用户输入的指令,需要将这些指令解释(翻译)给计算机(计算机只能识别二进制码),计算机作出响应给用户。

3. Shell是一个命令行解释器。

Python解释器是分版本:CPython 、JPython、PyPy
Shell也是分版本的:
    Bourne Shell
    BASH 是GUN操作系统默认的Shell
    Korn Shell
    C Shell
~~~



### 二、Linux的基本命令

##### 1、简单的几个命令

~~~markdown
1. ls
        显示当前目录下的文件清单 -- list

2. cd 
        切换目录,改变当前的工作目录  -- change directory
    几个特殊的目录:
         [root@Mrlee ~]# cd /      切换到根目录
         [root@Mrlee /]# cd ~      切换到用户家目录/主目录,如果是root用户,则~表示/root
                                  如果是普通用户,~表示 /home/用户名
         [root@Mrlee ~]# cd ..    上一级目录
         [root@Mrlee ~]# cd .      当前目录
         
         如果要回到上上级  cd ../..
         
3. pwd
        打印当前的工作目录  print working directory
        

4. man 
        查看帮助文档  man pwd 按q键退出
~~~



##### 2、文件操作基本命令

###### 2.1 ls命令

~~~markdown
作用:显示当前目录下文件清单

两种用法:
1. 直接输入ls 回车
        [root@Mrlee ~]# ls    显示当前目录下的文件清单
    
2. 输入ls + 路径
        [root@Mrlee ~]# ls /usr  显示指定路径下的文件清单
        
# 关于路径:
       (1) 绝对路径:从头开始的完整路径  /usr/local/1.txt 
               如果是绝对路径,当前处在什么路径下,没有影响
               
   (2)相对路径: 相对于某个目录(当前目录)  local/1.txt
               如果是相对路径,则和当前处在什么位置有关               
~~~

- 带参数
  - `[root@Mrlee ~]# ls -a `   显示所有文件,包括隐藏文件  all 以.开头的文件
  - `[root@Mrlee ~]# ls -l  `  显示文件的详细信息 long 长信息
  - `[root@Mrlee ~]# ls -R`    递归显示目录的文件包括子文件
  - `[root@Mrlee /]# ls -laR` 多参数结合使用  



###### SecureCRT远程连接工具使用

~~~markdown
# SecureCRT的安装与破解
1. 右键以管理员身份运行`scrt83-x64.exe` 
        直接安装即可 安装过程中,可以选择 Custom选择安装位置

2. 将注册机,复制到SecureCRT的安装目录, 使用管理员身份运行 `keygen.exe` 

3. 打开注册机后,点击`Patch`,自动弹出窗口,选择.exe文件即可 - 点击'确定',又弹出一个窗口,还是点击.exe文件,点击确定即可

4. 打开SecureCRT,将注册机上的相关信息复制到SecureCRT中即可。

5. 最后一步时,选择Without ....
~~~



###### 2.2 mkdir/rmdir命令

~~~markdown
1. mkdir 
        创建目录 make directory
        eg: mkdir homework
    其它用法:
        mkdir -p a/b/c 连续多级目录
        mkdir day{01..99}  day01 day02 .. day99

2. rmdir 
        删除目录  remove directory
         eg: rmdir homework
         
# rmdir 只能删除空目录,不能删除非空目录     
~~~



###### 2.3 rm命令

~~~markdown
作用:删除目录或文件 

1. 删除文件
        - rm   文件名(文件的路径)
        - rm -i 文件名  提示作用 -- 交互模式 
        - rm -f 文件名  强制删除  force 

2. 删除目录         
        - rm -r 目录名
# rm删除目录,必须加-r参数 表示 递归删除        
~~~

**补充**:` touch 文件名,如touch 1.txt 创建一个1.txt文件`



###### 2.4 cp命令

~~~markdown
作用: 拷贝文件或目录 

cp 原文件名  新文件名 
    eg:  cp hello.py hello2.py
         cp hello.py  homework
         cp hello.py  homework/1.py

cp -r 原目录名 新目录名
        cp -r homework homework2
# 注意:拷贝目录,必须加-r         
~~~



###### 2.5 mv命令

~~~markdown
作用:移动文件或目录 

mv 原文件名 新文件名 
    eg:  mv hello.py a.py   改名
         mv hello.py homework/      移动到homework下
         mv hello.py homework/a.py  移动到homework下并改名
         
mv 原目录名  新目录名
    eg:  mv homework homework2
    
# 注意:移动目录,不需要加-r     
~~~



###### 2.6 通配符

~~~markdown
1. * 表示可以匹配任意多个字符
    rm -rf day*
    rm -rf *    不要随便使用
    
2. ? 只能匹配一个字符串
    rm -f ??? 删除字符个数3的文件
    rm -f *.* 删除有后缀的文件
~~~



##### 3、显示文件内容

###### 3.1 cat命令

~~~markdown
作用:显示文件的内容在屏幕上
用法: cat 文件名  cat /etc/yum.conf
~~~

###### 3.2 more和less命令

~~~markdown
作用:分屏显示 按空格翻页
more /etc/yum.conf
less /etc/yum.conf   - 按q键退出
~~~

###### 3.3 head/tail命令

~~~markdown
head显示文件的前10行
tail显示文件的后10行

head /etc/yum.conf  
tail /etc/yum.conf
~~~



##### 4、搜索文件内容grep

~~~markdown
作用:根据关键字搜索并显示关键字所在的行 
用法: grep 关键字 文件名  
grep you /etc/yum.conf

- 关键字中有空格
    grep "if you" /ect/yum.conf
- 带参数
    grep -i YOU /etc/yum.conf  对大小写不敏感(不区分大小写)
    grep -v you /etc/yum.conf  显示不匹配的行
    grep -n you /etc/yum.conf  显示匹配的行号 
    grep -c you /etc/yum.conf  显示匹配的总行数 
~~~



### 三、文件属性

##### 1、改变文件权限

~~~markdown
查看文件权限:
    [root@Mrlee ~]#  ls -l 
    -rw-r--r--. 1 root root 0 Oct 21 17:11 1.txt
    -rw-r--r--. 1 root root 0 Oct 21 17:26 hello.py
    drwxr-xr-x. 2 root root 6 Oct 21 17:26 homework
    
# 第一列:表示是否为目录  目录为d  文件为-
# 第一组(2-4列):用户自己的权限 user - u
# 第二组(5-7列):同组人的权限  group - g
# 第三组(8-10列):其它人的权限 other - o

# r(read):表示可读权限
# w(write): 表示可写权限
# x(execute): 表示可执行权限     
~~~



~~~markdown
修改文件权限:
    [root@Mrlee ~]#  chmod ugo+rwx homework  
    
增加权限: +
移除权限: -
赋值权限: =
    [root@Mrlee ~]#  chmod a=r homework  
    
    
更高级的修改权限:
    [root@Mrlee ~]#  chmod 754 homework 
    
数字最小为0 最大为7
其中: r为4 (2^2)  w为2(2^1)  x为1(2^0)
~~~



### 四、进程

##### 1、ps命令

~~~markdown
作用: 查看进程  process
[root@Mrlee ~]# ps

- 带参数
    ps -aux 查询所有正在运行的进程 
    ps -ef  查询所有正在运行的进程(可以看到父进程的id) 
    ps -ef | grep uwsgi 查看uwsgi的进程
~~~



##### 2、top命令

~~~markdown
作用:动态显示进程

[root@Mrlee ~]# top
~~~



##### 3、kill命令

~~~markdown
作用:关闭进程 
[root@Mrlee ~]#  kill pid(进程号)

- 带参数:
[root@Mrlee ~]#  kill -9 pid        # 强制关闭进程
~~~



##### 4、补充:管道

~~~markdown
在所有进程中,查找某一个进程的id

管道:连接两个命令的输入和输出,将一个命令的输出作为另一个命令的输入 

eg: 
    ps -ef | grep bash   在所有的进程中查找bash进程
~~~

##### 5、杀死筛选出来的指定进程

~~~linux
ps -ef | grep 筛选关键字 | grep -v grep | awk '{print "kill -9 "$2}'|sh
~~~



### 五、vi文本编辑器

##### 1、简介

~~~markdown
1. vi命令是Linux/Unix中最通用的全屏幕文本编辑器。

2. vi有两种模式:
        (1)编辑模式
        (2)命令行模式
        
3. 使用 
        vi 文件名  如果文件存在,则打开文件,文件不存在会创建一个新的
        
4. 进入编辑模式:【i/I,a/A,o/O,r/R】
   切换到命令行模式: ESC
   执行保存/退出的命令:【:wq,:q,:q!,:w】
~~~



##### 2、保存退出

~~~markdown
以下的命令,需要在命令行模式下执行:

:w  保存
:q  退出 (如果修改了文件内容,则无法退出)
:q! 强制退出 (会丢失修改的内容)
:wq 保存并退出
~~~



##### 3、编辑模式

~~~markdown
从命令行模式进入编辑模式:
i  : 在光标所处的位置插入  insert 
I  : 在行首插入
a  : 在光标的下一个位置插入 after 
A  : 在行尾插入
o  : 在光标的下一行插入   other
O  : 在光标的上一行插入
~~~



##### 4、删除、复制、粘贴、撤消

~~~markdown
dd :删除光标所在的一整行  (剪切)
ndd : 删除n行  n表示数字  3dd 删除光标所在的行向下3行
yy :复制光标所在的一整行
nyy : 向下复制n行
p : 在光标的下一行粘贴
P : 在光标的上一行粘贴
u  : 撤消  (undo)

shift + g : 光标移动到最后一行
shift + GG : 光标移动到第一行
~~~



##### 六、网络

##### 1、查看ip地址

~~~markdown
[root@Mrlee ~]# ip addr  
2: ens33:    inet 192.168.79.128/24 
~~~



##### 2、设置虚拟机ip

~~~markdown
# 如果没有ip地址
1. 修改配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33 将其中的ONBOOT = yes

2. 重启网络服务
systemctl restart network

# 或 如果改完后依然没有ip 
# 还原虚拟机的网络设置
1. 先关闭linux系统
2. 在VMWare的菜单项目的 【编辑】-> 【虚拟网络编辑器】 -> 【vmnet8】 - 【 还原默认设置】

# 或 如果改完上面的还是没有ip 建议重装Linux系统
~~~



##### 3、防火墙

~~~markdown
1. 查看防火墙状态
        systemctl status firewalld

2. 关闭防火墙
        systemctl stop firewalld
        
3. 启动防火墙
        systemctl start firewalld
~~~



##### 4、修改主机名

~~~markdown
vi /etc/hostname
~~~



##### 5、修改hosts文件

~~~markdown
vi /etc/hosts 
~~~



### 七、服务

~~~markdown
# 查看服务的命令
systemctl start / stop / status / restart  服务名 

# 设置服务自动启动/关闭

查看服务的启动方式:
[root@Mr_lee ~]# systemctl list-unit-files --type service

# 开机不启动
[root@Mr_lee ~]# systemctl disable 服务名

# 开机启动
[root@Mr_lee ~]# systemctl enable 服务名
~~~



### 八、软件安装

##### 1、rpm命令

###### 1.1 rpm文件简介

~~~markdown
rpm文件类似于windows中的.exe文件一样,各种文件已经编译好,打包好了,我们只需要在图形界面双击安装即可。

但是在字符界面中,需要使用rpm命令来安装.rpm文件
~~~

###### 1.2 rpm命令使用

~~~shell
1. 查询所有已安装的软件包的包名
    [root@Mrlee ~]# rpm -qa   
    
2. 查询软件包的安装位置 q:query  l:location
    [root@Mrlee ~]# rpm -ql python
    
3. 查询软件包的安装信息
    [root@Mrlee ~]# rpm -qi python
    
4. 安装rpm文件    
    [root@Mrlee ~]# rpm -ivh xx.rpm
    
5. 搜索某个安装的软件包的完整包名
    [root@Mrlee ~]# rpm -qa | grep python
    
6. 卸载软件包
    [root@Mrlee ~]# rpm -e 完整的包名
~~~



##### 2、tar命令

~~~markdown
作用:解压缩文件
参数:
    -c 压缩文件
    -x 解压文件
    -z 格式为gzip
    -v 显示执行的文件列表
    -f 要操作的文件
    
[root@Mrlee ~]# tar -zxvf xx.tag.gzip    
~~~



##### 3、yum命令

~~~markdown
类似于pip指令  

基于rpm包的管理命令,能够从指定的服务器去自动下载rpm包并且去安装
yum是centos系统独有的命令,在使用时必须要有外网环境,并且安装软件时会自动下载该软件所需要的其它的依赖文件

yum install 软件名
~~~

### 九、查看端口占用情况

1、查看某个端口占用情况

~~~linux
netstat -anp | grep 端口号
~~~

2、查看当前所有已经使用的端口情况

~~~linux
netstat -nultp
~~~

### 十、创建新用户

~~~markdown
# 创建用户
adduser 用户名
# 修改用户密码
passwd 用户名
# 赋root权限
usermod -g root 用户名

# 切换用户
su 用户名

# 删除用户username
userdel username
# 删除用户username所在目录
rm -rf username     
~~~

~~~markdown
# 添加用户组
groupadd groupname 
# 删除用户组
groupdel groupname  
~~~


~~~

# Linux系统
### 一、简介
##### 1、操作系统
~~~markdown操作系统(Operating System,简称OS)是管理和控制计算机的硬件和软件资源的计算机`程序`,是直接运行在裸机上的基本的系统软件,任何其它的软件都必须在操作系统的支持运行。
操作系统负责管理与配置的计算机的`内存`、决定系统资源的优先次序、控制输入与输出设备、操作网络及管理文件系统等~~~
~~~markdown安装PC机上操作系统:1. Windows操作系统  95 98 2000 2003 xp 7 vista 8 102. Mac os x操作系统 10.5 10.6 10.7(lion) 3. Linux/Unix操作系统 - 后续讲解
安装在移动设备上的操作系统(移动端操作系统):1. Android 开源 2. iOS 3. 塞班 4. black berry 5. windows phone6. 华为 等~~~
~~~markdown项目阶段:1. 开发阶段  2.上线运行阶段项目开发阶段,一般都会选择Windows操作系统或苹果操作系统(比较少),但项目上线后或项目部署时,一般都会选择将项目运行在Linux/Unix操作系统上,而不是Windows系统  ~~~


##### 2、Linux系统
~~~markdown1. Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于posi协议和unix的多用户、多任务,支持多线程和多CPU的操作系统。

2. 操作系统两大阵营:Windows系统 和 Unix的衍生系统(Linux、Mac os x)
3. Unix操作系统和Linux操作系统的区别:Unix操作系统是受知识产权保护Linux是免费的,开源的 ~~~
- Linux系统的特性:
~~~markdown- 开放性- 多任务:同时执行多个任务,同时运行多个程序- 多用户:可以存在多个用户,并且可以为不同的用户分配不同的资源、存储空间、权限等- 良好的界面:Linux同时拥有图形界面和字符界面 (学习期间:字符界面 项目部署:字符界面 指令)- 丰富的网络功能:Linux在通信和网络功能方面优于其它操作系统- 可靠的系统安全: 安全性较高- 良好的可移植性
# 总结:免费、安全、可靠、稳定、 多平台~~~


![53234908061](D:\资料\第二阶段 Web全栈\04 Linux\Linux-notes\Linux_pic\1532349080616.png)
##### 3、Linux系统安装
~~~markdown双系统(Linux和Windows同时存在,开机选择操作系统):优点:每次打开的是一个系统,独占系统资源缺点:切换系统不方便,需要重启电脑再重新选择操作系统虚拟机(借助工具 VMware workstation来安装Linux系统):优点:系统切换很方便缺点:同时运行着两个系统,占用的系统资源比较多,要求电脑的配置要更高(内存>=4G)~~~


##### 4、Linux目录结构
~~~markdownWindows系统是在C盘中,也分了其它的盘,C、D、E、F盘 盘符 C:/users/Mr_lee
在Linux系统中,没有盘符的概念,只有一个根目录 / 系统中所有的文件都是/的子目录或子目录的子目录
目录结构:
- bin  二进制的可执行文件 类似于windows中的exe文件 - sbin二进制的可执行文件 要求root用户才能访问- home存放用户的目录 /home/Mr_lee  普通用户- root超级管理员的目录 /root- tmp临时文件- usr存放共享的资源- var....~~~


##### 5、Linux的Shell
~~~markdown1. Shell是用于给用户输入指令,它是系统的用户界面,给用户提供了与计算机内核进行交互的一种接口。
2. Shell会接收用户输入的指令,需要将这些指令解释(翻译)给计算机(计算机只能识别二进制码),计算机作出响应给用户。
3. Shell是一个命令行解释器。
Python解释器是分版本:CPython 、JPython、PyPyShell也是分版本的:Bourne ShellBASH 是GUN操作系统默认的ShellKorn ShellC Shell~~~


### 二、Linux的基本命令
##### 1、简单的几个命令
~~~markdown1. ls显示当前目录下的文件清单 -- list
2. cd 切换目录,改变当前的工作目录  -- change directory几个特殊的目录:    [root@Mrlee ~]# cd /      切换到根目录    [root@Mrlee /]# cd ~      切换到用户家目录/主目录,如果是root用户,则~表示/root    如果是普通用户,~表示 /home/用户名    [root@Mrlee ~]# cd ..    上一级目录    [root@Mrlee ~]# cd .      当前目录                  如果要回到上上级  cd ../..         3. pwd打印当前的工作目录  print working directory
4. man 查看帮助文档  man pwd 按q键退出~~~


##### 2、文件操作基本命令
###### 2.1 ls命令
~~~markdown作用:显示当前目录下文件清单
两种用法:1. 直接输入ls 回车[root@Mrlee ~]# ls    显示当前目录下的文件清单2. 输入ls + 路径[root@Mrlee ~]# ls /usr  显示指定路径下的文件清单        # 关于路径:   (1) 绝对路径:从头开始的完整路径  /usr/local/1.txt    如果是绝对路径,当前处在什么路径下,没有影响      (2)相对路径: 相对于某个目录(当前目录)  local/1.txt   如果是相对路径,则和当前处在什么位置有关   ~~~
- 带参数  - `[root@Mrlee ~]# ls -a `   显示所有文件,包括隐藏文件  all 以.开头的文件  - `[root@Mrlee ~]# ls -l  `  显示文件的详细信息 long 长信息  - `[root@Mrlee ~]# ls -R`    递归显示目录的文件包括子文件  - `[root@Mrlee /]# ls -laR` 多参数结合使用  


###### SecureCRT远程连接工具使用
~~~markdown# SecureCRT的安装与破解1. 右键以管理员身份运行`scrt83-x64.exe` 直接安装即可 安装过程中,可以选择 Custom选择安装位置
2. 将注册机,复制到SecureCRT的安装目录, 使用管理员身份运行 `keygen.exe` 
3. 打开注册机后,点击`Patch`,自动弹出窗口,选择.exe文件即可 - 点击'确定',又弹出一个窗口,还是点击.exe文件,点击确定即可
4. 打开SecureCRT,将注册机上的相关信息复制到SecureCRT中即可。
5. 最后一步时,选择Without ....~~~


###### 2.2 mkdir/rmdir命令
~~~markdown1. mkdir 创建目录 make directoryeg: mkdir homework其它用法:    mkdir -p a/b/c 连续多级目录    mkdir day{01..99}  day01 day02 .. day99
2. rmdir 删除目录  remove directory         eg: rmdir homework         # rmdir 只能删除空目录,不能删除非空目录 ~~~


###### 2.3 rm命令
~~~markdown作用:删除目录或文件 
1. 删除文件- rm   文件名(文件的路径)- rm -i 文件名  提示作用 -- 交互模式 - rm -f 文件名  强制删除  force 
2. 删除目录 - rm -r 目录名# rm删除目录,必须加-r参数 表示 递归删除~~~
**补充**:` touch 文件名,如touch 1.txt 创建一个1.txt文件`


###### 2.4 cp命令
~~~markdown作用: 拷贝文件或目录 
cp 原文件名  新文件名 eg:  cp hello.py hello2.py     cp hello.py  homework     cp hello.py  homework/1.py
cp -r 原目录名 新目录名cp -r homework homework2# 注意:拷贝目录,必须加-r ~~~


###### 2.5 mv命令
~~~markdown作用:移动文件或目录 
mv 原文件名 新文件名 eg:  mv hello.py a.py   改名 mv hello.py homework/      移动到homework下     mv hello.py homework/a.py  移动到homework下并改名     mv 原目录名  新目录名eg:  mv homework homework2# 注意:移动目录,不需要加-r ~~~


###### 2.6 通配符
~~~markdown1. * 表示可以匹配任意多个字符rm -rf day*rm -rf *    不要随便使用2. ? 只能匹配一个字符串rm -f ??? 删除字符个数3的文件rm -f *.* 删除有后缀的文件~~~


##### 3、显示文件内容
###### 3.1 cat命令
~~~markdown作用:显示文件的内容在屏幕上用法: cat 文件名  cat /etc/yum.conf~~~
###### 3.2 more和less命令
~~~markdown作用:分屏显示 按空格翻页more /etc/yum.confless /etc/yum.conf   - 按q键退出~~~
###### 3.3 head/tail命令
~~~markdownhead显示文件的前10行tail显示文件的后10行
head /etc/yum.conf  tail /etc/yum.conf~~~


##### 4、搜索文件内容grep
~~~markdown作用:根据关键字搜索并显示关键字所在的行 用法: grep 关键字 文件名  grep you /etc/yum.conf
- 关键字中有空格grep "if you" /ect/yum.conf- 带参数grep -i YOU /etc/yum.conf  对大小写不敏感(不区分大小写)grep -v you /etc/yum.conf  显示不匹配的行grep -n you /etc/yum.conf  显示匹配的行号 grep -c you /etc/yum.conf  显示匹配的总行数 ~~~


### 三、文件属性
##### 1、改变文件权限
~~~markdown查看文件权限:[root@Mrlee ~]#  ls -l -rw-r--r--. 1 root root 0 Oct 21 17:11 1.txt-rw-r--r--. 1 root root 0 Oct 21 17:26 hello.pydrwxr-xr-x. 2 root root 6 Oct 21 17:26 homework# 第一列:表示是否为目录  目录为d  文件为-# 第一组(2-4列):用户自己的权限 user - u# 第二组(5-7列):同组人的权限  group - g# 第三组(8-10列):其它人的权限 other - o
# r(read):表示可读权限# w(write): 表示可写权限# x(execute): 表示可执行权限     ~~~


~~~markdown修改文件权限:[root@Mrlee ~]#  chmod ugo+rwx homework  增加权限: +移除权限: -赋值权限: =[root@Mrlee ~]#  chmod a=r homework  更高级的修改权限:[root@Mrlee ~]#  chmod 754 homework 数字最小为0 最大为7其中: r为4 (2^2)  w为2(2^1)  x为1(2^0)~~~


### 四、进程
##### 1、ps命令
~~~markdown作用: 查看进程  process[root@Mrlee ~]# ps
- 带参数ps -aux 查询所有正在运行的进程 ps -ef  查询所有正在运行的进程(可以看到父进程的id) ps -ef | grep uwsgi 查看uwsgi的进程~~~


##### 2、top命令
~~~markdown作用:动态显示进程
[root@Mrlee ~]# top~~~


##### 3、kill命令
~~~markdown作用:关闭进程 [root@Mrlee ~]#  kill pid(进程号)
- 带参数:[root@Mrlee ~]#  kill -9 pid        # 强制关闭进程~~~


##### 4、补充:管道
~~~markdown在所有进程中,查找某一个进程的id
管道:连接两个命令的输入和输出,将一个命令的输出作为另一个命令的输入 
eg: ps -ef | grep bash   在所有的进程中查找bash进程~~~
##### 5、杀死筛选出来的指定进程
~~~linuxps -ef | grep 筛选关键字 | grep -v grep | awk '{print "kill -9 "$2}'|sh~~~


### 五、vi文本编辑器
##### 1、简介
~~~markdown1. vi命令是Linux/Unix中最通用的全屏幕文本编辑器。
2. vi有两种模式:(1)编辑模式(2)命令行模式3. 使用 vi 文件名  如果文件存在,则打开文件,文件不存在会创建一个新的4. 进入编辑模式:【i/I,a/A,o/O,r/R】   切换到命令行模式: ESC   执行保存/退出的命令:【:wq,:q,:q!,:w】~~~


##### 2、保存退出
~~~markdown以下的命令,需要在命令行模式下执行:
:w  保存:q  退出 (如果修改了文件内容,则无法退出):q! 强制退出 (会丢失修改的内容):wq 保存并退出~~~


##### 3、编辑模式
~~~markdown从命令行模式进入编辑模式:i  : 在光标所处的位置插入  insert I  : 在行首插入a  : 在光标的下一个位置插入 after A  : 在行尾插入o  : 在光标的下一行插入   otherO  : 在光标的上一行插入~~~


##### 4、删除、复制、粘贴、撤消
~~~markdowndd :删除光标所在的一整行  (剪切)ndd : 删除n行  n表示数字  3dd 删除光标所在的行向下3行yy :复制光标所在的一整行nyy : 向下复制n行p : 在光标的下一行粘贴P : 在光标的上一行粘贴u  : 撤消  (undo)
shift + g : 光标移动到最后一行shift + GG : 光标移动到第一行~~~


##### 六、网络
##### 1、查看ip地址
~~~markdown[root@Mrlee ~]# ip addr  
找2: ens33:    inet 192.168.79.128/24 ~~~


##### 2、设置虚拟机ip
~~~markdown# 如果没有ip地址1. 修改配置文件vi /etc/sysconfig/network-scripts/ifcfg-ens33 将其中的ONBOOT = yes
2. 重启网络服务systemctl restart network
# 或 如果改完后依然没有ip # 还原虚拟机的网络设置1. 先关闭linux系统2. 在VMWare的菜单项目的 【编辑】-> 【虚拟网络编辑器】 -> 【vmnet8】 - 【 还原默认设置】
# 或 如果改完上面的还是没有ip 建议重装Linux系统~~~


##### 3、防火墙
~~~markdown1. 查看防火墙状态systemctl status firewalld
2. 关闭防火墙systemctl stop firewalld3. 启动防火墙systemctl start firewalld~~~


##### 4、修改主机名
~~~markdownvi /etc/hostname~~~


##### 5、修改hosts文件
~~~markdownvi /etc/hosts ~~~


### 七、服务
~~~markdown# 查看服务的命令systemctl start / stop / status / restart  服务名 
# 设置服务自动启动/关闭
查看服务的启动方式:[root@Mr_lee ~]# systemctl list-unit-files --type service
# 开机不启动[root@Mr_lee ~]# systemctl disable 服务名
# 开机启动[root@Mr_lee ~]# systemctl enable 服务名~~~


### 八、软件安装
##### 1、rpm命令
###### 1.1 rpm文件简介
~~~markdownrpm文件类似于windows中的.exe文件一样,各种文件已经编译好,打包好了,我们只需要在图形界面双击安装即可。
但是在字符界面中,需要使用rpm命令来安装.rpm文件~~~
###### 1.2 rpm命令使用
~~~shell1. 查询所有已安装的软件包的包名[root@Mrlee ~]# rpm -qa   2. 查询软件包的安装位置 q:query  l:location[root@Mrlee ~]# rpm -ql python3. 查询软件包的安装信息[root@Mrlee ~]# rpm -qi python4. 安装rpm文件[root@Mrlee ~]# rpm -ivh xx.rpm5. 搜索某个安装的软件包的完整包名[root@Mrlee ~]# rpm -qa | grep python6. 卸载软件包[root@Mrlee ~]# rpm -e 完整的包名~~~


##### 2、tar命令
~~~markdown作用:解压缩文件参数:-c 压缩文件-x 解压文件-z 格式为gzip-v 显示执行的文件列表-f 要操作的文件[root@Mrlee ~]# tar -zxvf xx.tag.gzip~~~


##### 3、yum命令
~~~markdown类似于pip指令  
基于rpm包的管理命令,能够从指定的服务器去自动下载rpm包并且去安装yum是centos系统独有的命令,在使用时必须要有外网环境,并且安装软件时会自动下载该软件所需要的其它的依赖文件
yum install 软件名~~~
### 九、查看端口占用情况
1、查看某个端口占用情况
~~~linuxnetstat -anp | grep 端口号~~~
2、查看当前所有已经使用的端口情况
~~~linuxnetstat -nultp~~~
### 十、创建新用户
~~~markdown# 创建用户adduser 用户名# 修改用户密码passwd 用户名# 赋root权限usermod -g root 用户名
# 切换用户su 用户名
# 删除用户usernameuserdel username# 删除用户username所在目录rm -rf username     ~~~
~~~markdown# 添加用户组groupadd groupname # 删除用户组groupdel groupname  ~~~






### 作业:
~~~markdown1. 练习基本指令   明天提问
2. 听 查看进程和vi文本编辑器的视频 学习~~~