初学linux,啃了书记个笔记。
《Linux命令行与shell脚本编程大全》
第3-5章
3 基本的bash shell命令
3.3 bash手册
- man 关键字 :进入手册页 q :退出手册页
- man -k 关键字 :查找命令
- info 关键字
- 关键字 -help
3.4 浏览文件系统
3.4.1 Linux文件系统
- / 划分目录 \ 标识转义字符
- 常见Linux目录名称 见书P39 表3-3
3.4.2 遍历目录
- cd :切换到用户主目录
- cd 文件路径 :切换到目标路径
- pwd :显示当前目录
- ../ :上级目录
3.5 文件和目录列表
3.5.1 基本列表功能
- ls :显示当前目录下的文件和目录
- ls -a :同时显示隐藏文件(以.开头的文件)
- ls -R :递归 列出当前目录下所有子目录中的文件(包括子目录的子目录)
3.5.2 显示长列表
- ls -l :显示更多信息
3.5.3 过滤输出列表
- ls 参数 文件名
- 通配符
- ?一个字符
- *任意个字符
- [ai] a或i
- [a - i] a到i的任一字符
- [!a] 除a以外的字符
3.6 处理文件
3.6.1 创建文件
- touch 文件名 :创建空文件
- touch已有文件:改变文件的修改时间
- touch -a 文件名 :改变文件的访问时间
- ls -l --time=atime 文件名:显示已修改的文件的访问时间
3.6.2 复制文件
- cp 源对象 目标对象:复制一个新文件
- cp -i 源对象 目标对象:强制询问是否覆盖已有文件
- cp 源对象 目标目录/:复制到目标目录下
- cp 源路径 . :复制到同一目录下
- cp -R 源目录/ 目标 :复制整个目录中的内容
- ls -d 目录:只输出目录本身信息,不列出其中的内容
3.6.4 链接文件
- ln -s 原始文件 符号链接:得到一个指向原始文件的符号链接,两者是不同的文件
- ls -i 路径:查看文件或目录的inode号(文件或目录的唯一标识)
- ln 原始文件 硬链接:得到一个独立的虚拟文件,实际上是同一个文件
- 同一个文件可以有多个链接
- 不要创建软链接文件的软链接
3.6.5 重命名文件
- mv a b : 将a重命名为b
- mv a 目录/:将a移动到新的目录下
- mv -i a b:提示是否覆盖同名文件
- mv 路径/文件名 路径/文件名:移动的同时重命名
- mv 目录 目录:移动整个目录及其内容
3.6.6 删除文件
rm -i 文件:询问是否确认删除
rm -f 文件:强制删除,不受提示符打扰
3.7 处理目录
3.7.1 创建目录
- mkdir 目录名:创建新目录
- mkdir -p 目录名:同时创建多级子目录
3.7.2 删除目录
- rmdir 目录名:删除空目录
- rmdir -ri:删除目录下文件,再删除目录
- rmdir -rf:强制删除整个目录,没有警告信息
3.8 查看文件内容
3.8.1 查看文件类型
- file 文件名:查看文件类型
3.8.2 查看整个文件
- cat 现实文本文件的内容
- -n 给所有的行加上行号
- -b 只给有文本的行打上行号
- -T 用^I替代制表符
- more 按空格或回车逐行浏览,按q退出
- less 按上下键或上下翻页键浏览,按q退出
3.8.3 查看部分文件
- tail 文件名 :查看最后十行
- tail -n x 文件名 :查看最后x行
- tail -f 文件名 :实时监测文件末尾
- head 文件名:查看开头10行
- head -x 文件名:查看开头x行
4 更多的bash shell命令
4.1 监测程序
4.1.1 探查进程
- ps 参数见P65-70
4.1.2 实时监测进程
- top
4.1.3 结束进程
- kill PID:尽可能结束
- kill -s 信号名or信号值:强制终止
- killall 信号名or信号值:支持通配符
4.2 监测磁盘空间
4.2.1 挂载存储媒体
- mount:输出挂载列表
- mount -t type device directory:手动挂载
- umount [directory | device]:卸载
4.2.2 使用df命令
- df :查看已挂载磁盘的使用情况
- -h:以M、G单位显示
4.2.3 使用du命令
- du:显示当前目录下所有文件、目录的磁盘使用情况
4.3 处理数据文件
4.3.1 排序数据
- sort 文件名:排序
- -n:按值排序
- -M:按月排序
- -t '...':按...分割字段
- -k x:按第x个字段排序
- -r:降序
- 例: sort -t ':' -k 3 -nr file1
4.3.2 搜索数据
- grep [option] pattern [file]
- -v 反向搜索
- -n 显示所在行号
- -c 统计匹配行数
- -e 匹配多个字符 例:grep -e a -e b file
- 正则表达式
- grep [ab] file:匹配a或b
4.3.3 压缩数据
- gzip压缩 gzcat查看压缩文本的内容 gunzip解压
4.3.4 归档数据
- tar function [options] objecti1 object2 ... 参数见P84
- 例:
- tar -cvf test.tar test/ test2/ 创建归档文件
- tar -tf test.tar 列出内容
- tar -xvf test.tar 提取内容
- tar -zxvf filename.tgz 解压.tgz文件
5 理解shell
5.2.1 进程列表
- ( ; ) 创建子shell执行命令
- { command; } 不创建子shell执行命令
- echo $BASH_SUBSHELL:返回子shell的层级
5.2.2.1 后台模式
- 命令末尾加&
- jobs:显示后台模式中所有用户的进程
5.2.2.3 协程
- coproc 命令:在后台生成一个子shell,并在其中执行命令
- coproc 进程名 { 命令; } : 创建协程时命名
5.3.1 外部命令
- which 命令 :找到外部命令位置
- type -a 命令 :查看命令的不同实现(内外都可以)
5.3.2 内建命令
- history
- !! :执行最后一条命令
- bash命令的历史记录在退出后才写入
- history -a :强制写入
- history -n :强制重新读取.bash_history文件
- !x :重用第x行命令
- alias
- -p 查看当前可用的别名
- alias 别名='命令'