带你进入linux的世界,linux基础知识讲解

95 阅读4分钟

简介

本文章整理了linux基础操作,可以帮助读者快速熟悉linux系统

参考资料

  1. 正点原子

目录

  1. shell
  2. 命令
  3. 软件安装
  4. 目录结构
  5. 磁盘管理
  6. 压缩与解压
  7. 用户组
  8. 文件权限
  9. 链接文件
  10. 数据拷贝

shell

  1. 什么是shell?
    帮助用户与内核交互的应用程序
  2. shell能做什么?
    执行命令运行脚本

命令

  1. 什么是命令?
    通过shell访问的应用程序
  2. linux有哪些常用命令?
# 列出文件/目录
ls [选项] [文件/目录]
选项:
-a 列出 . .. 开头的文件/目录 

# 切换目录
cd [目录]
目录:
~ 用户家目录
. 当前目录
.. 上一级目录

# 列出当前目录(绝对路径)
pwd

# 创建目录
mkdir [选项] [目录]
选项:
-p 多级目录

# 创建文件
touch [文件]

# 复制
cp [选项] [目录/文件]
选项:
-r 递归

# 移动
mv [选项] [目录/文件]
选项:
-f 强制覆盖
-i 覆盖前询问
-n 不覆盖已存在目录/文件
-v 输出移动过程

# 删除
rm [选项] [文件/目录]
选项: 
-r 递归删除
-f 强制删除
-i 删除前询问
-d 仅删除空目录
-v 输出删除过程

# 查看文件/目录大小
du [选项] [文件/目录]
选项:
-h 输出带单位
--max-depth=<number> 递归子目录层数

# 输出文件内容
cat [文件]

# 清空终端
clear

# 提权
sudo [命令]

# 设置用户密码
passwd [用户]

# 用户切换
su [用户]

软件安装

  1. linux怎么安装软件?
    通过包管理器,但不同发行版包管理器可能不一样,以debian举例
# 注意: 非root用户需要sudo提权

apt [选项] [包名]
选项:
list 列出
update 更新可用包列表
upgrade 升级包
full-upgrade 卸载旧包并升级包
install 安装
remove 删除
autoremove 删除所有无用包
search 搜索
show 输出包信息

目录结构

# 注意: 不同发行版之间可能不一致

/ 根目录
/bin 二进制文件
/boot 内核 && 启动相关文件
/dev 硬件设备
/etc 配置文件
/home 用户目录
/lib 库
/media 自动挂载硬件 
/mnt 手动挂载硬件
/opt 可选目录(通常安装独立软件)
/proc 虚拟目录(通常保存系统信息)
/root root用户目录
/run 运行时文件(重启系统清空)
/sbin 特权二进制文件
/srv 服务器文件(不用服务器则空)
/sys 虚拟目录(类似proc)
/tmp 临时目录
/usr unix系统资源(很大)
/var 变量文件

磁盘管理

学习磁盘管理前请学习目录结构

  1. 怎么查看磁盘占用情况
df [参数]
参数:
-h 单位输出
  1. 什么是挂载
    使存储设备(例: u盘,读卡器,移动硬盘)可通过文件系统读写
  2. 什么是卸载
    移除挂载的存储设备
  3. 怎么挂载与卸载
# 注意: 非root用户需要sudo提权

# 挂载
mount [硬件设备] [挂载点]
硬件设备:
/dev 目录下
挂载点:
/mnt 目录下

# 卸载
umount [设备]
  1. 磁盘分区
  2. 磁盘格式化

压缩与解压

用户组

  1. 什么是用户
    操作系统的账户,不同的账户权限级别不同(root账户权限最大)
/etc/passwd 用户信息
/etc/shadow 用户密码
  1. 什么是用户组
    一组用户的集合,用于权限控制
  2. 怎么创建用户与用户组
# 注意: 
# 非root用户需要sudo提权
# 使用非bash(主流发行版默认shell)可能会出问题

# 新建用户
adduser [用户名] 

# 删除用户
deluser [用户]

# 设置用户密码
passwd [用户]

# 新建用户组
groupadd [选项] [组名]
选项:
-g <number> 设置组标识号

# 删除用户组
groupdel [组名]

# 输出用户所在组
groups

文件权限

  1. linux文件具有哪些权限?
    读(r),写(w),执行(x)
  2. 怎么设置权限?
# 注意: 非root用户建议加sudo

chmod [选线] [文件/目录]
选项:
+<permission> 文件提权(permission=r/w/x)
-<permission> 文件降权

链接文件

  1. 什么是链接文件
    通过链接文件可以间接访问文件本体,类似windows快捷方式
    链接文件有软链接硬链接
  2. 怎么创建链接文件
# 注意: 
# 非root用户建议sudo提权
# ln 默认硬链接

ln [选项] [文件] [链接文件]
选项:
-s 软链接

数据拷贝

  1. 什么是数据拷贝?
    将一个目标的数据复制到另一个目标
  2. 怎么进行数据拷贝?
# 注意: 非root用户建议sudo提权

dd if=<source_target> of=<target> [选项]
选项:
bs=<size> 单次读写大小

source_target/target:
/dev/zero 无限空字符(常用于清空操作)
/dev/null 空设备(读取获得EOF)
/dev/nvme<number> 固态硬派
/dev/tty<number> 串口
/dev/ttyUSB<number> 串口转usb
...
  1. 数据拷贝与复制的区别
    数据拷贝支持多种设备(例: 文件,img镜像,usb设备,ssd硬盘,tty串口),复制仅支持文件或目录