当前位置: 移动技术网 > 科技>操作系统>Linux > Linux常用命令(详细)

Linux常用命令(详细)

2020年05月07日  | 移动技术网科技  | 我要评论

凉生我们可不可以不忧伤txt下载,名站网址,发热

linux常用命令

一、控制台相关命令

控制台命令就是指通过字符界面输入的可以操作系统的命令。我们现在要了解的是基于linux操作系统的基本控制台命令。不同于图形模式的一种类似文本编辑器的运行命令的环境。在远程登陆控制或是操作没有图形环境的linux系统时,控制台命令就有很大的用途了,建议大家一定要熟练掌握控制台模式下的命令操作,这样不管是否是在linux系统的图形环境中操作,我们都可以完成指定的任务。有一点请注意,linux的命令(也包括文件名等等)对大小写是敏感的,如“abc”和“abc”会被认为是不一样的。如果输入的命令大小写不对的话,系统是不会做出你期望的响应的。

下面先给大家介绍几个与控制台命令相关的命令,如下所示:

login   登陆控制台

exit    退出控制台

reboot  重启计算机

shutdown 关闭计算机

clear   清除屏幕信息

echo    显示信息

man     参考命令

1、注册和退出系统

       当用户以不同的身份登陆控制台时,首先要使用login命令,这是一个用户向系统注册的过程。若用户通过身份验证,login进程会把用户的home目录设置成当前目录并把控制权交给一系列setup程序。setup程序可以是指定的应用程序,通常setup程序为一个shell程序,如:/bin/sh, 即bourne shell(关于shell程序的概念,请读者参阅本书第五章内容)。用户得到控制权后,shell程序读取并执行文件/etc/.profile以及.profile。这两个文件分别建立了系统范围内的和 该用户自己的工作环境。

最后shell显示命令提示符,如“ you can't use 'macro parameter character #' in math mode”,若是以root用户登陆,显示命令提示符为“#”)

1)注册

用户登陆后,用户命令同计算机交互的关系为:命令进程--->shell程序--->unix内核--->计算机硬件。当用户输入一个命令,如$ls, shell将定位其可执行文件/bin/ls并把其传递给内核执行。内核产生一个新的子进程调用并执行/bin/ls。 当程序执行完毕后,内核取消该子进程并把控制交给其父进程,即shell程序。例如执行:

login:

作为系统管理员,第一次进入系统可能需要以超级用户的身份进入,和nt系统中administrators身份对应的linux帐号是root(这也是一般类linux系统中常见的系统管理员身份)。在login:后面输入“root”,然后回车,系统提示:

password:

按照系统管理员安装系统时设置的密码输入,然后直接回车后,管理员将成功登录,系统提示:

[root@linux /root]#

符号“@”前面的自然是登陆时的帐号身份,之后的是主机名,可能根据主机的名称不同而不同。/root是登陆用户的主目录,它既是账户配置文件所在的地方,也是每次登录后所在的目录,受到系统保护的私人领地——当然,前提是只有你自己拥有root权限:)。

2 )退出系统exit命令

当用户需要退出shell命令的控制台时,我们可以使用exit命令来实现.当用户在命令提示符号后直接执行exit命令时, 内核把用户的控制权交给init程序, 用户将退出当前的shell环境,例如执行:

[root@linux /root]# exit

有些用:

[root@linux /root]# logout

3)重启和关闭系统

(1)reboot 命令

reboot 命令用于 linux 系统的重新启动,具体使用方法如下

 语法:reboot [-选项] [参数]
 ​
 参数:

-d: 重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n”参数的效果。

-f: 强制重新开机,不调用shutdown指令的功能。

-w: 仅做测试,并不真的将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件。

举例:

 # reboot  
(2)halt命令

【语法】halt [选项]

【详解】halt用于关闭计算机。但它关机前会把信息写入到“/var/log/wtmp”中。halt命令和shutdown命令大同小异。

【选项】

-w 在“/var/log/wtmp”中写入信息,但不关机

-d 关闭计算机,且不在“/var/log/wtmp”写入信息

-f 强制关机

-p 关闭计算机且关闭电源

例:用halt关闭计算机,且不在“/var/log/wtmp”写入信息。

[root@linux /root]#halt  -d

(3) shutdown 命令
   shutdown 命令用于关闭 linux 系统, 将系统带到可以关闭电源的安全点。具体使用方法如下:
 ​
  语法:shutdown [选项] 时间 [警告]  
 ​
  参数:

-t n: 在向进程发出警告信号和杀掉信号之间等待n秒。

-h 2:关闭后停机。

-k:不真正关闭系统,只向每人发送警告信息。

-r:关闭后重新启动。

-n:在重新启动和停机之前不作磁盘同步。

-f:快速重新启动,重新启动时不检查所有文件系统。

-c:取消已经运行的关闭命令。在本选项中,不能给出时间变量,但可以在命令行输入一个说明信息传给每个用户。

举例:

#shutdown –h now

#shutdown –k now

#showdown –r now

2、修改口令

passwd

例:

liu@liu-virtual-machine:$  passwd

3、良好的保密

一般来说,在人离机时应退出系统,来保证不让其他人看到自己的文件,我们可以锁住终端会话,也可退出系统。

1.锁住终端会话(vlock)

如果人离开一会可采用锁住终端会话。

例:

liu@liu-virtual-machine:$ vlock

二、目录操作命令

大家可能还知道在很早的dos系统下,有一些对目录操作的命令,例如cd、md (mkdir)、rd (rmdir)等等。而linux 系统下的一些命令,和dos命令其实很相似,甚至拼写和功能都一样。下面就介绍一些在linux 系统下对目录操作要使用的命令:

  cd      改变当前工作目录

  pwd     显示工作的路径

  mkdir   建立目录

  rmdir   删除目录

1、cd 命令

cd 命令, 用于改变当前工作目录,和dos命令下的cd名命令用途一样,用于工作目录之间的切换,格式如下:

(1)语法: cd 目录名

(2)对象: 上面语法的对象为目录名,即改变到选定的目录名。如果没有指定目录,就返回用户主目录。

(3)举例:

#cd  /var/log

#cd  /usr/local/apache

#cd  /root/sysadm/conf

(4)说明: 第一行命令所代表的功能是使用cd命令,切换到对象为 /var/log的目录下,第二、三行命令功能是分别切换到对象为 /usr/local/apache和 /root/sysadm/conf 的目录中去。

    提示:

   直接在命令行中输入cd命令而不加任何参数,可以马上回到用户的主目录(home),这与dos中cd命令显示当前路径不同,请一定注意。在linux中,很多与用户自身相关的配置文件、属于自己的文档、程序、脚本和安装包等东东都存放在用户自己的home目录中,这个目录就相当于microsoft windows中的“我的文档”。所以能用cd命令直接“回家”,真的是很方便。

2、pwd 命令

