linux下如何在终端上运行和安装可执行文件

linux下可执行文件,如果是在/bin、/sbin、/usr/bin或者/usr/sbin 里头,就直接敲文件名就可以运行.(注意环境变量PATH是否包含了路径)

如果是在其他文件夹里,比如说运行/root里头的 time文件 你就 cd /root 再 ./time。注意./与time之间没有空格。

./表示当前目录下,../表示上一级目录,../../表示上上一级目录。


linux终端中,是用"sh"来运行文件,或者"./"

比如你在/usr/temp文件夹中有一个可执行文件"flash"

你可以在终端中输入 sh /usr/temp/flash

或者进入文件夹 cd /usr/temp 然后运行: ./flash


如果是别人发布的二进制包,可执行文件通常都安装到 /usr/bin 下面;

如果是自己从源代码安装的,可执行文 件通常都在 /usr/local/bin 下面,除非配置时指定了安装位置。

例如:

rpm -ivh xxx1.rpm

可执行文件通常都安装到 /usr/bin 下面

./configure (或者 ./configure --prefix=/usr/local)

make

make install

可执行文件通常都在 /usr/local/bin 下面,因为默认参数就是 --prefix=/usr/local

./configure --prefix=/usr (或者 ./configure --prefix=/opt 也可以指定其他位置,如你的家目录--prefix=~,~就是 /home/xxx<即你的家目录>的缩写)

make

make install

可执行文件通常都在 /usr/bin 下面(或者相应地位于 /opt/bin 下面,或者 /home/xxx/bin 下面,xxx 是你的家目录)

无论那种方法,在 bash 控制台下只要输入可执行文件头几个字母,然后连续按两次 Tab 键,就可以列出可能的所有命令,如果只有一种可能,则自动显示该文件全名,这称为命令补全。想执行当前目录下的可执行文件,则必须使用 ./ 作为命令前导,例如:

./myprogram


除此之外,一般的可执行文件都处在系统的搜 索路径里,只要在控制台直接输入命令名就可执行。例如你编译安装了一个叫 synaptic 的软件,只需要在 KDE 的 konsole 虚拟控制台下输入 synaptic 即可。

如果不幸,你的可执行文件不在系统的搜索路径里,就会报告没有这个命令。那么你需要把 那个可执行文件的位置加入环境变量 PATH里,用冒号作分割符,例如:

在你的家目录的 .profile 文件或 .bashrc 文件里添加如下命令

PATH="~/bin:$PATH" 就可以把你的家目录的 bin 目录追加到搜索路径里。

无论任何时候想知道系统里某个“命令文件”的位置,都可以使用which 命令,例如:

$which pwd

/usr/bin/pwd

说明 pwd 命令位于 /usr/bin 下面。


新的操作系统装好了,安装一些新的软件那是难免的。但是在Linux中,安装应用软件 和Windows下有些不同哦。而且对于Linux初学者来说,安装软件是一件很让人头疼的事情。由于很多Linux应用软件都是以源代码的形式发布的, 这就要求用户根据自己系统的实际情况和自身的需要来配置、编译源程序后,才能使用这些软件。

大多数Linux初学者往往不知道该如何 进行配置和编译。下面笔者就简单介绍一下如何安装Linux应用软件。在安装应用软件之前,还要确保软件安装的编译环境,比如编译器GCC、必要的库文件 等。不过,用户不需要担心这些问题,因为大多数 Linux发行版本都已经默认安装了GCC编译器。

目前流行的软件包有两种比较常 见的形式,一种是以 RPM、deb包为代表的智能软件包,另一种是file.tar.gz形式的压缩。本文将讨论file.tar.gz的安装方法以及智能软件包在文本环境 和图形环境下的安装方法。

一、源代码安装

应用软件的源代码一般是file.tar.gz或者 file.tgz格式,也就是说是以tar来打包,然后用gzip来压缩。

以应用软件xfce-3.8.7.tar.gz为例,先 进入软件的当前目录,然后使用gzip解压:#gzip -dxfce-3.8.7.tar.gz(注:-d 代表解压)。然后用tar解包:#tar -xvfxfce-3.8.7.tar。由于tar和gzip经常一起使用,所以tar还提供了一个参数,它可以自动调用gzip来解压,即:# tar-xzvf xfce-3.8.7.tar.gz。

进入解压完成之后新建立的目录,一般的应用软件中都有一个用来配置软件的可执行文件——configure,它的参数比较多,而且用法也非常灵活。当然,安装不同的软件参数也不相同,具体有些什么参数,可以用命 令:#./configure help取得详细的帮助。例如./configure--prefix=/usr/local/mysql(表示设置软件的安装目录为:/usr /local/mysql)

在运行#./configure[options]配置软件后,它会根据你当前系统、编译、安装相关的 信息,生成一个安装配置文件Makefile。Makefile文件通常是用来编译和安装软件的,运行make命令时系统会自动根据Makefile文件 中的设置对软件进行编译和安装,如果编译能够顺利通过的话,运行#makeinstall命令来安装。

二、智能包安装

现在,以智能包形式提供的软件很多,像RedHatLinux的RPM、DebianLinux的DEB、KISS、BSD以及Slackware等。 RPM和Debian几乎统治着Linux包管理世界,它们是首先被大多数商业Linux发行版本所广泛采用的应用软件。下面就介绍一下如何安装以RPM 和Deb格式打包的软件。

RPM是RedHat Package Manager的缩写,它只能使用在安装了RPM软件的系统中,不过好像目前大多数中文Linux发行版本都支持RPM软件包。

1.用命令管理

rpm

例如安装python-1.5.2-35.i386.rpm软件时,可以使用如下命 令:#rpm –ivh python-1.5.2-35.i386.rpm。

