LINUX常用命令 经典解释

来源:互联网 发布:java中io和nio区别 编辑:程序博客网 时间:2024/04/29 20:23

linux解压 tar命令

tar命令tar [-cxtzjvfpPN] 文件与目录 ....
 参数:
 -c :建立一个压缩文件的参数指令(create 的意思)
 -x :解开一个压缩文件的参数指令!
 -t :查看 tarfile 里面的文件!
 特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
 因为不可能同时压缩与解压缩。
 -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
 -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
 -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
 -f :使用档名,请留意,在 之后要立即接档名喔!不要再加参数!
    例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
    『 tar -zcvPf tfile sfile』才对喔!
 -p :使用原文件的原来属性(属性不会依据使用者而变)
 -P :可以使用绝对路径来压缩!
 -N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
 --exclude FILE:在压缩的过程中,不要将 FILE 打包!
 范例:
 范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
 [root@linux ~]# tar -cvf /tmp/etc.tar /etc<==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc<==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc<==打包后,以 bzip2 压缩
特别注意,在参数 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
 # 如果加 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file 
 # 如果加 参数,则以 .tar.bz2 来作为附档名啊~
 # 上述指令在执行的时候,会显示一个警告讯息:
 # tar: Removing leading `/" from member names』那是关於绝对路径的特殊设定。

范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,
 # 就得要加上 这个参数了!这很重要的!

范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
 # 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz 
 # 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc
 # 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!

范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,
 # 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 是被拿掉了!

范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!

范例六:在 /home 当中,比 2005/06/01 新的文件才备份
[root@linux ~]# tar -N "2005/06/01" -zcvf home.tar.gz /home

范例七:我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf - /etc | tar -xvf -
这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的!
 # 要注意的地方在於输出档变成 而输入档也变成 ,又有一个 存在~
 # 这分别代表 standard output, standard input 与管线命令啦!
 # 这部分我们会在 Bash shell 时,再次提到这个指令跟大家再解释啰

LINUX 下安装软件方法命令方法