pwd 命令,用于显示当前工作的目录路径,当用户操作时,不知道目前处于什么目录下,可以使用这个命令来查看当前的目录路径。格式如下:

(1)语法: pwd

(2)举例:

#pwd 

/home/oracle

(3)说明: 第一行为运行的命令,第二行的内容为运行 pwd 命令后显示的信息,即指用户当前所在的工作目录或目录的路径为:/home/oracle

提示:

   应该经常使用pwd命令。linux的目录结构非常复杂,一个小小的分支就可能会有十几层目录,就好像是个森林,所以linux不会像windows那样把全路径写在提示符里,那样太长了。在目录用cd钻来钻去,很容易记不清自己到底身在何处。这时候执行命令可是有点危险的,例如在一个下目录想删除一个文件,不搞清楚当前目录,可能会误删除同名的有用文件的,而且没那么容易恢复。尤其是在做“rm –rf”这种对目录直接删除的操作,更需要用pwd确定一下。还有很多其他的情况需要使用pwd,可能每执行十几个命令就会敲一回。我们都来感谢jim meyering先生吧,他是pwd的创作者。

3、 mkdir 命令

mkdir 命令的功能是用来在 linux 系统中建立目录,格式如下:

(1)语法: mkdir 目录名

  mkdir [-选项] [参数] 目录名

(2)参数:

-m :  在建立目录时把按模式指定设置目录权限。

-p :  建立所有不存在父目录的目录。

(3) 对象: 对象为目录名,目录名即指要建立的目录名称。

(4) 举例:

#mkdir  oracle

#mkdir -m 755 log

#mkdir -p /tmp/var/logs 

 (5)说明:  第一行命令建立一个名为oralce的目录;第二行命令建立一个log目录,并授予755权限(关于权限的概念会在后面的内容介绍);第三行命令会在/tmp分区下建立var目录,并在var目录下在建立一个 logs目录。

[应用实例:快速建立多级目录]

 请注意上面介绍的mkdir命令的–p 参数,在某些时候可能会大大减化我们的操作。例如用户想在当前目录中创建node/xyd/logs/www目录的时候,如果现在连node目录都没有,我们本来是需要输入4次mkdir来逐级向下创建的,不过现在用-p参数就方便多了:

#mkdir –p   node/xyd/logs/www

  不管三七二十一,就去建吧!现在一条命令就搞定了。p 是 parent,上一级目录的意思。

4、rmdir 命令

rmdir 命令的功能是删除系统中的目录,具体格式如下:

(1)语法:rmdir 目录

rmdir [-选项] [参数] 目录

(2)参数:

-p: 在删除指定的目录后,若父目录为空,则rmdir也删除父目录。

  (3) 对象: 对象为目录,目录即指要删除的目录名称或目录列表。

(4)例如:

#rmdir     /zhang/log

#rmdir  –p  /zhang/log

#rmdir     /zhang/log /zhang/log2

(5) 说明: 第一行命令功能删除/zhang目录下的log目录,要注意log目录为空目录(后面介绍的rm命令可以删除非空目录);第二行命令功能删除/zhang目录下的log目录,并删除/zhang目录;第三行命令功能删除/zhang目录下的log目录,并删除/zhang目录下的log2目录。

提示:

rmdir可以删除的是非空目录,被删的目录下不能有文件或子目录。如果只是有子目录存在,还可以用-p来删除;如果含有文件,那-p参数也无能为力了。只有使用“rm –rf”大法,连根拔起。后面会有介绍。

三、文件操作命令

上面主要讲的是在linux系统中对目录的操作命令,下面主要介绍一些常用的文件操作命令。掌握这些基本命令的操作,就可以对linux系统中的各种文件进行查看、编辑、修改、复制、移动、删除、建立等操作,这些命令如下所示:

ls     显示目录和文件          

rm     删除文件

touch  建立文本文件          

cp     拷贝文件

cat    显示文本内容           

mv     移动文件

more   按页显示文件内容   

ln     链接文件

less   按页显示文件内容    

find   查找文件

head   从前显示文件内容   

file   查看文件类型

tail   从后显示文件内容

1、ls 命令

ls 命令用于显示文件(包括目录)的列表,及每个文件的详细信息,包括文件的大小、属组、属主、读写执行权限、创建日期等信息。具体格式如下:

(1)    语法:ls [-选项] [参数] 文件

(2)    参数:

-a:显示所有文件,包括当前目录和父目录。

-c:按列输出,纵向排序。

-x:按列输出,横向排序。

-d:将每一条都当作一个目录。

-l:给出长表。长表显示文件的详细内容,如:文件类型权限,连接或目录计数,所有者,组,按字节文件大小,文件的最近修改时间和文件名。

-t:按最后修改的时间排序,用-l标志一起使用。

-u:按最后访问的时间排序,用-l标志一起使用。

-c:按i节点信息最后修改的时间排序,用-l标志一起使用。

-r:反向排序。

-i:在第一列显示文件的i节点数。

-f:将/放在目录输入后,*放在可执行程序后,@放在符号连接后,!放在fifo后,=放在套接文件后,正规文件后什么也不放。文件列表:用ls要处理的文件列表,可以使用通配符。

注意:

文件类型有:

-:常规文件

d:目录 

b:块设备特殊(磁盘)

c:字符特殊设备(终端)

p:有名管道

s:信号灯 

m:共享存储器

(3)对象:上面语法中的文件是ls命令执行的对象,这里指的文件可以是单个文件、文件列表(多个文件)或者是目录。

(4)举例:

#cd /home

#ls –al

drwxr-xr-x  4 root    root   4096  jan 30 21:47  .

drwxr-xr-x 20 root    root   4096  may 16 06:45  ..

drwx------  5 install install 4096  mar 18 15:48 install

drwxr-xr-x  2 oracle  oracle  4096  dec 19 18:36 oracle

(5)说明:上面举的例子中第一行命令代表切换到/home目录下;第二行命令代表显示/home目录下所有文件和目录的详息;第三至六行是第二行命令运行后显示的信息。下面以这段信息的最后一行说明每一段内容的含义:

最后一行显示的信息:

drwxr-xr-x  2 oracle  oracle  4096  dec 19 18:36 oracle

这行信息分为8个区域,每个区域的含义如下:

drwxr-xr-x:第一个符号指示文件类型,减号为普通文件,d则表示为目录类型。接下来的九个字符分成三组,分别表示属主、组员和其它用户的存取权;每组有三种存取权:r代表读(read)权限、w代表写(write)权限和x代表执行(execute)权限。而没有存取权的相应位置则会出现减号(-)代替。

2 :代表oracle目录下还有两个目录,包括隐含目录,注意不包括目录下的文件个数。

oracle(左):代表oracle目录的属主为oracle用户。

oracle(中):代表oracle目录的属组为oracle用户组。

oracle(后):即在/home目录下有一个oracle目录。

4096 :  代表当前目录或文件的大小,即4096 byte=4 k

