当前位置 : 首页 » 文章分类 :  开发  »  Linux-常用命令

Linux-常用命令

[TOC]

Linux命令大全
http://man.linuxde.net/

Linux 命令大全
http://www.runoob.com/linux/linux-command-manual.html


硬件|监测|内核|Shell

性能监测与优化

top

top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。

在top命令执行过程中可以使用的一些交互命令:
h:显示帮助画面,给出一些简短的命令总结说明;
k:终止一个进程;
i:忽略闲置和僵死进程,这是一个开关式命令;
q:退出程序;
r:重新安排一个进程的优先级别;
S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
f或者F:从当前显示中添加或者删除项目;
o或者O:改变显示项目的顺序;
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
w:将当前设置写入~/.toprc文件中。

实例解析

top - 09:44:56 up 16 days, 21:23, 1 user, load average: 9.59, 4.75, 1.92
Tasks: 145 total, 2 running, 143 sleeping, 0 stopped, 0 zombie
Cpu(s): 99.8%us, 0.1%sy, 0.0%ni, 0.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4147888k total, 2493092k used, 1654796k free, 158188k buffers
Swap: 5144568k total, 56k used, 5144512k free, 2013180k cached

top:
09:44:56[当前系统时间],
16 days[系统已经运行了16天],
1 user[个用户当前登录],
load average: 9.59, 4.75, 1.92[系统负载,即任务队列的平均长度]
Tasks:
145 total[总进程数],
2 running[正在运行的进程数],
143 sleeping[睡眠的进程数],
0 stopped[停止的进程数],
0 zombie[冻结进程数],
Cpu(s)
99.8%us[用户空间占用CPU百分比],
0.1%sy[内核空间占用CPU百分比],
0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比],
0.2%id[空闲CPU百分比],
0.0%wa[等待输入输出的CPU时间百分比],
0.0%hi[],
0.0%st[],
Mem:
4147888k total[物理内存总量],
2493092k used[使用的物理内存总量],
1654796k free[空闲内存总量],
158188k buffers[用作内核缓存的内存量]
Swap:
5144568k total[交换区总量],
56k used[使用的交换区总量],
5144512k free[空闲交换区总量],
2013180k cached[缓冲的交换区总量]


free

free -m,概要查看内存情况
-m,以MB为单位显示,-g,以GB为单位显示

cat /proc/meminfo,cat /proc/meminfo


lsof

lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。

lsof [options] filename

选项
lsof filename 显示打开指定文件的所有进程
lsof -a 表示两个参数都必须满足时才显示结果
lsof -c string 显示COMMAND列中包含指定字符的进程所有打开的文件
lsof -u username 显示所属user进程打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /DIR/ 显示目录下被进程打开的文件
lsof +D /DIR/ 同上,但是会搜索目录下的所有目录,时间相对较长
lsof -d FD 显示指定文件描述符的进程
lsof -n 不将IP转换为hostname,缺省是不加上-n参数
lsof -i 用以显示符合条件的进程情况
lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
-i参数说明:
46 –> IPv4 or IPv6
protocol –> TCP or UDP
hostname –> Internet host name
hostaddr –> IPv4地址
service –> /etc/service中的 service name (可以不只一个)
port –> 端口号 (可以不只一个)
例如:
lsof -i :22,查看22端口现在运行的情况:
lsof -a -u root -d txt,查看所属root用户进程所打开的文件类型为txt的文件
lsof server.log,查看哪些进程在使用server.log文件,或 lsof|grep server.log

实例解析

[prouser@vm-vmw96707-app bin]$ lsof -c run.sh
COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
run.sh  33234 prouser  cwd    DIR  253,7     4096 599439 /opt/app/jboss-eap-5.2/jboss-as/server/aisServer3/bin
run.sh  33234 prouser  rtd    DIR  253,1     4096      2 /
run.sh  33234 prouser  txt    REG  253,1   939344 122884 /bin/bash
run.sh  33234 prouser  mem    REG  253,1   157072  41353 /lib64/ld-2.12.so
run.sh  33234 prouser    0r   CHR    1,3      0t0   4405 /dev/null
run.sh  33234 prouser    1w   REG  253,7 20671770 598689 /opt/app/jboss-eap-5.2/jboss-as/server/aisServer3/bin/startServer.log
run.sh  33234 prouser    2w   REG  253,7 20671770 598689 /opt/app/jboss-eap-5.2/jboss-as/server/aisServer3/bin/startServer.log
run.sh  33234 prouser  255r   REG  253,7    10675 557207 /opt/app/jboss-eap-5.2/jboss-as/bin/run.sh

