linux基础的笔记

pc 计算器scale=3 显示小数点3位

192 帮助文档man info

自带的文档与安装包位于/usr/shaer/doc

开关机

reboot,shutdown,poweroff有参数,可以定时,提示不关机等,调用的是systemctl指令实现

~root root的家目录

常用命令

文件夹也可以链接,pwd -p 显示链接后路径 -239

查看自己的环境变量直接echo $PATH

cp 可以创建软硬连接-l -s,权限变动-a -p,复制链接时的问题

转义的另一个方法 rm -- -123

mv 可以多文件夹移动 mv dir1 dir2 dirTarget

nano 编辑器

查看文件

查看内容

atime=读取数据时间 time修改内容时间 ctime 状态修改时间

ls --full-time --time=atime显示切换时间 -h可读格式 -d显示目录本身;有3个时间-258 可以切换显示内容变更,读取,状态变更时间,touch可以更新时间 -260

cat 与tac正反查看 -n显示行号 -A显示特殊字符等全部内容(^I=tap $=断行)

nl显示行号版的cat,nl 不显示空行

less 页显示 more单向页显示 -254

head 10 tail 10 正反头部显示 ,tail持续监测 -f,第10行后的内容 -n +10

od 二进制显示 -t c 用ascll显示 ,对照 -t oCc ,第一列是bytes数目

Grep  -nr 内容 文件

Alias 环境中的快捷指令

查看类型与执行档

type 查看文件类型

file 文件类型

which查看path下的执行档名路径(查不到bash内建命令,如history)

搜索文件

find /

-mtime n(+nn天前不含n; n那一天;-n n天内;0天代表24小时内)-newer 找更新的文件 -272

-name -user -nouser -type

-a 与 !非 -o 或

-perm /7000 包含三个权限中的一个 有/是包含 -是不含 不加是一致

-exce ls -l {} \; {}find找到的内容 \; 转义exec所需要的结束符;

sudo updatedb;locate 从数据库搜索文件 -i忽略大小写 -r 接正则 -c光计数 -272

whereis 查找特定目录下的文件 -l查看索茶目录-271

文件权限

文件-r读取内容 w 编辑、新增(不能删除) x 执行;目录 r读文件夹内容 w修改内容(包括删除文件)x进入文件夹 -234

ext234可以chattr修改 lsattr查看隐藏属性,包括是否可删除的属性,其他文件系统不一定支持, chattr +i(无法改动)a(禁止删与该,可新增内容)-264

umask -S查看创建文件的默认权限 不加参数时 后三位是拿掉的权限数字,第一位是特殊权限,umask 0002 设置权限 拿掉其他人的写权限

权限三命令chgrp chown chmod,chown 所有者:所有组

s在所属组与所属者的权限中不同,t仅目录有效-267

set uid :/tmp中的s权限;仅对二进制程序有效,执行者需要有执行权限,仅执行过程中有拥有者的权限,-266

set gid:文件-类似set uid,执行时有所属组的权限 ;目录-有rx权限能进入目录时,在目录中会变成目录所属组,新建的文件也变成所属组

sticky bit :给目录的,仅有创建者与root有权利删除

chmod 添加 4 suid 2 sgid 1sbit ;chmod test 4777

用户

新增groupadd -G 组  useradd -G 组 用户

查看权限 Id 用户

文件系统

Ext2文件系统

包含多个block group

Block group 内包含的6个区域 -285

Data Block资料区域 可设置大小,每个文件一个block,大文件会有多个block

Inode 表格记录Inode 文件属性( ls -l出的内容)与block位置 -286

Super bolock 记录inode与 block数据 ,一个文件系统只有一个,其他组里的是备份-288

文件描述 记录每个组的开始与结束block

区块对照表 inode是否被使用

Inode 对照表 记录inode是否被使用

Ext3/4是日志型的文件系统

避免内存操作错误或者停电等原因,分出一个区块记录文件读写的开始与完成。

Superblock整体文件系统数据,包括inode与block大小 -289

查找文件时通过逐级查找inode号确定文件位置-293,inode会有12个记录与二三级记录block位置-287

异步,内存中标记dirty的会被写入磁盘

挂载,挂在目录上做文件系统入口

查看支持的文件系统 -297

例子 296 inode号一样的文件是同一个,如/  /..  /.

Vfs 调用不同的文件系统,最后返回给使用者

Xfs文件系统

三个区域

资料区 inode的分配追踪,super inode,记录剩余空间,

文件活动记录区,类似ext3/4的记录区块

实时运作区 写文件时找几个extent区写入后把inode 与block记录

格式化时可以修改参数优化

软硬链接

软链接算一个文件,类似快捷方式

硬连接指向同一个inode号的文件,目录中的. ..也是硬链接,创建一个新目录时链接+1

相关指令

blkid 查看被格式化的设备

dumpe2fs ext文件系统查看设备文件名 -290

Xfs_info xfs文件系统详情 -300

ls -i 查看文件的inode号