dec 19  : 代表目录创建于12月19日

18:36   : 代表目录创建于18时36分

【应用实例:“ls –a”查出黑客程序】

   当系统被侵入并植入后门时,黑客一般为了隐藏,会把文件名前加上一个“.”,这些文件在系统中默认是不显示的。但是 ls 的 –a 参数可以让它们无处藏身。我们运行下命令:

#cd /home/xyd

#ls

hosts  tmplogs  vnc-3.3.7-x86_linux.tar

上面一行显示的这三个文件都是比较正常的文件,再执行ls –a:

  .   .bash_history  .bash_profile  .emacs  hosts    vnc-3.3.7-x86_linux.tar ..  .bash_logout   .bashrc      .gtkrc  tmplogs  .start.sh

   注意最后一个文件.start.sh,通常系统中是不会有这种脚本存在的。我们再使用cat或者more,就可以从内容判断此文件是否是黑客的脚本文件。 

技巧:

我们进入一个陌生的房间后,总是会扫视一下房间内的家具摆设。在linux中ls就是用户的眼睛,我们使用cd进入了某个目录后,一般都会下意识地“ls”一下,“定睛一看”。关于ls的技巧就太多了,现在我们为大家整理出常用的几种。

注意管道符“|”的运用,会使ls的功能大大增强。实际上“|”在与其他很多命令的配合上都很有效,我们可以自由地发挥创造力。“|”体现了linux(也是unix)的魅力。将目录下的文件按照大小排序。利用了sort命令,命令行如下:

#ls -l | sort -n -k5

有时我们在有很多文件的目录下工作,如/dev,通常会有7、8千个设备文件存在,这时如果ls一下,屏幕会向上翻个不停,只剩下最后一屏文件显示出来,而ls又没有分屏显示的参数,像dos中的“dir /p”那样的。这时我们又可以借助“|”了,把结果交给more或less显示,命令行下:

#ls /dev | more  

#ls /dev | less  

两个命令都会一屏一屏地显示结果,而且less还可以往回翻页。在/dev这样的目录,我们还会有这样的问题,这个目录中到底有多少个文件呢?可以用wc,统计命令来帮助我们。

#ls /dev | wc -w

7519

屏幕中的7519就是文件的数目。

ls还可以与grep配合,组合出其他很有用的命令,请参看grep部分。

2、touch 命令

touch 命令是用于改变文件的时间戳,也可以用于创建新文件。而建立文件后,其内容的添加一般使用vi编辑器(vi编辑器的详细使用方法会在下一章给大家详细介绍),touch 命令具体格式如下:

(1)语法:touch  文件

-a :修改文件的存取时间.

-c :不创建文件

-m :修改文件

-r ref_file:将参照文件 ref_file 相应的时间戳记的数值作为指定文件 file 时间戳记的新值.

-t time:使用指定的时间值 time 作为指定文件相应时间戳记的新值。此处的 time 规定为如下形式的十进制数∶

[[cc]yy]mmddhhmm[.ss]

(2)对象:对象为文件,即指要改变或建立的文件名称或文件列表。

(3) 举例:

#touch text 

#touch text1 text2 test3

(4)说明:第一行命令的功能是改变text的时间戳到当前的时间或当无此文件时创建之,第二行命令的功能是同时对text1、text2、text3 三个文件进行同样的操作。

3、cat 命令

cat 命令一般用来显示文本文件中的内容,具体格式如下所示: 

(1)语法:cat [-选项] [参数] 文件

(2)参数: -b:计算所有非空输出行,开始为1。

-e:相当于-ve。

-n:计算所有输出行,开始为1。

-s:将相连的多个空行用单一空行代替。

-t:相当于-vt。

-u:忽略;为unix兼容产品而使用。

-v:显示除lfd和tab以外的所有控制符,使用^作标志并在高位置的字符前放m-。

-a:相当于-vet。

-:e在每行末尾显示#符号。

-t:用^i显示tab符号。

(3)对象:上面的语法中的对象为文件,如果没有指定文件或连字号(-),就从标准输入读取。

技巧:

cat还可以用来做一些常用的文件操作。cat的结果会显示到标准输出,也就是屏幕上来。如果我们用重定向符“>”、“>>”把结果输出到文件中去,会有什么效果呢?我们来看看下面的一些命令行:

#cat hosts > hosts.old

用hosts的内容代替hosts.old文件的内容。如果hosts.old不存在,则一个新文件会被创建。

#cat hosts >> hosts.old

把hosts文件的内容加到hosts.old的末尾,使两个文件合为一个。

#cat hosts1 hosts2 hosts3 > hosts.new

hosts.new是一个新文件,cat命令把hosts1、hosts2、hosts3的内容依次连接起来,并生成一个新的hosts.new文件。

4、more 和 less 命令

1.more 命令

是 linux 系统中经常用到的命令,它的主要功能是可以按页显示文件及内容,如果一个文本文件的内容很多,可以用 more 命令来分页查看文件中的内容,具体语法格式如下:

(1)语法:more [-选项] [参数] 文件名

(2)参数:

-n: n是整数,用于建立大小为n行长的窗口。窗口大小是在屏幕上显示多少行。

-c: 用more给文本翻页时通过从头清除一行,然后再在最后写下一行的办法写入。通常,more清除屏幕,再写每一行。

-d: 显示 “press space to cpntinue, ‘q’ quit”代替more的缺省提示符。

-f: 计算逻辑行代替屏幕行。长行在屏幕上换行显示,通常被more计算为新的一行;-f标志对长行的换行显示不计数。

-s: 多个空行压缩处理为一个。

-p: 不滚屏,代替它的是清屏并显示文本。

-u: 禁止加下划线。

(3)对象:对象为文件名,即希望用more显示文件内容的文件。

(4)举例:

#more  /etc/httpd/conf/httpd.conf

#more –20 /etc/httpd/conf/httpd.conf

#more –s  /etc/httpd/conf/httpd.conf

2.less 命令

类似 more 命令,它的主要功能也是可以按页显示文件及内容,并允许在文件中向前和向后移动,其具体语法格式如下:

(1)语法:less [-选项] [参数]  文件名

(2)参数:

 -?:本选项显示less接收的命令小结。若给出本选项则忽略其他选项,less保留并在帮助屏后显示。
 ​
 -a:在当前屏幕显示的最后一行之后开始查询。
 ​
 -c:从顶行向下全屏重写。

  -c:象-c,但在写之前清屏。

-e:第二次到文件尾后自动退出less。若缺省,唯一退出less的方式是通过q命令。

 -e:第一次到文件尾后自动退出less。
 ​
 -i:区分大小写查询。
 ​
 -n:去掉行号。
 ​
 -q:产生相对安静的操作。当试图向文件尾之后或文件头之前滚动时,终端铃不响;在产生其他错误时,如键入非法字符,终端铃响。
 ​
 -q:产生完全安静的操作。
 ​
 -s:将多个空行压缩成一个空行。
 ​
 -x n:每次按制表符走n格,n的缺省值是8。