怎么安装应用软件?
    我的软件安装在什么地方?
    如何删除不要的应用软件?
    ……
    下面,我们就一起来认识一下这些方面的问题。
  
  一、 解析Linux应用软件安装包:
    通常Linux应用软件的安装包有三种:
    1) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。
    2) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux提供的一种包封装格式。
    3) dpkg包,如software-1.2.3-1.deb。它是Debain Linux提供的一种包封装格式。
         而且,大多数Linux应用软件包的命名也有一定的规律,它遵循:
    名称-版本-修正版-类型
    例如:
    1) software-1.2.3-1.tar.gz 意味着:
    软件名称:software
    版本号:1.2.3
    修正版本:1
     类型:tar.gz,说明是一个tar包。
    2) sfotware-1.2.3-1.i386.rpm
    软件名称:software
    版本号:1.2.3
    修正版本:1
    可用平台:i386,适用于Intel 80x86平台。
    类型:rpm,说明是一个rpm包。
    注:由于rpm格式的通常是已编译的程序,所以需指明平台。在后面会详细说明。
    而software-1.2.3-1.deb就不用再说了吧!大家自己练习一下。
  二、 了解包里的内容:
    一个Linux应用程序的软件包中可以包含两种不同的内容:
    1) 一种就是可执行文件,也就是解开包后就可以直接运行的。在Windows中所 有的软件包都是这种类型。安装完这个程序后,你就可以使用,但你看不到源程序。而且下载时要注意这个软件是否是你所使用的平台,否则将无法正常安装。
    2) 另一种则是源程序,也就解开包后,你还需要使用编译器将其编译成为可执行文件。这在Windows系统中是几乎没有的,因为Windows的思想是不开放源程序的。
    通常,用tar打包的,都是源程序;而用rpmdpkg打包的则常是可执行程序。一般来说,自己动手编译源程序能够更具灵活性,但也容易遇到各种问题和困难。而相对来说,下载那些可执行程序包,反而是更容易完成软件的安装,当然那样灵活性就差多了。所以一般一个软件总会提供多种打包格式的安装程序的。你可以根据自己的情况来选择。
  三、 搞定使用tar打包的应用软件
    1. 安装:
    整个安装过程可以分为以下几步:
    1) 取得应用软件:通过下载、购买光盘的方法获得;
    2)解压缩文件:一般tar包,都会再做一次压缩,如gzipbz2等,所以你需要先解压。如果是最常见的gz格式,则可以执行:tar xvzf 软件包名,就可以一步完成解压与解包工作。如果不是,则先用解压软件,再执行tar xvf 解压后的tar进行解包;
    3) 阅读附带的INSTALL文件、README文件;
    4) 执行./configure命令为编译做好准备;
    5) 执行make命令进行软件编译;
    6) 执行make install完成安装;
    7) 执行make clean删除安装时产生的临时文件。
    好了,到此大功告成。我们就可以运行应用程序了。但这时,有的读者就会问,我怎么执行呢?这也是一个Linux特色的问题。其实,一般来说, Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是放四海皆准的真理,最可靠的还是看这个软件的 INSTALLREADME文件,一般都会有说明。
    2. 卸载:
    通常软件的开发者很少考虑到如何卸载自己的软件,而tar又仅是完成打包的工作,所以并没有提供良好的卸载方法。
    那么是不是说就不能够卸载呢!其实也不是,有两个软件能够解决这个问题,那就是KinstallKife,它们是tar包安装、卸载的黄金搭档。它们的使用方法,笔者会另行文介绍。在此就不加赘述了。
  四、 搞定使用rpm打包的应用软件
    rpm可谓是Redhat公司的一大贡献,它使Linux的软件安装工作变得更加简单容易。
    1. 安装:
    我只需简单的一句话,就可以说完。执行:
  rpm ivh rpm软件包名
    更高级的,请见下表:
  rpm参数 参数说明
  -i 安装软件
  -t 测试安装,不是真的安装
  -p 显示安装进度
  -f 忽略任何错误
  -U 升级安装
  -v 检测套件是否正确安装
    这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。
    2. 卸载:
    我同样只需简单的一句话,就可以说完。执行:
      rpm 软件名
    不过要注意的是,后面使用的是软件名,而不是软件包名。例如,要安装software-1.2.3-1.i386.rpm这个包时,应执行:
       rpm ivh software-1.2.3-1.i386.rpm
    而当卸载时,则应执行:
      rpm e software
  
  
    另外,在Linux中还提供了象GnoRPMkpackage等图形化的RPM工具,使得整个过程会更加简单。这些软件的具体应用,笔者会另行文介绍。

  五、 搞定使用deb打包的应用程序
    这是Debian Linux提供的一个包管理器,它与RPM十分类似。但由于RPM出现得更早,所以在各种版本的Linux都常见到。而debian的包管理器dpkg则只出现在Debina Linux中,其它Linux版本一般都没有。我们在此就简单地说明一下:
  
    1. 安装
        dpkg i deb软件包名
      如:dpkg i software-1.2.3-1.deb
    2. 卸载
         dpkg 软件名
       如:dpkg e software
    好了,就说到这,希望能够帮助大家找到北。有什么问题请在www.linuxaid.com.cn/bbs/安装与入门版中提出,或E-mail tofjxufeng@linuxaid.com.cn
