Linux 基础总结


一、Linux背景

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  Linux一切皆文件 Linux一切没有消息的消息就是最好的消息

二、基础命令学习

    命令组成:

       命令+选项+参数

    手册查看:

       man 命令 (打开关于该命令的手册),具体使用man man

    命令展示:

       1.pwd 显示当前文件夹的路径

       2.cd 切换至目标路径 cd空格/cd ~(返回该用户的家目录)

          根目录:/ 用户家目录:/root(root用户) /home(普通用户)

          绝对路径:从/(根目录)开始至当前目录

          相对路径:从当前路径开始算到目标路径 . (当前文件夹) ..(当前文件夹的上一个文件夹)

       3. ls 选项 参数(列出该参数的信息)

          选项:-a(隐藏) -l(详细信息) -i(编号) -d(使文件夹像文件一样被列出,而不是列出其内容) -h(配合“-l”使用将其大小以KB显示)

       4.查看文件内容

          cat 文件(显示文件的全部内容)

          less 文件(显示文件可用,可以使用滚轮翻看)

          more 文件(显示文件内容,回车下一行,空格下一页)

       5.复制 cp 【-r(目录)】 源文件路径 目标文件路径

       6.剪切 mv 源文件路径 目标文件路径(路径相同,文件名不相同//重命名)

       7.删除 rm 【-r(目录)-f(强制)】 文件路径 

       8.创建文件 touch 文件名 (空文件)

       9.创建文件夹 mkdir 文件夹名

       10.关机与重启

          关机:(shutdow -h now)(poweroff)(init 0)(halt)

          重启:(shutdow -r now)(reboot)(init 6)

       11. history 查看历史命令

 

三、文件管理

  文件属性(元信息)

    1.stat 文件或文件夹名(查看文件的所有详细信息)

    ls -l(都是查看信息,但是没有stat详细)

  文件类型

    文件的类型不以文件名的后缀区分

    共有其中文件类型:

      - 普通文件
      d 目录文件
      c 字符设备文件
      b 块设备文件
      p 管道文件
      s 套接字文件
      l 符号链接文件

  文件的权限

    查看文件的权限 ls -l 文件名

      (文件类型)(拥有者权限【u】//所属组权限【g】//其他用户权限【o】)(硬链接数量)(拥有者)(所属组)(文件大小)(创建时间)(文件名)

        文件:r(读)w(写)x(可以当做命令执行) 文件夹:r(读取文件夹信息)w(在文件夹内创建删除)x(打开)

  防止产生权限过大的文件:

    umask

    初始权限(文件初始666,文件夹初始777)- umask===文件真正的权限


  文件的硬链接和软链接

    硬链接:同一个文件,名字不同

        iNode是同一个分区文件的唯一标识

        硬链接文件不能跨区

        创建文件的硬链接

        ln 源文件名 新的文件名

        cp -l 源文件名 新文件名

    软连接(符号链接):就是一个“快捷方式”,存储的是源文件的路径

        可以跨分区,可以作用于文件夹

        ln -s 源文件名 新的文件名

        cp -s 源文件名 新的文件名


  文件的拥有者和所属组:

      创建用户:useradd   用户名

      设置密码:passwd    用户名

      切换用户:su  -   用户名(不加-,不切换至 家目录)

      删除用户:userdel 用户名

      登出用户:exit

      用户信息:/etc/passwd

      组信息:/etc/group

      密码信息:/etc/shadow

      创建组:groupadd 组名

      删除组:groupdel 组名

      添加用户到一个组:gpasswd -a 用户名 组名

      从一个组删除用户:gpasswd -d 用户名 组名

   文件大小

      文件大小(size)不等于所占磁盘空间大小(基础单位块(block))

      stat 文件或文件夹(文件查看文件的详细信息(包括各种时间))

      du -sh 文件或文件夹(查看文件或文件夹占用磁盘空间的大小

      df -h (查看磁盘分区占用情况)

   文件时间

      access time (最后一次访问时间)

      modify time (最后一次更改时间

      change time (最后一次改动时间)

        改动(文件属性)更改(文件内容)


   文件查找

      可执行文件:

        which 命令文件

        whereis 命令文件(不仅查询到命令的位置,还会查到命令手册位置)

      不可执行文件:

        locate 文件夹或文件(遍历数据库,查找文件夹时会显示所有找到所有包含该文件夹的文件)

        updatedb (更新数据库)

      find 范围 选项

        选项:
          -name 按名字查找

            格式:find 范围 -name 文件名(不找关键词)

          -size 按大小查找

              格式:find 范围 -size (b(块)/c(字符)/k(KB))

              -(大小范围内)+(大小范围外)

          -mtime 按最后一次更改时间查找

          -mmin (按分钟查找)

              -(大小范围内)+(大小范围外)

          -type 按类型查找

              类型:(f(普通)/d(目录)/c(字符设备)/b(块设备)/l(字符链接)/p(管道)/s(套接字))

          -exec 查找后对文件执行命令

              格式:find 范围 选项 -exec 命令 {}  \;

          -a 连接多个查找选项


   文件的打包压缩

      压缩类型: .gz     .bz2     .zip

      压缩格式:

        gzip 文件名 压缩为.gz     解压:gunzip 压缩包名

        bzip2 文件名 压缩为.bz2     解压:bunzip2 解压包名

          【上面的两个格式无法压缩文件夹,且压缩后源文件会消失,且名字无法更改】

 

        zip 压缩包名 文件1 文件2 ...    解压:unzip 压缩包名 

          【可以压缩文件夹,且可以压缩到其他目录】

      主要:
        格式:tar 选项 xx.tar.xx 文件1 文件2 ...

        选项:-c(创建)-v(过程可视)-f(在最后,跟包名)-j(生成bz2格式)-z(生成gz格式)-J(生成xz格式)-x(解压缩)

           -C(指定解压路径)-t(不解包不解压查看压缩包内容)-r(只能想包中追加新文件)

 

四、文件重定向

    当用户登陆后就会有三个文件依次打开:标准输入(stdin 0)标准输出(stdout 1)标准错误输出(stderr 2)

      0< 标准输出重定向     1>标准输出重定向       2<标准错误输出重定向

 

五、管道

  “ | ” 管道

      管道左边要有输出,右边需要输入

 

   wc 【-lwc】 文件或文件夹

      -l(行数)-w(单词个数)-c(字符个数)

 

   grep 【-iwn】关键字 范围

      -i(大小写)-w(精准查找)-n(显示行号)

 


六、VIM编辑器的使用


  vim 文件名----------------》打开————》一般模式
  ——》进入编辑模式编辑————》esc/Ctrl+c
  ——》:一般模式进入命令行模式(w保存,q退出)

    一般模式下:

      i:光标前插入 I:行前插入

      a:光标后插入 A:行后插入

      o:此行后插入一行 O:次行前插入一行

      w/W:下一个单词 s:重新输入此字符

      S:重新输入此行 nyy:复制n行

      p:粘贴 u:撤销 Ctrl+r:还原

      x/X:删除光标字符 ndd:剪切n行

      r:替换 R:一直替换知道Esc为止


    块选择:

      Ctrl+v方向键选择

      I/A插入相应的内容————》Esc Esc

      gg首行 G末行 nG:第n行

    命令行模式下:

      :进入命令行

      w保存 q退出 q!强制退出

      w 文件名 (另存为) saveas 文件名(另存为)

      %s/原字符串/新字符串/g 将所有原来的字符串替换为新的字符串

      a,b/原字符串/新字符串/g 将a行到b行所有的原来的字符串替换为新的字符串

      set nu(显示行号) set ts=n 将Tab设置为n个字符宽度

 

七、软件包管理


   源码包

      源码包格式:.tar.gz .tar.bz2 .tar.xz

          1.下载并解压解包
          2.编译make
          3.make install

 

  二进制包(格式: .rpm)

      yum 安装:
          /etc/yum.repo.d/xxxx.repo
          yum install xxxx

      例如有如下软件包:

        coreutils-8.22-21.el7.x86_64.rpm
        包名:coreutils

        yum install (命令文件名) 安装
        yum remove (命令文件名) 卸载
        yum repolist 查看仓库有多少软件包
        yum list 列出所有的软件包
        yum provides 命令文件路径 查看命令文件对应的软件包
        yum update 命令文件名(更新)
        yum clean all (清楚缓存)

        yum源的所在路径:/etc/yum.repos.d/xxxx.repo


  本地yum源配置:

          1.将镜像文件挂载到文件系统

       2.创建镜像的挂载点 mkdir /mnt/centOS7

       3.光盘镜像在/dev/cdrom目录

        4.挂载光盘镜像

          mount -t iso9660 /dev/cdrom /mnt/centos7

        5.配置镜像的yum源

          vim /etc/yum.repos.d/my.repo

              【local——centos7】
              name=centos7
              baseurl=file:///mnt/centos7
              enabled=1
              gpgcheck=0


        6.已安装的rpm软件包,安装

          xxxx.rpm

          rpm -ivh xxxx 安装已下载的rpm包

          rpm -e xxxx 卸载

          rpm -U xxxx 更新

          rpm -qa 查询系统中所有已安装的rpm包

          rpm -qf 命令文件路径 查询命令文件对应的软件包

 

八、网络管理


   1.查看ip。mac。netmask

      ip addr ifconfig


   2.查看/启动/重启/关闭/自启动/禁用服务

      systemctl status(查看)/start(启动)/restart(重启)/stop(关闭)/enable(自启动)/disable(禁用) 服务名字


   3.手动配置静态ip地址

      关闭NetworkManager

      systemctl stop NetworkManager

      配置/etc/sysconfig/network-scripts/ifcfg-nes33

          DEVICE=eth0
          BOOTPROTO=none
          NM_CONTROLLED=no
          ONBOOT=yes
          TYPE=Ethernet
          IPADDR=172.16.60.1
          PREFIX=24
          GATEWAY=172.16.60.254

   4.重启网络服务

      systemctl restart network


   5.关闭防火墙

      systemctl stop firewalld

      systemctl disable firewalld

   6.vsftpd服务————>文件共享

      安装:yum install vsftpd

      启动:systemctl start vsftpd

      开机自启动: systemctl enable vsftpd

      配置文件:/etc/vsftpd/csftpd.conf

   7.访问共享目录:

      下载安装:yum install lftp

      lftp 192.168.5.129

      lcd——>切换下载路径

      get 文件(下载非目录文件

      mirror 文件夹(下载目录文件)

      bye(退出)

   8.远程挂载

      下载安装:

        yum install nfs-utils rpcbind

      启动:
        systemctl start nfs

        systemctl enable nfs

        systemctl start rpcbind

        systemctl enable rpcbind

      编辑共享路径:

        vim /etc/exports

        /var/ftp/pub *(ro,sync,no_squash)

      客户端挂载:
        mount 192.168.5.129:/var/ftp/pub /mnt

 

九、进程管理

    查看进程信息

      ps aux

    终止进程通过kill 发送信号

      kill -l (查看所有信号)

      kill -9 n 发送9号信号给进程号为n的进程

      top 实时查看系统中进程的运行状态

 

十、git的基本用法

   1.创建仓库

      登陆github账号,创建远程仓库

    2.生成密钥

      ssh-keygen

       cat  ~/.ssh/id_pub

    3.将密钥复制到账号的key

    4.克隆获得的链接

      git clone 链接   

    5.添加文件后上传

      git add    添加文件

      git commit -m “备注”  备注提交到仓库

      git push          保存提交

    6.删除文件后上传

      git rm 文件         删除文件

      git commit -m “备注”  备注提交到仓库

      git push          保存提交

     7.如果想要在上传之前恢复删除

      git log    查看仓库日志

      git reset --hard  版本id  切换到指定版本

    8.从网上同步

      git pull  (下载网上的仓库版本)

     git  reflog  (查看最新版本日志)    git  status   (查看仓库状态) 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