(3)对象:对象为文件名,即希望用less显示文件内容的文件。

(4)举例:

#less  /etc/httpd/conf/httpd.conf

#less –s  /etc/httpd/conf/httpd.conf

技巧:

前面的内容已经提示了,我们不但可以用more和less显示文本文件的内容,而且可以把那些输出到标准输出(屏幕)上的信息都通过管道符放到more和less中来显示,这样所有的命令就都有分屏显示功能了!如下下面的命令:

#find / -name *sh | more

#ls -l /var/named | less

#ps aux | more

5、head 和 tail 命令

1.head 命令

主要功能是从前显示文件内容,具体格式如下:

语法:  head  文件名

head –n  文件名

   (2)参数:

-n:    从文件开始数第n行之间的文件内容。

对象:  对象为文件,即希望查看文件内容的文件名。若对象为空,则使用标准输入。

(4) 举例:

#head  /var/log/message

#head –50 /var/log/message

[ 应用实例:head] 

我们在某些时候,会需要知道系统在启动时的排在前几个的进程还有哪些在活动,就可以使用head:

 # ps aux | head 

这时系统就会把排位前10的进程列出,正是我们需要的。

  1. tail 命令

主要功能是从后显示文件及内容,具体格式如下:

(1)语法: tail –f  文件名

                  tail –n  文件名

(2)参数:

-f:    若用此选项而输入不是标准输入,tail监控文件增长。这是无限循环输出,必须用中断键中止。

-n:    从文件末尾倒数第n行开始观察文件。以行为单位的偏移量文件中开始观察的位置。如果以-开头,则从文件尾开始算;以+开关,从文件开始算。

对象: 对象为文件,即希望查看文件内容的文件名。若对象为空,则使用标准输入。

(4) 举例:

#tail –f  /www/log/access.log

#tail –50 /var/log/messages

[ 应用实例:tail] 

  我们在调试某些服务的时候,需要在过程中不断地查看系统日志给出的信息,来帮助修改。如调试named服务的时候,错误信息都会加到/var/log/messages的末尾去。实际上系统中大部分日志都储存在这个文件里。这时我们可以用cat、more、less等工具来显示,但messages文件有几千行内容是很平常的事情,用这些工具可能需要翻屏一二百屏,才能到最后我们想看的内容,这样的效率非常低下。而使用tail是恰到好处的。如下面的命令行:
 ​
 # tail /var/log/messages  
 ​
    我们做一次named.conf文件的修改,启动named进程,马上就可以tail一下messages文件,看一看刚刚在named启动时发生了什么事情。反复查看反复修改,直至最后找出问题。

6、rm 命令

rm 命令的功能是删除文件,是 linux 系统不可缺少的常用的基本命令,其具体格式如下所示:

   (1)语法:rm  [-选项] [参数]  文件

 (2)参数:

-r: 删除文件列表中指定的目录,若不用此标志则不删除目录。

-i: 指定交互模式。在执行删除前提示确认。任何以y开始的响应都表示肯定;其他则表示否定。

-f: 指定强行删除模式。通常,在删除文件权限可满足时rm提示。本标志强迫删除,不用提示。

-v: 详细模式。在删除前回显文件名。

--: 指明所有选项结束。用于删除一个文件名与某一选项相同的文件。例如:假定偶然建立了名为-f的文件,又打算删除它,命令rm –f不起任何作用,因为f被解释成标志而不是文件名;而命令rm -- -f能成功地删除文件。

(3)对象:上面语法中的文件是rm命令执行的对象,这里指的文件可以是单个文件、文件列表(多个文件)或者是目录。

举例:

#rm –rf /tmp/*

#rm  /tmp/abc.log

提示:

在linux中我们可以利用alias别名把rm转为了rm –i,比如:

#alias rm = ‘rm –i‘

这样我们在删除文件和目录时系统就会提示一下,确认之后再删,提高了删除操作的安全性。但注意如果加了“-f”选项的话,rm还是会问也不问,直接删除的。

7、cp 命令

cp 命令类似dos命令中的copy命令,用于文件及目录之间的复制,其具体格式如下:

(1)语法 :cp [选项] 源文件   目标文件

cp [选项] 源文件组  目标目录

(2)参数:

-a: 在备份中保持尽可能多的源文件结构和属性。

-b: 作将要覆盖或删除文件的备份。

-d: 将符号连接作为符号连接拷贝,而不拷贝它们所指的文件。并在备份中保持源文件间固有的连接关系

-f: 删除已存在的目标文件。

-i: 提示是否覆盖已存在的目标文件。

-l: 形成固有连接以代替非目录的拷贝。

-p: 通过加入目标目录分支和指定的源文件名形成每个目标文件名。给cp的最后一个变量必须是已存在的目录的名字。

-p: 保持原先文件的所有者,组,权限和时间标志。

-r: 递归拷贝目录,把所有非目录文件当普通文件拷贝。

-s: 建立符号连接,代替非目录文件的拷贝。如果目标文件不在当前目录,所有的源文件名必须是绝对路径(从‘/’开始)。对不支持符号连接的系统,本选项将产生一个错误信息。

-u: 更新选项。目标是非目录自己经存在并具有相同的或更新的修改时间,则不拷贝。

-v: 在拷贝前打印每个文件名。

-x: 从开始拷贝的文件开始,跳过在不同文件系统上的子目录。

-r: 递归拷贝目录。

-s: 用于产生备份文件的后缀。可以simple_backup_suffix环境变量建立,它能被此选项绕过。若以上都未给出,缺省值是~。

(3)对象:

源文件 : 要拷贝的文件。

目标文件:文件名。也可以是目录名,这种情况下,源文件名作为目标文件名,而文件放在该目录下。

源文件组:要拷贝文件的由空格分隔的列表。

目标目录:目标目录。

(4)举例:

#cp  /home/oracle  /root

#cp –r /home/oracle /root

#cp –r /home/*    /tmp

8、mv 命令

mv 命令的功能为移动文件(包括目录),如果在同一目录进行此操作,则是对相应对象进行改名。具体格式如下:

(1)语法:   mv [-f] [-i] 文件1 文件2 ……

  mv [-f] [-i] 目录1 目录2 ……
 ​
  mv [-f] [-i] 文件列表 目录

   (2)参数:

-f: 通常目标文件存在且没有写权,mv会提示信息。本选项使mv执行移动而不作提示。

-i: 交互模式,在改写文件前提示。

-r:  递归移动目录。注意需要移动子目录时一定要加上

(3)对象:

 文件1:源文件名。
 ​
 文件2:目标文件名(新文件名)。
 ​
 目录1:源目录名。
 ​
 目录2:目标目录名(新目录名)。
 ​
 目录 :目标目录。
 ​
 文件列表:用空格分隔的文件名列表。用于文件保持它们的名字但移到一个新目录。