===================================================================================
软件的安装
  ---- Linux下软件的安装主要有两种不同的形式。第一种安装文件名为filename.tar.gz。另一种安装文件名为 filename.i386.rpm。以第一种方式发行的软件多为以源码形式发送的。第二种方式则是直接以二进制形式发行的。i386即表示该软件是按 Inter 386指令集编译生成的。
  ---- 对于第一种,安装方法如下:
  ---- 首先,将安装文件拷贝至你的目录中。例如,如果你是以root身份登录上的,就将软件拷贝至/root中。
  ---- #cp filename.tar.gz /root
  ---- 由于该文件是被压缩并打包的,所以,应对其解压缩。命令为:
  ---- #tar xvzf filename.tar.gz
  ---- 执行该命令后,安装文件按路径,解压缩在当前目录下。用ls命令可以看到解压缩后的文件。通常在解压缩后产生的文件中,有名为"INSTALL"的文件。该文件为纯文本文件,详细讲述了该软件包的安装方法。
  ---- 对于多数需要编译的软件,其安装的方法大体相同。执行解压缩后产生的一个名为configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。命令为:
  ---- #./configure
  ---- 如果检查过程中,发现有错误,configure将给予提示,并停止检查。你可以跟据提示对系统进行配置。再重新执行该程序。检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译了。编译的过程视软件的规模和计算机的性能的不同,所耗费的时间也不同。命令为:
  ---- #make
  ---- 成功编译后,键入如下的命令开始安装:
  ---- #make install
  ---- 安装完毕,应清除编译过程中产生的临时文件和配置过程中产生的文件。键入如下命令:
  #make clean
  #make distclean
  至此,软件的安装结束。
  ---- 对于第二种,其安装方法要简单的多。
  ---- 同第一种方式一样,将安装文件拷贝至你的目录中。然后使用rpm来安装该文件。命令如下:
  ---- #rpm -i filename.i386.rpm
  ---- rpm将自动将安装文件解包,并将软件安装到缺省的目录下。并将软件的安装信息注册到rpm的数据库中。参数i的作用是使rpm进入安装模式。
  ---- 另外,还有一些Linux平台下的商业软件。在其安装文件中,有Setup安装程序,其安装方法同Windows平台下的一样。如:Corel WordPerfect
  软件的卸载
  ---- 软件的卸载主要是使用rpm来进行的。卸载软件首先要知道软件包在系统中注册的名称。键入命令:
  ---- #rpm -q -a
  ---- 即可查询到当前系统中安装的所有的软件包。参数q的作用是使rpm进入查询命令模式。参数a是查询模式的子参数,意为全部(ALL)。查询到的信息较多,可使用less人屏显示。
  ---- 确定了要卸载的软件的名称,就可以开始实际卸载该软件了。键入命令:
  ---- #rpm -e [package name]
  ---- 即可卸载软件。参数e的作用是使rpm进入卸载模式。对名为[package name]的软件包进行卸载。由于系统中各个软件包之间相互有依赖关系。如果因存在依赖关系而不能卸载,rpm将给予提示并停止卸载。你可以使用如下的命令来忽略依赖关系,直接开始卸载:
  ---- #rpm -e [package name] -nodeps
  ---- 忽略依赖关系的卸载可能会导致系统中其它的一此软件无法使用。你可以使用
  ---- #rpm -e [package name] -test
  ---- 使rpm进行一次卸载预演,而不是真正卸载。这样可以使你检查一下软件是否存在有依赖关系。卸载过程中是否有错误。

Linux查找并安装(卸载)软件包----可能不知道里面可安装文件的名称

安装某个软件包及其相关软件包 apt -get install  文件名
如 apt-get install openssh     不但会安装openssh,同时会升级openssl

删除该软件包,同时会删除依赖于它的软件包 apt -get remove 文件名

如:apt -get remove 文件名  (卸载一个已安装的软件包-----保留配置文件)

apt -get -purge remove packagename (卸载一个已安装的软件包---删除配置文件)

dpkj -force -all -purge packgename (删除很难删除的流氓软件)

apt -get autoremove   (因为apt会把已安装或已卸载的软件都备份在硬盘上,如果需要  

空间的话,可以通过这个命令来删除已经删掉的软件)

apt-get autoclean (定期运行这个命令来清除那些已经卸载的软件包的.deb文件,通过

这种方式可以释放大量的磁盘空间)

apt -get clean(这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用)

apt -get upgrade (更新所有已安装的软件包)

apt -get dist-upgrade  (将系统升级到新版本)

Linux命令之文档编辑

首先,vi命令怎么进去呢?比如,怎样进去去编辑文件/mnt/sdcard/etc/.... ?

