网络安全 linux学习计划 linux网络安全精要

[复制链接]
发表于 2025-8-18 06:54:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
2.利用下令行


      
  • 文件系统条理尺度(FHS)是一个文件和目次在Unix和Linux利用系统上面应该如何存储的定义。

      
  • /bin 紧张的二进制可执行程序  
  • /boot 与系统启动有关的文件  
  • /etc 系统配置文件  
  • /home 普通用户家目次  
  • /lib 紧张的系统库  
  • /media 可移动介质的挂载路径  
  • /mnt 临时的挂载路径  
  • /opt 可选择安装的软件包  
  • /proc 与系统内核及进程有关的信息(虚拟的文件系统)  
  • /root root用户家目次  
  • /sbin 紧张系统的二进制可执行程序  
  • /tmp 临时文件的存放路径  
  • /usr 一个有许多子目次的路径,内里包罗了二进制可执行文件、库文件以及文档  
  • /usr/bin 不太紧张的二进制可执行文件  
  • /usr/lib /usr/bin中可执行文件的库  
  • /usr/sbin 不太紧张的系统二进制可执行文件  
  • /usr/share 与系统相对独立的一些数据  
  • /var 经常变化的数据  
  • /var/mail 邮件的日志日志  
  • /var/log 缓存池数据(好比打印池)  
  • /var/tmp 临时文件

      
  • file下令输出文件内容的范例  
  • 查看文档下令 less more head tail  
  • 当用户登录系统时,会启动一个login Shell。用户登录后启动的Shell,被称为non-login Shell

      
  • login Shell会执行初始化文件

      
  • /etc/profile,  
  • ~/.bash_profile[.bash_login[.profile]]没有找到依次查找这三个,  
  • ~/.bashrc,此文件是作为每个用户可以放置代码的地方  
  • /etc/bash.bashrc,作为系统管理员放置代码的地方

      
  • non-login Shell启动

      
  • ~/.bashrc  
  • /etc/bash.bashrc

      
  • 别名:alias 。取消别名:unalias  
  • history

      
  • !84 : 表示执行history第84号执行历史  
  • !-10:执行倒数第十条

      
  • nl 输出行号  
  • 尺度错误输出到file:cmd 2> file

      
  • 尺度错误和尺度输出同时输出到指定文件:cmd &> file(cmd >file 2>&1)

      
  • $() : echo “junno $(date)”  
  • find [PATH] [option] [action]

      
  • -maxdepth n:限制每次搜索的目次的深度  
  • -mount防止搜索作为挂载点利用的目次  
  • -regextype type:当利用正则表达式时,此选项指定了利用的正则表达式的范例。默认emacs  
  • 条件选项

      
  • -amin n:基于访问时间匹配文件;-amin -3将会匹配已往三分钟之内访问过的文件  
  • -group name:匹配组为name的文件  
  • -name pattern:匹配文件名为pattern的文件或者目次,可以是正则  
  • -mmin n:基于修改时间匹配文件  
  • -nogroup:匹配无有效属组的文件  
  • -nouser:匹配无有效属主的文件  
  • -size n:基于文件大小匹配。+表示大于 -表示小于,单位 c字节 k千字节 M兆字节 G千兆字节  
  • -type fstype:d目次 p管道 f普通文件 l 链接文件  
  • -user username:匹配文件属主是username的所有文件  
  • -perm mode 权限查找

      
  • -perm 0744 查找权限刚好即是0744  
  • -perm -0744 席卷权限744的文件  
  • -perm /744 权限包罗744中任意一个的的文件

      
  • -mtime[atime|ctime] 以mtime为例,列出指定的那天内修改的文件

      
  • -mtime 4 列出4天前5天内修改的文件[4,5]  
  • -mtime +4 列出5天前修改的文件[,5]  
  • -mtime -4 列出4天内修改的文件[4,]

      
  • newer file 列出比file还要新的文件

      
  • 利用选项:{}字符用来表示在find下令中匹配到的文件名

      
  • -delete删除所有匹配到的文件  
  • -exec command 在每个匹配到的文件执行这个下令 。find / -maxdepth 3 -mount -nouser -type f -exec file {} ;  
  • -ls 列出每个匹配到的文件的细节  
  • -ok 在每个匹配到的文件上执行某个下令,但是在每次执行之前都会提醒用户。find / -maxdepth 3 -mount -nouser -type f -ok file {} ;  
  • -print 输出每个匹配到的文件的文件名,默认利用

      
  • grep

      
  • c 表现匹配到行的数目  
  • e 利用多模式 。grep -e pat1 -e pat2 file  
  • i 忽略大小写  
  • l 表现匹配到的文件名而不是表现文件能匹配到的每一行。grep -rl ‘root’ /etc/  
  • r 递归地搜索一个目次结构  
  • v 反向匹配  
  • E 利用扩展正则表达式

      
  • tar:tar -czv -f etc.tar.gz /etc

      
  • c 创建一个.tar文件  
  • t 列出一个.tar文件的内容  
  • x 提取一个.tar文件的内容  
  • f 指定.tar文件的名称  
  • v 输出详细信息  
  • A 追加新文件到已经存在的.tar文件中  
  • d 比力.tar文件与目次文件的不同  
  • u 更新,只向存在的.tar文件中追加新文件  
  • z 利用gzip,gz  
  • j 利用bzip2压缩或解压缩一个.tar文件,bz2  
  • J 利用xz,xz  
  • C 解压指定文件夹  
  • p 保留备份文件原来的权限与属性,如备份/etc需要  
  • P 利用绝对路径(此时会存在风险,假如解压缩,当内容发生变化时,会覆盖文件内容),默以为相对路径,当利用绝对路径会报错(tar: Removing leading/’ from member names)`

      
  • gzip

      
  • c 压缩 gzip -c juju > juju.gz  
  • d 解压缩文件,相称于gunzip  
  • r 递归压缩,不会合并文件,而是会创建多个压缩文件  
  • v 表现压缩进度的百分比

      
  • bzip2:c d v  
  • xz:c d v,l 列出已经存在的压缩文件的信息  
  • 变量内容的删除、代替与替换

      
  • 从前去后删除:#:符合匹配【最短的】哪一个;## 符合匹配【最长的】哪一个  
  • 从后往前删除:%:符合匹配【最短的】哪一个;%%:符合匹配【最长的】哪一个  
  • 替换: /:替换第一个匹配,//:替换所有匹配
  1. # 从前往后删除:#
  2. [root@bogon ~]# echo $PATH
  3. /root/.local/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
  4. [root@bogon ~]# echo ${PATH#/*bin:}
  5. /root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
  6. [root@bogon ~]# echo ${PATH##/*bin:}
  7. /usr/bin
  8. # 从后往前删除:%
  9. [root@bogon ~]# echo ${PATH%:*bin}
  10. /root/.local/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin
  11. [root@bogon ~]# echo ${PATH%%:*bin}
  12. /root/.local/bin
  13. # 替换:/
  14. [root@bogon ~]# echo ${PATH/bin/hello/}
  15. /root/.local/hello/:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
  16. [root@bogon ~]# echo ${PATH//bin/hello/}
  17. /root/.local/hello/:/root/hello/:/usr/local/shello/:/usr/local/hello/:/usr/shello/:/usr/hello/
  18. # 变量测试与内容替换:
  19. username=${usernames-roots} 当$usernames 不存在,则赋值-后的roots
  20. username=${usernames:-roots} 当$usernames 为空或者不存在,则赋值-后的roots
  21. username=${usernames+roots} 当$usernames 为空或存在,则赋值+后的roots
  22. username=${usernames:+roots} 当$usernames 为非空字符串,则赋值+后的roots
复制代码

      
  • 1.  
  • 2.  
  • 3.  
  • 4.  
  • 5.  
  • 6.  
  • 7.  
  • 8.  
  • 9.  
  • 10.  
  • 11.  
  • 12.  
  • 13.  
  • 14.  
  • 15.  
  • 16.  
  • 17.  
  • 18.  
  • 19.  
  • 20.  
  • 21.  
  • 22.  
  • 23.  
  • 24.  
  • 25.

      
  • 字符转换下令

      
  • tr 替换和删除字符

      
  • last |tr [a-z] [A-Z] 小写替换为大写  
  • last |tr -d ‘rot’ 删除rot三个字符

      
  • col 将tab键转换为空格

      
  • col -x

      
  • join 关联数据相同的行

      
  • join -t “:” -1 4 /etc/passwd -2 3 /etc/group | head -n 3  
  • 以:分割数据 -1 4 -2 3(第一个文件以第四栏和第二个文件的第三栏比力 相同关联)

      
  • paste 将两行贴在一起,且中间以【Tab】键隔开

      
  • "-"表示尺度输入 -d 分割符  
  • cat /etc/group|paste /etc/passwd /etc/shadow - |head -n 3

      
  • expand 将[tab]换成空格键

      
  • t指定一个tab换几个空格键,但不是严格的换,会为了排版增加或减少  
  • unexpand 转换空格为tab ;unexpand -t 6 -

      
  • spilt 文件分割

      
  • 文件分割,l以行分割,b以大小分,单位b k m  
  • 分割文件abc.txt,以10举动一个文件 lxq为文件前缀
  1. split -l 10 abc.txt lxq
复制代码

      
  • 1.

      
  • 分割文件001.sql,以10m为一个文件 lxq为文件前缀
  1. split -b 10m 001.sql lxq
复制代码

      
  • 1.

      
  • 文件合并 cat lxq* >> 001.sql

      
  • 减号[-] 替换stdout或stdin。

      
  • tar -xvf - /home | tar -xvf - -C /tmp/homeback

      
  • bash

      
  • -n 不要执行脚本,仅查询语法问题  
  • -v 执行脚本前,将脚本文件的内容输出到屏幕上  
  • -x 将利用到的脚本内容表现到屏幕上
3.获取帮助


      
  • man
  1. # 列出passwd在
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表