(4)举例:

#mv  /tmp/abc.log   /home/oracle

#mv  -r  /home/test  /home    

#mv  /home/yani/.  /tmp 

9、ln 命令

ln 命令的功能主要是链接文件,其具体格式如下:

(1)语法: ln [-选项] [参数] 文件1 文件2

(2)参数:

  -f :  链结时先将与 dist 同档名的档案删除

-d : 允许系统管理者硬链结自己的目录

-i : 在删除与 dist 同档名的档案时先进行询问

-n : 在进行软连结时,将 dist 视为一般的档案

-s : 进行软链结(symbolic link)

-v : 在连结之前显示其档名

-b : 将在链结时会被覆写或删除的档案进行备份

-s suffix: 将备份的档案都加上 suffix 的字尾

-v method: 指定备份的方式

--help : 显示辅助说明

--version: 显示版本

(3)对象:

文件1 : 指源文件或目录

文件2 : 指生成的连接文件或目录

(4)举例:

#ln -s yy zz

说明: 上面一行命令的结果是ln命令将文件 yy 链接,并产生一个链接文件 zz。

10、find 命令

find 命令是linux系统中非常重要的一个命令,它的主要功能是用来查找文件或目录。其具体格式如下:

(1)语法:find  [-选项] [参数] 文件 匹配标准  

(2)参数:

  -name文件: 告诉find要找什么文件;要找的文件包括在引号中,可以使用通配符(*和?)

-perm模式: 匹配所有模式为指定数字型模式值的文件。不仅仅是读,写和执行,所有模式都必须匹配。如果在模式前是负号(-),表示采用除这个模式的所有模式。

-type x:   匹配所有类型为x的文件。x是c(字符特殊),b(块特殊),d(目录),p(有名管道),l(符号连接),s(套接文件)或f(一般文件)。

-links n:  匹配所有连接数为n的文件。

-size n:  匹配所有大小为n 块的文件(512字节块,若k在n后,则为1k字节块)。

    -user用户号:匹配所有用户序列号是前面所指定的用户序列号的文件,可以是数字型的值或用户登录名。

-atime n: 匹配所有在前n天内访问过的文件。

-ctime n: 匹配所有在前n天内文件状态被修改过的文件。

-mtime n:  匹配所有在前n天内文件数据被修改过的文件。

-exec命令:对每个匹配文件执行指定命令,标志{}用于指定命令执行时文件名出现的地方。命令必须终止于转义分号( ;)。 这里,命令ls用-d变元执行,每个文件在发现{}的地方传给ls。

-newer文件:匹配所有修改时间比file文件更新的文件。

(3)对象:

文件: 上面语法中的文件是find命令执行的对象,这里指的文件希望查询的单个文件、文件列表(多个文件)或者是目录。

匹配标准: 希望查询的文件的匹配标准或说明。

(4)举例:(root权限)

#find /home  -name admin  

#find / -ctime  3

(5)说明: 第一行命令实现在/home目录下查找admin的文件或目录;第二行命令实现在/ 目录下查找前三天修改过的文件或目录。

11、 file 命令

file 命令是查看文件类型的命令,具体格式如下:

(1)语法:file  [-选项] [参数] 文件

(2)参数:

-c: 打印输出幻数文件的分析形式。这通常用于与-m联合使用。在安装一个新的幻数文件之前调试它。

-z: 深入观察一个压缩文件,并试图查出它的类型。

-l: 本选项允许符号连接。

-m文件: 指定用于说明文件类型的幻数的一个替换文件。

(3)对象: 上面语法中的文件是file命令执行的对象,这里指的文件是希望查询文件类型的单个文件、文件列表(多个文件)或者是目录,甚至目录列表。

(4)举例:

#file  /var/log/message

#file  /var/log  /var/log1 /var/log2

#file –z /home/yani/apache1.3.2.tar.gz

四、属性与权限命令

   在 linux 系统中,每个文件和目录都有自己的属性和存取权限,这样一来,通过属性的设置,就可以决定不同用户或组之间的文件授权的访问。而文件权限可以决定哪些用户可以读、写或者执行一个文件。下面这节中的内容属要是介绍在 linux 系统中改变目录文件属性与权限的命令。

属性与权限命令如下所示:

chown    改变属主

chgrp     改变属组

chmod    改变或设置文件或目录的存取权限

umask    设置限制新文件权限的掩码

1、chown 命令

(change owner) ——改变文件(或目录)的拥有者或所属组

格式:chown 用户名 文件或目录名

例如:

[root @wl /root]#chown wl chap1.txt

把文件chap1.txt的拥有者改为wl用户。

[root @wl /root]#chown wl:root chap1.txt

把chap1.txt文件的拥有者改为wl用户,同时文件的所属组改为root组。

2、chgrp 命令

chgrp (change group)   ——改变文件或目录的所属组

格式:chgrp 组 文件或目录

chown可以同时改变文件拥有者和所属者,chgrp只具有改变所属组的功能。

例如:

  [root @wl /root]#chgrp root chap1.txt

文件chap1.txt的所属组设为root组。

3、chmod命令

该命名改变或设置文件或目录的存取权限。

格式:chmod [选项] 文件和目录列表

选项:根据表示权限的方式不同,该命令支持以下两种设定权限的方法。

(1)使用字符模式设置权限

在这种模式下,用u、g、o和a来表示不同用户。其中,u表示文件主,g表示同组用户,o表示其他用户,a表示所有用户。

用r、w、x来表示权限,其中,r表示文件可读,w表示可以写,x表示可以执行。

对文件权限的设置通过+、−和=来完成。其中,+表示在原有权限上添加某个权限,−表示在原有权限上取消某权限;=赋予给定权限并取消以前所有权限。

(2)使用八进制设置权限

文件和目录的权限还可用八进制数字模式来表示。3个八进制数字分别代表ugo的权限,读、写、执行权限所对应的数值分别是4、2和1。若要rwx属性,则4+2+1=7;若要rw−属性,则4+2+0=6;若要r−x属性,则4+0+1=5。

【例3-34】将文件ex1的权限改为所有用户都可执行权限。

[studentl@localhost studentl]#chmod a+x ex1

【例3-35】将文件ex1的权限重新设置为文件主可以读和执行,组用户可以执行,其他用户无权访问。

采用字符模式:

[root@localhost/root]#chmod  u=r,ug=x  ex1

采用八进制模式:

[root@localhost/root]#chmod  510  ex1

【例3-36】将文件ex1的文件主和同组用户具有读写权限,但其他用户只可读。

采用字符模式:

[root@localhost /root]#chmod  ug=r,ug=w,o=r  ex1

采用八进制模式:

[root@localhost /root]#chmod  664  ex1

4、umask命令

该命令用来设置限制新文件权限的掩码。当新文件被创建时,其初的权限由文件创建掩码决定。用户每次注册进入系统时,umask命令都被执行,并自动设置掩码改变默认值,新的权限将会把旧的覆盖。

