您的位置:首页 > 运维架构 > Linux

Linux 基础命令(二)

2017-10-12 00:00 295 查看
摘要: 本系列将学习过程中遇到的命令整理一下,留作备查和复习使用。

个人博客地址: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux