未标注中英文标点,实操时注意亲自手写

笔记

  • **FHS规范**
  • **VFS**
    • **VFS抽象对象**
  • **Linux文件系统特点**
    • **数据盘挂载**
    • **目录存储结构**
  • **Linux常见命令**
  • **linux用户管理**
  • **Linux文件管理**
  • **Linux权限管理**
  • **Linux文本操作(三剑客)**

FHS规范

  • 可分享:可以给其他系统挂载使用的目录
  • 不可分享:自己机器上运作的配置文件
  • 可变:需要经常更改的
  • 不可变:有些数据不会经常随意更改
  • /根目录
  • usr:二级目录,相当于windows的C盘
  • bin:必要命令,系统放置可执行文件
  • home:家目录
  • etc:配置文件
  • var:动态数据

VFS

  • 全称: 虚拟文件系统
  • 内核层抽象出通用的文件系统接口
  • 支持文件、网络、特殊文件系统

VFS抽象对象

  • 超级块:文件系统
  • 索引节点:具体文件
  • 文件:进程打开的文件
  • 目录项:文件路径

Linux文件系统特点

  • 树形分层结构
  • 一切皆文件(文件、设备统一管理)
    Linux文件系统(XFS)
  • 高性能64位日志文件系统
  • 带有日志功能防止宕机丢数据
  • 原生提供备份工具(xfsdump/xfsrestore)
    xfsdump备份
    xfsrestore恢复

数据盘挂载

挂载:指的就是将设备文件中的顶级目录连接到Linux根目录下的某一目录,最好是空目录,访问此目录就等同于访问设备文件。

并不是根目录下任何一个目录都可以作为挂载点,由于挂载操作会使得原有目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,会造成系统异常甚至崩溃,挂载点最好是新建的空目录。

df -Th

查看当前挂载文件
分区工具fdisk

sudo fdisk -l

可以查看当前的磁盘分区情况

fdisk 路径

就可以进行分区操作
会提示按m获取帮助
格式化mkfs.xfs 路径
挂载mount 路径(dev/sda3) 挂载目的点(u1)
取消挂载umount 已挂载的设备源(dev/sda3)或已挂载目的点(u1)

目录存储结构

  • inode:存储数据的元数据(权限、时间、字节数等)
  • 数据块:存储数据本身

Linux系统不用文件名来识别文件而是使用inode的号码来识别文件,每个inode都有一个号码(也有这种情况:就是虽然磁盘还有空间但是inode用光了,也会导致无法创建文件)

对象 命令 备注
inode stat file_name 单文件元数据
df -i inode使用情况
数据 df -h 磁盘使用情况

硬链接:ln 原文件 文件
这样就创建了原文件的一个硬链接

Linux常见命令

类别 命令 含义
路径 pwd、tree 路径查看 (pwd 查看当前目录、tree以树的形式呈现当前目录有什么)
查询 find、tar 查找和归档 例:【以名字为查找方式(find -name “* .结尾”查找当前目录下为该结尾的所有文件)(find / -name “* .结尾查找/目录下的为该结尾的所有文件)】【man tar 可以查看帮助,tar cvf a.tar b.txt a.txt把b.txt 和a.txt压缩到压缩包a.tar里,tar xvf a.tar解压缩,还有tar -zcvf a.tar.gz b.txt a.txta.tar.gz是一种压缩包格式,解压用-zxvf】
进程 ps、ss 查看进程 ps -A查看所有进程,ps -u root查看用户当前进程,ps -ef查看所有进程并知道它是通过什么来执行的(常用)】
查看 cat、head 查看文本 cat 文件查看文件,cat -n b.txt >d.txt将b.txt里的内容加上行号存入d.txt中】【 head -n 2 b.txt查看b.txt的前2行或者head -2 b.txt也可】
统计 uniq、sort 排序和过滤 (要求换行,以行为单位来排序和过滤)【sort 文件按ASCII码排序次从小到大输出,sort -u 文件可以过滤重复的,sort -r 文件逆序输出sort -n 文件按数字大小排序】
网络 tcpdump 网络抓包分析 tcpdump host baidu.comtcpdump是抓包命令,host表示本机,baidu.com是抓包的网址,也可以用ip,把网址改成ip,tcpdump dst host 39.156.69.79是本机到ip,tcpdump src host 39.156.69.79是ip到本机(这里我也每太懂)
性能 top、htop、free 内存CPU查看 【使用时直接输入即可,htop是top的高级版,比top好看,free可以这样free -m以兆的形式来查看,当然 以其他单位也可】