格式:umask [选项] [掩码]

选项:-s:显示当前的掩码

掩码与chmod命令中各选项用法相同

【例3-37】设置用户的掩码为文件主具有读、写、执行权限

同组用户具有读、写权限,其他用户具有读权限。

采用字符模式:

[studentl@localhost studentl]#umask  u=rwx,g=rw,o=r

采用八进制模式:

[root@localhost studentl]#umask  017 

【例3-38】显示当前掩码。

[studentl@localhost studentl]

#umask -s

u=rwx,g=rw,o=r

五、文件压缩gizp、gunzip及tar命令

1、gzip  

   在linux系统里经常会碰到.gz这样的后缀名,这个.gz表示压缩格式的文件。那这样的.gz压缩格式的文件是怎么做出来的?这就用到压缩软件gzip

格式: gzip   [选项]  文件名

选项:

-c:解压缩保留源文件;

-d:解开压缩文件;

-r:递归处理,将指定目录下的所有文件及子目录一并处理;

-t:测试压缩文件是否正确无误

示例:

把/usr/liu目录下的文件都压缩成.gz

root@liu-virtual-machine:# cd  /usr/liu

root@liu-virtual-machine:/usr/liu# gzip  *

2、gunzip

gunzip命令用来解压缩文件。gunzip是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为.gz。事实上gunzip就是gzip的硬连接,因此不论是压缩或解压缩,都可通过gzip指令单独完成。

例:将上述例子进入解压。

root@liu-virtual-machine:/usr/liu# gunzip  *

3、tar打包命令 

tar是linux下用来打包的命令,打包就是把多个文件包起来成为一个文件,这里必须注意打包只是将多个文件变成一个文件,并没有对这多个文件进行压缩。

tar的命令选项是非常多的,这也说明tar程序的功能非常强大。

格式: tar    [选项]    生成打包文件名     需打包源文件

这里需要注意生成包名和需打包文件名的次序。

!!特别提醒:这里生成的打包文件名是用户自己定义的,最好在取名的时候加上.tar的后缀名以便区分。

-z:是否同时具有gzip的属性.

-x:解开一个压缩档案的参数指令!

-t:查看tarfile里面的档案!

-c:建立一个压缩文档的参数!

-v:显示压缩过程

-f:生成压缩文件的名字

-n:此后接的日期(yyyy/mm/dd)还要新的才会被打包进新建的档案中!

--exclude file:在压缩的过程中,不要将此后file打包!

#tar  cvf    directory.tar directory       //只将目录整合打包成一个文档

#tar   zcvf   filename.tar.gz    /test/*    //将/test/下的所有文件全部打包并压缩成一个文件

#tar  xvf       directory.tar     //解开tar的封包。

#tar  zxvf   directory.tar.gz   //解开gzip的压缩包。

六、软件安装命令

  linux的应用软件的安装,有多种命令,根据不同的安装包,可采用不同的命令方法。

一、rpm包安装方式步骤 (红帽发行的,只能安装已经下载到本地机器上的rpm 包)


     1、找到相应的软件包,比如soft.version.rpm,下载到本机某个目录;

    2、打开一个终端,su -成root用户;

    3、cd soft.version.rpm所在的目录;

    4、输入rpm -ivh soft.version.rpm

二、deb包安装方式步骤:

    1、找到相应的软件包,比如soft.version.deb,下载到本机某个目录;

    2、打开一个终端,su -成root用户;

    3、cd soft.version.deb所在的目录;

    4、输入dpkg -i soft.version.deb

三、tar.gz源代码包安装方式:

1、找到相应的软件包,比如soft.tar.gz,下载到本机某个目录;

2、打开一个终端,su -成root用户;

3、cd soft.tar.gz所在的目录;

4、tar -xzvf soft.tar.gz //一般会生成一个soft目录

5、cd soft

6、./configure

7、make

8、make install

四、tar.bz2源代码包安装方式:

1、找到相应的软件包,比如soft.tar.bz2,下载到本机某个目录;

2、打开一个终端,su -成root用户;

3、cd soft.tar.bz2所在的目录;

4、tar -xjvf soft.tar.bz2 //一般会生成一个soft目录

5、cd soft

6、./configure

7、make

8、make install

五、apt方式安装:(安装deb包)

1、打开一个终端,su -成root用户;

2、apt-cache search soft 注:soft是你要找的软件的名称或相关信息

3、如果2中找到了软件soft.version,则用apt-get install soft.version命令安装软件

注:只要你可以上网,只需要用apt-cache search查找软件,用apt-get install安装软件 ,apt-get是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似。

六、yum方式安装:(安装rpm包)

rpm 是linux的一种软件包名称,以.rpm结尾,安装的时候语法为:rpm -ivh。
rpm包的安装有个很大的缺点就是文件的关联性太大,有时装一个软件要安装很多其他的软件包,很麻烦。
所以为此redhat小红帽开发了yum安装方法,他可以彻底解决这个关联性的问题,很方便,只要配置两个文件即可安装,安装方法是:yum -y install 。
yum并不是一种包,而是安装包的软件。

简单的说: rpm 只能安装已经下载到本地机器上的rpm 包. yum能在线下载并安装rpm包,能更新系统,且还能自动处理包与包之间的依赖问题,这个是rpm 工具所不具备的。
七、bin文件安装:
如果你下载到的软件名是soft.bin,一般情况下是个可执行文件,安装方法如下:

1、打开一个终端,su -成root用户;

2、chmod +x soft.bin

3、./soft.bin //运行这个命令就可以安装软件了

八、不需要安装的软件:

有了些软件,比如lumaqq,是不需要安装的,自带jre解压缩后可直接运行。假设下载的是lumaqq.tar.gz,使用方法如下:

1、打开一个终端,su -成root用户;

2、tar -xzvf lumaqq.tar.gz //这一步会生成一个叫lumaqq的目录

3、cd lumaqq

4、chmod +x lumaqq //设置lumaqq这个程序文件为可运行

5、此时就可以运行lumaqq了,用命令./lumaqq即可,但每次运行要输入全路径或

切换到刚才生成的lumaqq目录里

6、为了保证不设置路径就可以用,你可以在/bin目录下建立一个lumaqq的链接,

用命令ln -s lumaqq /bin/ 即可,以后任何时候打开一个终端输入lumaqq就可以

启动qq聊天软件了

7、 如果你要想lumaqq有个菜单项,使用菜单编辑工具,比如alacarte menu

editor,找到上面生成的lumaqq目录里的lumaqq设置一个菜单项就可以了,当然你

也可以直接到 /usr/share/applications目录,按照里面其它*.desktop文件的格

式生成一个自己的desktop文件即可。

下列是常用的方法

wget      //wget是一个下载文件的工具,linux用户可下载一些软件或从远程服务器恢复备份到本地服务器,支持http,https和ftp协议。