COMMAND:进程的名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等。txt类型的文件是程序代码。数值表示应用程序的文件描述符,这是打开该文件时返回的一个整数,数值后跟打开模式,u表示该文件被打开并处于读取/写入模式,而不是只读(r)或只写(w)模式。同时还有大写的W 表示该应用程序具有对整个文件的写锁。初始打开每个应用程序时,都具有三个文件描述符,从 0 到 2,分别表示标准输入、输出和错误流。所以大多数应用程序所打开的文件的 FD 都是从 3 开始。
TYPE:文件类型,如DIR、REG等。文件和目录分别称为 REG 和 DIR。而CHR 和 BLK,分别表示字符和块设备;或者 UNIX、FIFO 和 IPv4,分别表示 UNIX 域套接字、先进先出 (FIFO) 队列和网际协议 (IP) 套接字。
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称


lscpu

lscpu,查看cpu统计信息

[jboss5@vm-vmw1891-jbs]~>lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    1
CPU socket(s):         4
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 47
Stepping:              2
CPU MHz:               1995.000
BogoMIPS:              3990.00
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              24576K
NUMA node0 CPU(s):     0-3

cat /proc/cpuinfo,可以知道每个cpu信息,如每个CPU的型号,主频等。


Shell内建命令

kill

kill[参数][进程号]
一般情况下,使用ps命令找出待中止的进程ID,直接使用”kill PID”就可以了,但这个命令偶尔也会失效
原来,kill命令可以发送多个不同的信号。
默认(缺省)情况下,kill发送的是SIGTERM,即15(SIGTERM)信号,”kill PID”与”kill -15 PID”是一样的。
这个信号通常会要求程序自己正常退出,是一种比较安全的用法。但它是可以被阻塞,处理和忽略的,所以对于有的进程,会中止失败。

kill -9 pid,立即结束
另一个常用的信号是9(SIGKILL),这个命令表示立即结束程序,是不能被阻塞,处理和忽略的。在TERM信号失效的情况下,可以尝试使用”kill -9 PID”
虽然”kill -9”命令已经很强大,但也有可能还是不能达到目的。这时候,还有一个办法,就是使用”ps -ef”找出待中止的进程的父进程(PPID),然后使用kill或killall命令杀掉它。

killall pname,killall 正在运行的程式名
例如:
killall nginx


ulimit

ulimit命令用来限制系统用户对shell资源的访问。

ulimit 用于限制 shell 启动进程所占用的资源,支持以下各种类型的限制:所创建的内核文件的大小、进程数据块的大小、Shell 进程创建文件的大小、内存锁住的大小、常驻内存集的大小、打开文件描述符的数量、分配堆栈的最大大小、CPU 时间、单个用户的最大线程数、Shell 进程所能使用的最大虚拟内存。同时,它支持硬资源和软资源的限制。

作为临时限制,ulimit 可以作用于通过使用其命令登录的 shell 会话,在会话终止时便结束限制,并不影响于其他 shell 会话。
而对于长期的固定限制,ulimit 命令语句又可以被添加到由登录 shell 读取的文件中,作用于特定的 shell 用户。

1)暂时生效,使用ulimit命令设置,适用于通过 ulimit 命令登录 shell 会话期间
2)永久生效,通过将一个相应的 ulimit 语句添加到由登录 shell 读取的文件之一(例如 ~/.profile),即特定于 shell 的用户资源文件;或者通过编辑 /etc/security/limits.conf

-a:显示目前资源限制的设定;
-c :设定core文件的最大值,单位为区块;
-d <数据节区大小>:程序数据节区的最大值,单位为KB;
-f <文件大小>:shell所能建立的最大文件,单位为区块;
-H:设定资源的硬性限制,也就是管理员所设下的限制;
-m <内存大小>:指定可使用内存的上限,单位为KB;
-n <文件数目>:指定同一时间最多可开启的文件数; 对于需要做许多套接字连接并使它们处于打开状态的应用程序而言,最好通过使用ulimit -n,或者通过设置nofile参数,为用户把文件描述符的数量设置得比默认值高一些。
-p <缓冲区大小>:指定管道缓冲区的大小,单位512字节;
-s <堆叠大小>:指定堆叠的上限,单位为KB;
-S:设定资源的弹性限制;
-t :指定CPU使用时间的上限,单位为秒;
-u <程序数目>:用户最多可开启的程序数目;
-v <虚拟内存大小>:指定可使用的虚拟内存上限,单位为KB。

ulimit -c unlimited,将core文件的大小设为无限


export

显示当前导出成环境变量的shell变量,或将shell变量导出为环境变量

一个shell中的系统环境变量(用export定义的变量)才会被复制到子 shell中

在子 shell中定义的变量只在该子shell内有效。如果在一个shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内 的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用export命令对已定义的变量进行输出。 export命令将使系统在创建每一个新的shell时定义这个变量的一个拷贝。这个过程称之为变量输出。


