加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

在Linux命令行下使用“原力”

发布时间:2019-05-22 13:03:03 所属栏目:Windows 来源:Alan Formy-duva
导读:副标题#e# 和绝地武士的原力一样, -f 参数是很强大的,并伴随着潜在的毁灭性,在你能用好的时候又很便利。 近些年来,科幻发烧友开始在每年的 5 月 4 日庆祝星战节,其口号是绝地武士的祝福语愿 原力 Force 和你同在。虽然大多数 Linux 用户可能不是绝地武

她可以通过使用原力选项强制 ln 更新链接,但这里她还需要使用 -n-n 是因为这个情况下链接其实指向一个目录而非文件。这样的话,链接就会正确指向最新版本的JDK了。

  1. leia@workstation:/usr/lib/java$ ln -vsnf jdk1.8.0_181 jdk
  2. 'jdk' -> 'jdk1.8.0_181'
  3. leia@workstation:/usr/lib/java$ ls -lt
  4. total 28
  5. lrwxrwxrwx 1 leia leia 12 May 1 16:13 jdk -> jdk1.8.0_181
  6. drwxr-x--- 2 leia leia 4096 May 1 15:44 jdk1.8.0_181
  7. drwxr-xr-x 8 leia leia 4096 Mar 5 2018 jdk1.8.0_162
  8. drwxr-xr-x 8 leia leia 4096 Aug 28 2017 jdk1.8.0_144

你可以配置 Java 应用使其一直使用在 /usr/lib/java/jdk 处的 JDK,而不用每次升级都更新。

rm

rm 命令是 “remove” 的缩写(也叫做删除,因为某些系统 del 命令也干这事)。其 man 页面 对原力选项的描述如下:

-f, –force

无视不存在的文件或者参数,不向用户确认

如果你尝试删除一个只读的文件,rm 会寻求用户的确认:

  1. [alan@workstation ~]$ ls -l
  2. total 4
  3. -r--r----- 1 alan alan 16 May 1 11:38 B-wing
  4. [alan@workstation ~]$ rm B-wing
  5. rm: remove write-protected regular file 'B-wing'?

你一定要输入 y 或者 n 来回答确认才能让 rm 命令继续。如果你使用原力选项,rm 就不会寻求你的确认而直接删除文件:

  1. [alan@workstation ~]$ rm -f B-wing
  2. [alan@workstation ~]$ ls -l
  3. total 0
  4. [alan@workstation ~]$

最常见的 rm 原力选项用法是用来删除目录。 -r(递归)选项会让 rm 删除目录,当和原力选项结合起来,它会删除这个文件夹及其内容而无需用户确认。

rm 命令和一些选项结合起来是致命的,一直以来互联网上都有关于误用 rm 删除整个系统之类的玩笑和鬼故事。比如最出名的一不当心执行 rm -rf . 会直接删除目录和文件(没有用户确认)。(LCTT 译注:真的这么干过的校对飘过~~请按下回车前再三确认:我是谁,我在哪里,我在干什么)

userdel

userdel 命令使用来删除用户的。其 man 页面 是这样描述它的原力选项的:

-f, –force

这个选项会强制移除用户,即便用户当前处于登入状态。它同时还会强制 删除用户的目录和邮件存储,即便这个用户目录被别人共享或者邮件存储并不 属于这个用户。如果 USERGROUPS_ENAB/etc/login.defs 里是 yes 并且有一个组和此用户同名的话,这个组也会被移除,即便这个组还是别 的用户的主要用户组也一样。

注意:这个选项有风险并可能让系统处于不稳定状态。

当欧比旺抵达穆斯塔法星的时候,他知道自己的使命。他需要删掉达斯·维达的用户账户——而达斯还在里面呢。

  1. [root@workstation ~]# ps -fu darth
  2. UID PID PPID C STIME TTY TIME CMD
  3. darth 7663 7655 0 13:28 pts/3 00:00:00 -bash
  4. [root@workstation ~]# userdel darth
  5. userdel: user darth is currently used by process 7663

因为达斯还登在系统里,欧比旺需要使用原力选项操作 userdel。这能强制删除当前登入的用户。

  1. [root@workstation ~]# userdel -f darth
  2. userdel: user darth is currently used by process 7663
  3. [root@workstation ~]# finger darth
  4. finger: darth: no such user.
  5. [root@workstation ~]# ps -fu darth
  6. error: user name does not exist

正如我们所见到的一样,fingerps 命令让我们确认了达斯已经被删除了。

在 Shell 脚本里使用原力

很多命令都有原力选项,而在 shell 脚本里他们特别有用。因为我们经常使用脚本完成定期或者自动化的任务,避免用户输入至关重要,不然的话自动任务就无法完成了

我希望上面的几个例子能帮你理解一些需要使用原力的情况。你在命令行使用原力或把它们写入脚本之前应当完全理解它们的作用。误用原力会有毁灭性的后果——时常是对整个系统,甚至不仅限于一台设备。

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!