Linux Command Wiki

删除命令

rm

shred

rm 命令所做的事情并不是像你所想像的那样,它仅仅删除了文件系统和硬盘上的数据的硬链接。硬盘上的数据依旧存在,直到被另一个应用重写覆盖。对于非常敏感的数据来说,这会带来一个很大的安全隐患。

如果你想安全的删除一个文件并且以零覆盖,那么可以使用下面的命令:

1
shred -u -z [file name]

可以使用 -n 选项和一个数字作为参数,从而指定在随机覆盖数据的时候迭代多少次。


增强Shell

shopt

命令格式

  • shopt(选项)(参数)

选项

  • -s:激活指定的shell行为选项
  • -u:关闭指定的shell行为选项

内建的 shopt 命令允许你设置不同的选项来改变 shell 的行为。shopt命令若不带任何参数选项,则可以显示所有可以设置的shell操作选项。

系统Shell默认行为

1
2
3
4
5
6
autocd         	off
cdable_vars off
cdspell off
checkhash off
checkjobs off
.........

通过自动更正来避免输入很长的无效文件路径

输入一个文件的绝对路径,然而却看到“没有该文件或目录”的消息。任何人都会明白输入一个很长的字符串的痛苦。幸运的是,有一个很简单的解决办法。

shopt -s cdspell 命令来启用该选项。启用该选项后,当你想要切换目录时,会自动更正为最匹配的目录。

需要注意的是,这是 bash 的特性,如果你运行 zsh 或者其他可供选择的 shell,可能无法使用。


lsb_release

查看系统版本信息

1
lsb_release -a

Centos7输出结果

1
2
3
4
5
LSB Version:	:core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core


Ctrl+Z,Ctrl+C,Ctrl+d 的区别

Ctrl+C

( kill foreground process ) 发送 SIGINT 信号给前台进程组中的所有进程,强制终止程序的执行


Ctrl+z

( suspend foreground process ) 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程,而并非结束进程,用户可以使用使用fg/bg操作恢复执行前台或后台的进程。

fg命令在前台恢复执行被挂起的进程,此时可以使用ctrl-z再次挂起该进程,bg命令在后台恢复执行被挂起的进程,而此时将无法使用ctrl-z再次挂起该进程;

一个比较常用的功能:正在使用vi编辑一个文件时,需要执行shell命令查询一些需要的信息,可以使用ctrl-z挂起vi,等执行完shell命令后再使用fg恢复vi继续编辑你的文件(当然,也可以在vi中使用!command方式执行shell命令,但是没有该方法方便)。


Ctrl+d

( Terminate input, or exit shell ) 一个特殊的二进制值,表示 EOF,作用相当于在终端中输入exit后回车;