linux_韩老师_12-20

目录结构 #

  • 目录结构很重要

    • windows下 ly-20241212142133607

    • linux下,从根目录开始分支 /,/root (root用户),/home (创建的用户的目录),/bin(常用的指令),/etc(环境配置)

      ly-20241212142133807

    • 在linux世界里,一切皆文件

      • cpu被映射成文件

        ly-20241212142133880

      • 硬盘 ly-20241212142133952

  • 具体的目录结构

    • /bin 常用,binary的缩写,存放常用的命令 (/usr/bin、/usr/local/bin) ly-20241212142134025

    • /sbin (/usr/sbin、/usr/local/sbin) SuperUser,存放的是系统管理员使用的系统管理程序

    • /home 存放普通用户的主目录

      useradd jack
      
      • 之后看该目录 ly-20241212142134097
      • 删掉 userdel -r jack 目录消失
    • /root 该目录为系统管理员,也称超级管理员的用户的主目录

    • /lib 系统开机所需要的最基本的动态连接共享库,其作用类似于windows里的DLL,几乎所有的应用程序都需要用到这些共享库

    • lost+found 一般为空,非法关机后会存放文件

    • /etc 系统管理所需要的配置文件和子目录,比如mysql的my.conf

    • /usr 用户的应用程序和文件,类似windows的program files

    • /boot 启动Linux时使用的核心文件(破坏则无法启动)

    • /proc (不能动) 虚拟目录,系统内存的映射,访问这个目录获取系统信息

    • /srv (不能动) service的缩写,存放服务启动之后需要提取的数据

    • /sys (不能动) 安装了2.6内核中新出现的文件系统 sysfs

    • /tmp 这个目录用来存放一些临时文件

    • /dev 类似windows设备管理器,将硬件映射成文件

    • /media linux系统会自动识别一些设备,u盘、光驱,将识别的设备映射到该目录下

    • /mnt 为了让用户挂载别的文件系统,比如将外部的存储挂载到该目录 ly-20241212142134167 ly-20241212142134238

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

    • /usr/local 给主机额外安装软件所安装的目录,一般通过编译源码方式安装的程序

    • /var 日志,不断扩充的东西 ly-20241212142134308

    • /selinux [security-enhanced linux] 安全子系统,控制程序只能访问特定文件 (启用之后才能看到)

远程登陆 #

  • 背景
    • linux服务器开发小组共享
    • 正式上线项目运行在公网,所以需要远程开发部署
    • 图解 ly-20241212142134379
  • 软件 xshell 和xftp https://www.xshell.com/zh/free-for-home-school/
    • 使用ifconfig 查看ip 先添加网络工具包 yum install net-tools -y
    • 使用 ly-20241212142134449
  • 在客户端打开cmd,并使用ping命令
  • xshell中配置并进行连接 ly-20241212142134523
  • 按住ctrl+鼠标滚轴可以放大字体

远程文件传输 #

  • xtfp6 person安装
  • 新建连接配置 ly-20241212142134596
  • 文件夹 ly-20241212142134668
  • 可以在这里直接复制上传
  • 图解 ly-20241212142134739
  • 解决乱码问题 ly-20241212142134810
  • reboot ly-20241212142134887

vim快捷键 #

  • vi :linux内置vi文本编辑器 vim是vi的增强版本,有丰富的字体颜色

  • 常用的三种模式

    • 正常模式,使用上下左右、复制粘贴
    • 插入模式 正常模式–>插入模式 按下i I o O a A r R(一般用i)
    • 命令行模式 插入模式–>命令行 输入输入esc表示退出,然后输入:
      • 输入wq表示保存并退出
  • 编辑,重新vim Hello.java 下面,这时候按tab可以自动补全 ly-20241212142134960

  • 命令 ly-20241212142135032

  • 快捷键使用

    • 正常模式下

      • 输入yy,拷贝当前行。p进行粘贴 4yy,拷贝当前行(包括)往下4行

      • 输入dd,删除当前行 4dd,删除当前行(包括)往下4行

      • 定位到首行(gg)或者末行G

      • 使用u,撤回刚才的输入(lalala将被撤回) ly-20241212142135101

      • 定位到20行 (20+shift+g)【其实是20+G】

    • 命令模式 :切换到命令行)

      • 命令行模式下(:下),输入 /搜索内容

        或者(/)下,直接输入搜索内容

      • 再次输入 / ,就会清空前面的搜索

      • 设置文件行号(:下) set nu 设置;set nonu 取消 ly-20241212142135175

  • 如果修改太多,需要先拷贝到windows下,然后再传上来

  • vim/vi 快捷键 ly-20241212142135246

关机重启 #

  • 命令 halt 停止

    shutdown -h now  #立刻关机
    shutdown -h 1 #给出提示并关机
    shutdown -r now #现在重启计算机
    halt #立刻关机(虚拟机好像只是把cpu关闭?)
    reboot #立刻重启
    sync #将内存的数据同步到磁盘
    
    • ly-20241212142135316
    • sync #将内存的数据同步到磁盘 ly-20241212142135384
      • shutdown/reboot/halt等命令都会在执行前执行sync

登录注销 #

  • 尽量不要用root账号登录

  • 普通用户登陆后,用su - 用户名 切换成系统管理员身份 ly-20241212142135456

  • logout 注销用户(图形页面没效果) 在运行级别3下有效 ly-20241212142135531