惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
B
Blog
Jina AI
Jina AI
N
Netflix TechBlog - Medium
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园_首页
Hugging Face - Blog
Hugging Face - Blog
博客园 - 聂微东
美团技术团队
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42
The Cloudflare Blog
V
V2EX
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
小众软件
小众软件
罗磊的独立博客
Microsoft Security Blog
Microsoft Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
I
InfoQ
GbyAI
GbyAI
腾讯CDC
MongoDB | Blog
MongoDB | Blog

卷卷

今日说法 节目汇总笔记 《斯坦福大学人生设计课》读书笔记 我的书单📖 H-worm (VBS蠕虫) 感染事件溯源分析报告 AMOS (Atomic Stealer) 恶意软件深度分析 银狐26年全面复活,对抗强度或已超25年最高水平 Atomic Stealer (AMOS) 回归:ClickFix、伪装加密货币应用与新型 macOS 持久化机制 关于xt.exe的分析报告 仿真钓鱼页面窃取用户凭证 GitHub Pages配置Cloudflare CDN踩坑之路 推荐RSS热力图和Github热力图使用指南 学习逆向工程相关概念 zabbix快速上手 学习python高级语法特性例题笔记 学习云计算基本理论学习笔记 学习Docker-Compose命令及镜像构建与推送 ATT &CK 框架实践阅读笔记 rundll32.exe恶意加载DLL文件外联 《悉达多》读书笔记 《稀缺》读书笔记 《认知觉醒》读书笔记 《营养学》读书笔记 《心理学》读书笔记 热💖生活 C++开发环境配置与程序运行笔记 IDA Free调试Hello World笔记 逆向免杀 Admin.canway账号命名方式 BAS - Breach and Attack Simulation Windows核心系统进程链与svchost深度解析
学习Linux命令
卷卷 · 2024-01-10 · via 卷卷

在Linux和类Unix操作系统中,波浪号(~​)代表当前用户的主目录(home directory)

例如,如果当前用户是alice​,并且她的主目录是/home/alice​,那么~​就代表/home/alice​。

全局可执行程序会被放置在/usr/local/bin​(对于本地安装的软件)或/usr/bin​(对于系统级的软件包)目录中。

用户

  1. 简介:多用户、多任务、多线程、多处理器、高稳定、高安全
  2. 内核:进程调度、内存管理、虚拟文件系统、网络接口
  3. 特点:模块化程度高、源码公开、设备独立性、广泛硬件支持、安全性可靠性好、可以执行强、良好网络和文件系统支持
  4. 用户名 @ 计算机名 用户目录
  5. 创建用户:adduser zhangsan
  6. 修改密码:passwd zhangsan
  7. 显示当前工作目录:pwd
  8. 更改工作目录:cd
  9. 创建工作目录:mkdir
  10. 切换用户:su

文件

  1. 删除空工作目录:rmdir

  2. 使用较长格式列出文件:ls -l

  3. 列出所有文件和目录:ls 包括隐藏:-a

  4. 强制删除:rm -rf xxx 谨慎使用

  5. 移动目录或文件:mv xxx xxx

  6. 复制/重命名目录或文件:cp xxx xxx

  7. 创建文件:touch xxx

  8. 查看文件最后编辑时间:ls -l xxx

  9. 查看文件最后访问时间:ls -lu xxx

  10. 修改文件最后访问时间:touch -at 02011011 xxx

  11. 创建和显示文件:cat xxx

  12. 更改文件权限:chmod 777(组合权值) xxx

  13. 分页显示:more/less xxx

  14. 显示文件前 n 行:head n xxx

  15. 显示文件后 n 行:tail n xxx

  16. 文件内容排序:sort xxx

  17. 检查文件重复内容:uniq xxx

  18. 文件中查找内容:grep ‘a’ xxx

  19. 文件字节比对:cpm xxx xxx

  20. 有序文件比对:comm xxx xxx

  21. 文件内容查找:find -name “ex” (ex 开头)*

  22. 1 天内存取过:Fiand -atime -1

  23. 查看指定文件所在位置:where is ls

  24. 查看可执行文件位置:which pwd

  25. 显示磁盘空间:df -h

  26. 列文件系统类型:df -T

  27. 统计目录或磁盘占用空间大小:du -h xxx

  28. 将某个分区挂载到某个目录下: mount /x/x /x/x

  29. 取消该分区的挂载:umount /dev/sdb

  30. 查看磁盘 uuid: lsblk -f

压缩

  1. Ubuntu安装deb软件:sudo dpkg -i 文件名.deb

  2. 压缩文件:zip name.zip name; bzip2 name ;

  3. 删除压缩包中文件:zip -d name.zip xxx

  4. 压缩包中添文件:zip -m name.zip xxx

  5. 覆盖解压缩:unzip -o name.zip; bzip2/bunzip2 name.bz2

  6. 另存为解压缩:unzip -n name.zip