答:在命令行中输入vi 接着你要编辑的文件路径,如:[root@loalhost]#vi /mnt/sdcard/etc/...

 :vi分为浏览模式和编辑模式,直接输入vi testFile,就进入了浏览模式,然后按小写的i

就进入的编辑模式,再按esc,:wq就存盘退出了,:q!强制退出

linux vi命令详解及使用技巧集锦

  进入vi的命令

  vi filename :打开或新建文档,并将光标置于第一行首

  vi +n filename :打开文档,并将光标置于第n行首

  vi + filename :打开文档,并将光标置于最后一行首

  vi +/pattern filename:打开文档,并将光标置于第一个和pattern匹配的串处

  vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename

  vi filename....filename :打开多个文档,依次编辑

  移动光标类命令

  :光标左移一个字符

  :光标右移一个字符

  space:光标右移一个字符

  Backspace:光标左移一个字符

  kCtrl+p:光标上移一行

  jCtrl+n :光标下移一行

  Enter :光标下移一行

  w:光标右移一个字至字首

  b:光标左移一个字至字首

  e:光标右移一个字j至字尾

  :光标移至句尾

  :光标移至句首

  }:光标移至段落开头

  {:光标移至段落结尾

  nG:光标移至第n行首

  n+:光标下移n

  n-:光标上移n

  n$:光标移至第n行尾

  :光标移至屏幕顶行

  :光标移至屏幕中间行

  :光标移至屏幕最后行

  0(注意是数字零)光标移至当前行首

  $:光标移至当前行尾

  屏幕翻滚类命令

  Ctrl+u:向文档首翻半屏

  Ctrl+d:向文档尾翻半屏

  Ctrl+f:向文档尾翻一屏

  Ctrl+b;向文档首翻一屏

  nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

  插入文本类命令

  :在光标前

  :在当前行首

  a:光标后

  A:在当前行尾

  o:在当前行之下新开一行

  O:在当前行之上新开一行

  r:替换当前字符

  R:替换当前字符及其后的字符,直至按ESC

  s:从当前光标位置处开始,以输入的文本替代指定数目的字符

  S:删除指定数目的行,并以所输入文本代替之

  ncwnCW:修改指定数目的字

  nCC:修改指定数目的行

  删除命令

  ndwndW:删除光标处开始及其后的n-1个字

  do:删至行首

  d$:删至行尾

  ndd:删除当前行及其后n-1

  xX:删除一个字符,x删除光标后的,而X删除光标前的

  Ctrl+u:删除输入方式下所输入的文本

  搜索及替换命令 :

  /pattern:从光标开始处向文档尾搜索pattern

  ?pattern:从光标开始处向文档首搜索pattern

  n:在同一方向重复上一次搜索命令

  N:在反方向上重复上一次搜索命令

  :s/p1/p2/g:将当前行中任何p1均用p2替代

  :n1,n2s/p1/p2/g:将第n1n2行中任何p1均用p2替代

  :g/p1/s//p2/g:将文档中任何p1均用p2替换

  选项配置

  all:列出任何选项配置情况

  term:配置终端类型

  ignorance:在搜索中忽略大小写

  list:显示制表位(Ctrl+I)和行尾标志($)

  number:显示行号

  report:显示由面向行的命令修改过的数目

  terse:显示简短的警告信息

  warn:在转到别的文档时若没保存当前文档则显示NO write信息

  nomagic:允许在搜索模式中,使用前面不带“/”的特别字符

  nowrapscan:禁止vi在搜索到达文档两端时,又从另一端开始

  mesg:允许vi显示其他用户用write写到自己终端上的信息

  最后行方式命令

  :n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下

  :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下

  :n1,n2 d :将n1行到n2行之间的内容删除

  ::保存当前文档

  :e filename:打开文档filename进行编辑

  :x:保存当前文档并退出

  :q:退出vi

  :q!:不保存文档并退出vi

  :!command:执行shell命令command

  :n1,n2 w!command:将文档中n1行至n2行的内容作为command的输入并执行之,若不指

  定n1n2,则表示将整个文档内容作为command的输入

  :r!command:将命令command的输出结果放到当前行 。



原创粉丝点击