source

通常用法:source filepath 或 . filepath
功能:使当前shell读入路径为filepath的shell文件并依次执行文件中的所有语句,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如source /etc/profile

source命令(从 C Shell 而来)是bash shell的内置命令;点命令(.),就是个点符号(从Bourne Shell而来)是source的另一名称。这从用法中也能看出来。

source filepath 与 sh filepath, ./filepath的区别:

  • 当shell脚本具有可执行权限时,用sh filepath与./filepath是没有区别的。./filepath是因为当前目录没有在PATH中,所有”.”是用来表示当前目录的。
  • sh filepath 会重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell是新建的,其改变的变量不会被带回父shell,除非使用export。
  • source filename其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。

举例说明:
新建一个test.sh脚本,内容为:A=1;
修改其可执行权限:chmod +x test.sh;
运行sh test.sh后,echo $A,显示为空,因为A=1并未传回给当前shell;
运行./test.sh后,也是一样的效果;
运行source test.sh 或者 . test.sh,然后echo $A,则会显示1,说明A=1的变量在当前shell中;


history

history命令用于显示历史命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。

-c:清空当前历史命令;
-a:将历史命令缓冲区中命令写入历史命令文件中;
-r:将历史命令文件中的命令读入当前历史命令缓冲区;
-w:将当前历史命令缓冲区命令写入历史命令文件中。
历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量HISTSIZE进行控制。

该命令单独使用时,仅显示历史命令
history 10,显示最近使用的10条历史命令

在命令行中,可以使用符号!执行指定序号的历史命令。
!2,执行第2个历史命令。
!!,执行上一条命令。
!-1,执行上一条命令。

http://blog.sina.com.cn/s/blog_5caa94a00100gyls.html


echo

echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用。
-e:激活转义字符