df -T 显示挂载的类型

du -m -k 打印文件大小-s列出总量 不加-S会统计次级目录

/dev/shm是内存虚拟出的硬盘

磁盘

磁盘分区 - 知乎 (zhihu.com)

文件系统操作 需要虚拟机实践317

Parted需要u盘 -346

分区完成格式化,partprobe 重新读取分区-320

常用命令

dd if=输出装置(常用/dev/zero) of=输入装置 bs=一块大小 count=几块,累砖一样

是直接读取扇区,因不区分文件系统,可用于备份

lsblk 列出存储装置与分区 -312 -ip 以ascll列出完整名

blkid 查看uuid(非root用户不行,且无报错)

Parted devices_name print ;parted /dev/硬盘设备名 print 获取分区格式 -313

分区新增

Mbr用Fdisk  gpt用gdifsk

有空余空间fdisk n(新增) 输入开头与结束block位置

Mkfs.ext4进行格式化324

Swapon -s 查看交换分区,可新增-345

利用loop新增分区

Dd 创建指定大小文件, mkfs.***格式化后,blkid获得uuid,然后mount -o loop挂上,就可以不改环境新增分区,改/etc/fstap(类型是defaults,loop) 自动挂载并做测试 -340

文件系统修复与检查-326

文件系统改名改uuid -335

被检查的文件系统不能是挂载中,根目录使用-d单人模式

挂载

/etc/fstab 挂载记录6个参数 装置/名/uuid 挂载点 文件系统 系统参数dump fsck -337

参数可控制 自动检查类型,读写,执行,挂载,suid权限

自动挂载需要配置这个文件,但需要保持格式正确, 并做测试 ,unmount 设备;mount -a 查看挂载情况 -338

/etc/mtab  /porc/mounts 挂载内容

/etc/filesystems 系统测试挂载文件的优先级

/proc/filesystems 系统已经挂载的

/lib/modules/$(uname -r)/kernel/fs 系统驱动

Mount UUID=”硬盘uuid” 挂载点

Mout 设备 挂载点

Mount --bind 可以文件夹挂文件夹,指定到同一个inode

Umount 多挂载点得指定想要卸载的挂载点

u盘挂载如果带有中文数据需要指定语系 -331

装置文件由主次要号码确定,mknod 文件名 类型 主码 次码 -334

Mknod /dev/sda10 b 252 10 创建块文件

Mknod /dev/pip10 p 创建管道文件

压缩

gz

Gzip -v 文件压缩 -d解压

参数1-9为速度由快到慢,压缩比由低到高 gzip -9 -c test test.gz

Zcat/zmore/zless查看被压缩的.gz文件内容

Zgrep -n “内容” 文件

Bzip2

Bzip -v -d

类似gz,有bzcat/bzgrep

XZ也一样(xz5.6.0 5.6.1版本有漏洞)

Tar

Tar -jcvf 压缩后的文件 要压的文件 f后必须是文件 J是xz j是bz2 z是gz -p保留权限 P保留绝对路径,会覆盖原备份的文件Excelude可以排除文件本,可按时间备份-364

把其他路径挪过来 36

Tar -jtvf 压缩文件 查看归档内容

Tar -jxvf 压缩文件 -C 解压目录

备份

练习-389

文件系统备份有专门的工具如xfsrestore

制作iso文件 mkiso -r -v -o 文件.iso 文件与对应刻录 -376

dd备份可以直接复制一个文件系统 -384(需实践)

Cpio 可以备份设备文件,需要先跳转到指定目录用,相对路径备份,绝对路径会覆盖对应的文件,类似tar -B -385

Cd /; find boot| cpio -vcoB > /dev/sr0 往设备上备份 cpio -idvc < /dev/sr0 取出

Vim -395

常用的还有

O 此行新增 o下行新增,R此行替换 r此字符替换

nG跳到第n列

n← 光标左跳n个字符

n回车 往下跳n列

G调到结尾 gg跳到开头

/下查找 ?上查找

:1,2s/ti1/ti2/g 替换第一行到第二行的ti1为ti2,:1,$为从头到尾,g变成gc可以确定是否替换

X前删除x后删除 5x后删除5个字

ndd 下删n行

:w新文件名 另存为

:Set nu显示行号

:! ls / 执行命令

视图模式可以多行操作v按字幕选,V按行选 ctrl v竖着选 d删 y复制 p粘

多文件开打后, :n 下一个:N上一个 :files有几个

多窗 :sp ctrl+w+↑上 ↓下选择窗口

补全 ctrl+x开启补全 再按ctrl+n 文件内容 +f当前目录文件名 +o 以vim内建关键字补全

相关配置文件 ~/.viminfo 记录操作 ~/.vimrc 配置,或用/etc/vimrc

/etc/locale.conf $LANG $LC_ALL 记录编码相关

编码问题

Linux断行为$(LF)windows为^M$(CRLF),转换可以安装dos2unix ,来使用dos2unix与nuix2dos来互相转换

