Linux入门基础(一):Linux基本操作 - Go语言中文社区

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是逻辑分区

版权声明:本文来源博客园,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.cnblogs.com/FromZeroToGod/p/10676728.html
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-11-10 11:41:23
  • 阅读 ( 806 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