如果你想知道RPM软件包中的相关信息,可以使用命 令:#rpm ivh python-1.5.2-35.i386.rpm。

如果想知道python- 1.5.2-35.i386.rpm会在系统里安装哪些文件,可以使用以下这个命令:rpm -qpl python-1.5.2-35.i386.rpm。

由于RPM的参数很多,我们就不一一列举,想得到更多有关RPM的参数,可以 用命令:#man rpm取得详细的帮助信息。

dpkg

dpkg是Debian的中级软件包管理器,类似 RPM.

dpkg是Debian软件包管理系统的中流砥柱,负责安全卸载软件包,配置,以及维护已安装的软件包.也是Debian系 统中众多软件包管理工具的后端.有关dpkg的更多介绍参阅:http://www.dpkg.org

系统中所有packages的 信息都在/var/lib/dpkg/目录下,其中子目录”/var/lib/dpkg/info”用于保存各个软件包的配置文件列表.

.conffiles 记录了软件包的配置文件列表

.list 保存软件包中的文件列表,用户可以从.list的信息中找到软件包中文件的具体安装位置.

.md5sums 记录了软件包的md5信息,这个信息是用来进行包验证的.

.prerm 脚本在Debian报解包之前运行,主要作用是停止作用于即将升级的软件包的服务,直到软件包安装或升级完成.

.postinst脚 本是完成Debian包解开之后的配置工作,通常用于执行所安装软件包相关命令和服务重新启动.

/var/lib/dpkg /available文件的内容是软件包的描述信息,该软件包括当前系统所使用的Debian安装源中的所有软件包,其中包括当前系统中已安装的和未安装 的软件包.

dpkg

查询以安装的信息

查询当前系统所有已安装的deb包

dpkg –l 命令用于查询当前系统所有以安装的deb包的信息.,通过less和grep可以执行更复杂的查询工作.

例如查找 跟vim有关的软件包,dpkg –l |grep –ivim

(如发现iU 表示软件包未安装成功,ii表示安装成功)

查看已安装软件包的详细情况

dpkg –s 命令查看软件包的详细情况,包括版本,依赖之类的

查询系统中所安 装软件包所安装的文件

dpkg –L 命令用于查询系统中所安装软件包的安装的文件安装到系统的位置和安装了那些.

小提示: 如何可以看软件包装到哪个地方?

用apt-get install *

如何可以看软件包装到哪个地 方?

dpkg -L package-name|more

查询系统中某个文件属于那个软件包

dpkg –S 命令用于了解当前的软件属于那个软件包

查询未安装的信息

查询未安装软件包详细信息

dpkg –I 命令用于查看未安装软件包的详细信息,以便了解该软件包是否需要安装.

查询deb包文件中所包含的文件

dpkg –c 显示未安装deb软件包所包含的文件列表,以及安装位置

安装软件包

安装deb软件包

dpkg –i 手工安装deb包到系统中,不过有时会存在Dpends关系,建议使用apt-get 来安装.

如果通过dpkg –i安装软件后由于Dpends关系没有安装成功,可通过apt-get –f install解决

解决dpkg –i 安装deb包出现Dpends问题

apt-get –f install 解决Dpends问题.

例 如:dpkg –i lftp_3.1.3-1_i386.deb

Selecting previously deselected package lftp.

(Reading database … 20654 files and directories currently installed.)

unpacking lftp (from lftp_3.1.3-1_i386.deb)…

dpkg:dependency problems prevent configuration of lftp:

ftp depends on libexpat1 (<=1.95.8);however

dpkg : error processing lftp (--install)

dependency problems –leaving unconfigured

Errors were encountered while processing:

lftp

//lftp软件包安装失败

dpkg –l |grep lftp

iU lftp 3.1.3-1 Sophisticated

command-line FTP/HTTP client p

//”dpkg -l” 查询信息表示lftp软件包未安装成功

(iU表示未安装成功,ii表示安装成功)

使用apt-get –f install解决

卸载deb软件包

卸载deb包

dpkg –r用于卸载指定的软件包,该命令只卸载软件包安装到系统中的文件,而不去删除软件包的配置文件,因此不是完全意义上的卸载.但是软件包保存在系统中,可 以提供给以后在安装软件包时使用.

例如:dpkg –r prozilla 移除后再用dpkg –l |grep prozilla 查看

会看到rc proc 1.3.6-3woody3 multi-thraded download accelerator

表示软件包已经被卸载,但配置文件仍在“rc”带表配置文件仍在.

卸载软件包并清除配置 文件

dpkg –P 用于卸载软件包同时也删除配置文件,dpkg –P 不能解决Dpends问题,建议卸载时使用apt-get操作

重新配置软件包

对于Debian系统中的众多软件 包(尤其是系统和服务器软件包)来说,在第一次安装该软件包时候会显示对话框窗口,提示用户输入必要的配置信息.当用户需要再次对软件包配置的时候,可以 使用dpkg-reconfigure来对指定的软件包进行配置.

比如dpkg-reconfigure locales

用于配置语言

alien包转换工具

如果我们有很喜欢的RPM包,而又没有deb版本

怎么 办~?

可以同过alien来转换或者直接安装,这个小家伙可是个很方便的东西!

基本命令如下:

首先通过apt-get install alien来安装.

然后alien -i name-of-the-pakage.rpm /*用来直接安装rpm包

alien -d , --to-deb /*Make debian packages,This is the default

例:alien –d package.rpm

alien –r , --to-rpm /*Make rpm packages

例:alien –r package.deb

alien –p , --to-pkg /*Make Solaris pkg packages

alien –-to-slp /*Make slp packages

alien –t , --to-tgz /*Make tgz packages

alien –T 检测

alien –-patch=patch 设置patch


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值