Linux 基础命令(二)

个人博客地址: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  

 

转载于:https://my.oschina.net/u/2843430/blog/1549878

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值