linux知识点总结

两大类:使用,管理用户

环境

vm虚拟机(采用centos系统)

基础

linux下没有盘符概念(windows系统中的C:\c盘,D:\d盘.....),只有根目录概念(/)

1./home/neuedu/aaa.py (linux)c:\home\neuedu\aaa.py(windows)
2./home下创建用户,每位用户都有独立的空间
3.使用 open terminal打开命令行

...

  • /etc:系统配置文件存放的目录

  • /boot:放置 linux 系统启动时用到的一些文件

  • /dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备

  • /home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下

  • /lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助

  • /lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下

  • /mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载

  • /opt:给主机额外安装软件所摆放的目录

  • /proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的文件有:/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等

  • /root:系统管理员root的家目录

  • /tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

  • /srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内

  • /usr:应用程序存放目录

  • /var:放置系统执行过程中经常变化的文件
    ...

基础使用

  • ** ls** 查询命令:红色压缩包,蓝色文件夹,绿色可执行文件,白色普通文本文件。
  • ** pwd** 查询所在目录命令:pwd(查询所有在目录位置)
  • ** touch** 创建文件命令:touch aaa.txt(创建文件aaa.txt)
  • ** rm** 删除文件命令:rm aaa.txt(删除文件aaa.txt),可以使用正则表达式。
    rm ?.txt(删除所有txt格式的文件)
  • ** mkdir** 创建文件夹命令:mkdir dl(创建dl文件夹) 删除时使用(rm -r dl)
  • ** cd** 移动命令:cd ..(移动到上一层,..为上一层目录) cd test2(移动到test2文件夹) cd命令区分大小写,长名称文件夹tab键也可以帮助自动补全
  • ** tail** 命令查看文件夹内容: tail aa.txt(查看aa.txt的内容)
  • clear清屏命令:clear(清除 terminal中显示的所有内容)
  • cp mv复制移动命令:
  • ***cat
  • more
  • grep***查看文件命令



用man手册查询所有参数(-后面的内容)

系统相关

  • shutdown 关机命令


    默认表示 1 分钟之后 关闭电脑 ,-r重启,-now立刻
  • ifconfig 可以查看/配置计算机当前的网卡配置信息命令:
  • ping 检测到目标主机是否连接正常命令:


系统信息查询

  • ps查询进程命令:ps -aux(查询详细的进程情况)
  • kill删除运行进程命令:kill -pid(删除对应pid(进程编号)的进程)
  • date 查询系统时间的命令:
  • cal 查询日历的命令:-y可以查看一年的日历


    使用方法
  • df 显示磁盘剩余空间命令:-h以人性化方式显示
  • du 显示目录下文件大小:-h以人性化方式显示


    使用方法

用户权限相关

  • su使用管理员权限命令:su 后需要输入root权限密码,exit退出


  • chmod 可以修改 用户/组 对 文件/目录 的权限命令:
  • u/g/o 分别表示:拥有者,拥有组, 其他用户 的权限
  • r/w/x分别表示:读,写,执行


    使用方法

    权限数字示意图
  • root命令:看图片


    组命令

    创建用户/设置密码/删除用户

    查看用户信息
  • 修改文件|目录的拥有者
    chown 用户名 文件名|目录名
  • 递归修改文件|目录的组
    chgrp -R 组名 文件名|目录名
  • 递归修改文件权限
    chmod -R 755 文件名|目录名

vi编辑器

  • vi命令:vi a.txt(使用vi编辑a.txt文件)使用insert键进入编辑,esc退出编辑,:进入菜单功能,q退出,wq存盘退出,q:不存盘退出,w只存盘不退出。

大段代码不建议使用vi,大段代码建议使用gedit(在图形界面进入)