47. List 压缩包信息:zipinfo name.zip

后缀压缩命令解压命令其他其他
.zipzip name.zip nameunzip -o(覆盖)/n(另存)name.zipzip -d/m(包中增删) name.zip namelist 压缩包信息 zipinfo name.zip
.gzgzexe namegunzip name.gzgizp *目录下全压gzip -dv *(目录下全解)
.bz2bzip2 namebzip2/ bunzip2 name.bz2Bzip2recover name.bz2(修复)
.zcompress ‘’/-f nameUncompress/(compress -d) name.z未安装:root 执行 apt install ncompress下载完切换为普通用户
  1. 用 man 查看 ls 命令帮助:man ls;help ls;info ls
  2. 查看命令功能:whatis ls
  3. 清除屏幕:clear
  4. 显示文本:echo
  5. 查看时间/日期:date ;cal;cal 2024;
  6. 查看所有进程:ps -A
  7. 查看某进程:ps -ef | grep xxx
  8. 终止某进程:pkill xxx
  9. 显示最近登陆系统的用户信息:last
  10. 显示历史指令 10 条:history 10
  11. 定义别名:alias l = ‘ls’
  12. 删除别名:unalias l

vi

  1. Vi 编辑器:命令模式、插入模式、底线模式
  2. 按:进入底线模式;按 a、i、o 进入插入模式;esc 退出;
  3. 退出/强制修改退出:wq/wq!
  4. 查看 more name
  5. 保存内容::w
  6. 打开下/上一个文件::n/N
  7. 不存盘退出/强制不存盘退出:q / q!
  8. 文件存盘退出::wq / wq
  9. 撤销队稳健的修改:命令模式 u
  10. 移动光标:方向键上下左右
  11. 移动光标:kjhl(科技含量)
  12. 将光标移动下一个单词开头:w
  13. 将光标向前移动一个单词:b
  14. 将光标移动到单词尾:e
  15. 将光标移动到文本中的某字母:f+ 字母
  16. 将光标移动到·该行的 n 位:n+|
  17. 将光标移动到当前行末:$
  18. 将光标移动到当前行首:^
  19. 跳文首 gg 文末 GG
  20. 数字 +G/ :+ 数字:将光标移动到对应行首
  21. :$ 将光标移动到文件最后一行首
  22. 光标上移一行 + 光标下移一行·
  23. M 光标移动到屏幕中间
  24. L 光标移动到当前屏幕下方
  25. H 光标移动到·屏幕最上方
  26. Ctrl+D 向下移动半屏文本内容
  27. Ctrl+U 移动半屏内容
  28. Ctrl+F 下一屏
  29. Ctrl+B 上一屏
  30. 插入:左 i 右 a 上 O 下 o 首 I 尾 A
  31. 查找字符串:\a 向前查找 n 向后查找 N
  32. 替换一个字符 r 逐行替换 R 替换整个单词 cw 整行替换 cc
  33. 查找替换 :😒/tow/data 将该行中 tow 替换为 data
  34. 替换光标到行末间的内容:C
  35. 对所有内容进行替换::1,$ s/owe/one(从第一行到最后一行内容进行替换)
  36. 搜索所有行内容并替换::1,$ s/three/003/g g 表示全局
