百摩网
当前位置: 首页 生活百科

linux系统命令教程交流(在Linux命令行下使用)

时间:2023-06-12 作者: 小编 阅读量: 2 栏目名: 生活百科

和绝地武士的原力一样,-f参数是很强大的,并伴随着潜在的毁灭性,在你能用好的时候又很便利。

和绝地武士的原力一样,-f 参数是很强大的,并伴随着潜在的毁灭性,在你能用好的时候又很便利。

-- Alan Formy-duval(作者)

近些年来,科幻发烧友开始在每年的 5 月 4 日庆祝 星战节 ,其口号是绝地武士的祝福语”愿 原力(Force)和你同在“。虽然大多数 Linux 用户可能不是绝地武士,但我们依然可以使用 原力(Force)。自然,如果尤达大师只是叫天行者卢克输入什么 “man X-Wing 战机“、“man 原力”,或者 RTFM(去读原力手册,肯定是这个意思对不对),那这电影肯定没啥意思。(LCTT 译注:RTFM 是 “Read The Fucking Manual” 的缩写 —— 读读该死的手册吧)。

很多 Linux 命令都有 -f 选项,意思你现在肯定也知道了,原力(LCTT 译注:force 选项原意是“强制”)!很多时候你先尝试执行命令然后失败了,或者提示你需要补充输入更多选项。通常这都是为了保护你试着改变的文件,或者告诉用户该设备正忙或文件已经存在之类的。

如果你不想被这些提醒打扰或者压根就不在乎,就使用原力吧!

不过要小心,通常使用原力选项是摧毁性的。所以用户一定要格外注意!并且确保你知道自己在做什么!用原力就要承担后果!

以下是一些常见 Linux 命令的原力选项和它们的效果,以及常见使用场景。

cp

cp 是 “copy” 的缩写,这是个被用来复制文件或者目录的命令。其 man 页面 说:

-f, –force

如果已经存在的目标文件无法被打开,删除它并重试

你可能会用它来处理只读状态的文件:

[alan@workstation ~]$ ls -ltotal 8-rw-rw---- 1 alan alan 13 May 1 12:24 Hoth-r--r----- 1 alan alan 14 May 1 12:23 Naboo[alan@workstation ~]$ cat Hoth NabooIcy PlanetGreen Planet

如果你想要复制一个叫做 Hoth 的文件到 Naboo,但因为 Naboo 目前是只读状态,cp 命令不会执行:

[alan@workstation ~]$ cp Hoth Naboocp: cannot create regular file 'Naboo': Permission denied

但通过使用原力,cp 会强制执行。Hoth 的内容和文件权限会直接被复制到 Naboo:

[alan@workstation ~]$ cp -f Hoth Naboo[alan@workstation ~]$ cat Hoth NabooIcy PlanetIcy Planet[alan@workstation ~]$ ls -ltotal 8-rw-rw---- 1 alan alan 12 May 1 12:32 Hoth-rw-rw---- 1 alan alan 12 May 1 12:38 Naboo

ln

ln 命令是用来在文件之间建立链接的,其 man 页面 描述的原力选项如下:

-f, –force

移除当前存在的文件

假设莱娅公主在维护一个 java 应用服务器,并且她又一个存放这所有 Java 版本的目录,比如:

leia@workstation:/usr/lib/java$ ls -lttotal 28lrwxrwxrwx 1 leia leia 12 Mar 5 2018 jdk -> jdk1.8.0_162drwxr-xr-x 8 leia leia 4096 Mar 5 2018 jdk1.8.0_162drwxr-xr-x 8 leia leia 4096 Aug 28 2017 jdk1.8.0_144

正如你所看到的,这里有很多个版本的 JDK,并有一个符号链接指向最新版的 JDK。她接着用一个脚本来安装最新版本的 JDK。但是如果没有原力选项的话以下命令是不会成功的:

tar xvzmf jdk1.8.0_181.tar.gz -C jdk1.8.0_181/ln -vs jdk1.8.0_181 jdk

tar 命令会解压 .gz 文件到一个特定的目标目录,但 ln 命令会失败,因为这个链接已经存在了。这样的结果是该符号链接不会指向最新版本的 JDK:

leia@workstation:/usr/lib/java$ ln -vs jdk1.8.0_181 jdkln: failed to create symbolic link 'jdk/jdk1.8.0_181': File existsleia@workstation:/usr/lib/java$ ls -lttotal 28drwxr-x--- 2 leia leia 4096 May 1 15:44 jdk1.8.0_181lrwxrwxrwx 1 leia leia 12 Mar 5 2018 jdk -> jdk1.8.0_162drwxr-xr-x 8 leia leia 4096 Mar 5 2018 jdk1.8.0_162drwxr-xr-x 8 leia leia 4096 Aug 28 2017 jdk1.8.0_144

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

leia@workstation:/usr/lib/java$ ln -vsnf jdk1.8.0_181 jdk'jdk' -> 'jdk1.8.0_181'leia@workstation:/usr/lib/java$ ls -lttotal 28lrwxrwxrwx 1 leia leia 12 May 1 16:13 jdk -> jdk1.8.0_181drwxr-x--- 2 leia leia 4096 May 1 15:44 jdk1.8.0_181drwxr-xr-x 8 leia leia 4096 Mar 5 2018 jdk1.8.0_162drwxr-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 会寻求用户的确认:

[alan@workstation ~]$ ls -ltotal 4-r--r----- 1 alan alan 16 May 1 11:38 B-wing[alan@workstation ~]$ rm B-wing rm: remove write-protected regular file 'B-wing'?

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

[alan@workstation ~]$ rm -f B-wing[alan@workstation ~]$ ls -ltotal 0[alan@workstation ~]$

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

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

userdel

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

-f, –force

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

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

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

[root@workstation ~]# ps -fu darthUID PID PPID C STIME TTY TIME CMDdarth 7663 7655 0 13:28 pts/3 00:00:00 -bash[root@workstation ~]# userdel darthuserdel: user darth is currently used by process 7663

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

[root@workstation ~]# userdel -f darthuserdel: user darth is currently used by process 7663[root@workstation ~]# finger darthfinger: darth: no such user.[root@workstation ~]# ps -fu dartherror: user name does not exist

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

在 Shell 脚本里使用原力

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

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


via: https://opensource.com/article/19/5/may-the-force-linux

作者: Alan Formy-Duval 选题: lujun9972 译者: Jerry Ling 校对: wxy

本文由 LCTT 原创编译, Linux中国 荣誉推出