rpm        //rpm命令是rpm软件包的管理工具。可用来检查、安装,卸载rpm软件包。

yum        //红帽发行版的包管理工具

1、wget

wget是一个下载文件的工具,它用在命令行下。对于linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。

  wget支持http,https和ftp协议,可以使用http代理。所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成

用法: wget [选项]... [url]...

选项:

  开始: -v,  --version           显示 wget 的版本信息并退出。
        -h,  --help              打印此帮助。
        -b,  --background        启动后转入后台。
        -e,  --execute=command   运行一个‘.wgetrc’风格的命令。
    登入并输入文件:

      -o,  --output-file=file    将信息写入 file。
 ​
    -a, --append-output=file 将信息添加至 file。
    -d, --debug               打印大量调试信息。
    -q, --quiet               安静模式(无信息输出)。
    -v, --verbose             详尽的输出(此为默认值)。
    -nv, --no-verbose         关闭详尽输出,但不进入安静模式。
    -i, --input-file=file     下载本地或外部 file 中的 urls。
    -f, --force-html         把输入文件当成 html 文件。
    -b, --base=url           解析与 url 相关的
                              html 输入文件(由 -i -f 选项指定)。

下载:
  -t,  --tries=number           设置重试次数为 number (0 代表无限制)。
        --retry-connrefused       即使拒绝连接也是重试。
  -o,  --output-document=file    将文档写入 file。
  -nc, --no-clobber              不要重复下载已存在的文件。
  -c,  --continue                继续下载部分下载的文件。
       --progress=type           选择进度条类型。
  -n,  --timestamping            只获取比本地文件新的文件。
  -s,  --server-response         打印服务器响应。
       --spider                   不下载任何文件。
  -t,  --timeout=seconds         将所有超时设为 seconds 秒。
       --dns-timeout=secs        设置 dns 查寻超时为 secs 秒。
       --connect-timeout=secs    设置连接超时为 secs 秒。
       --read-timeout=secs       设置读取超时为 secs 秒。
  -w,  --wait=seconds            等待间隔为 seconds 秒。
       --waitretry=seconds       在取回文件的重试期间等待 1..seconds 秒。
       --random-wait             取回时等待 0...2*wait 秒。
       --no-proxy                关闭代理。
  -q,  --quota=number            设置取回配额为 number 字节。
       --bind-address=address    绑定至本地主机上的 address (主机名或是 ip)。
       --limit-rate=rate         限制下载速率为 rate。
       --no-dns-cache            关闭 dns 查寻缓存。
       --restrict-file-names=os  限定文件名中的字符为 os 允许的字符。
       --ignore-case             匹配文件/目录时忽略大小写。
  -4,  --inet4-only              仅连接至 ipv4 地址。
  -6,  --inet6-only              仅连接至 ipv6 地址。
       --prefer-family=family    首先连接至指定协议的地址
                                 family 为 ipv6,ipv4 或是 none。
       --user=user               将 ftp 和 http 的用户名均设置为 user。
       --password=pass           将 ftp 和 http 的密码均设置为 pass。
       --ask-password           提示输入密码。
       --no-iri                关闭 iri 支持。
       --local-encoding=enc      iri 使用 enc 作为本地编码。
       --remote-encoding=enc     使用 enc 作为默认远程编码。
目录:
  -nd, --no-directories           不创建目录。
  -x,  --force-directories        强制创建目录。
  -nh, --no-host-directories      不要创建主目录。
       --protocol-directories     在目录中使用协议名称。
  -p,  --directory-prefix=prefix  以 prefix/... 保存文件
       --cut-dirs=number          忽略 number 个远程目录路径。
http 选项:
       --http-user=user        设置 http 用户名为 user。
       --http-password=pass    设置 http 密码为 pass。
       --no-cache              不在服务器上缓存数据。
       --default-page=name     改变默认页
                               (默认页通常是“”)。
  -e,  --adjust-extension      以合适的扩展名保存 html/css 文档。
       --ignore-length         忽略头部的‘content-length’区域。
       --header=string         在头部插入 string。
       --max-redirect          每页所允许的最大重定向。
       --proxy-user=user       使用 user 作为代理用户名。
       --proxy-password=pass   使用 pass 作为代理密码。
       --referer=url           在 http 请求头包含‘referer: url’。
       --save-headers          将 http 头保存至文件。
  -u,  --user-agent=agent      标识为 agent 而不是 wget/version。
       --no-http-keep-alive    禁用 http keep-alive(永久连接)。
       --no-cookies            不使用 cookies。
       --load-cookies=file     会话开始前从 file 中载入 cookies。
       --save-cookies=file     会话结束后保存 cookies 至 file。
       --keep-session-cookies  载入并保存会话(非永久) cookies。
       --post-data=string      使用 post 方式;把 string 作为数据发送。
       --post-file=file        使用 post 方式;发送 file 内容。
       --content-disposition   当选中本地文件名时
                               允许 content-disposition 头部(尚在实验)。
       --auth-no-challenge     send basic http authentication information
                               without first waiting for the server's
                               challenge.
https (ssl/tls) 选项:
       --secure-protocol=pr     选择安全协议,可以是 auto、sslv2、
                                sslv3 或是 tlsv1 中的一个。
       --no-check-certificate   不要验证服务器的证书。
       --certificate=file       客户端证书文件。
       --certificate-type=type  客户端证书类型, pem 或 der。
       --private-key=file       私钥文件。
       --private-key-type=type  私钥文件类型, pem 或 der。
       --ca-certificate=file    带有一组 ca 认证的文件。
       --ca-directory=dir       保存 ca 认证的哈希列表的目录。
       --random-file=file       带有生成 ssl prng 的随机数据的文件。
       --egd-file=file          用于命名带有随机数据的 egd 套接字的文件。
ftp 选项:
       --ftp-user=user         设置 ftp 用户名为 user。
       --ftp-password=pass     设置 ftp 密码为 pass。
       --no-remove-listing     不要删除‘.listing’文件。
       --no-glob               不在 ftp 文件名中使用通配符展开。
       --no-passive-ftp        禁用“passive”传输模式。
       --retr-symlinks         递归目录时,获取链接的文件(而非目录)。
递归下载:
  -r,  --recursive          指定递归下载。
  -l,  --level=number       最大递归深度( inf 或 0 代表无限制,即全部下载)。
       --delete-after       下载完成后删除本地文件。
  -k,  --convert-links      让下载得到的 html 或 css 中的链接指向本地文件。
  -k,  --backup-converted   在转换文件 x 前先将它备份为 x.orig。
  -m,  --mirror             -n -r -l inf --no-remove-listing 的缩写形式。
  -p,  --page-requisites    下载所有用于显示 html 页面的图片之类的元素。
       --strict-comments    开启 html 注释的精确处理(sgml)。