字符单词
复制ylywyy
剪切xdwDd
粘贴·ppP
  1. 复制和移动文本块:2 copy 15 第 2 行复制到 15 行之后
  2. :1,6 copy 16 将 1-6 行的文本块复制到 16 行
  3. :8,13 move 23 将 8-13 的文本块移动到 23 行之后
  4. ·删除单个字符:x 7x(删除光标后的 7 个字符)
  5. 删除单个单词:dw 删除多个单词:2dw
  6. 删除单行:dd 删除光标后的部分内容 D
  7. 删除光标到某字符间内容:dfy(删除光标后到 y 的内容)
  8. 3dd 删除光标后 3 行内容
  9. :2d 删除第二行内容
  10. :1,4d 删除 1-4 行内容
  11. ;1,$d 删除全部
  12. 重复删除:.
  13. 撤销 u 撤销一行上所有修改 U
  14. 更改 vi 编辑器设置*****
  15. 显示行号: :set number / :set nonumber
  16. 字符缩进: :set autoindent / :set noautoindent
  17. 显示编辑状态: :set showmode / :set noshowmode
  18. 搜索时忽略大小写::set ignorecase / :set noignorecase
  19. 显示何隐藏特殊字符::set list / :set nolist
  20. 特殊字符匹配::set showmatch / :set noshowmatch
  21. 显示;长文本行::set wrapmargin=10 :set wrapmargin =0
  22. 查看编辑器当前设置::set all
  23. 编辑器配置文件:.vimrc
  24. 按多列格式输出:column ex02 | more 用 column 程序显示文件内容
  25. 按不同行列:column-x ex02 | more
  26. 在多个文件中查找:grep string file1 file2 (string 为待查找内容
  27. 在当前目录下所有文件中查找:grep computer *
  28. 在文件中查找多个单词:grep ‘joy chen’ exam_01 grep -i ‘joy chen’ exam_01 忽略大小写
  29. 输出不包含目标字符串的行:grep -v joy eam_01
  30. 输出包含目标字符串·的文件名:grep -i joy eam_01
  31. 输出包含目标字符串的行和行号:grep -n joy eam_01
  32. 查找以某字符开头的行:grep ‘^a’ eam_01
  33. 查找以某字符结尾 grep ‘t$’ eam_01
  34. 查找指定长度得行:grep ‘^……$’ exam_01 (6 个字符的行
  35. 基本数学运算:bc 退出:quit
  36. linux 中复制当前目录中的目录到当前目录并重命名 cp -r source_dir target_dir -r 选项表示递归复制,即复制整个目录及其子目录和文件。
  37. 文件内容排序:先决条件:设置系统环境;
  38. 系统环境:bash/ksh 中:输入 export LC_ALL = “POSIX”,csh/tcsh 中: setenv LC_ALL=“POSIX“
  39. 对文件内容进行排序:sort ex0504_01_sort
  40. 对文件内容不区分字母大小写排序: -f 忽略大小写 sort -f ex0504_01_sort
  41. 对文件内容反向排序:sort -r ex0504
  42. 对文件内容按数值大小排序:sort ex0405 (按照 ASSCII 升序) sort -n ex0506 按照数值大小升序
  43. 将文件内容 2 按照某字段排序:如果该字段重复,根据重复字段的下一字段排序,

sort -k 2 ex0506 根据第 2 列排序,重复按照第 3 列排序。

  1. sort -k 2 -t: ex0506 按照 ex0506 中第二列冒号后的值进行排序;

  2. 对文件排序后重写:写入新文件需要参数原文件不需要,>全新写入:写入之前,文件内容会被清空,>>追加:要带 -o 否则写入为空

  3. 将排序结果全新写入 sort ex0506 > ex0607

  4. 查看文件:more ex0607

  5. 将文件排序后重写:sort -o ex0506 > ex0607 重写在当前文件,不写-o 输入为空

  6. 文件内容比较:行之间关系:相邻重复、相邻不重复、不相邻重复、不相邻不重复

  7. 显示相邻重复次数:uniq -c ex0506

  8. 查看相邻重复行的其中一行:uniq -d ex0506

  9. 查看不相邻不充分的行:uniq -u ex0506

  10. 识别和删除所有重复行:sort ex0506 | uniq

  11. 按行比较两个文件:比较之前需要排序: sort -o ex0501 ex0501

    sort -o ex0502 ex0502

    comm ex0501 ex0502

  12. comm 结果解释:第一列为第一个文件独有的,第二列为第二个文件独有的,第三列为共有的

  13. 查看文件不同之处:diff ex0501 ex0502

  14. 解释比较结果*:c:修改 d:删除 a:添加** <:前一文件 >:后一文件

  15. 将文件中 r 全部替换为 R: tr ‘r’ ‘R’ <ex0506

  16. 将 p 替 P、e 替 E、-替,、tr ‘pe-’ ‘PE,’<ex0506

  17. 按照范围替换:a-g 替换为 A-G:tr ‘[a-g]’‘[A-G]’<ex0506

  18. 删除指定字符:删除文件中所有 o:tr -d ‘o’<ex0506

  19. 删除重复字符或多余空格:tr -s‘ ‘<ex0506

  20. | 为管道符,左侧命令的输出,会作为右侧命令的输入

  21. 对文件进行连续编号,并将所有内容变为大写:cat -n filename | tr ‘[a – z]’ ‘[A – Z]’

  22. 将文件按第一个字母排序,删除重复空格:sort filename | tr -s ‘ ‘

  23. 替换单词:sed ‘s/world/free/’ 其中 s 指替换每一行的第一个,world 替换为 free

  24. 文中所有包含 court 的行中 world 替换为 free:sed ‘/court/s/world/free/g’ filename

  25. 所有 sed ‘s/court/free/g’ filename

  26. 包含 world 的行全部删除:sed ‘/world/d’ filename

  27. 删除第 4 行:sed ‘4d’ filename

  28. 将 c 开头的全部 world 替换为 free:sed ‘/^c/s/world/free filename

  29. 删除 f 结尾的行:sed ‘/f$/d’ filename

  30. 将 sed ‘s/world/& hight/g filename 将 world 替换为 hight &代表被替换单词