(因符号|与表格格式冲突所以写在这里)
ps -ef | grep ssh筛选查看ssh的进程(常用)
uniq 文件去除相邻行重复内容所以用它来去除重复可以与sort一起用 sort 文件 | uniq 也可以sort 文件 | uniq -c来显示重复次数

linux用户管理

Linux用户类型

用户类型 UID 备注
管理员用户 0 root
系统用户 1-499 可用于程序运行
普通用户 >1000 普通可登录用户

Linux用户

配置文件 命令
用户 /etc/passwd useradd/del
密码 /etc/shadow passwd
用户组 /etc/group groupadd/del

Linux用户字段

root x 0 0 root /root /bin/bash
用户名 密码 用户ID 组ID 用户全称 用户家目录 用户使用shell

Linux用户命令

命令 选项 备注
useradd -s Shell指定
-p 指定登录密码
-e 指定账户过期日期
-f 账号过期几天后永久停止
-g/G 指定用户组

useradd 名字就可以创建一个用户,同时自动生成一个用户组
续表Linux用户命令

命令 选项 备注
groupadd -g 指定gid
passwd -S 查看当前用户密码状态
usermod -aG 将用户添加到指定组
userdel 删除用户
groupdel 删除用户组

su 用户名来登录用户
whoami用来查看当前登录的用户
exit返回上一用户

Linux文件管理

Linux文件类型

文件标识 备注
- 普通文件
d 目录
l 链接文件
s 套接字
b 块设备 与存储设备有关
c 字符检查 键盘
p 管道 进程中通信

绝对路径:以根目录/开头的
相对路径:相对于当前目录的关系
.表示当前目录
..表示上一级目录

