linux知识点
命令部分
磁盘命令
文件权限
命令:
- 查看: ls -l 或 ll
- chmod 权限数字 文件名
权限数字:
- 文件是-,文件夹是d】【r/w/x相加】【r/w/x相加】【r/w/x相加】
- r 读权限read 4, w 写权限write 2, x 操作权限execute 1
iostat 查看磁盘IO
状态
内存使用率
free -h -s 秒数
磁盘使用(Disk free)
df -h /path/to/
文件占用(Disk usage)
目录下详细大小 : du -h --max-depth=1 /path/to/
文件夹大小 : du -sh /path/to/
CPU使用率
top -p 进程号
vimstat
进程(Process Status )
ps aux 和ps -ef
- -a ALL ; -x 显示没有终端的
kill -9 //9代表SIGKILL
网络(netstat)
- -o timer
- -p program
- -n numeric
- -l listening
路由表route
- traceroute原理
向目标主机发送包,分别把TTL(time-to-live)改成1到n,每次没到达而失效,路过路由都会返回一个超时ICMP报文,从而知道沿途路由器信息
文件处理
awk
awk '{[pattern] action}' {filenames} #总体格式
awk '{print $1,$4}' log.txt #打印第一列和第四列
awk '{printf "%-8s %-10s\n",$1,$4}' log.txt #格式化输出
awk -F, '{print $1,$2}' log.txt #指定分割字符为逗号
awk -f cal.awk log.txt #运行脚本
awk '$1>2' log.txt #可把pattern换为一个表达式
awk -F',' '{print $(NF-1),$NF}' log.txt # 获取最后一行
sed
nl /path/to | sed '2d' ##删除第二行
nl /path/to | sed '2,5d' #删除2到5行
nl /path/to | sed '/pattern/d' #删除含有pattern的行
head/tail
tail -n -100 文件 #除了前99行不显示外,显示第100行到末尾行
wc
wc -l 文件 #统计行数
ps -ef |grep gnome |wc -l #或者这样用
程序调试
ldd a.out # 查看可执行文件的动态链接库
gdb
next下一句
linux部分
目录结构
- /proc:虚拟的目录,是系统内存的映射,可用来获取系统信息
- /opt:这是给主机额外安装软件所摆放的目录
- /bin:存着最经常使用的命令,如cp,kill,cat
- /boot:这里存放的是启动Linux时使用的一些核心文件
- /lib:这个目录里存放着系统最基本的动态连接共享库,比如?
配置常用
- /etc:系统管理所需的配置文件和子目录。如etc/profile环境变量
- /var: 包括各种日志文件,var/log,如系统启动的日志boot.log
文件目录
- /dev :dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备
- /mnt:临时挂载别的文件系统的
- /media:自动识别的设备挂载地址
运行级别
一共有7个
- 运行级别0,停机状态
- 运行级别1,单机单用户状态,禁止远程
- 运行级别2,无网络多用户
- 运行级别3,命令行状态
- 运行级别5,默认状态,进入GUI
- 运行级别6,关机重启
启动流程
- 内核的引导。
BIOS从设置的位置读取内核,linux是读取/boot文件夹下内核(其他系统同样位置吗,BIOS怎么区分的) - 运行 init。
运行init后,init读取配置文件/etc/inittab - 系统初始化。
在init配置文件中会运行一个脚本,负责系统初始化,主要工作:激活交换分区,检查磁盘,加载硬件模块 - 建立终端
系统初始化完毕后,打开终端 - 用户登录系统
整体:首先会根据BIOS设定在硬盘/boot下读取内核,启动init程序,init读取配置文件,配置文件中有一行是会运行系统初始化脚本,包括检查磁盘,激活交换分区,初始化完毕后打开终端,用户登录系统
软硬链接
软链接命令: ln -s source target
ps.soft代表软吧
linux配置
/proc/sys/kernel/pid_max 可运行进程的最大数目
TODO
- ps和top查出来的各种参数
- traceroute和ping原理
- iostat和fdisk
- 问下Linux内核一般会问什么啊?
A:内存管理/文件管理/进程管理 应该是《深入理解计算机系统》或者《操作系统》那本书上的 - UNP第二卷进程间通信
- linux下进程线程区别
- linux下最大进程数目,最大线程数目