语系转换

Iconv -f 原本编码 -t 新编码 指定文件 -o 新文件

Iconv --list 查看支持的编码

Locale 当前的语系环境 -a 支持的语系 -438,未设定的语系会被LANG与LC_ALL替代

简体繁体转换可以通过gb2312转utf8

File 查看

常用路径

/etc/shells 合法的shell

/etc/passwd 登录信息

~/.bash_history 这次登录前执行的命令,这次登录的命令在注销后保存

/etc/issue 登录信息-455 /etc/issue.net 远程登录信息

/etc/motd 登录后的通知,不一定存在,ubuntu自己创建给予权限后正常使用

/etc/profile loggin shell读取,设定环境变量-457

/etc/profile.d 中*.sh会被profile调用,并且会嵌套调用其他脚本-457

~/.bash_profile;.bash_login;.profile;loggin shell按顺序读取其中一个,是bash环境的个人配置文件

~/.bashrc non-loggin shell登录时的环境配置脚本,比loggin shell少1个 -460

~/man_bd.conf man的路径

~/bash_logout 注销时的脚本

bash与环境变量

Alias lb =`ls -al`起别名

Type 查看类型,与别名,可以配合which查看非内建的执行档路径

\enter 跳脱回车,因为是跳脱下一个符号所以不能有空格

Ctrl +u 前删 +k 后删, +a跳到最前 +e最后

Stty -a 查看终端快捷键配置 stty kill ^o 设定ctrl o 为 删除当前命令行上的字符462

环境变量

Env 查看当前环境的变量 LANG记录语系,RANDOM记录随机数 -432

Exprot 让变量变成环境变量,给后面呼叫的程序用

Declare环境变量转变量

Unset 取消变量,但环境变量任然能在其他程序里读到

变量可以赋值给变量,echo 出来内容一样

Bash直接执行会进入子程序,需要将变量变成环境变量才能读到

Set 所有变量 PS1命令提示符(等待输入命令时前面那堆提示位置与用户的字),可以自定义-435

Echo $$ 当前终端的pid

Echo $? 上个命令的错误标识

PS2其他符号?

Read 写入环境变量,多用于脚本交互 -p 指定提示语 -t超时时间

Declare 可以改变变量类型,指定计算公式为数字才会进行计算,也可设置为只读(但只能注销登录取消只读),-p打印变量类型,-i添加数字类型+i反而是减少

Bash线程是被限制的,uilmit -a查看限制-443,重新登录获取新bash时取消限制

${test#/*test:}删除字符串中/开头,*中间任意字符,test:结尾的字符,#删最短那个,##删最长那个,%则是从后往前开始匹配

Test=${t1-$t2}如果没定义t1就赋值t2的值,赋空也是被定义的;Test=${t1:-$t2}赋空也会被赋t2

变量测试,又懵又长-449

Alias起别名 ps=’ps -ef’ 是单引号

History能写入historyfiles 再去其他终端读出来,或者更新到.Bash_history

-c 清理 -w写入到文件 -r从文件里读取

!命令 能重复此前命令,省去打参数,可以打缺省命令

!n能执行之前第n次的命令 !!执行上次的命令,但需要主要保护此类数据

tty2这种需要登录的是Loggin shell,x window这种不用登录的是non loggin shell执行的环境配置脚本不同-459

Set 显示 -u空变量报错信息 -v打印前显示命令 -x执行前显示命令 $- 变量里是当前配置

通配符 *任意个数,?至少一个(可累加???),[abc]包含abc中的一个字符,[0-9]包含0到9任意一个,[^]不包含

{}命令区块()子shell开始与结束

012 标准输入;输出;错误输出

Find -name 名字 >t1.txt 2>t2.txt 可以分开输出正确消息与错误输出

指令传回值&& ||还可以用来通过 $?命令1是否来决定是否执行后面的命令-471

管线命令需要能接受标准输入,排序常用sort -k指定按第几段排序,-a忽略大小写-b疏略空格 -t指定分隔符

Uniq 重复的只显示一次并计数 477

Tee 同时向标准输出与指定文件输出-a叠加-478

Tr -d删除 -s替换 掉文本中的内容

Cut -d : -f1 /etc/passwd 以:为分隔符切割后取每行第一块

Expand;Col -x tap转空格

Join整合含有相同内容的文件

Paste 同行粘贴

Split 大文件切小 split -b 300k(-l 10则是以10行为一个文件) /home/file file 切成file**格式的小文件,通过cat file** >> file 还原

Xargs 把标准输出切成参数,cat file|xargs -e’skip’ -pn 1 每次执行1次,执行前询问,遇到skip结束

减号将前一个减号给第二个减号 tar cf- /home | tar xf -C /etc -

486

正则运算

语系影响排序,排序影响正则

标识

Grep 能-An搜到内容的前n行 -An后n行

n显示行 ^[]内反选,在外是代表开头

Bash与正则的符号不同

  • 21
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值