1 ---第二天笔记--- 2 查看操作系统版本:cat /etc/redhat-release, /etc/os-release 3 命令:lsb_release 4 查看内存 和 swap分区:free 5 查看cpu: lscpu 6 L1 L2 L3 CACHE 7 查看硬盘: lsblk 也能看到分区和挂载点 8 man 分为9个章节 9 1:用户命令 10 2:系统调用 如socket 11 3:C库调用 12 5:配置文件格式 13 8:管理类命令 14 9:Linux内核API 15 issue 预登陆提示文件提示 修改 man 8 agetty 16 -l 显示tty终端 17 -m 显示主机名 18 -t 当前时间 19 ... 20 安装软件一般产生一个帮助文档:/usr/share/doc 21 历史命令:history 22 -c 清空历史,不会删除文件 23 -d 清楚某一条 history -d 10 24 -a 存到历史文件中 .bash_history 25 -r 文件-->history 26 -w 写入其他文件 history -w ./history.txt 27 -p 隐藏,不写入 28 -s 伪造 29 一些变量: 30 $HISTSIZE 31 $HISTIGNORE +string 这些历史忽略,不显示 32 $HISTFILE 可以修改默认存放位置 33 $HISTTIMEFORMAT "%F %T" 34 $HISTCONTROL =both 忽略空白和重复的,默认是忽略重复的。 35 文件:/etc/profile.d/env.sh 36 快捷键: 37 ^ + s 锁屏 ^ + q 解锁 ^ + z 挂起 38 文件管理部分: 39 /boot 引导启动 40 /dev 硬件设备文件 /dev/zero,null 41 /etc 配置文件 42 /home 用户 43 /run 运行时生成的文件 44 /bin 普通用户可执行程序 45 /sbin 管理员程序 46 /usr 47 /var 变化的数据 缓存,数据库等 48 /media 媒体 49 /sys 硬件信息 比如磁盘 /proc 保存内存和进程相关文件 50 ... 51 FHS Linux File Hierarchy Standard 文件分层系统 52 文件:metadata + data 53 文件颜色配置文件:/etc/DIR_COLORS 54 块设备与字符设备有什么区别? 块设备是随机存取(如硬盘),字符设备是顺序存储。 55 echo '- - -' > /sys/class/scsi_host/host*/scan 触发对磁盘的扫描 可以设置为别名:alias scandisk='echo - - - >/sys/class/scsi_host/host0/scan;echo - - - >/sys/class/scsi_host/host1/scan;echo - - - >/sys/class/scsi_host/host2/scan' 56 pwd 当前目录 -P 显示软连接的真实路径 补充:描述文件位置根据实际使用绝对路径或者相对路径 57 cd 改变目录 cd ~wang 58 cd - 回到上一次目录 echo $OLDPWD 59 dirname 取出路径 60 basename 取出文件(夹)名 61 ls -R 目录递归列出所有 62 ls -l 长格式 63 ls -d 只看文件夹本身属性 64 -S 从大到小 ls -1 竖着显示 l. 显示隐藏文件 65 atime 读时间 ll --time=atime /f1 66 mtime 修改时间 ll /f1 67 ctime 文件状态更改时间 ll --time=ctime /f1 68 stat /f1 直接查看3个时间 69 通配符:匹配文件的路径 70 * 任意长度任意字符 71 ? 任意一个字符 72 [0-9a-zA-Z] 73 [^abc] 排除了a,b,c 74 [:digit:] 75 [:lower:] 76 [:upper:] 77 [:alpha:] [:alnum:]数字字母 查看说明:man 7 glob 78 ... 79 touch -c 刷新文件时间,不存在不创建 80 cp 拷贝,会改变文件一些属性信息 81 -a 保持属性不变,常用于备份 82 -r 递归 83 -v 显示过程 84 -av 很常用 85 -u 可以用来更新数据(比较新旧,留下较新的) -f 可以强制覆盖 -b 备份(如果文件已存在,被覆盖的文件将被备份一份) man ascii 查看ASCII表 86 scp 远程拷贝 例子:scp /etc/issue 172.22.5.6:/data 87 lsof |grep delete 查看删除文件 rm 删除-h之类的文件 --> rm -- -h tree -d只显示目录的结构 88 > filename 可以安全的删除文件,擦除磁盘空间。 mkdir 创建目录 -p 递归创建 rmdir 删除目录 -p 同理~ df命令:查看分区,挂载点,大小,已使用,未使用,百分比 89 文件: 90 meta data 索引节点:inode 91 inode 节点编号,文件的唯一标识,在同一分区唯一 ll -i 查看节点编号* inode table 节点表 目录文件:文件夹的内容就是里面文件的名字!元数据中的指针指向的数据块保存着文件的名字。 查看磁盘的节点编号使用:df -i 测试touch文件将节点编号占满:echo {1..600000}|xargs touch 新建600000个文件 92 面试题:磁盘有空间报错,No space left on device为什么? 93 原因:节点编号用光了 94 95 备注:在LINUX系统中,即使文件或者目录正在使用,也可以删除! 96 cp命令底层发生了什么? 创建文件,分配节点编号,在磁盘中分配一定空间,设置meta data 例子:cp /etc/fstab /data/1.txt底层发生了什么? 回答:建立新文件,系统会新建一个记录给文件分配一个节点编号,指定各种属性,另外在磁盘上分配一块空间并用指针指向它。 97 mv底层发生了什么? cp + rm 98 同一分区mv文件,节点编号不变。本质上文件没动。 99 ln 硬连接 特点:同一文件的不同名字,磁盘占一个空间,不支持目录,不支持跨分区。 删除一个文件:只是删除了一个名字,没有任何影响,连接数会减一。 局限:不能跨设备(分区) 本质:是同一个文件,同一节点编号。
2019/3/7 21:34