个人博客地址:http://www.pojun.tech/ 欢迎访问
rpm 一款强大的软件包管理器
rpm是一个强大的包管理器他可以用来构建、安装、查询、验证、更新和擦除单个软件包 。一个软件包会包含安装和删除的元数据。元数据包括辅助脚本、文件属性和包的描述性信息。软件包分为两种,能够直接安装的二进制包和需要编译打包的源码包。
OPTIONS
-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:详细显示指令执行过程,便于排错。
EXAMPLE
-
rpm软件包的安装可以使用程序来完成
rpm -ivh your-package.rpm
其中your-package.rpm 是你要安装的rpm包的文件名,一般置于当前目录下
- 如何卸载rpm软件包
使用命令
rpm -e
包名,包名可以包含包含版本号,但是不可以有后缀.rpm,比如下列格式。rpm -e proftpd-1.2.8-1 rpm -e proftpd-1.2.8 rpm -e proftpd- rpm -e proftpd
关于源码文件的安装方式以后,会慢慢更新。
mount 将硬件挂载到某个目录
mount 命令用来加载文件系统到指定的加载点。此命令最长用来挂载cdrom,使我们可以访问cdrom中的数据,因为将光盘插入到cdrom中,Linux并不会自动挂载,必须使用Linux mount命令来手动完成挂载。
一般标准的命令使用方式是 mount -t type device dir 参见实例
OPTIONS
-V:显示程序版本;
-l:显示已加载的文件系统列表;
-h:显示帮助信息并退出;
-v:冗长模式,输出指令执行的详细信息;
-n:加载没有写入文件“/etc/mtab”中的文件系统;
-r:将文件系统加载为只读模式;
-a:加载文件“/etc/fstab”中描述的所有文件系统。
EXAMPLE
-
挂载光盘
mount -t auto /dev/cdrom /mnt/cdrom mount: block device /dev/sr0 is write-protected, mounting read-only //展示光盘里的内容 ll /mnt/cdrom total 564 -r--r--r--. 2 root root 14 Mar 29 02:05 CentOS_BuildTag dr-xr-xr-x. 3 root root 2048 Mar 29 02:19 EFI -r--r--r--. 2 root root 212 Nov 27 2013 EULA -r--r--r--. 2 root root 18009 Nov 27 2013 GPL dr-xr-xr-x. 3 root root 2048 Mar 29 02:24 images dr-xr-xr-x. 2 root root 2048 Mar 29 02:19 isolinux dr-xr-xr-x. 2 root root 534528 Mar 29 02:23 Packages -r--r--r--. 2 root root 1359 Mar 28 23:53 RELEASE-NOTES-en-US.html dr-xr-xr-x. 2 root root 4096 Mar 29 02:24 repodata -r--r--r--. 2 root root 1706 Nov 27 2013 RPM-GPG-KEY-CentOS-6 -r--r--r--. 2 root root 1730 Nov 27 2013 RPM-GPG-KEY-CentOS-Debug-6 -r--r--r--. 2 root root 1730 Nov 27 2013 RPM-GPG-KEY-CentOS-Security-6 -r--r--r--. 2 root root 1734 Nov 27 2013 RPM-GPG-KEY-CentOS-Testing-6 -r--r--r--. 1 root root 3380 Mar 29 02:24 TRANS.TBL
date 时间
显示或者设置系统的时间和日期
OPTIONS
%% a literal %
输出一个百分号 %
%a locale's abbreviated weekday name (e.g., Sun)
%A locale's full weekday name (e.g., Sunday)
%b locale's abbreviated month name (e.g., Jan)
%B locale's full month name (e.g., January)
%c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)
%C century; like %Y, except omit last two digits (e.g., 20)
%d day of month (e.g., 01)
%D date; same as %m/%d/%y
%e day of month, space padded; same as %_d
%F full date; same as %Y-%m-%d
%g last two digits of year of ISO week number (see %G)
%G year of ISO week number (see %V); normally useful only with %V
%h same as %b
%H hour (00..23)
%I hour (01..12)
%j day of year (001..366)
%k hour, space padded ( 0..23); same as %_H
%l hour, space padded ( 1..12); same as %_I
%m month (01..12)
%M minute (00..59)
%n a newline
%N nanoseconds (000000000..999999999)
%p locale's equivalent of either AM or PM; blank if not known
%P like %p, but lower case
%r locale's 12-hour clock time (e.g., 11:11:04 PM)
%R 24-hour hour and minute; same as %H:%M
%s seconds since 1970-01-01 00:00:00 UTC
%S second (00..60)
%t a tab
%T time; same as %H:%M:%S
%u day of week (1..7); 1 is Monday
%U week number of year, with Sunday as first day of week (00..53)
%V ISO week number, with Monday as first day of week (01..53)
%w day of week (0..6); 0 is Sunday
%W week number of year, with Monday as first day of week (00..53)
%x locale's date representation (e.g., 12/31/99)
%X locale's time representation (e.g., 23:13:48)
%y last two digits of year (00..99)
%Y year
%z +hhmm numeric time zone (e.g., -0400)
%:z +hh:mm numeric time zone (e.g., -04:00)
%::z +hh:mm:ss numeric time zone (e.g., -04:00:00)
%:::z numeric time zone with : to necessary precision (e.g., -04,
+05:30)
%Z alphabetic time zone abbreviation (e.g., EDT)
EXAMPLE
- 日期的格式化输出
date +"%F %T"
2017-07-18 21:29:36
- 输出前n天的日期
date -d "1 days ago" +"%F %T"
2017-07-17 21:31:21
- 距离1970-01-01 1234567890 秒的日期
date -d "1970-01-01 1234567890 seconds" +"%F %T"
2009-02-13 23:31:30
- 加减操作
date -d "-1 month" +"%F %T"
date -d "+1 year" +"%F %T"
- 以硬件为准,将系统时间设置为硬件时钟
s, --hctosys :以硬件为准,将系统时间设置为硬件时钟
-w, --systohc :以系统为准,将硬件时间设置为系统时间
screen 命令
使用前提:同一台主机,同一个用户
Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
多屏互动
这里所说的多屏互动可以通俗地理解为多屏共享。就是说,使用screen 命令可以创建一个会话,凡是加入到这个会话的终端,都可以看到对方的操作,同时自己的操作也能够被对方看见,并产生作用。假设有A,B,C三个终端加入了 SESSION hello 这时,A终端上输入的命令,在B,C终端上都能看到,反之亦然。其原理就相当于 A,B,C三个终端在画同一幅画。
会话恢复
只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行剥离命令 ,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。
举例来说,如果用户通过远程连接到主机,进行长时间的备份操作,此时终端的网络突然出现故障,然后与远程服务器失去连接,此时备份操作会被终止的(有疑问的话,可以在自己操作一下)。而如果在执行备份操作之前,先开启了一个screen 会话,就不会存在这种问题。当网络恢复之后,用户重新回到该会话,会发现,相关的备份操作还在继续进行。
多窗口
在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后台窗口的活动。 会话共享 Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。
OPTIONS
创建新screen会话
screen –S [SESSION]
加入screen会话
screen –x [SESSION]
退出并关闭screen会话
exit
剥离当前screen会话
Ctrl+a,d
显示所有已经打开的screen会话
screen -ls
恢复某screen会话
screen -r [SESSION]
script 屏幕录像
设想生产中遇到这样一种应用场景,我们需要记录多组命令的执行过程,并且能够像播放视频那样再次展示出来。就类似于屏幕录像操作。
在CentOS中也有这种类似的工具。 在这里我先记录一下基本的使用方法,至于详细的原理以及详细的使用将来会再补充上。
EXAMPLE
录像:
script -t 2> /app/time.log -a /app/cmd.log
//其中app 是用户自己创建的目录
//输入上述命令执行之后就可以进行屏幕录制操作了,这期间输入的所有的命令以及其显示结果都会被记录下来。
//如果想要结束录像, 输入exit 命令,或者使用Ctrl+D 就可以退出录制。
播放录像
scriptreplay /app/time.log -a /app/cmd.log