文字色
echo -e "\e[1;31mThis is red text\e[0m"
\e[1;31m 将颜色设置为红色
\e[0m 将颜色重新置回
颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37

背景色
echo -e "\e[1;42mGreed Background\e[0m"
颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47

文字闪动
echo -e "\033[37;31;5mMySQL Server Stop...\033[39;49;0m"
红色数字处还有其他数字参数:0 关闭所有属性、1 设置高亮度(加粗)、4 下划线、5 闪烁、7 反显、8 消隐


内核与模块管理

uname

uname是unix name的缩写
uname -a:显示操作系统相关所有参数

查看CentOS系统版本
一般在/etc/目录下都有个-version结尾的文件,里面写有centos的版本信息
5.x是/etc/redhat-release文件,cat查看:CentOS release 5.11 (Final)
6.x是/etc/centos-release文件,cat查看:CentOS release 6.5 (Final)

查看RedHat系统版本
在/etc/目录下有个redhat-release文件,cat查看:
Red Hat Enterprise Linux Server release 6.3 (Santiago)


磁盘管理

du

显示目录或者文件所占空间

-h或–human-readable 以K,M,G为单位,提高信息的可读性。

常用格式:
du -h --max-depth=1:输出当前目录下各个子目录所使用的空间


df

检查文件系统的磁盘空间占用情况,默认情况下,磁盘空间将以 1KB 为单位进行显示

-h:以更易读的方式呈现


lsblk

lsblk命令用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,cd-ROM等等。

NAME:这是块设备名。
MAJ:MIN:本栏显示主要和次要设备号。
RM:本栏显示设备是否可移动设备。值为1说明他们是可移动设备。
SIZE:本栏列出设备的容量大小信息。
RO:该项表明设备是否为只读。RO值为0表明他们不是只读的。
TYPE:本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。
MOUNTPOINT:本栏指出设备挂载的挂载点。

[prouser@vm-vmw96707-app ~]$ lsblk
NAME                               MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0                                 11:0    1  1024M  0 rom
sda                                  8:0    0    23G  0 disk
├─sda1                             8:1    0   512M  0 part /boot
└─sda2                             8:2    0  22.5G  0 part
  ├─vg_root-lv_swap (dm-0)       253:0    0     4G  0 lvm  [SWAP]
  ├─vg_root-lv_root (dm-1)       253:1    0     2G  0 lvm  /
  ├─vg_root-lv_usr (dm-2)        253:2    0     5G  0 lvm  /usr
  ├─vg_root-lv_var (dm-3)        253:3    0     5G  0 lvm  /var
  ├─vg_root-lv_tmp (dm-4)        253:4    0     2G  0 lvm  /tmp
  ├─vg_root-lv_opt (dm-5)        253:5    0     2G  0 lvm  /opt
  └─vg_root-lv_home (dm-6)       253:6    0   2.5G  0 lvm  /home
sdb                                  8:16   0    95G  0 disk
├─vg_app-lv_app (dm-7)           253:7    0    40G  0 lvm  /opt/app
├─vg_app-lv_applog (dm-8)        253:8    0    40G  0 lvm  /opt/applog
├─vg_app-lv_adm (dm-9)           253:9    0    10G  0 lvm  /opt/adm
└─vg_app-lv_data_collect (dm-10) 253:10   0     5G  0 lvm  /opt/data_collect

系统管理

用户和工作组管理

su

su 选项 目标用户

su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
root向普通或虚拟用户切换不需要密码
普通用户切换到其它任何用户都需要密码验证

-, -l, --login,切换用户时,使环境变量和欲切换的用户相同
环境变量包括(home目录,shell,user,logname,path等)

例如
su,不加任何参数,默认为切换到root用户,但没有转到root用户家目录下,也就是说这时虽然是切换为root用户了,但并没有改变root登录环境
su -,su 加参数 - ,表示默认切换到root用户,并且改变到root用户的环境
su - masi,切换到masi用户,并且改变到masi用户的环境

su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量,发现会有不同。


id

id 命令可以显示真实有效的用户 ID(UID) 和组 ID(GID)。UID 是对一个用户的单一身份标识。组 ID(GID)则对应多个UID。
uid=4034(jboss5) gid=214(jboss) groups=214(jboss)

如何读取输出:
用户jboss5的uid号码为4034,gid号码是214,用户jboss是下面组的成员:组groups(gid为214)


useradd

只有root账号才可以使用此命令。
useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。
在Red Hat Linux中,adduser命令则是useradd命令的符号连接,两者实际上是同一个指令。

示例
useradd testuser,创建用户testuser
passwd testuser 给已创建的用户testuser设置密码
说明:新创建的用户会在/home下创建一个用户目录testuser

选项
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-D:变更预设值;
-e<有效期限>:指定帐号的有效期限;
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动建立用户的登入目录;
-M:不要自动建立用户的登入目录;
-n:取消建立以用户名称为名的群组;
-r:建立系统帐号;
-s:指定用户登入后所使用的shell;
-u:指定用户id。


userdel

userdel命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件。

-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。
请不要轻易用-r选项;他会删除用户的同时删除用户所有的文件和目录,切记如果用户目录下有重要的文件,在删除前请备份。

userdel testuser 删除用户testuser


passwd

passwd 作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定;如果root用户运行passwd ,可以设置或修改任何用户的密码。
passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码;

passwd username:修改用户username的密码,仅root用户可修改其他用户的密码。


chsh

chsh命令用来更换登录系统时使用的shell。若不指定任何参数与用户名称,则chsh会以应答的方式进行设置。

查看系统安装了哪些shell:
cat /etc/shells

# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

查看当前正在使用的shell:

echo $SHELL
/bin/bash

注意SHELL一定要是大写。

把我的shell改成zsh:
chsh -s /bin/zsh
使用chsh加选项-s就可以修改登录的shell了!你会发现你现在执行echo $SHELL后仍然输出为/bin/bash,这是因为你需要重启你的shell才完全投入到zsh怀抱中去。chsh -s其实修改的就是/etc/passwd文件里和你的用户名相对应的那一行。


进程和作业管理

ps

查看当前进程
-e:显示所有进程
-f:全格式
一般常用ps -ef,结果格式为:
UID PID PPID C STIME TTY TIME CMD
UID:用户ID
PID:进程ID
PPID:父进程ID
C:CPU占用率
STIME:开始时间
TTY:开始此进程的TTY
TIME:此进程运行的总时间
CMD:命令

ps aux


pgrep

pgrep pattern:显示和pattern相关的当前进程,只返回进程号

例如,查看nginx的进程号
pgrep nginx


nohup

在命令前加nohup,关闭终端后依然执行,常用于跑一些运行时间很长的程序


文件系统管理

mount

在windows操作系统中,挂载通常是指给磁盘分区(包括被虚拟出来的磁盘分区)分配一个盘符;
在linux操作系统中,挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上, 然后通过访问这个目录来访问存储设备。

注意事项:挂载点必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常。

mount [-t vfstype] [-o options] device dir

-t vfstype,指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs

-o options,主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集

device,要挂接(mount)的设备。

dir,设备在系统上的挂接点(mount point)。

挂载光驱到指定目录
mount /dev/cdrom /mnt/cdrom


unmount

例如 /dev/hda5 已经挂载在/mnt/hda5上,用一下三条命令均可卸载挂载的文件系统
umount /dev/hda5
umount /mnt/hda5
umount /dev/hda5 /mnt/hda5


文件目录管理

目录基本操作

cd

cd /,返回根目录,即/
cd -,返回进入此目录之前所在的目录,即环境变量OLDPWD所表示的目录
cd,cd后什么都不加,等于cd ~,进入当前用户家目录
cd ~,回到当前用户家目录
如果是以root身份登录,执行此命令后,回到/root/目录下
如果是以其他用户(例如masi)等录的话,则是回到/home/masi目录下。

.,当前目录
..,上一级目录
cd ..,返回上一级
cd ../..,返回上两级目录

根目录和家目录
根目录即/
家目录,除root用户之外的用户的家目录在“/home/用户名”下
root用户的家目录为/root/


pwd

输出当前目录,pwd命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。


cp

cp [options] source1 source2 source3 .... directory
cp可以将单个源文件复制成一个指定文件名的具体文件,用于拷贝并改名。
默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-R选项;
当“源文件”为多个文件时,要求“目标文件”为指定的目录。

选项
-r/R,递归处理,将指定目录下的所有文件与子目录一并处理,用于目录的复制行为。此时目标文件必须为一个目录名。
-f,删除已经存在的目标文件而不提示。
-i,和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
-v,详细显示命令执行的操作。

复制指定目录下的全部文件到另一个目录中
假设复制源目录为/home/masi/dir1,目标目录为/home/masi/dir2
如果dir2目录不存在,则使用命令:cp -r /home/masi/dir1 /home/masi/dir2,将拷贝dir1并改名为目录dir2
如果dir2目录已存在,则使用目录:cp -r /home/masi/dir1 /home/masi/dir2,拷贝后dir1成为dir2的子目录


mv

mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。

mv [选项] 源文件或目录 目标文件或目录
如果“目标文件”是文件名则在移动文件的同时,将其改名为“目标文件”;如果“目标文件”是目录名则将源文件移动到“目标文件”下。

-f,若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;

改文件名
例如,将当前目录中的readme.txt改名为readme.doc
mv readme.txt readme.doc


rm

对于链接文件,只是删除整个链接文件,而原有文件保持不变。

-f,强制删除,不提示
-r/R,递归删除,用于删除文件夹


mkdir

-p/--parents,若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录,用于递归建立文件夹
-m <目标属性>/--mode <目标属性>,建立目录的同时设置目录的权限;

在当前目录中建立bin和bin下的os_1目录,权限设置为文件主可读、写、执行,同组用户可读和执行,其他用户无权访问
mkdir -p-m 750 bin/os_1


ls

选项
-a,显示所有文件和目录(以.开头的文件是隐藏文件,默认不显示)
-t,用文件和目录的更改时间排序(默认为文件名排序),最近修改的文件显示在最前面。
-d,仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
-l,以长格式显示目录下的内容列表,包含档案的属性与权限等等数据。
例如:
-rwxr-xr-x. 1 root root 23832 May 11 2016 env
从左到右依次为文件属性、连接数、文件拥有者、文件所属用户组、文件大小、最后修改时间、文件名

ll,预定义的命令别名,用于列出所有内容及详细信息,which ll结果为:alias ll='ls -l --color=auto'
ll -h,以更易读的方式显示文件大小


文件权限属性设置

stat

通过stat命令查看文件的状态

linux系统的文件时间
linux系统“文件时间”主要包括三个内容:

  • 修改时间(modification time, 简称mtime):当前文件“内容数据”更改时,这个属性被更新,使用ls命令显示的时间就是修改时间mtime
  • 状态时间(status time, 简称ctime):是该文件的i节点最后一次被修改的时间,通过chmod、chown命令修改一次文件属性,这个时间就会更新。
  • 访问时间(access time, 简称atime):当读取文件内容时,这个属性被更新,比如对这个文件运用 more、cat等命令。注意ls、stat命令都不会修改文件的访问时间。

chmod

linux文件属性

第一个属性,表示这个文件的类型,常见的有:文件(-)、目录(d)或连接文件(l)等。
后九个属性中,每三个位一组,”r”表示可读(read)、”w”表示可写(write)、”x”表示可执行(excute)。
第一组为“拥有者owner的权限”;
第二组为“同用户组的权限”;
第三组为“其他人的权限”;

chmod [options] mode files
-R/--recursive,对目前目录下的所有档案与子目录进行相同的权限变更(即以递归的方式逐个变更)

权限设定字符串
权限设定字符串mode格式如下 : [ugoa…][[+-=][rwxX]…][,…]
其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+表示增加权限、-表示取消权限、=表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。

数字表示
此外我们多数用三位八进制数字的形式来表示权限,第一位指定属主的权限,第二位指定组权限,第三位指定其他用户的权限,每位通过4(读100)、2(写010)、1(执行001)三种数值的和来确定权限。如6(4+2)代表有读写权,7(4+2+1)有读、写和执行的权限。
例如:
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
还可设置第四位,它位于三位权限序列的前面,第四位数字取值是4,2,1,代表意思如下:
4,执行时设置用户ID,用于授权给基于文件属主的进程,而不是给创建此进程的用户。
2,执行时设置用户组ID,用于授权给基于文件所在组的进程,而不是基于创建此进程的用户。
1,设置粘着位。

示例
将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *
范例:
chmod a=rwx file 和 chmod 777 file 效果相同
chmod ug=rwx,o=x file 和 chmod 771 file 效果相同
若用chmod 4755 filename可使此程序具有root的权限


文件查找和比较

find

find <指定目录> <指定条件> <指定动作>
如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

-name, 指定文件名
-iname,此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别

示例
find . -name my* #搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。
find /home -name [a-z][a-z][0–9][0–9].txt -print #查/home目录下以两个小写字母和两个数字开头的txt文件


which

查看可执行文件的位置。which命令的作用是,在$PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

which 可执行文件名称

用 which 去找出 which

[jboss5@adap3 bin]$ which which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
    /usr/bin/which

竟然会有两个 which ,其中一个是 alias 这就是所谓的『命令别名』,意思是输入 which 会等於后面接的那串命令

找出 cd 这个命令

[jboss5@adap3 bin]$ which cd
/usr/bin/which: no cd in (/opt/java/jdk1.7.0_80/bin:/opt/app/scala/scala-2.10.4/bin:/bin:/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/app/spark/spark-1.5.2-bin-hadoop2.6/bin:/opt/app/spark/spark-1.5.2-bin-hadoop2.6/sbin:/opt/app/scala/scala-2.10.4/bin:/home/jboss5/bin)

cd 这个常用的命令竟然找不到啊!为什么呢?这是因为 cd 是bash 内建的命令! 但是 which 默认是找 PATH 内所规范的目录,所以当然一定找不到的!


diff

diff[参数][文件1或目录1][文件2或目录2]
例如:
$diff -u hello_old.c hello_new.c > hello.diff
-u表示统一格式输出,其中有+ - !

diff程序的输出被称为补丁 (patch),因为Linux系统中还有一个patch程序,可以根据diff的输出将a.c的文件内容更新为b.c。


文件内容查看

tail

tail 显示文件尾部的内容,默认显示尾部后10行

-n num:显示目标文件的后num行,而不是系统默认的后10行

-f:随着文件的增长,显示文件新追加的内容
使用tail命令的-f选项可以方便的查阅正在改变的日志文件,
例如
tail -f error.log

tailf
tailf命令打印文件最后10行内容,并且不断刷新
相当于 tail命令加参数-f,但当文件不动态增长时不输出内容

tailf与grep结合,只打印想看到的字符串,比如只关心服务器启动日志中的”Started”字符串,说明服务器起来了
tailf serverStart.log | grep Started


文件编辑

sed

sed -n 'x,yp' filename,打印文件X行到Y行的内容


文件过滤分割与合并

grep

Global Regular Expression Print
是一个强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep [-acinv] [–color=auto] ‘搜寻字符串’ filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 ‘搜寻字符串’ 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行!
–color=auto :可以将找到的关键词部分加上颜色的显示喔!

查看有关nginx的进程
ps -ef | grep nginx

查看包含run.sh但不包含jdk的进程(二次grep筛选)
ps -ef | grep run.sh | grep -v jdk


wc

利用wc指令我们可以计算文件的行数、单词数,以及该文件的字节数。
若不指定文件名称、或是所给予的文件名为”-“,则wc指令会从标准输入设备读取数据。

wc [-clw] [文件…]

-c或–bytes或–chars 只显示Bytes数。
-l或–lines 只显示行数。
-w或–words 只显示字数。

示例
wc testfile # 计算testfile文件的统计信息
3 92 598 testfile # testfile文件的行数为3、单词数92、字节数598


文件处理

ln

为某一个文件在另外一个位置建立一个同步的链接,这个命令最常用的参数是-s

ln –s 源文件 目标文件

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s /bin/less /usr/local/bin/less
-s 是代号(symbolic)的意思。
这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又 软链接和硬链接两种,软链接就是ln –s ,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。


文件压缩与解压

tar

tar命令用来压缩或解压文件
http://www.cnblogs.com/li-hao/archive/2011/10/03/2198480.html
主选项:
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。
x 从档案文件中释放文件。相当于拆包。
辅助选项:
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2
-v :压缩的过程中显示文件!这个常用
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-C 目录:这个选项用在解压缩,用-C参数指定解压到的目录

压缩tar -czvf
将当前目录下所有.txt文件打包并压缩归档到文件this.tar.gz,我们可以使用
tar -czvf this.tar.gz ./*.txt
解压tar -xzvf
将当前目录下的this.tar.gz中的文件解压到当前目录我们可以使用
tar -xzvf this.tar.gz ./
解压到指定目录-C
使用tar的-C dir参数可以做到将文件解压缩到其他指定目录,例如:
tar -xvf file2.tar -C /home/usr2
而tar不用-C dir参数时是无法做到的

不同后缀压缩文件的解压和压缩命令都不一样,总结如下:
1、.tar 用 tar –xvf 解压
2、.gz 用 gzip -d或者gunzip 解压
3、.tar.gz和.tgz 用 tar –xzf 解压
4、.bz2 用 bzip2 -d或者用bunzip2 解压
5、.tar.bz2用tar –xjf 解压
6、.Z 用 uncompress 解压
7、.tar.Z 用tar –xZf 解压
8、.rar 用 unrar e解压
9、.zip 用 unzip 解压


unzip

例如:将压缩文件text.zip在当前目录下解压缩
unzip text.zip

将压缩文件text.zip在指定目录/tmp下解压缩。
unzip text.zip -d /tmp


文件传输

sz,rz

用于windows到linux的上传下载

http://www.jb51.net/LINUXjishu/163820.html

涉及Linux到pc和pc到Linux这两个方向
先设定SecureCRT上传下载文件保存路径
options -> session -> Xmodem/Zmodem -> upload / download

rz,pc到linux
输入rz命令后会打开一个选择文件的对话框
单独用rz会有两个问题:上传中断、上传文件变化(md5不同),解决办法是上传时用rz -be,并且去掉弹出的对话框中“Upload files as ASCII”前的勾选

sz,linux到pc
会下载到预设的下载目录中
下载一个文件:sz filename
下载多个文件:sz filename1 filename2
下载目录dir下的所有文件(不包含dir下的文件夹):sz dir/*


scp

用于两台linux服务器间传输文件
格式:scp local_file remote_username@remote_ip:remote_folder
还可以重命名:scp local_file remote_username@remote_ip:remote_file
例如
scp /home/wwwroot/www/charts/util/* root@192.168.1.65:/home/wwwroot/limesurvey_back/scp
Enter password:
复制文件夹:
格式:scp -r local_folder remote_username@remote_ip:remote_folder
例如
scp -r /home/wwwroot/www/charts/util root@192.168.1.65:/home/wwwroot/limesurvey_back/scp


网络管理

网络测试

netstat

netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作

使用时如果不带参数,netstat显示活动的 TCP 连接。
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

常用:netstat -anp | grep xxx

从整体上看,netstat的输出结果可以分为两个部分:

  • 一个是Active Internet connections,称为有源TCP连接,
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State
    其中”Recv-Q”和”Send-Q”指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
  • 另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
    Active UNIX domain sockets (w/o servers)
    Proto RefCnt Flags Type State I-Node Path
    Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。

traceroute

traceroute命令用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。
traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其ip地址。

traceroute IP或域名


dig

Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。
dig默认的查询是查询A记录

常用:dig github.com +nocomments +noauthority +noadditional
精简:dig github.com +short

Dig HOWTO 中文手册–dig命令使用大全
http://www.cnblogs.com/daxian2012/archive/2013/01/10/2854126.html


网络配置

ifconfig

配置和显示Linux内核中网络接口的网络参数。ifconfig的配置时临时性的,在网卡重启或机器重启后配置会消失,若想配置永久生效,需修改网卡的配置文件。

ifconfig [网络设备] [参数]

  • -a,显示全部接口信息
  • up,启动指定网络设备/网卡。
  • down,关闭指定网络设备/网卡。

查询结果

eth0      Link encap:Ethernet  HWaddr 00:0C:29:92:DB:6A
          inet6 addr: fe80::20c:29ff:fe92:db6a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:473 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:39260 (38.3 KiB)  TX bytes:468 (468.0 b)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)
第二行:网卡的IP地址、子网、掩码
第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节
第四、五行:接收、发送数据包情况统计
第七行:接收、发送数据字节数统计信息。

eth0表示第一块网卡
lo是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 httpd服务器的指定到回坏地址,在浏览器输入127.0.0.1就能看到你所架WEB网站了。

激活网卡eth0:ifconfig eth0 up


hostname

hostname命令用于显示和设置系统的主机名称。
环境变量HOSTNAME也保存了当前的主机名。
在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改/etc/hosts和/etc/sysconfig/network的相关内容。

hostname,显示当前主机名
hostname masi-dell,临时设置主机名为masi-dell


网络应用

curl

CURL常用命令
http://www.cnblogs.com/gbyukg/p/3326825.html

curl是利用URL语法在命令行方式下工作的开源文件传输工具

-i:输出时包括protocol头信息

用于发送http请求
例如:
curl “http://192.168.25.169:8080/?hostname=CHN-YL-g-3WI&type=ccms&domain=rtmp://livertmp.wasu.cn&clientcount=50&bandwidth=30000"

curl命令将http请求的url截断了,只剩下第一个参数,即http://192.168.25.169:8080/?hostname=CHN-YL-g-3WI
解决:不同参数间的&前加转义字符\,或者将整个url用引号包住


wget

http://blog.sina.com.cn/s/blog_62449fcf0100yg41.html
wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具
以下的例子是从网络下载一个文件并保存在当前目录
wget http://cn.wordpress.org/wordpress-3.1-zh_CN.zip
在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)

curl与wget的区别
wget是个专职的下载利器,简单,专一,极致;
而curl可以下载,但是长项不在于下载,而在于模拟提交web数据,POST/GET请求,调试网页,等等。
在下载上,也各有所长,wget可以递归,支持断点;而curl支持URL中加入变量,因此可以批量下载。
个人用途上,我经常用wget来下载文件,加 -c选项不怕断网;使用curl 来跟网站的API 交互,简便清晰。


telnet

telnet命令用于登录远程主机,对远程主机进行管理。telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。
telnet IP 端口

Connected to 10.221.195.239.
Escape character is ‘^]’.

使用telnet测试端口连通性
出现:
Connected to x.x.x.x.
Escape character is ‘^]’.
表示端口是通的,此时按Ctrl + ] 会呼出telnet的命令行,出来telnet命令好之后就可以执行telnet命令。
例如:
在服务器10.6.144.210上telnet数据库端口

[jboss5@vm-vmw1891-jbs]~>telnet 10.6.143.244 5443
Trying 10.6.143.244...
Connected to 10.6.143.244.
Escape character is '^]'.
^CConnection closed by foreign host.

上面的结果是通的,不通的端口是如下返回:

[jboss5@vm-vmw1891-jbs]~>telnet 10.6.143.244 1234
Trying 10.6.143.244...
telnet: connect to address 10.6.143.244: Connection refused

软件|工具|开发|打印

常用工具命令

man

帮助信息
命令 –help
man 命令
info 命令

安装c函数库手册:
yum install man-pages

安装c++函数库手册:
yum insall libstdc++-docs


软件包管理

rpm

http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/08/2203153.html

-v:输出详细信息

安装

rpm -i 需要安装的包文件名
例如:安装example.rpm包:
$rpm -i example.rpm

查询

rpm -q …
附加查询命令:
a 查询所有已经安装的包

例如查看已安装sms的版本
rpm -q sms

例如:查看 tomcat4 是否被安装:
rpm -qa | grep tomcat4

例如:查看 example.rpm 安装包的信息:
rpm -qip example.rpm

例如:查询一个已经安装的文件属于哪个软件包;
rpm -qf /usr/lib/libacl.la

升级

rpm -U …
比如已安装sms-1.1.24-0.x86_64.rpm
想升级到sms-1.1.25-0.x86_64.rpm
rpm -U sms-1.1.25-0.x86_64.rpm

卸载

rpm -e 需要卸载的安装包
例如:卸载 tomcat4 软件包
$rpm -e tomcat4

在卸载之前,通常需要使用rpm -q …命令查出需要卸载的安装包名称
例如安装rpm -i nginx-1.0.0-0.x86_64.rpm
之后通过rpm -e nginx-1.0.0-0.x86_64.rpm卸载会提示:
error: package nginx-1.0.0-0.x86_64.rpm is not installed
因为此安装包安装之后的名字并不是nginx-1.0.0-0.x86_64.rpm,所以我们查询一下
rpm -qa | grep nginx
结果为:nginx-1.0.0-0.x86_64
然后rpm -e nginx-1.0.0-0.x86_64就可以成功卸载了

在Linux操作系统下,几乎所有的软件均通过RPM进行安装、卸载及管理等操作。RPM 的全称为Redhat Package Manager ,是由Redhat公司提出的,用于管理Linux下软件包的软件。


yum

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
yum基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点, 也可以是本地软件池,但必须包含rpm的header, header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务。

yum [options] [command] [package ...]
其中的[options]是可选的,选项包括-h(帮助)等。[command]为所要进行的操作,[package …]是操作的对象。
-y:当安装过程提示选择全部为”yes”
-q:不显示安装的过程

查询想安装的软件

yum search keyword

安装

yum install package1 安装指定的安装包package1

更新和升级

yum update package1 更新指定程序包package1

查找和显示

yum info package1 显示安装包信息package1
yum list package1 显示指定程序包安装情况package1

清理

yum clean packages 清除暂存中的rpm包文件

删除

yum remove package1 删除程序包package1,同时会提示与之有依赖关系的包


上一篇 MyBatis

下一篇 曹雪芹《红楼梦》书摘