-
Linux之父:Linus Torvalds
-
ctrl +alt +f1~7 前6为终端 7回到桌面模式
-
root@ubanut~ # 用户+主机名+用户home目录+提示符(#:root用户 $:一般用户)
第一章命令【Linux简介】
date- -显示日期 ; ls–列出目录内容 -l 详细显示当前目录所有文件; cat–显示文件内容;
第二章命令【用户管理】
id 查询用户uid gid groups;
groups 用户组名;
useradd 添加用户 userdel 删除用户 ;
passwd( 普通用户后面不能加参数) 修改密码;
用户修改 usermod -m若home目录存在自动创建新home目录;usermod -L/ -U用户冻结和解锁;
groupadd;groupdel;
user who w (more and more detail) finger;检查用户信息
切换用户 su ;su - ;su +name;su - +name;
单一时刻执行任务 at ; ctrl +d输入:输入结束 ;atq查看当前at调度任务表;atrm删除;
周期性执行任务 service crond start确定crond 是否在运行; *crontab -e编辑;crontab -l查看;corntab -r删除;配置文件 /etc/crontab
第三章命令【文件管理】
touch +文件名;创建文件
rm -i -f-r + 删除文件; mv -i -f + 移动和重命名;mv a.txt /tmp/ ;mv a.txt a.doc; mv a.txt /mnt/a.doc;
rm 删除文件和目录的区别 是否递归删除 -r-R;
cat -n -v -s -n-b 查看;
head -n;tail -n;查看文件头尾
dos2unix +文件名;文件格式转换
mkdir -p +目录名;rmdir(目录为空);创建删除目录
lsattr;chattr;查看设置文件隐藏属性
修改文件权限 chomd u/g/o +rwx somefile; 7=rwx 5=r-x 4=r–;chomd -R ;
改变文件拥有者 chown ;chown -R ; chgrp 组 ;
file 查看文件类型 ; 查找文件 find locate (依赖数据库文件);which whereis ;
文件压缩 {gzip / gunzip bzip2 ; tar (.gz /.tar/.tgz/.bz2 )} ; cpio; tar -czvf 压缩文件 -czxf 解压文件 ;
语法:tar [主选项 + 辅选项] 文件或目录
使用该命令时,主选项必须有,它告诉 tar 要做什么事情,辅选项是辅助使用的,可以选用。
主选项:【一条命令以下 5 个参数只能有一个】
-c: --create 新建一个压缩文档,即打包
-x: --extract,–get 解压文件
-t: --list, 查看压缩文档里的所有内容
-r:–append 向压缩文档里追加文件
-u:–update 更新原压缩包中的文件
辅助选项:
-z: 是否同时具有 gzip 的属性?即是否需要用 gzip 压缩或解压?一般格式为 xxx.tar.gz 或 xx.tgz
-j:是否同时具有 bzip2 的属性?即是否需要用 bzip2 压缩或解压?一般格式为 xx.tar.bz2
-v: 显示操作过程!这个参数很常用
-f:使用文档名,注意,在 f 之后要立即接文档名,不要再加其他参数!
-C: 切换到指定目录
–exclude FILE: 在压缩过程中,不要将 FILE 打包
SUID 权限只能用于二进制文件 chomd u+s somefile (普通用户可使用root 身份执行该命令);SGID chomd g+s somefile (该文件的group中的所有用户可执行该命令);Sticky 权限只能设置在目录 chomd o+t smoedir (只有该文件的创建者和root可以删除该文件);root 文件默认权限644 目录 755 普通用户 664 775 ;
文件权限4段 1.文件类型2.所有者3.组4.其他;
第四章命令【文件系统】
fdisk 创建文件系统
分区操作:1.fdisk /dev/sdb 2 .n 新建分区3. p主分区 e 扩展分区 4 .1第一个分区 5.1 第一个柱面的开始位置 6.xxx 最后一个柱面的位置 7. w写入分区表
格式化:mkfs -t ext3 /dev/sdb1
磁盘挂载:mount device (具体设备) moun-point(挂载点–只能是目录)
步骤: 1.mkdir newdisk 2.mount /dev/sdb1 newdisk 3.设置启动自动挂载 /etc/fstab
磁盘检验 fsck -t type(文件系统) /decive/path(设备全路径) (注:fsck检验磁盘需未挂载 )
解除挂载:umount /decive/path
检查磁盘是否有坏道 badblocks page73(修改分区Id为8e)
PV (物理卷 ) VG(卷组) LV(逻辑卷)
硬链接–实际链接 允许一个文件拥有多个有效路径名 (目录无法创建硬链接;只有在同一文件系统中的文件才可);
软链接(符号链接) 包含了另一个文件路径名的文件;可以指向任意文件或目录也可跨文件系统访问;
第五章【字符处理】
管道:固定大小的缓冲区,大小为一页4k字节;
grep -[ivnc] ’ string ’ filename (文本搜索工具 ) ;
sort -[ntkr] filename (排序) 默认按照每行第一个字符排序{*如果没有-n 则11可能比2小};
uniq -[ic] (删除相邻行的重复内容,一般先sort然后uniq);
cut (以一行为对象截取文本 ) 1.cut -f指定的列 -d ’分割符‘ 2.cut -c指定列的字符 ;
tr (文本转换或删除) 1.tr ‘[a-z]’ ‘[A-Z]’ 转换大小写 2.tr -d ‘删除内容’ ;
paste (按行文本合并,默认中间tab键隔开) 1.paste a.txt b.txt 2.paste -d分割符 a.txt b.txt ;
split (分割大文件;*二进制文件只能按大小分割)1.split -l500 a.txt small-file- 按500行分割 2.split -b64m big-bin small-bin-
第六章【网络管理】
ifconfig 输出当前系统中所有处于活动状态的网络接口 (eth0: 以太网的第一块网卡 ;Link encap :封装方式 HEaddr 网卡的硬件地址–MAC地址;inet addr:IP地址;Broadcast:广播地址;Mask:掩码;MTU:最大存储单元);
ifconfig eth0 down/up 开关网卡;ifconfig -a 显示当前不活动的网卡 ;
网络配置文件目录 :redhat/centos : /etc/sysconfig/network-scripes/
ubantu : /etc/network (网络配置文件 interfaces )
route 添加默认网关 route add defualt gw 192.168.159.2 (route–del 删除);route -n 查看当前系统路由表;route命令添加如果未写入配置文件则重启后消失;
hosts 记录主机名和IP的对应关系 ;
DNS:全互联网上的主机名及其IP地址对应关系的数据库;配置文件 /etc/resolv.conf ;nameserver–DNS主机的IP地址,可以设置2~3个,但系统不会用到第4个;search–域名 (可多个)domain(一个);
ping (网络测试工具)测试另一台主机是否可达(不能主动停止,手动Ctrl+C 停止);
常见网络故障排查:page92 1.ping 127.0.0.1 2.ping 本机IP地址 3.ping 同网段的其他主机 4.ping 网关IP 5.ping 公网IP 6.ping 公网上的域名 ;
第七章【进程管理】
进程查看 : (瞬间)ps + 参数 page95 ,(实时)top;
进程终止: kill + pid (一般和ps联合使用) kill -1 (重启) ,9(强行杀掉),15(正常结束);killall +进程名字 ;
查询进程打开的文件:lsof [options] +filename *lsof需要用root用户执行;
进程优先级调整:nice (取值范围-20~19 数值越低优先级越高,普通用户给自己的进程赋予优先级范围0~19) nice -n 5 ./a.sh (启动进程时赋予优先级); renice 10 -p + pid (修改已经启动的进程);
第八章【软件安装】
三种安装: 源码包编译安装;RPM;yum;
RPM 的5种模式: 安装 检验 查询 更新 删除
第九章【编辑器】
vi和vim的区别 :单行编辑和多行编辑;
vi模式:一般;编辑;末行指令;
vim模式:标准[在其他模式Esc可返回该模式];插入(editor);命令行(底行);可视;
指令page132: yy 复制该行 ;dd 删除;p 粘贴;u撤销最近一次操作;dw 删除一个词语==6*x;$ 移动到本行末尾 G 移动到文件末尾;kjhl 光标上下左右移动;…
vim 指令 page136;
gcc 编译流程: 预处理–进行宏替换以及头文件的展开不会检查错误;编译–生成汇编文件,检查语法错误;汇编–生成目标文件(二进制文件) ;链接-- 链接库函数,生成可执行文件;
gcc -E a.c -o a.i;gcc -S a.i -o a.s; gcc -c a.s -o a.o;
第十章【正则表达式】
基础:. 匹配除换行符之外的任意一个字符r.t rot rit ;* 匹配前一个字符任意次; .* 任意长度的字符 斜杠{n,m斜} 前面字符n~m次; ^ 开头的字符;KaTeX parse error: Expected group after '^' at position 8: 结尾的字符 ;^̲ 该行为空行; [ ] 方括号里面的任一字符 [A-Z] A到Z任一字符 *方括号里面有^ 取反;斜< 界定单词左边界;斜> 单词右边界;斜d == [0~9] ; 斜b 匹配单词边界;斜B 匹配非单词的边界;斜w==[A-Za-z0-9];斜W 对前者取反;
-
List item
扩展:使用egrep ? 前一个字符0次或1次;+前一个字符1次以上;| 或;( | )page144; { } 所有括号内包含的以逗号隔开的字符;
通配符:* ;?;{ ,};
文本处理工具: sed 并不会改变原文件本身 + -i 即可;以行为单位处理;page156 sed总结;
awk 以列(域)为单位处理,并不会改变原文件内容;NF 内部变量; $NF 最后一行;
第十一章【shell编程概述】
shell在系统中的位置为:/bin/sh;
查看shell 版本 cat /etc/shells ;
shell 分类 :图形界面shell 命令形式shell;
运行脚本 bash a.sh(开头可以不要) ;chmod 777 a.sh;1chmod +x a.sh 2 mv a.sh /bin/ 3 a.sh;
第十二章【shell基础】
开头: #!/bin/bash
在脚本中变量默认为全局变量; export a=1 将a导出为环境变量;unset 释放变量和函数的内存空间;
变量和值之间没有空格;bash 创建子shell ;S