简介
本文章整理了linux基础操作,可以帮助读者快速熟悉linux系统
参考资料
目录
shell
- 什么是shell?
帮助用户与内核交互的应用程序 - shell能做什么?
执行命令或运行脚本
命令
- 什么是命令?
通过shell访问的应用程序 - 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 [用户]
软件安装
- 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 变量文件
磁盘管理
学习磁盘管理前请学习
目录结构
- 怎么查看磁盘占用情况
df [参数]
参数:
-h 单位输出
- 什么是挂载
使存储设备(例: u盘,读卡器,移动硬盘)可通过文件系统读写 - 什么是卸载
移除挂载的存储设备 - 怎么挂载与卸载
# 注意: 非root用户需要sudo提权
# 挂载
mount [硬件设备] [挂载点]
硬件设备:
/dev 目录下
挂载点:
/mnt 目录下
# 卸载
umount [设备]
- 磁盘分区
- 磁盘格式化
压缩与解压
用户组
- 什么是用户
操作系统的账户,不同的账户权限级别不同(root账户权限最大)
/etc/passwd 用户信息
/etc/shadow 用户密码
- 什么是用户组
一组用户的集合,用于权限控制 - 怎么创建用户与用户组
# 注意:
# 非root用户需要sudo提权
# 使用非bash(主流发行版默认shell)可能会出问题
# 新建用户
adduser [用户名]
# 删除用户
deluser [用户]
# 设置用户密码
passwd [用户]
# 新建用户组
groupadd [选项] [组名]
选项:
-g <number> 设置组标识号
# 删除用户组
groupdel [组名]
# 输出用户所在组
groups
文件权限
- linux文件具有哪些权限?
读(r),写(w),执行(x) - 怎么设置权限?
# 注意: 非root用户建议加sudo
chmod [选线] [文件/目录]
选项:
+<permission> 文件提权(permission=r/w/x)
-<permission> 文件降权
链接文件
- 什么是链接文件
通过链接文件可以间接访问文件本体,类似windows快捷方式
链接文件有软链接与硬链接 - 怎么创建链接文件
# 注意:
# 非root用户建议sudo提权
# ln 默认硬链接
ln [选项] [文件] [链接文件]
选项:
-s 软链接
数据拷贝
- 什么是数据拷贝?
将一个目标的数据复制到另一个目标 - 怎么进行数据拷贝?
# 注意: 非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
...
- 数据拷贝与复制的区别
数据拷贝支持多种设备(例: 文件,img镜像,usb设备,ssd硬盘,tty串口),复制仅支持文件或目录