这是一个本人学习 csapp 的 learning 库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

130 lines
2.9 KiB

  1. ### 生成 50000 行随机字符串文件
  2. 使用 head 和 base64 命令
  3. 读取 50000 行 dev/urandom 文件,由于是二进制数据,通过管道输入给 base64 命令转码,再重定向到目标文件
  4. 输入命令 ```head -n 50000 /dev/urandom | base64 > random```
  5. 用 vim 查看 random 文件
  6. ![image-20220909211933123](C:/Users/15791/AppData/Roaming/Typora/typora-user-images/image-20220909211933123.png)
  7. 注意到实际行数达 22 万行
  8. 为达到要求,再使用 head 命令获取 50000 行数据,输入命令 ```head -n 50000 random > random2```
  9. 用 wc 命令查看 random2 文件
  10. ![image-20220909205002527](C:\Users\15791\AppData\Roaming\Typora\typora-user-images\image-20220909205002527.png)
  11. 替换 random 文件
  12. ![image-20220909205622666](C:\Users\15791\AppData\Roaming\Typora\typora-user-images\image-20220909205622666.png)
  13. ***
  14. ### 按字母排序文件,输出 unique 行
  15. 使用 sort 命令,覆盖写入
  16. 输入命令 ```sort --unique random > unique_sort_by_asc```
  17. 查看结果
  18. ![image-20220909212221043](C:\Users\15791\AppData\Roaming\Typora\typora-user-images\image-20220909212221043.png)
  19. ***
  20. ### 按数字排序文件,输出 unique 行
  21. 输入命令 ``` sort --unique --numeric-sort random > unique_sort_by_num```
  22. 查看结果
  23. ![image-20220909212307763](C:\Users\15791\AppData\Roaming\Typora\typora-user-images\image-20220909212307763.png)
  24. ***
  25. ### 追加写入文件 totall
  26. 使用 cat 命令
  27. ![image-20220909212434813](C:\Users\15791\AppData\Roaming\Typora\typora-user-images\image-20220909212434813.png)
  28. 通过行数判断追加成功
  29. ***
  30. ### 找内容确定的字符串
  31. 以 totall 文件为例,查找指定内容
  32. 使用 grep 命令
  33. ![image-20220909213439956](C:\Users\15791\AppData\Roaming\Typora\typora-user-images\image-20220909213439956.png)
  34. ***
  35. ### 统计匹配数目
  36. 将 grep 产生的数据通过管道输入给 wc 命令统计行数即匹配到的数目
  37. ![image-20220909213604144](C:\Users\15791\AppData\Roaming\Typora\typora-user-images\image-20220909213604144.png)
  38. ***
  39. ### Git 练习
  40. 1. 创建仓库并 push 到远程仓库
  41. git init
  42. git commit -m "first commit"
  43. git remote add shuishan git@gitea.shuishan.net.cn:10215501413/CsappLearning.git
  44. git push -u shuishan master
  45. 2. 创建分支并 push
  46. git checkout -b gitPractise
  47. git add ./quiz/linux_shell_learning/*
  48. git commit -m "feat: linux shell learning"
  49. git push shuishan gitPractise
  50. 3. 查看分支
  51. git branch -a
  52. 4. 合并分支
  53. git checkout master
  54. git merge gitPractise
  55. 5. push
  56. git push shuishan master
  57. 6. 删除新分支
  58. git push shuishan --delete gitPractise
  59. ***
  60. ### 使用命令小结
  61. * tldr - 查看命令使用方法
  62. * head - 获取文件从头开始的内容
  63. * base64 - 将数据转为 base64 编码
  64. * sort - 排序数据内容
  65. * cat - 向文件追加数据
  66. * grep - 匹配指定内容
  67. * wc - 统计文件行数等信息
  68. * mv - 重命名文件
  69. * /dev/urandom - 包含随机数据的文件