递归接受/拒绝:
  -a,  --accept=list               逗号分隔的可接受的扩展名列表。
  -r,  --reject=list               逗号分隔的要拒绝的扩展名列表。
  -d,  --domains=list              逗号分隔的可接受的域列表。
       --exclude-domains=list      逗号分隔的要拒绝的域列表。
       --follow-ftp                跟踪 html 文档中的 ftp 链接。
       --follow-tags=list          逗号分隔的跟踪的 html 标识列表。
       --ignore-tags=list          逗号分隔的忽略的 html 标识列表。
  -h,  --span-hosts                递归时转向外部主机。
  -l,  --relative                  只跟踪有关系的链接。
  -i,  --include-directories=list  允许目录的列表。
  -x,  --exclude-directories=list  排除目录的列表。
  -np, --no-parent                 不追溯至父目录。
wget命令展示:

 

使用wget -o下载并以不同的文件名保存(-o:下载文件到对应目录,并且修改文件名称)


wget -o wordpress.zip

使用wget -b后台下载

wget -b

备注: 你可以使用以下命令来察看下载进度:tail -f wget-log

利用-spider: 模拟下载,不会下载,只是会检查是否网站是否好着

[root@localhost ~]# wget --spider      #不下载任何文件
模拟下载打印服务器响应

[root@localhost ~]# wget -s       # 打印服务器响应
设定指定次数

[root@localhost ~]#  wget -r --tries=2         (指定尝试2次,2次后不再尝试)
[root@localhost ~]# wget -r --tries=2 -q     (指定尝试,且不打印中间结果)

2、rpm

    rpm命令是rpm软件包的管理工具。rpm原本是red hat linux发行版专门用来管理linux各项套件的程序,由于它遵循gpl规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。rpm套件管理方式的出现,让linux易于安装,升级,间接提升了linux的适用度。

用法: rpm [选项...]
选项:

-a:查询所有套件;

-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,指定套件档的文件名称;
-c:只列出组态配置文件,本参数需配合"-l"参数使用;
-d:只列出文本文件,本参数需配合"-l"参数使用;
-e<套件档>或--erase<套件档>:删除指定的套件;
-f<文件>+:查询拥有指定文件的套件;
-h或--hash:套件安装时列出标记;
-i:显示套件的相关信息;
-i<套件档>或--install<套件档>:安装指定的套件档;
-l:显示套件的文件列表;
-p<套件档>+:查询指定的rpm套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-r:显示套件的关联性信息;
-s:显示文件状态,本参数需配合"-l"参数使用;
-u<套件档>或--upgrade<套件档>:升级指定的套件档;
-v:显示指令执行过程;
-vv:详细显示指令执行过程,便于排错。
安装rpm软件包指令:

#rpm -qa |grep your-package       #检查是否安装了your-package

#rpm -ivh your-package                # 直接安装

#rpm --force -ivh your-package.rpm    # 忽略报错,强制安装

利用光盘安装:

#rpm -qa |grep samba   #检查是否安装了samba服务器

#mount /dev/cdrom /mnt    #将光驱加载到/mnt目录

#rpm -ivh /mnt/packages/your-package.rpm   #从/mnt/packages/中安装你的rpm软件

卸载rpm软件包:

#rpm -ql tree        # 查询tree

#rpm -e tree          # 卸载tree

#rpm -ql tree         # 查询tree

3、redhat 7.2 安装yum 切阿里源安装软件

         redhat 的更新包只对注册的用户生效,所以我们自己手动更改成centos 的更新包,centos几乎和redhat是一样的,所以无需担心软件包是否可安装,安装之后是否有问题。

         删除redhat原有的yum ,因为redhat 原本的yum 没有注册为redhat用户是用不了的。

1.查看redhat版本

2.查看yum的安装

3.删除linux自带yum

4.下载yum安装包rpm

注意:可先进入http://mirrors.163.com/centos/7/os/x86_64/package查看有无下列安装包

可复制:

# wget http://mirrors.163.com/centos/7/os/x86_64/packages/yum-3.4.3-163.el7.centos.noarch.rpm
# wget http://mirrors.163.com/centos/7/os/x86_64/packages/python-iniparse-0.4-9.el7.noarch.rpm
# wget http://mirrors.163.com/centos/7/os/x86_64/packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
# wget http://mirrors.163.com/centos/7/os/x86_64/packages/yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm
#wget http://mirrors.163.com/centos/7/os/x86_64/packages/yum-utils-1.1.31-52.el7.noarch.rpm
#wget http://mirrors.163.com/centos/7/os/x86_64/packages/python-urlgrabber-3.10-9.el7.noarch.rpm

 

5. 安装yum:

复制代码:

#rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm  --force --nodeps
#rpm -ivh yum-3.4.3-163.el7.centos.noarch.rpm --force --nodeps
#rpm -ivh  yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm  --force --nodeps
#rpm -ivh  yum-utils-1.1.31-52.el7.noarch.rpm  --force --nodeps
#rpm -ivh  python-urlgrabber-3.10-9.el7.noarch.rpm  --force --nodeps
#rpm -ivh python-iniparse-0.4-9.el7.noarch.rpm

 

6、下载阿里镜像到/etc/yum.repos.d/目录下

# wget -o /etc/yum.repos.d/centos-base.repo http://mirrors.aliyun.com/repo/centos-7.repo

7、修改刚下载的文件 将所有$releasever替换为7

# vim /etc/yum.repos.d/centos-base.repo

# :%s/$releasever/7/g

修改配置文件cnetos-base.repo,通过vim编辑器打开cnetos-base.repo , 替换releasever命令:%s/$releaserver/7/g ,wq保存退出。

注:g标示全局替换,将$releaserver替换为7,这里替换的是centos版本,安装cdh时候回到指定目录下载相关文件,最好是在浏览器打开baseurl路径,查看指定路径下的数据包是否存在,不存在请使用其他版本。

8、运行以下命令即可

# yum clean all

# yum makecache

# yum update


9.现在可用yum安装应用软件了,以安装设置五笔输入法为例

centos中可以查到有两种五笔输入法,一种是极点,一种是海峰。这里以极点五笔输入法为例进行安装设置。

1. 查找五笔

$yum list|grep “wubi”

2. sudo yum install 来安装极点五笔输入法。

$sudo yum install ibus-table-chinese-wubi-haifeng.noarch

3. 安装完成需要重启一下系统。

$reboot

4. ibus添加输入法

执行ibus-setup,如下图所示,点击“输入法“选项卡。

$ibus-setup

5. 点击“添加”按钮。

6. 点击“汉语”。

7. 选中“极点五笔输入法”点击“添加”。

8. 设置完成后,点击“关闭”按钮。

9. 设置输入源

点击“应用程序”——“系统工具”——”设置“。

10. 点“region & language"。

在显示的界面点“输入源”下面点击“+”。

11. 点击“汉语“。

12. 选择"极点五笔”,点击“添加”。

13. 之后就可以看到添加成功了,如下图所示。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网