删除命令
rm
shred
rm 命令所做的事情并不是像你所想像的那样,它仅仅删除了文件系统和硬盘上的数据的硬链接。硬盘上的数据依旧存在,直到被另一个应用重写覆盖。对于非常敏感的数据来说,这会带来一个很大的安全隐患。
如果你想安全的删除一个文件并且以零覆盖,那么可以使用下面的命令:
1 | shred -u -z [file name] |
可以使用 -n 选项和一个数字作为参数,从而指定在随机覆盖数据的时候迭代多少次。
增强Shell
shopt
命令格式
- shopt(选项)(参数)
选项
- -s:激活指定的shell行为选项
- -u:关闭指定的shell行为选项
内建的 shopt 命令允许你设置不同的选项来改变 shell 的行为。shopt命令若不带任何参数选项,则可以显示所有可以设置的shell操作选项。
系统Shell默认行为
1 | autocd off |
通过自动更正来避免输入很长的无效文件路径
输入一个文件的绝对路径,然而却看到“没有该文件或目录”的消息。任何人都会明白输入一个很长的字符串的痛苦。幸运的是,有一个很简单的解决办法。
shopt -s cdspell 命令来启用该选项。启用该选项后,当你想要切换目录时,会自动更正为最匹配的目录。
需要注意的是,这是 bash 的特性,如果你运行 zsh 或者其他可供选择的 shell,可能无法使用。
lsb_release
查看系统版本信息
1 | lsb_release -a |
Centos7输出结果1
2
3
4
5LSB 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后回车;