其他命令

  • find查找文件指令:可以使用正则表达式


    image.png
  • ln 软链接命令:源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用


    使用方法

    ...

  • tar 打包/解包指令:

  • 打包文件
    tar -cvf 打包文件.tar 被打包的文件/路径...

  • 解包文件
    tar -xvf 打包文件.tar


    image.png

    ...

  • gzip 压缩/解压缩指令:

  • 压缩文件
    tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...

  • 解压缩文件
    tar -zxvf 打包文件.tar.gz

  • 解压缩到指定路径
    tar -zxvf 打包文件.tar.gz -C 目标路径
    ...

  • rpm安装指令(红帽系列以及centos系列使用):

  • 显示系统中所有已经安装的rpm包
    rpm -qa

  • 显示所有名称中包含 "httpd" 字样的rpm包
    rpm -qa | grep httpd

  • 显示软件安装特殊信息
    rpm -qi package.rpm

  • 安装一个rpm包
    rpm -ivh package.rpm

  • 更新一个确定已经安装的rpm包
    rpm -F package.rpm

  • 删除一个rpm包,只需要给出包名即可
    rpm -e package_name
    ...

  • yum安装指令(红帽系列以及centos系列使用):

  • 语法格式
    yum [options] [command] [package ...]

  • 列出所有可安裝的软件清单命令
    yum list

  • 查找软件包 命令
    yum search <keyword>

  • 安装指定的软件命令
    yum install <package_name>

  • 更新指定的软件命令
    yum update <package_name>

  • 删除软件包命令
    yum remove <package_name>
    rpm he yum 一般需要在root权限下进行工作

在centos中安装mysql 8.0

...

    1. 卸载MariaDB(在root权限下)
      (对于云主机以及纯净版linux不用)
      yum remove mariadb(删除mariadb)
      rpm -qa | grep mariadb(查询mariadb安装包)
      rpm -e mariadb-libs-5.5.52-1.el7.x86_64 --nodeps(删除安装包并忽略依赖)
      rm -f /etc/my.cnf(删除配置文件 -f只删除文件)
      rm -rf /var/lib/mysql/(删除配置文件 -rf删除文件和目录)
      ...
    1. 安装mysql
      复制mysql-8.0.15-1.el7.x86_64.rpm-bundle.tar到虚拟机
      (也可以使用wget直接下载
      https://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-8.0.15-1.el7.x86_64.rpm-bundle.tar)
      tar xvf mysql-8.0.15-1.el7.x86_64.rpm-bundle.tar
      rpm -ivh mysql-community-common-8.0.15-1.el7.x86_64.rpm
      rpm -ivh mysql-community-libs-8.0.15-1.el7.x86_64.rpm
      rpm -ivh mysql-community-client-8.0.15-1.el7.x86_64.rpm
      rpm -ivh mysql-community-server-8.0.15-1.el7.x86_64.rpm
      ...
    1. 启动服务
      mysqld --initialize
      chown mysql:mysql /var/lib/mysql -R
      systemctl start mysqld.service
      systemctl enable mysqld
      ...
    1. 修改初始root密码
      cat /var/log/mysqld.log | grep password(查看初始密码,每次不同)
      mysql -u root -p (登录mysql)
      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';(重置密码为root)
      ...
    1. 开通linux下的mysql远程访问权限
      进入linux下的mysql
      create user 'root'@'%' identified with mysql_native_password by 'root';(授权root用户可以远程连接,)
      grant all privileges on . to 'root'@'%' with grant option;(任意的ip地址都可以通过root来访问数据库)
      flush privileges;
    1. 配置mysql日志
      进入mysql命令行:mysql -u root -p 输入 mysql用户密码
      查询日志状态:show variables like 'general_log%';
      开启日志:set global general_log = 'on';
      显示日志:在root权限下,tail -f /var/lib/mysql/localhost.log 如果只想看跟数据调用有关的内容可以使用tail -f /var/lib/mysql/localhost.log |grep Query

推荐阅读更多精彩内容

  • 写在前面 关注我的小伙伴可能都知道,我是一个 Android 开发工程师,目前在 GitHub 有着约 7k 的 ...
    nanchen2251阅读 3,474评论 8 32
  • 请珍惜此时此刻的点点滴滴,因为多年以后的回首,你会发现,从前的那些平凡的过往,都会成为幸福温馨的回忆——阿宁与您分...
    风之子4288阅读 125评论 0 0
  • 我是一个农村长大的娃,在农村上学到17岁,后面就是上大学、上班,今年已经37岁了,在城里已经呆了20年了,但是依然...
    胡小花_阅读 118评论 0 2