centos history w?bash_history
如何在CentOS 7中添加新磁盘而不用重启系统
对大多数系统管理员来说扩充 Linux服务器的磁盘空间是日常的工作之一。因此这篇文章会通过使用 Linux命令,在 CentOS 7系统上演示一些简单的操作步骤来扩充您的磁盘空间而不需要重启您的生产服务器。关于扩充和增加新的磁盘到 Linux系统,我们会提及多种方法和多种可行性,可按您所需选择最适用的一种。
1.在虚拟机客户端扩充磁盘空间:
在为 Linux系统增加磁盘卷之前,您首先需要添加一块新的物理磁盘,或在 VMware vShere、VMware工作站以及你使用的其它虚拟环境软件中进行设置来增加一块虚拟磁盘的容量。
2.检查磁盘空间:
运行如下命令来检查当前磁盘空间大小。
# df-h
# fdisk-l
可以看到,虽然我们已经在后端给其增加到 50 GB的空间,但此时的总磁盘大小仍然为 10 GB。
3.扩展空间而无需重启虚拟机
现在运行如下命令,通过重新扫描 SCSI(注:Small Computer System Interface小型计算机系统接口)总线并添加 SCSI设备,系统就可以扩展操作系统的物理卷磁盘空间,而且不需要重启虚拟机。
# ls/sys/class/scsi_host/
# echo"---">/sys/class/scsi_host/host0/scan
# echo"---">/sys/class/scsi_host/host1/scan
# echo"---">/sys/class/scsi_host/host2/scan
使用下面的命令来检查 SCSI设备的名称,然后重新扫描 SCSI总线。
# ls/sys/class/scsi_device/
# echo 1>/sys/class/scsi_device/0\:0\:0\:0/device/rescan
# echo 1>/sys/class/scsi_device/2\:0\:0\:0/device/rescan
如下图所示,会重新扫描 SCSI总线,随后我们在虚拟机客户端设置的磁盘大小会正常显示。
4.创建新磁盘分区:
一旦在系统中可以看到扩展的磁盘空间,就可以运行如下命令来格式化您的磁盘以创建一个新的分区。请按如下操作步骤来扩充您的物理磁盘卷。
# fdisk/dev/sda
Welcome to fdisk(util-linux 2.23.2) press the'm' key for help
Command(m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX(SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality(experts only)
Command(m for help):
键入'p'来查看当前的分区表信息,然后键入'n'键来创建一个新的主分区,选择所有可用的扇区。使用't'命令改变磁盘类型为'Linux LVM',然后选择编码'8e'或者默认不选,它默认的类型编码为'83'。
现在输入'w'来保存分区表信息并且退出命令环境,如下示:
Command(m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
5.创建物理卷:
根据上述提示,运行'partprob'或'kpartx'命令以使分区表生效,然后使用如下的命令来创建新的物理卷。
# partprobe
# pvresize/dev/sda3
要检查新创建的卷,运行如下的命令可以看出新的物理卷是否已经被创建,是否可用。接下来,我们就可以使用这个新的物理卷来扩展'centos'卷组了,如下示:
# pvdisplay
# vgextend centos/dev/sda3
6.扩展逻辑卷:
现在我们使用如下的命令扩展逻辑卷,以增加我们系统正使用的磁盘空间。
# lvextend-L+40G/dev/mapper/centos-root
一旦返回增加成功的消息,就可以运行如下命令来扩展您的逻辑卷大小。
# xfs_growfs/dev/mapper/centos-root
'/'分区的大小已经成功的增加了,可以使用'df'命令来检查您磁盘驱动器的大小。如图示。
7.通过增加新的磁盘来扩充根分区而不用重启系统:
这是第二种方法,它使用的命令非常简单,用来增加 CentOS 7系统上逻辑卷空间大小。
所以第一步是打开您的虚拟机客户端的设置页面,点击‘增加’按纽,然后继续下一步操作。
选择新磁盘所需要的配置信息,如下图所示的,选择新磁盘的大小和它的类型。
然后进入服务端重复如下的命令来扫描您的磁盘设备,以使新磁盘在系统中可见。
# echo"---">/sys/class/scsi_host/host0/scan
# echo"---">/sys/class/scsi_host/host1/scan
# echo"---">/sys/class/scsi_host/host2/scan
列出您的 SCSI设备的名称:
# ls/sys/class/scsi_device/
# echo 1>/sys/class/scsi_device/1\:0\:0\:0/device/rescan
# echo 1>/sys/class/scsi_device/2\:0\:0\:0/device/rescan
# echo 1>/sys/class/scsi_device/3\:0\:0\:0/device/rescan
# fdisk-l
一旦新增的磁盘可见,就可以运行下面的命令来创建新的物理卷,然后增加到卷组,如下示。
# pvcreate/dev/sdb
# vgextend centos/dev/sdb
# vgdisplay
现在根据此磁盘的空间大小来扩展逻辑卷,然后添加到根分区。
# lvextend-L+20G/dev/mapper/centos-root
# xfs_growfs/dev/mapper/centos-root
# df-h
结论:
在 Linux CentOS 7系统上管理磁盘分区的操作过程是非常简单的,可以使用这篇文章所述的操作步骤来扩充您的任意逻辑卷的磁盘空间。您不需要重启生产线上的服务器,只是简单的重扫描下 SCSI设备,和扩展您想要的 LVM(逻辑卷管理)。我们希望这文章对您有用。请随意的发表有用的评论和建议。
centos java进程 怎么被启动的
1.查进程
ps命令查找与进程相关的PID号:
ps a显示现行终端机下的所有程序,包括其他用户的程序。
ps-A显示所有程序。
ps c列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
ps-e此参数的效果和指定"A"参数相同。
ps e列出程序时,显示每个程序所使用的环境变量。
ps f用ASCII字符显示树状结构,表达程序间的相互关系。
ps-H显示树状结构,表示程序间的相互关系。
ps-N显示所有的程序,除了执行ps指令终端机下的程序之外。
ps s采用程序信号的格式显示程序状况。
ps S列出程序时,包括已中断的子程序资料。
ps-t<终端机编号>指定终端机编号,并列出属于该终端机的程序的状况。
ps u以用户为主的格式来显示程序状况。
ps x显示所有程序,不以终端机来区分。
最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。
ps aux| grep program_filter_word,ps-ef|grep tomcat
ps-ef|grep java|grep-v grep显示出所有的java进程,去处掉当前的grep进程。
2.杀进程
使用kill命令结束进程:kill xxx
常用:kill-9 324
Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall-9 NAME
3.进入到进程的执行文件所在的路径下,执行文件./文件名
附:
这是本人花了两天时间整理得来的,一些最常用的地球人都知道的命令就省去啦!最后提供pdf手册下载
1.更改档案拥有者
命令: chown [-cfhvR] [--help] [--version] user[:group] file...
功能:更改文件或者文件夹的拥有者
参数格式:
user:新的档案拥有者的使用者 IDgroup:新的档案拥有者的使用者群体(group)
-c:若该档案拥有者确实已经更改,才显示其更改动作
-f:若该档案拥有者无法被更改也不要显示错误讯息
-h:只对于连结(link)进行变更,而非该 link真正指向的档案
-v:显示拥有者变更的详细资料
-R:对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
例如:chown-R oracle:oinstall/oracle/u01/app/oracle
更改目录拥有者为oracle
2.修改权限
命令:chmod(change mode)
功能:改变文件的读写和执行权限。有符号法和八进制数字法。
选项:(1)符号法:
命令格式:chmod{u|g|o|a}{+|-|=}{r|w|x} filename
u(user)表示用户本人。
g(group)表示同组用户。
o(oher)表示其他用户。
a(all)表示所有用户。
+用于给予指定用户的许可权限。
-用于取消指定用户的许可权限。
=将所许可的权限赋给文件。
r(read)读许可,表示可以拷贝该文件或目录的内容。
w(write)写许可,表示可以修改该文件或目录的内容。
x(execute)执行许可,表示可以执行该文件或进入目录。
(2)八进制数字法:
命令格式:chmod abc file
其中a,b,c各为一个八进制数字,分别表示User、Group、及Other的权限。
4(100)表示可读。
2(010)表示可写。
1(001)表示可执行。
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
例如:# chmod a+rx filename
让所有用户可以读和执行文件filename。
# chmod go-rx filename
取消同组和其他用户的读和执行文件filename的权限。
# chmod 741 filename
让本人可读写执行、同组用户可读、其他用户可执行文件filename。
# chmod-R 755/home/oracle
递归更改目录权限,本人可读写执行、同组用户可读可执行、其他用户可读可执行
3.修改文件日期
命令:touch
格式:touch filenae
功能:改变文件的日期,不对文件的内容做改动,若文件不存在则建立新文件。
例如:% touch file
4.链接文件
命令:ln(link)
格式:ln [option] filename linkname
ln [option] directory pathname
功能:为文件或目录建立一个链。其中,filename和directory是源文件名和
源目录名;linkname和pathname分别表示与源文件或源目录名相链接的
文件或目录。
选项:-s为文件或目录建立符号链接。不加-s表示为文件或目录建立硬链接
注释:链接的目地在于,对一个文件或目录赋予两个以上的名字,使其可以出
现在不同的目录中,既可以使文件或目录共享,又可以节省磁盘空间。
例如:% ln-s filename linkname
5.显示日期
命令:date
例如:% date
6.显示日历
命令:cal(calendar)
格式:cal [month] year
功能:显示某年内指定的日历
例如:% cal 1998
7.显示文件头部
命令:head
格式:head [option] filename
功能:显示文件的头部
选项:缺省显示文件的头10行。
-i显示文件的开始 i行。
例如:% head filename
8.显示文件尾部
命令:tail
格式:tail [option] filename
功能:显示文件的尾部
选项:缺省显示文件的末10行。
-i显示文件最后 i行。
+i从文件的第i行开始显示。
例如:% tail filename
9.显示用户标识
命令:id
格式:id [option] [user]
功能:显示用户标识及用户所属的所有组。
选项:-a显示用户名、用户标识及用户所属的所有组
注释:
例如:% id username
10.查看当前登录的用户
命令:users
11.显示都谁登录到机器上
命令:who
格式:who
功能:显示当前正在系统中的所有用户名字,使用终端设备号,注册时间。
例如:% who
12.显示当前终端上的用户名
命令:whoami
格式:whoami
功能:显示出当前终端上使用的用户。
例如:% whoami
13.寻找文件
命令:find
格式:find pathname [option] expression
功能:在所给的路经名下寻找符合表达式相匹配的文件。
选项:-name表示文件名
-user用户名,选取该用户所属的文件
-size按大小查找,以block为单位,一个block是512B
-mtime n按最后一次修改时间查找,选取n天内被修改的文件
-perm按权限查找
-type按文件类型查找
-atime按最后一次访问时间查找
例如:% find./-name'*abc*'-print
14.搜索文件中匹配符
命令:grep
格式:grep [option] pattern filenames
功能:逐行搜索所指定的文件或标准输入,并显示匹配模式的每一行。
选项:-i匹配时忽略大小写
-v找出模式失配的行
例如:% grep-i'java*'./test/run.sh
15.统计文件字数
命令:wc [option] filename
功能:统计文件中的文件行数、字数和字符数。
选项:-l统计文件的行数
-w统计文件的单词数
-c统计文件的字符数
注释:若缺省文件名则指标准输入
例如:% wc-c./test/run.sh
16.显示磁盘空间
命令:df(disk free)
格式:df [option]
功能:显示磁盘空间的使用情况,包括文件系统安装的目录名、块设备名、总
字节数、已用字节数、剩余字节数占用百分比。
选项:
-a:显示全部的档案系统和各分割区的磁盘使用情形
-i:显示i-nodes的使用量
-k:大小用k来表示(默认值)
-t:显示某一个档案系统的所有分割区磁盘使用量
-x:显示不是某一个档案系统的所有分割区磁盘使用量
-T:显示每个分割区所属的档案系统名称
-h:表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB等易读的格式。
注释:
例如:% df-hi
17.查询档案或目录的磁盘使用空间
命令:du(disk usage)
格式:du [option] [filename]
功能:以指定的目录下的子目录为单位,显示每个目录内所有档案所占用的磁盘空间大小
选项:
-a:显示全部目录和其次目录下的每个档案所占的磁盘空间
-b:大小用bytes来表示(默认值为k bytes)
-c:最后再加上总计(默认值)
-s:只显示各档案大小的总合
-x:只计算同属同一个档案系统的档案
-L:计算所有的档案大小
-h:表示档案系统大小使用 GB、MB等易读的格式。
例如:% du-a
% du-sh/etc只显示该目录的总合
% du/etc| sort-nr| more统计结果用sort指令进行排序,
sort的参数-nr表示要以数字排序法进行反向排序。
18.显示进程
命令:ps
格式:ps [option]
功能:显示系统中进程的信息。包括进程ID、控制进程终端、执行时间和命令。
选项:
-a显示所有进程信息
-U uidlist列出这个用户的所有进程
-e显示当前运行的每一个进程信息
-f显示一个完整的列表
-x显示包括没有终端控制的进程状况。
注释:
例如:% ps-ef
% ps-aux然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。
19.终止进程
命令:kill
格式:kill [option] pid
功能:向指定的进程送信号或终止进程。kill指令的用途是送一个signal给某一个process,
因为大部份送的都是用来杀掉 process的 SIGKILL或 SIGHUP,因此称为 kill
选项:-9强行终止进程
注释:pid标示进程号,可由ps命令得到。
例如:% kill-9 pid
你也可以用 kill-l来察看可代替 signal号码的数目字。kill的详细情形请参阅 man kill。
20.查看自己的IP地址
命令:ifconfig
格式:ifconfig-a
21.查看路由表
命令:netstat
格式:netstat-rn
22.远程登录
命令:telnet
格式:telnet hostname
23.文件传输
命令:ftp(file transfer program)
格式:ftp hostname
功能:网络文件传输及远程操作。
选项:ftp命令:
cd [dirname]进入远程机的目录
lcd [dirname]设置本地机的目录
dir/ls显示远程的目录文件
bin以二进制方式进行传输
asc以文本文件方式进行传输
get/mget从远程机取一个或多个文件
put/mput向远程机送一个或多个文件
prompt打开或关闭多个文件传送时的交互提示
close关闭与远程机的连接
quit退出ftp
!/exit ftp登陆状态下,!表示暂时退出ftp状态回到本地目录,exit表示返回ftp状态
注释:
例如:% ftp hostname
24.查看自己的电子邮件
命令:mailx
格式:mailx
选项:
delete删除
next下一个
quit退出
reply回复
25.回忆命令
命令:history
格式:history
功能:帮助用户回忆执行过的命令。
选项:
注释:
例如:% history
26.网上对话
命令:talk
格式:talk username
功能:在网上与另一用户进行对话。
选项:
注释:对话时系统把终端分为上下两部分,上半部显示自己键入信息,下半部
显示对方用户键入的信息。键入delete或Ctrl+C则结束对话。
例如:% talk username
27.允许或拒绝接受信息
命令:mesg(message)
格式:mesg [n/y]
功能:允许或拒绝其它用户向自己所用的终端发送信息。
选项:n拒绝其它用户向自己所用的终端写信息
y允许其它用户向自己所用的终端写信息(缺省值)
注释:
例如:% mesg n
28.给其他用户写信息
命令:write
格式:write username [ttyname]
功能:给其他用户的终端写信息。
选项:
注释:若对方没有拒绝,两用户可进行交谈,键入EOF或Ctrl+C则结束对话。
例如:write username
29.创建、修改、删除用户和群组
a.创建群组:
例如: groupadd oinstall创建群组名为oinstall的组
groupadd-g 344 dba
创建组号是344的组,此时在/etc/passwd文件中产生一个组ID(GID)是344的项目。
b.修改群组:
groupmod:该命令用于改变用户组帐号的属性
groupmod–g新的GID用户组帐号名
groupmod–n新组名原组名:此命令由于改变用户组的名称
c.删除群组:
groupdel组名:该命令用于删除指定的组帐号
d.新建用户:
命令: useradd [-d home] [-s shell] [-c comment] [-m [-k template]]
[-f inactive] [-e expire ] [-p passwd] [-r] name
主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
举例:# useradd-g oinstall-G dba oracle创建Oracle用户
e.删除用户
命令: userdel用户名
删除指定的用户帐号
userdel–r用户名(userdel用户名;rm用户名):删除指定的用户帐号及宿主目录
例:#useradd-g root kkk//把kkk用户加入root组里
f.修改用户
命令: usermod
修改已有用户的信息
usermod–l旧用户名新用户名:修改用户名
usermod–L用户名:用于锁定指定用户账号,使其不能登陆系统
usermod–U用户名:对锁定的用户帐号进行解锁
passwd–d用户名:使帐号无口令,即用户不需要口令就能登录系统
例:#usermod-l user2 user1//把用户user2改名为user1
30.启动、关闭防火墙
永久打开或则关闭
chkconfig iptables on
chkconfig iptables off
即时生效:重启后还原
service iptables start
service iptables stop
或者:
/etc/init.d/iptables start
/etc/init.d/iptables stop
31.启动VSFTP服务
即时启动:/etc/init.d/vsftpd start
即时停止:/etc/init.d/vsftpd stop
开机默认VSFTP服务自动启动:
方法一:(常用\方便)
[root@localhost etc]# chkconfig--list|grep vsftpd(查看情况)
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@localhost etc]# chkconfig vsftpd on(执行ON设置)
或者:方法二:
修改文件/etc/rc.local,把行/usr/local/sbin/vsftpd&插入文件中,以实现开机自动启动。
如何在 Linux 终端下检查笔记本电池状态
在终端下检查笔记本电池状态
我们可以使用下面的三种方法来从命令行中查找到笔记本电池状态。
方法一–使用 upower命令
upower命令预装在大多数的 Linux发行版本中。为了使用upower命令来展示电池的状态,打开终端并运行如下命令:
$ upower-i/org/freedesktop/UPower/devices/battery_BAT0
示例输出:
native-path: BAT0vendor: Samsung SDImodel: DELL 7XFJJA2serial: 4448power supply: yesupdated: Sat 12 May 2018 06:48:48 PM IST(41 seconds ago)has history: yeshas statistics: yesbatterypresent: yesrechargeable: yesstate: chargingwarning-level: noneenergy: 43.3011 Whenergy-empty: 0 Whenergy-full: 44.5443 Whenergy-full-design: 48.84 Whenergy-rate: 9.8679 Wvoltage: 12.548 Vtime to full: 7.6 minutespercentage: 97%capacity: 91.2045%technology: lithium-ionicon-name:'battery-full-charging-symbolic'History(charge):1526131128 97.000 chargingHistory(rate):1526131128 9.868 charging
正如你所看到的那样,我的电池正处于充电状态,并且它的电量百分比是 97%。
假如上面的命令因为某些未知原因不起作用,可以尝试使用下面的命令:
$ upower-i `upower-e| grep'BAT'`
示例输出:
native-path: BAT0vendor: Samsung SDImodel: DELL 7XFJJA2serial: 4448power supply: yesupdated: Sat 12 May 2018 06:50:49 PM IST(22 seconds ago)has history: yeshas statistics: yesbatterypresent: yesrechargeable: yesstate: chargingwarning-level: noneenergy: 43.6119 Whenergy-empty: 0 Whenergy-full: 44.5443 Whenergy-full-design: 48.84 Whenergy-rate: 8.88 Wvoltage: 12.552 Vtime to full: 6.3 minutespercentage: 97%capacity: 91.2045%technology: lithium-ionicon-name:'battery-full-charging-symbolic'History(rate):1526131249 8.880 charging
upower不仅可以显示出电池的状态,它还可以显示出已安装电池的其他完整信息,例如电池型号,供应商名称,电池的序列号,电池的状态,电池的电压等信息。
当然,如果你只想显示电池的状态,你可以可以结合使用upower命令和grep命令,具体命令如下:
$ upower-i$(upower-e| grep BAT)| grep--color=never-E"state|to\ full|to\ empty|percentage"
示例输出:
state: fully-chargedpercentage: 100%
从上面的输出中可以看到我的笔记本电池已经完全充满了。
想知晓更多的细节,可以参看 man页:
$ man upower
方法二–使用 acpi命令
acpi命令可以用来显示你的 Linux发行版本中电池的状态以及其他 ACPI信息。
在某些 Linux发行版本中,你可能需要安装acpi命令。
要在 Debian、 Ubuntu及其衍生版本中安装它,可以使用如下命令:
$ sudo apt-get install acpi
在 RHEL、 CentOS、 Fedora等系统中使用:
$ sudo yum install acpi
或者使用如下命令:
$ sudo dnf install acpi
在 Arch Linux及其衍生版本中使用:
$ sudo pacman-S acpi
一旦acpi安装好后,运行下面的命令:
$ acpi-V
注意:在上面的命令中,V是大写字母。
示例输出:
Battery 0: Charging, 99%, 00:02:09 until chargedBattery 0: design capacity 4400 mAh, last full capacity 4013 mAh= 91%Battery 1: Discharging, 0%, rate information unavailableAdapter 0: on-lineThermal 0: ok, 77.5 degrees CThermal 0: trip point 0 switches to mode critical at temperature 84.0 degrees CCooling 0: Processor 0 of 3Cooling 1: Processor 0 of 3Cooling 2: LCD 0 of 15Cooling 3: Processor 0 of 3Cooling 4: Processor 0 of 3Cooling 5: intel_powerclamp no state information availableCooling 6: x86_pkg_temp no state information available
首先让我们来检查电池的电量,可以运行:
$ acpi
示例输出:
Battery 0: Charging, 99%, 00:01:41 until chargedBattery 1: Discharging, 0%, rate information unavailable
下面,让我们来查看电池的温度:
$ acpi-t
示例输出:
Thermal 0: ok, 63.5 degrees C
如果需要将温度以华氏温标显示,可以使用:
$ acpi-t-f
示例输出:
Thermal 0: ok, 144.5 degrees F
如果想看看交流电适配器是否连接上了没有,可以运行:
$ acpi-a
示例输出:
Adapter 0: on-line
假如交流电适配器没有连接上,则你将看到如下的输出:
Adapter 0: off-line
想获取更多的信息,可以查看 man页:
$ man acpi