点击“了解更多”可访问文内链接,
    推荐阅读
  • 廉价iphonexr真机实拍(年度最香iPhoneXR)

    不过从近期iPhone的价格跳水速度来看,2018款的iPhone着实有点失败。其中原本6499元起售的iPhoneXR一步步降到5000元左右的价位,这也成为了苹果目前热度最高的一款手机。此外,iPhoneXR屏幕亮度达到了625nit,色彩广域P3,并且使用了TureTone原彩显示技术,这都与高端旗舰iPhoneXS系列相同。虽然iPhoneXR仅配备了后置单摄,但是同样支持景深和虚化功能,基本能满足日常拍摄需求。总的来说,iPhoneXR在这个价位上,性价比已经比较突出了。

  • 张若昀悬疑片国产(张若昀四部值得二刷的经典剧)

    《黑狐》宣传照张若昀凭借方天翼一角获得了大量观众的认可,更是凭这一角色夺得最受观众喜爱的电视剧新人奖、第2届乐视影视盛典电视剧最佳新人奖。《黑狐》剧照二、《法医秦明》该剧2016年首播,由徐昂执导,张若昀、焦俊艳、李现、程皓枫、屈菁菁等主演。《法医秦明》剧照三、《谍战深海之惊蛰》该剧2019年首播,由孙皓执导,张若昀、王鸥、孙艺洲、阚清子等主演。

  • 产后怎样恢复身材最快(怎样在产后恢复身材好)

    产后怎样恢复身材最快坚持母乳喂养,很多人只知道母乳喂养对宝宝好,但是却不知道母乳喂养,对宝妈也是好处多多。首先有助于妈妈子宫的恢复,因为宝宝在吮吸乳头的时候,妈妈的大脑垂体受刺激会分泌出“催产素”,这种激素有助于子宫收缩,防止妈妈产后出血,让子宫尽早恢复到产前状态。其次母乳喂养的妈妈,因为要分泌乳汁,所以身体每天会多消耗几百卡的热量,这对妈妈瘦身是有极大好处的。

  • 苏志燮赵恩静结婚 将低调举行婚礼(韩星苏志燮娶了26岁赵恩静)

    文/岁饮屠苏4月7日,苏志燮经纪公司称演员苏志燮与前播音员赵恩静已登记结婚。苏志燮为了电影《雨你再次相遇》上节目宣传时和赵恩静首次见面。2019年5月17日,二人恋情曝光,苏志燮通过所属社回应表示"未能提前转告很抱歉……在2016年,两人宣布分手。即使在分手之后,金贤珠一度认为苏志燮就是自己最后的男人,也可能正是这一原因,金贤珠至今未婚。

  • 给孩子办身份证需要带什么(给孩子办身份证需要带什么证件)

    我们一起去了解并探讨一下这个问题吧!给孩子办身份证需要带什么身份证更新需要带居民户口簿、《居民身份证申领登记表》、原身份证。具体的办理程序:申领人带本人居民户口簿到常住户口所在地的公安机关办理。经工作人员审核无误后,采集人像信息。填写《居民身份证申领导登记表》。核对资料无误,录入公民指纹信息。缴纳证件工本费。

  • 27的裤子腰围是多少尺(27的裤子腰围是多少厘米)

    27的裤子腰围是多少尺裤子27是英寸单位的尺码,约为68.58厘米,2.05尺。常见的腰围尺寸单位有英寸,厘米和市尺,其换算公式如下:英寸换厘米:1英寸=2.54厘米,裤子27码是欧码,对应的单位是英寸,那么换算成厘米也就是,27英寸乘以2.54厘米约为68.58厘米。27英寸,68.58厘米换算成尺也就是68.58厘米除以33.3厘米约为2.05尺。

  • 给宝宝冲调奶粉多少水(为宝宝冲调奶粉用什么水好)

    热水反复煮沸,就会加大水中含有的亚硝酸盐含量,对宝宝身体产生不可避免的危害。换句话说,白开水虽然廉价,但却最适合人体机能。奶粉和水的比例是固定的,要根据奶粉产品的要求定量放入,这样能够避免奶粉冲得过稀或过稠,最大程度保护奶粉营养不破坏。

  • 关于吉林松原一天3次地震(关于吉林松原一天3次地震)

    据中国地震台网正式测定:2019年5月11日,吉林松原地区发生了3次地震震级分别为2.6级、3.3级和3.0级。专家给出了分析▼这三次地震均发生在扶余(松原)——肇东断裂和第二松花江断裂交汇处,是2018年5月28日5.7级地震的原震区,是5.7级地震的余震。地震发生后,吉林省地震局召开了专家会商会,根据震中区附近测震、前兆观测手段数据分析,震中区观测数据正常,没有异常变化。综合分析认为,震中区附近近期发生4.0级以上地震的可能性不大。

  • 男子突发疾病腹痛(55岁男子急性腹痛)

    根据患者描述来看,疑似是急性肠胃炎导致的腹痛。做完钡餐检查之后,结果显示老张患有慢性胃炎。一夜过去了,吃了药之后的老张自我感觉,腹痛有所缓解了。所幸,老张的心电图一切正常。到了傍晚,老张的状态急转直下。医院第一反应就是抢救。可惜经过全力抢救之后,老张还是离开了人世...下午送进医院的时候,还是活生生的呢。老张的突然离世,让他的家属都无法接受。申请了尸检之后,根据鉴定结果显示:老张死于主动脉夹层动脉瘤。

  • 盘点那些开挂玩家(推书君第131期挂比)

    推书君第131期挂比当一个本身就是挂比的家伙拥有了主角的外挂,二者合一时,他能否超越原本世界的限制,成为超越者?PART.01开辟魔幻时代重生支配者字数:182.7万字首发:起点作者:历史里吹吹风状态:完结01简介成为世。