zoukankan      html  css  js  c++  java
  • Linux入门基础(一):Linux基本操作

    命令行BASH基本操作

    Shell

    用户不能直接操作内核,所以用户操作通过shell传递给内核

    shell分为两种 :

    • GUI 图形界面 (linux一般是GNOME)

    • CLI 命令行界面 (linux一般是BASH)

    BASH

    • 提示符
      • # root用户
      • $ 普通用户
    • 命令一般由 (命令、选项、参数) 组成。

    例如 :

    [root@linuxabc  ~   ] #       uname -r
     用户名  主机名 工作目录 root用户  命令  参数
    
    • 使用Tab键来自动补全命令(注意:无法自动补全参数,)
    • 按2下Tab显示所有命令

    历史记录

    • Bash会保存你输入过的命令,可以通过↓↑ 键来查看。

    • 通过history可查看输入过的全部命令

    • !!重复前一个命令(用上也可以。还方便)

    • !字符 重复前一个以“字符”开头的命令

    • !num 按照历史记录的序号执行命令

    • !?abc重复之前包含abc的命令

    • !-n重复n歌命令之前的那个命令

    • 通过Ctrl+r来在历史记录中搜素命令(reverse-i-search)“:

    • 重新调用前一个命令中的参数Esc.(按完Esc键之后按.)

    命令行通配符

    • *匹配零个或多个
    • ?匹配任意一个字符
    • [0-9]匹配一个数字范围
    • [abc]匹配列表里任何字符
    • [Λabc]匹配列表以外的字符

    切换用户

    • su - 切换到root用户(切换终端)
    • sudo 使用管理员权限运行命令

    BASH作业管理

    • 在后台运行进程
      • 在命令后添加一个&
    • 终止某个程序
      • Ctrl+c
    • 暂停某个程序
      • Ctrl+z
    • 管理后台作业
      • jobs 查看当前在后台运行的作业
      • sleep 5000 停参数输入的时间 5000秒 可使用ctrl+c终止 或者 使用ctrl+z暂停
      • bg 编号 控制进程继续在后台运行
      • fg 编号 继续在前台运行

    文件系统基本操作

    Linux文件系统结构

    • Linux文件系统为一个倒转的单根树状结构
    • 文件系统的根为“/"
    • linux文件系统严格区分大小写,大小写敏感
    • 路径使用”/"分割,(windows中使用“”)

    当前工作目录

    • 每一个shell或系统进程都有一个当前的工作目录:~显示当前所在目录。
    • 使用pwd命令可以显示当前的工作目录+

    文件名称

    • 文件的名称大小写敏感
    • 名称最多可以使用255个字符
    • 除了正斜线外都是有效字符
    • 通过touch命令可以创建一个空白文件或者更新已有文件的时间
    • 以“."开头的文件为隐藏文件

    列出目录内容 : ls

    • ls -a 显示所有文件(包括隐藏文件):隐藏文件绝大多是都是配置文件,不要去动这些文件。
    • ls -l 显示详细信息
    • ls -R 递归显示子目录结构
    • ls -ld 显示目录和链接信息

    查看文件类型 : file

    file 文件名

    绝对路径与相对路径

    • 绝对路径:以/开头,递归每级目录直到目标的路径。不受当前所在工作目录限制
    • 相对路径:以当前目录为起点,到达目标的路径。受当前所在目录限制

    cd用来切换目录:cd .切换到当前目录,cd ..切换到上一级目录,cd ~切换到家目录, cd -上一个工作目录。

    文件基本操作

    复制文件 : cp

    cp 源文件 目标文件

    -r 递归复制整个目录树

    -v 显示详细信息

    移动文件 : mv

    mv 源文件 目标目录(加/文件名会重命名该文件)

    -r 递归复制整个目录树

    -v 显示详细信息

    创建文件 : touch

    删除文件 : rm

    -i 交互式

    -r 递归删除包括目录中所有内容

    -f 强制删除,没有警告(谨慎)

    创建目录 : mkdir

    删除目录 : rmdir

    删除空文件夹

    删除非空文件夹加 -r -f参数

    系统目录架构

    • bin 可执行文件
    • boot vmlinux内核 grub引导程序
    • dev 硬件设备,linux里所有硬件都被抽象成文件
    • etc 配置文件
    • home 家目录,保存用户信息(root除外,root单独保存)
    • lib 库文件
    • media 挂载文件,和mnt一样
    • opt 大型软件,比如数据库
    • proc 虚拟数据,实时信息
    • sbin 和bin一样,但只有root用户才能执行
    • sys 底层硬件信息
    • tmp 临时文件,定时删除
    • usr 应用软件,大型软件装opt,一般软件装usr
    • var 经常变化的信息,比如日志log

    系统常用命令

    日期和时间

    • date 查看和设置系统的日期和时间
      • -u 查看utc时间
      • date +%Y-%m-%d 格式化显示时间
      • -s 设置时间,只有root用户才有权限更改
    • clock 显示硬件时钟时间,比如主板
    • cal 查看日历
    • uptime 查看系统运行时间

    输出 , 查看

    • echo 显示输入的内容
    • cat 显示文件内容
    • more 翻页显示文件内容(只能向下翻页)
    • less 翻页显示文件内容(能上下翻页)
    • head 显示文件的头几行(默认10行)
      • -n 指定显示行数
    • tail 显示文件的末尾几行(默认10行)
      • -n 指定显示行数
      • -f 追踪显示文件更新,一般用于查看日志,持续显示新加入的内容

    查看硬件信息

    • lspci 查看PCI设备
      • -v 查看详细信息
    • lsusb 查看USB设备
      • -v 查看详细信息
    • lsmod 查看加载的模块(设备驱动)

    关机 , 重启

    • shutdown 用来关闭 , 重启计算机
      • -h 关闭计算机
      • -r 重启计算机

    例如:

    #立即关机
    shutdown -h now
    #10分钟后关机
    shutdown -h +10
    #23:30关机
    shutdown -h 23:30
    #立即重启
    shutdown -r now
    
    • poweroff 立即关机
    • reboot 立即重启

    归档 , 压缩文件

    • zip 压缩
      • zip 压缩后的文件名.zip 要压缩的文件
    • unzip 解压缩
      • unzip 压缩文件名.zip
    • gzip 压缩
      • gzip 要压缩的文件
    • tar 用来归档文件
      • tar -cvf 归档文件包.tar 要归档的文件
      • tar -xvf 要解归档的文件包.tar
      • tar -cvzf 归档并压缩的文件包.tar.gz 要归档并压缩的目录
        • -z 将归档后的文件进行gzip压缩以减小大小

    查找

    • locate 用以快速查找文件 , 文件夹

      • locate 关键字 (locate查的是文件数据库,快,但可能不及时准确.数据库默认每天更新一次,可手动更新)
    • find 用以高级查找文件 , 文件夹

      • find 查找位置 查找参数

      • 例如:

        #查找当前目录下,文件名包含'abcde'的文件
        find . -name  *abcde*
        #查找根目录下,d代表目录,即查找根目录下所有的目录
        find / -type d
        #查找根目录下,权限是777的文件
        find / -perm 777
        
      • find支持的常用查找参数

        • -name 名字
        • -perm 权限
        • -user 属于特定用户
        • -group 属于特定组
        • -ctime 基于修改时间
        • -type 文件类型
        • -size 基于文件大小

    vim编辑器

    vim是vi的增强版

    vim命令启动vim编辑器

    vim 文件名 (存在则打开文件,不存在则新建并打开文件)

    vim的三种模式:

    • 命令模式 (默认模式,其他模式按ESC进入命令模式)
      • i 进入插入模式
      • o 在当前行下面插入新行
      • dd 删除整行
      • u 撤销上一个操作
      • yy 复制当前行
      • n+yy 复制下面的n行
      • p 粘贴
      • r 替换当前字符
      • / 查找关键字
    • 插入模式 (命令模式中按 i 进入)
    • ex模式 (命令模式中按 : 进入)
      • :w 保存当前修改
      • :q 退出(不保存会提示)
      • :q! 强制退出
      • :x 保存并退出,等同于 :wq
      • :set number 显示行号
      • :! 执行系统命令并显示结果
      • :sh 切换到命令行,使用ctrl+d切换回vim

    磁盘的基本概念

    磁盘在Linux中的表示

    Linux中所有的设备都被抽象成文件,保存在/dev目录下

    IDE设备名称为 hd[a-z] ,例如:hda,hdb

    SATA,SCSI,SAS,USB等名称为 sd[a-z],例如sda,adb

    磁盘分区

    不同分区用,设备名称+分区号表示,如 sda1,sda2

    主流的分区机制有MBR和GPT两种

    • MBR
      • 传统分区机制,应用于绝大多数BIOS的PC设备
      • 支持32bit和64bit
      • 支持分区数量有限(最多4个主分区)
      • 支持不超过2TB的硬盘
    • GPT
      • 向后兼容MBR
      • 只能在支持UEFI的硬件上才能使用
      • 只支持64bit
      • 支持超过2TB的硬盘
      • Mac,Linux都能支持GPT
    MBR结构

    MBR占用了磁盘的前512字节(446+4*16+2)

    前446字节为引导代码

    4*16字节为分区表

    2字节为启动标识(55h AAh可引导设备,Linux启动时BIOS引导)

    MBR分区
    • 主分区 (最多只能创建4个主分区)

    • 扩展分区 (一个扩展分区会占用一个主分区位置)

    • 逻辑分区 (linux最多支持63个IDE分区和15个SCSI分区)

      例如:{sda1} {sda2} {sda3} { sda4 [sda5] [sda6] [sda7] }

      sda123是主分区

      sda4是扩展分区,占用一个主分区位,但不能直接使用,需要建立逻辑分区使用

      sda567是逻辑分区

  • 相关阅读:
    golang sql连接池的实现解析
    golang使用rabbitmq正确姿势
    golang使用rabbitmq多个消费者
    golang网关之手动实现反向代理
    golang exec.Command执行脚本 杀死子进程
    exec: "gcc": executable file not found in %PATH%
    golang操作mongodb
    grpc之 普通流 、服务端流、 客户端流 、双向流模式
    grpc-POST提交主订单数据(gateway实现http api)
    grpc之protobuf常用语法速学
  • 原文地址:https://www.cnblogs.com/FromZeroToGod/p/10676728.html
Copyright © 2011-2022 走看看