mkdir目录名创建新目录(例:mkdir imooc
touch 文件名 创建一个文件(方法有很多比如vim)(例:touch new.txt

mv 原文件名 新文件名 改名字(例:mv new.txt 1.txt
mv 文件名 路径 移动文件到某目录(例:mv 1.txt ../
cp 文件1 文件2 将文件1内容复制到文件2中(例:cp 1.txt 2.txt
cp -r 目录1 目录2 将目录1完全复制到目录2(例:cp -r old new

cd和cat

rm 文件名 删除文件
rm -r 目录名 删除目录
关于链接文件
硬链接:ln 文件一 文件二 两个文件指向同一个inode号码,当查看文件信息时(ls -l或ll)文件显示的是普通文件
软连接:ln -s 文件一 文件二 文件二指向文件一(通过文件名)
这时查看文件信息时就会看到文件二是一个链接文件

Linux权限管理

Linux文件图解

Linux权限所有者

类型 含义 备注
owner 属主 文件所有者
group 属组 所属组内用户
other 其他 上述用户之外的

Linux权限类型

类型 含义 权限缩写
read 可读 r
write 可写 w
execute 可执行 x

Linux权限数字解析

数字 权限类型 符号
0 无权限
1 执行权限 –x
2 -w-
3 执行+写 -wx
4 rw-
7 读+写+执行 rwx

用1 2 4就可以表示所有的权限类型
比如:1(执行)+2(写)=3 3表示写+执行
Linux权限操作

命令 对象 操作 权限模式
chmod u + r
g - w
o = x
a

例:chmod u+w 文件名表示给用户加上写的权限
还可以通过数字加减权限

-w就是去除写的权限

=就是赋值号

命令 对象 命令
chown user chown x:file
group chown :y file

chown 用户1:用户1 文件1 表示将文件1的权限给用户1
Linux ACL权限

  • Access Control List(访问控制列表)
  • UGO 权限加强版
    ( 本机不支持,此处笔者就先不写了)

Linux文本操作(三剑客)

Awk

  • 样式扫描和处理语言,用于文本处理
  • AWK、NAWK、GAWK(不同版本)
  • BEGIN块:程序开始时候执行,只执行一次
  • BODY块:会循环针对每一行执行命令
  • END块:程序最后执行
    Awk内置变量
变量 说明
NR 已输入记录条数
NF 当前记录域的个数
FS 域分隔符
RS 当前记录分隔符
OFS 输出域分隔符
ORS 输出记录分隔符
OFMT 输出数字格式
  1. 数据过滤特定列
    awk '{print $1}' a.txt打印第一个域(一整列)(默认分隔符是空格)
    $代表指定域,
    $1就是第一个域
    awk -F ":" '{print $1}' a.txt表示把”:”作为分隔符分隔域并打印第一个域

  2. 内置变量的应用
    awk 'BEGIN{FS=":"} {print $1}' a.txt 打印第一个域
    awk 'BEGIN{FS=":";total=0} {print $1;total+=1;}END{print tatal}'在BEGIN中设置分隔符,在主体中设置一个变量,在结尾输出变量

  3. AWK操作符
    略(例:+= == --之类)

  4. AWK数组

  5. 流程控制、循环
    相关语法有些多,暂时不写,有我没学过的

Grep

  • 文本搜索工具
  • 也有不同版本grep、egrep、fgrep
    正则表达式
字符 说明
^ 匹配字符串开始
$ 匹配字符串结束
* 匹配前面子表达式零次或多次
+ 匹配前面子表达式
匹配前面子表达式零次或一次
{n} 匹配n次
{n,m} 匹配n到m次

Grep命令选项

选项 说明
-c 只打印匹配的文本行的行数
-i 忽略字母大小写
-h 当搜索多个文件时,不显示匹配文件前缀名
-n 列出所有的匹配的文本行,并显示行号
-v 只显示不匹配的文本行
-w 匹配整个单词
-E/P 支持扩展/Perl正则表达式

实操

  • 多个文件匹配待定后缀名文件
    ls -l | grep txt查找后缀名为txt的文件(当前目录)
    ps aux | grep ssh 查找关于ssh的进程
  • 匹配文件特定上文
    grep mu 1.txt 查找在1.txt中的mu
    grep -n mu 1.txt 查找并显示行号
    也可以在后面放多个文件
  • 递归查找子目录
    grep -r com 其中-r表示递归查找 com是查找的内容,这个查找可以递归到子目录里面的文件
    grep -r --exclude-dir=child com表示忽略子目录child中文件查找com(在查找代码忽略库时常用)
  • 结合正则匹配特定IP或者邮箱
    匹配IP
    grep ^192 3.tt表示查找在3.tt中的192开头的IP
    grep $[89] 3.tt表示查找在3.tt中的以89结尾的IP
    (正则符号表格在前面)
    匹配邮箱
    grep -E "[[:alnum:]]{4,18}@[[:alnum:]]{2,14}.(com|net|cn|org)" 2.txt [[:alnum:]]表示字符串,{4,18}表示查找4~18次,整个语句表示查找2.txt中符合引号内的格式的邮箱
  • 忽略查找
    grep -i wu 1.txt 忽略大小写查找1.txt里的wu
    Sed
  • 流编辑器
  • 前身时ed编辑器
  • 文本处理工具

    工作模式
  • 读取行:输入流中读取一行到模拟空间缓冲区
  • 执行:针对读取的行应用sed脚本
  • 显示:经过处理后输出流,并清空模式空间缓冲区
    sed命令选项
选项 说明
-n 安静模式
-e 直接应用sed命令
-r 扩展正则表达式
-i 直接修改读取行内容
-f 输出到指定文件中

sed动作

选项 说明
a 新增
c 取代
d 删除
i 插入
p 打印
s 替换

实操

  • 查找替换特定字符
    sed ‘s/a/a1/’ 1.txt 替换1.txt中a为a1(没有更改原文件,因为默认只是处理缓冲区输出到终端)
    若要修改则sed -i ‘s/a/a1/’ 1.txt
  • 删除某行或某几行
    sed ’2d‘ 1.txt表示删除第二行
    sed '2,5d' 1.txt 表示删除第二到五行
  • 文本插入
    sed ‘2i\a2’ 1.txt在第二行插入文本a2
  • 字符拼接
    sed ‘s/love/very &/’ 1.txt 这句中&是匹配符,在本句匹配的是love,输出时将very加到love前面一起输出
  • 文本行编号

Linux学习(入门)相关推荐

  1. 【Linux学习-入门推荐】

    前言 几个月前,我是一个小白,凭借一腔热血,与虚拟机斗智斗勇,安上了Linux系统,在"互联网"老师的指点下入门学习Linux系统的操作和使用,踩过的坑也不止一点点,想来都是泪啊, ...

  2. Linux学习入门: shell脚本常用命令汇总

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 Linux学习最初就是要掌握shell脚本的基本命令语句,这个也是我们操作Linux操作系统的关键步骤,但是Linux的shel ...

  3. 嵌入式Linux学习入门

    大四毕业了,签了一份嵌入式开发的工作,现在准备入门了,搜集一些要学习的内容. 嵌入式开发学习路线 51单片机,arm,stm32在单片机上 在单片机上编程c语言和在嵌入式系统写c语言,有很大不同 gc ...

  4. Linux学习入门-------------------------VMvare与镜像的安装与配置

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_39038465/article/ ...

  5. Linux学习入门(一)

    1.Linux简介 操作系统分类:桌面操作系统..服务器操作系统.移动端操作系统.嵌入式操作系统 桌面操作系统主要针对个人电脑,Linux在桌面操作系统的应用主要有国产操作系统,Ubuntu. 服务器 ...

  6. 学Linux云计算技术有意义吗?linux学习入门

    近年来,云计算技术发展迅速.毫无疑问,Linux云计算技术的发展前景受到很多公司和个人的青睐.因此,越来越多的人打算学习云计算技术,进入it行业.那学Linux云计算技术有意义吗?云计算发展前景如何? ...

  7. Kali linux学习入门-安装Kali Linux 后需要做的 20 件事

    安装Kali Linux 后需要做的 20 件事 [51CTO精选译文]我在本文中整理出了安装一份全新的Kali Linux后总是要做的若干件事情.由于我有多台笔记本电脑和工作站,所以尽量扩大下列操作 ...

  8. kali linux学习入门- Chrome浏览器安装,可以正常打开

    kali linux 2018 成功安装chrome浏览器,可以正常打开,安装步骤如下: 首先,使用 wget 命令来下载最新版本的 Google Chrome 的 debian 安装包.wget h ...

  9. Kali Linux学习入门-更换源及强制更新

    Kali Linux的换源和更新 更新源 打开 sources.list vim /etc/apt/sources.list1 添加源(阿里云的源就够用了) #阿里云 deb http://mirro ...

  10. Kali linux学习入门-Kali菜单中各工具功能

    想要进入安全行业为安全事业做贡献,就要硬着头皮学点什么.就像为什么军人往往都有更高的成就?因为自律.克服玩游戏的欲望吧,踏踏实实学点东西.http://www.cnblogs.com/lsdb/p/6 ...

最新文章

  1. 【蓝桥杯】历届试题 地宫取宝
  2. Re-installation failed due to different application signatures.
  3. python做数据分析难么_做统计学习,数据分析应该学Python还是R?
  4. iis里面的mime没有php扩展,IIS - 无后缀(无扩展名)的MIME类型配置
  5. 漫画 | 这样的男朋友,让我分分钟想剖腹自尽!
  6. C# 基础知识 (三).主子对话框数值传递
  7. pyinstaller运行时出现TCLError的错误该怎么办?
  8. Qt笔记-QProcess切换用户执行进程(Linux)
  9. SpringBoot使用CommandLineRunner和ApplicationRunner执行初始化业务
  10. vim编辑时遇到E325: ATTENTION Found a swap file by the name ./.backu.sh.swp错误代码的解决办法
  11. bat写的自动部署脚本
  12. STC学习:电子音乐
  13. 谷歌浏览器安装xpath插件流程
  14. 用.NET做动态域名解析
  15. 当cmd里安装不了Appium-Python-Client时,Requirement already satisfied: Appium-Python-Client in
  16. 腾讯2018秋招笔试真题(1)
  17. 自己动手写一个操作系统——MBR(1)
  18. 优化着色器信息加载,或查看Yer数据!
  19. 移动端实现水平垂直居中的整个页面loading层
  20. 电子签名界“特斯拉“发财报了,国内电子签行业何时诞生巨头?

热门文章

  1. ITK——5. 利用ITK自身的多线程加速filter计算
  2. 基于autojs7的亚丁号点淘辅助
  3. SpringSecurity整合JWT
  4. bochs安装以及使用
  5. ZOJ-1455 Schedule Problem 差分约束
  6. 少年歌行游戏一直显示连接服务器,少年歌行第二季无法上线的原因找到了,不是没做好,而是限制太多...
  7. xunsearch快速教程,支持下载本地
  8. 犀浦某校一名计算机系大二男生,大学生恋爱的案例分析.docx
  9. 跃居超导和离子阱的量子计算黑马,可编程可扩展的光量子硬件
  10. 下拉推广系统立择火星推荐_下拉词推广权威易速达