〇、写在前边 Linux操作系统的使用对于科研是必要的技能。本文将学习Linux常用的操作、命令、文件结构等,满足工作中的基本使用需求。本文使用阿里云云服务器ubuntu_24_04_x64_20G练习Linux使用。
一、目录
Linux发展史
Linux环境配置
Linux文件系统
Linux常用命令
Linux用户和文件管理
Linux权限管理
Linux文本操作
VIM文本编辑器
(未完结)
二、内容 1. Linux发展史
Linux分为内核版本、发行版本。
内核版本:https://www.kernel.org/
2. Linux环境配置 2.1 VirtualBox虚拟机 2.2 虚拟机网络模式:
NAT模式(虚拟机能访问外网,与主机不能互通)
网桥模式(虚拟机能访问外网,与主机能够互通)
Internal模式(虚拟机与虚拟机的访问,不访问外网)
Host-Only模式
2.3 CentOS 8 Download - The CentOS Project
3. Linux的文件系统 3.1 FHS文件规范
bin 存放二进制可执行文件(Is,cat,mkdir等)
boot 存放用于系统引导时使用的各种文件
dev 用于存放设备文件
etc 存放系统配置文件
home 存放所有用户文件的根目录
lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt 系统管理员安装临时文件系统的安装点
opt 额外安装的可选应用程序包所放置的位置
proc 虚拟文件系统,存放当前内存的映射
root 超级用户目录
sbin 存放二进制可执行文件,只有root才能访问
tmp 用于存放各种临时文件
usr 用于存放系统应用程序,比较重要的目录/usr/local本地管理员软件安装目录
var 用于存放运行时需要改变数据的文件
3.2 VFS虚拟文件系统 内核层抽象出通用的文件系统接口。
面向对象的方法:VFS抽象对象:
超级块:文件系统
目录项:文件路径
索引节点:具体文件
文件:进程打开的文件
3.3 文件系统特点
树形分层结构
一切皆文件(文件、设备统一管理)
3.4 Linux格式化磁盘与挂载 fdisk
3.4 目录存储结构 inode(存储数据的元数据) + 数据块(存储数据本身)
4. Linux的常用命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 man xxx # 查看命令 pwd # 查看当前路径 tree # 查看树状目录 tree -a # 包括隐藏文件 find # find -name "*.txt" tar # 归档压缩 tar cvf a.tar xxx xxx tar xvf a.tar tar -zcvf a.tar.gz xxx xxx tar -zxvf a.tar.gz ps # 查看进程 ps -a ps -u ps -ef | grep ssh # 管道查找 ss ss -t -a ss -u -a cat # 查看文件 cat -n a.txt > b.txt head head -n 2 a.txt uniq sort a.txt | uniq -c/-d sort sort -r -u a.txt sort -n -r -u a.txt ls # 列举当前目录下的内容 cd # 进入某目录 top htop free free -m
5. Linux用户和文件管理 5.1 Linux用户管理
1 2 3 4 5 6 7 8 useradd xxx -s -p -e -f -g cat passwd groupadd userdel groupdel usermod whoami # 当前用户 passwd user # 设置用户密码
5.2 Linux文件管理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ls -l # 查看 ll # 查看 cd / # 切换目录 cd ./ cd ../ mkdir # 创建目录 touch new.txt # 创建文件 mv new.txt 1.txt # 重命名 mv 1.txt ../ # 移动文件 cp 1.txt 2.txt # 复制文件 cp -r old new # 递归操作复制 rm 1.txt # 删除文件 rm -r old # 递归删除 rm -f 1.txt # 暴力删除
6. Linux权限管理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 权限操作 chmod # + 对象 u g o a + 操作 (+ - =) + 权限模式 r w x chmod u + x b.txt chmod 764 b.txt # 所有者操作 chown user:group b.txt chown -r user:group b.txt # ACL 访问控制列表权限 setfacl -m u:test:rwx a.txt getfacl su user # 切换用户
7. Linux文本操作 7.1 Awk 文本处理工具
1 2 3 4 5 awk -F '{print $1}' a.txt # $x 第x列 awk -F '{print NR}' a.txt awk 'BEGIN{FS=":";total=0} {print $1;total+=1} END{print total }' # 除此之外还有操作符、数组、循环等内容
7.2 Grep 文本搜索工具
常配合正则表达式:
1 2 3 4 5 6 grep -r -n xxx x.txt ls -l | grep txt # 使用通道 grep -r --exclude-dir=.git xxx grep ^123 / $123 / $[123] 1.txt grep -E "xxx" 2.txt # 正则表达式 grep -i xxx 1.txt # 忽略大小写
7.3 Sed 流编辑器,文本处理工具
1 2 3 sed -n -e -r -i -f a c d i p s sed -n 's/xxx/yyy/p' 1.txt
8. VIM文本编辑器 VIM优点:支持多级撤销;跨平台运行;支持语法高亮;支持图形界面。
VIM有三种模式:命令模式、输入模式、低行模式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 vim abc # 首先进入命令模式 i #切换输入模式 esc # 低行模式 :wq # 保存退出 dd # 删除一行 vim + abc # 光标定位最后一行 vim +3 abc # 光标定位第三行 # 低行模式 :w # 保存 :q # 退出 :! # 忽略修改,强制退出 :ls # :n :15 /xxx ?xxx # 向前搜索 # 命令模式 h # 左 j # 下 k # 上 l # 右 dd # 删除行 o # 下方插入一行 yy # 复制所在行 p # 下方粘贴
三、参考资料
Linux速成班-慕课网
Linux基础安装入门视频教程I-慕课网
Linux系统编辑管理视频教程II-慕课网
Linux 教程 | 菜鸟教程
鸟哥的Linux私房菜:基础学习篇 第四版 | 鸟哥的 Linux 私房菜:基础学习篇 第四版
Linux入门教程(非常详细)从零基础入门到精通,看完这一篇就够了_linux学习-CSDN博客 (这一篇内容很全,推荐)