Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


如何在终端下以后台模式运行Linux程序

2015-1-27 07:12    评论: 24 收藏: 1 分享: 26    

Linux Terminal Window.

Linux终端窗口

这是一个简短但是非常有用的教程:它向你展示从终端运行Linux应用程序的同时,如何保证终端仍然可以操作。

在Linux中有许多方式可以打开一个终端,这主要取决于你的发行版的选择和桌面环境。

使用Ubuntu的话,你可以使用CTRL + ALT + T组合键打开一个终端。你也可以点击超级键(Windows键)打开一个终端窗口。在键盘上,打开Ubuntu Dash,然后搜索"TERM"。点击"Term"图标将会打开一个终端窗口。

其他诸如XFCE, KDE, LXDE, Cinnamon和MATE的桌面环境,你将会在菜单中发现“终端”这个应用。还有一些发行版会把终端图标放在菜单项,或者在面板上放置终端启动器。

你可以在终端里面输入一个程序的名字来启动一个应用。举例,你可以通过输入"firefox"启动火狐浏览器。

从终端运行程序的好处是可以使用额外的选项。

举个例子,如果你输入下面的命令,一个新的火狐浏览器将会打开,而且默认的搜索引擎将会搜索引号之间的词语:

firefox -search "Linux.About.Com"

你会发现,如果你运行火狐浏览器,应用程序打开后,控制权将会回到终端(重新出现了命令提示符),这将意味着你可以继续在终端工作。

通常情况下,如果你通过终端运行一个程序,程序打开后,并且直到那个程序关闭结束,你都将不会获得终端的控制权。这是因为你是在前台打开程序的。

想要从终端运行一个程序,并且立即将终端的控制权返回给你,你需要以后台进程的方式打开程序。

为了以后台进程的方式打开一个程序,只需要添加符号(&)到命令中,如下面所示:

libreoffice &

在终端中仅仅提供程序的名字,应用程序可能运行不了。如果程序不存在于一个设置在PATH 环境变量的文件夹中,你需要指定完整的路径名来运行程序。

/path/to/yourprogram &

如果你并不确定一个程序是否存在于Linux文件系统中,使用find或者locate命令来查找该应用程序。

找一个文件的语法如下:

find /path/to/start/from -name programname

举个例子,可以使用下面的命令寻找Firefox的位置:

find / -name firefox

输出会很快滚动出很多,所以你可以以管道的方式控制输出的多少:

find / -name firefox | more
find / -name firefox | less

find命令将会返回因权限拒绝而发生错误的文件夹数量,这些文件夹你没有权限去搜索。

你可以使用sudo命令提升你的权限。如果sudo没有安装,你需要切换到拥有权限的用户:

sudo find / -name firefox | more

如果你知道你想寻找的文件在你的当前文件夹中,你可以一个点代替先前的斜线,如下:

sudo find . -name firefox | more

你可能不需要sudo来提升权限。如果你在home文件夹中寻找文件,sudo就不需要。

一些应用程序需要提升用户权限来运行,你可能得到一个缺少权限的错误,除非你使用一个具有足够权限的用户,或者使用sudo提升你的权限。

下面是一个小花招。如果你运行一个程序,而且它需要提升权限来运行,输入下面命令来提升权限重新执行:

sudo !!

via: http://linux.about.com/od/commands/fl/How-To-Run-Linux-Programs-From-The-Terminal-In-Background-Mode.htm

作者:Gary Newell 译者:su-kaiyao 校对:wxy

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

发表评论


最新评论

我也要发表评论

w1748587889 2015-1-28 18:32
ming ling  you dian shao
回复
给朕添碗饭 2015-1-28 09:03  新浪微博网友评论
@我的印象笔记
回复
默默茶叽 2015-1-28 08:33  新浪微博网友评论
&
回复
Linux中国 2015-1-28 08:33  新浪微博网友评论
回复@Mr_PingPing:速度!![嘻嘻]
回复
Linux中国 2015-1-28 08:33  新浪微博网友评论
回复@Mr_PingPing:速度!![嘻嘻]//@Mr_PingPing:回复@stonerzju: 快点!! [江南style]
回复
Mr_PingPing 2015-1-27 23:03  新浪微博网友评论
回复@stonerzju: 快点!! [江南style]
回复
Smile小璨 2015-1-27 11:03  新浪微博网友评论
咱都用screen
回复
论极语易 2015-1-27 10:33  新浪微博网友评论
@我的印象笔记
回复
linux 2015-1-27 10:22
1
来自 - 日本 的 Chrome/Linux 用户 发表于 2015-1-27 07:38 的评论:
還以為會提到screen/tmux,看完略失望
这篇是小白级的,screen和tmux之前也有文章介绍。哎作为 Linux 技术普及,各种文章得一遍遍发。
回复
linux 2015-1-27 10:21
1
来自 - 四川成都 的 Firefox/Linux 用户 发表于 2015-1-27 08:34 的评论:
建议在根目录建立一个指向/dev/null的符号链接 nul,然后gedit 1> /nul 2>&1 &。这样写可以在终端忽略程序的输出信息。
符号链接不是必要的,只是方便。
回复
linux 2015-1-27 10:20
1
来自 - 四川成都 的 Firefox/Linux 用户 发表于 2015-1-27 08:39 的评论:
不建议在sudo上用!!,执行什么命令应该明确写清楚,甚至参数都要用长格式。因为sudo执行权限高,一旦看错选错,执行了不该执行的命令,那才麻烦。特别是多开终端的情况下。
赞同这个意见!
回复
Blue7Wings 2015-1-27 09:03  新浪微博网友评论
&
回复
Snake4587 2015-1-27 09:03  新浪微博网友评论
用screen
回复
来自 - 四川成都 的 Firefox/Linux 用户 2015-1-27 08:39
不建议在sudo上用!!,执行什么命令应该明确写清楚,甚至参数都要用长格式。因为sudo执行权限高,一旦看错选错,执行了不该执行的命令,那才麻烦。特别是多开终端的情况下。
3 回复
来自 - 四川成都 的 Firefox/Linux 用户 2015-1-27 08:34
建议在根目录建立一个指向/dev/null的符号链接 nul,然后gedit 1> /nul 2>&1 &。这样写可以在终端忽略程序的输出信息。
8 回复
Linux中国 2015-1-27 08:33  新浪微博网友评论
回复@stonerzju:不试不知道哦
回复
FrGe_Yxggggg 2015-1-27 08:33  新浪微博网友评论
Repost
回复
来自 - 广西来宾 的 Chrome/Windows 用户 2015-1-27 08:31
1
stonerzju 发表于 2015-1-27 08:03 的评论:
请问sudo !!是什么意思?
!!是上一个命令
回复
LittleYu_Jerry 2015-1-27 08:03  新浪微博网友评论
Repost
回复
stonerzju 2015-1-27 08:03  新浪微博网友评论
请问sudo !!是什么意思?
回复
12下一页

热点评论

来自 - 四川成都 的 Firefox/Linux 用户 2015-1-27 08:34
建议在根目录建立一个指向/dev/null的符号链接 nul,然后gedit 1> /nul 2>&1 &。这样写可以在终端忽略程序的输出信息。
8
来自 - 四川成都 的 Firefox/Linux 用户 2015-1-27 08:39
不建议在sudo上用!!,执行什么命令应该明确写清楚,甚至参数都要用长格式。因为sudo执行权限高,一旦看错选错,执行了不该执行的命令,那才麻烦。特别是多开终端的情况下。
3
返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。