linux常用指令总结大全(能满足日常开发和运维使用)

1.cd命令:用于切换当前目录
	cd /root/Docements  #切换到目录/root/Docements
	cd ./path			#切换到当前目录下的path目录中,"."表示当前目录
	cd ../path			#切换到上层目录中的path目录中,".."表示上一层目录
	cd ~   #进入用户的home目录(切换到主目录)
	cd /   #切换到根目录
	cd /temp  #切换到目录/temp
	cd dir   #切换到当前目录下的dir目录
	cd ..    #切换到到上一级目录
	cd ../..  #切换到上上级目录
	cd -   #进入上一个进入的目录
	
	
2.ls命令:查看文件与目录		
	ls -a 	#列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来
	ls -d 	#仅列出目录本身,而不是列出目录的文件数据
	ls -h 	#将文件容量以较易读的方式(GB,kB等)列出来
	ls -R 	#连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
	ls -l 	#以长数据串的形式列出当前目录下的数据文件和目录(包含文件的属性与权限数据等)
	ls -lR  #以长数据串的形式列出当前目录下的所有文件
	ll -l *.xml #列出以xml为后缀的文件
	ll a*  #列出当前目录下所有以a开头的文件
	ll -la #给出当前目录下所有文件的一个长列表,包括以句点开头的隐藏文件
	
	
3.grep命令:文本搜索,它能使用正则表达式搜索文本,并把匹配的行打印出来
	-c 只输出匹配行的计数
    -v 不显示不包含匹配文本的所以有行
    -s 不显示错误信息
    -E 使用扩展正则表达式
	-i :忽略大小写(用于单字符)
	-c :打印匹配的行数
	-l :从多个文件中查找包含匹配项
	-v :查找不包含匹配项的行
	-n:打印包含匹配项的行和行标
    更多的选项请查看:man grep
	
	grep -i "ab" data.doc       #输出所有含有ab或Ab的字符串的行
	grep -vn "48" data.doc      #输出所有不包含48的行
	grep -n "48" data.doc       #显示所有匹配48的行和行号
	grep -c data.doc   #输出文档中含有48字符的行数
	grep "sort" *.doc       #见文件名的匹配
	grep ‘test’ d*  		#显示所有以d开头的文件中包含 test的行。
	grep ‘test’ aa bb cc    #显示在aa,bb,cc文件中匹配test的行。
	grep ‘[a-z]\{5\}’ aa    #显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
	
	grep merchantid spEnterprise_batch.log --color | more -40   #在spEnterprise_batch.log文件中查找包含merchantid的行,并标颜色后分页显示
	
	tail -10f spEnterprise_detail.log | grep --color "执行sql"  按关键字动态查看日志100行
	
	查看端口占用情况:netstat -apn | grep 8080
	
	(1).
		[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename
		选项与参数:
		-a :将 binary 文件以 text 文件的方式搜寻数据
		-c :计算找到 '搜寻字符串' 的次数
		-i :忽略大小写的不同,所以大小写视为相同
		-n :顺便输出行号
		-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
		--color=auto :可以将找到的关键词部分加上颜色的显示!
		
		示例:grep -ain --color merchantid spEnterprise_batch.log    #查找spEnterprise_batch.log中包含"merchantid"的行并加亮显示
			 grep -ainc --color merchantid spEnterprise_batch.log    #统计:文件spEnterprise_batch.log中包含"merchantid"的个数
			 
			 
	(2).将/etc/passwd,有出现 root 的行取出来
		# grep root /etc/passwd
		root:x:0:0:root:/root:/bin/bash
		operator:x:11:0:operator:/root:/sbin/nologin
		或
		# cat /etc/passwd | grep root 
		root:x:0:0:root:/root:/bin/bash
		operator:x:11:0:operator:/root:/sbin/nologin
		
	(3).将/etc/passwd,有出现 root 的行取出来,同时显示这些行在/etc/passwd的行号
		# grep -n root /etc/passwd
		1:root:x:0:0:root:/root:/bin/bash
		30:operator:x:11:0:operator:/root:/sbin/nologin
	
	(4).将/etc/passwd,将没有出现 root 的行取出来
		# grep -v root /etc/passwd
		root:x:0:0:root:/root:/bin/bash
		operator:x:11:0:operator:/root:/sbin/nologin

	(5).将/etc/passwd,将没有出现 root 和nologin的行取出来
		# grep -v root /etc/passwd | grep -v nologin
		root:x:0:0:root:/root:/bin/bash
		operator:x:11:0:operator:/root:/sbin/nologin
		
	(6).用 dmesg 列出核心信息,再以 grep 找出内含 eth 那行,要将捉到的关键字显色,且加上行号来表示:
		[root@www ~]# dmesg | grep -n --color=auto 'eth'
		247:eth0: RealTek RTL8139 at 0xee846000, 00:90:cc:a6:34:84, IRQ 10
		248:eth0: Identified 8139 chip type 'RTL-8139C'
		294:eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
		305:eth0: no IPv6 routers present
		# 你会发现除了 eth 会有特殊颜色来表示之外,最前面还有行号!
		
	(7).用 dmesg 列出核心信息,再以 grep 找出内含 eth 那行,在关键字所在行的前两行与后三行也一起捉出来显示
		[root@www ~]# dmesg | grep -n -A3 -B2 --color=auto 'eth'
		245-PCI: setting IRQ 10 as level-triggered
		246-ACPI: PCI Interrupt 0000:00:0e.0[A] -> Link [LNKB] ...
		247:eth0: RealTek RTL8139 at 0xee846000, 00:90:cc:a6:34:84, IRQ 10
		248:eth0: Identified 8139 chip type 'RTL-8139C'
		249-input: PC Speaker as /class/input/input2
		250-ACPI: PCI Interrupt 0000:00:01.4[B] -> Link [LNKB] ...
		251-hdb: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache, UDMA(66)
		# 如上所示,你会发现关键字 247 所在的前两行及 248 后三行也都被显示出来!
		# 这样可以让你将关键字前后数据捉出来进行分析啦!

	(8).根据文件内容递归查找目录
		grep ‘energywise’ *           #在当前目录搜索带'energywise'行的文件
		grep -r ‘energywise’ *        #在当前目录及其子目录下搜索'energywise'行的文件
		grep -l -r ‘energywise’ *     #在当前目录及其子目录下搜索'energywise'行的文件,但是不显示匹配的行,只显示匹配的文件
		grep -Rl xxxxxx *             #查找当前目录下及子目录下包含xxxxxx的文件
		grep –R XXXXX *       		  #查找当前目录下及子目录下包含xxxxxx的内容
		grep -v ^# /etc/apache/httpd.conf #在主apache配置文件中查找所有非注释行
4.删除命令
	rm 文件名  #删除文件
	rm *  #删除当前目录下的所有文件(不包括文件夹)
	rm -rf 文件夹  #删除文件夹以及文件夹下的所有文件
	rm -i a*  #删除当前目录下所有以字母a开头的文件,并且在每次删除时,提示用户进行确认
		
5.复制指令
	cp -a 文件夹1 文件夹2  #递归性的把当前目录下的文件夹1目录复制为新目录文件夹2(-a或-r:保持文件的属性,并复制所有的文件,包括以句点开头的隐藏文件)
	cp --help  #查看cp指令的所有操作含义
	
6.mv-移动和重命名文件
	mv afile bfile  #将afile重新命名为bfile
	mv afile /tmp  #把当前目录下的afile移动到/tmp/目录下
	

7.cat命令:显示文件内容
	cat filename   #一次显示整个文件内容
	cat > filename   #从键盘创建一个文件(只能创建新文件,不能编辑已有文件.)
	cat afile bfile > cfile   #将a文件和b文件合并成一个c文件(将几个文件合并为一个文件)
	cat -n filename   #由1开始对filename文件所有输出的行数进行编号
	cat -b filename   #由1开始对filename文件所有输出的行数进行编号(和上面的区别:不对空白行进行编号)
	cat -s filename   #当遇到有连续两行以上的空白行,就代换为一行的空白行
	cat -n linuxfile1 > linuxfile2  #把linuxfile1的档案内容加上行号后输入linuxfile2这个档案里
	cat -b linuxfile1 linuxfile2 >> linuxfile3 	#把linuxfile1和linuxfile2的档案内容加上行号(空白行不加)之后将内容附加到linuxfile3里
	cat /dev/null > /etc/test.txt    #清空/etc目录下的test.txt档案的全部内容
	
	cat>filename        #创建文件,并把标准输入输出到filename文件中,以ctrl+d作为输入结束(输入时是没有'>'的)
	cat>filename<<EOF	#以EOF作为输入结束,和ctrl+d的作用一样(输入完之后,输入EOF然后回车结束)
	
	cat spEnterprise_batch.log* | grep "开户后更新商户记录异常" | wc -l   #统计spEnterprise_batch.log文件中包含"开户后更新商户记录异常"行数
	
	
8.mkdir命令:创建目录
	mkdir hostName   #在当前目录下创建hostName文件夹
	mkdir -p this/that/other   #在当前目录下创建指定的嵌套子目录
	
9.命令more:查看文件内容
	cat命令是整个文件的内容从上到下显示在屏幕上!!!
	more则以一页一页的显示,方便使用者逐页阅读,最基本的指令:按空格键(space)就往下一页显示,按b键就会往回(back)一页显示,而且还有搜寻字串的功能
	more命令从前向后读取文件,因此在启动时就加载整个文件。
	
	more +n fileName   		 #从第n行开始显示(n代表具体的数字)
	more -n fileName   		 #定义屏幕大小为n行(即:每页显示n行,如n=5,则每页显示5行数据)
	more +/pattern fileName  #在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示  
	more -c fileName      	 #从顶部清屏,然后显示
	more -d filleName        #提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
	more -l fileName         #忽略Ctrl+l(换页)字符
	more -p fileName         #通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
	more -s fileName         #把连续的多个空行显示为一行
	more -u fileName         #把文件内容中的下画线去掉
	more +/merchantId fileName  #从文件中查找第一个出现"merchantId"字符串的行,并从该处前两行开始显示输出
	常用操作命令:
		Enter 向下n行,需要定义。默认为1行
		Ctrl+F 向下滚动一屏
		空格键 向下滚动一屏
		Ctrl+B 返回上一屏
		= 输出当前行的行号
		V 调用vi编辑器
		:wq 保存并退出编辑
		q 退出more
		h 获取帮助
	more也可以配合linux的管道符“|”使用  
	1.例如: ll | more  #分屏显示列表
	
	2.例如: 当一个目录下的文件内容太多,可以用more来分页显示
			#用more来分页显示包含"公众号"字样的信息
			cat spEnterprise_batch.log.2018121312 | grep "公众号" --color | more -50    #“|”表示管道,作用是可以将前面命令的输出当做后面命令的输入
		
10.命令less:查找查看文件
	相比于more命令,less命令更加灵活强大一些.
	less命令 可以更加随意地浏览文件,而且 less 在查看之前不会加载整个文件。
	less命令的几个常用的参数:
		-b <缓冲区大小> 设置缓冲区的大小 
		-e 当文件显示结束后,自动离开 
		-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件 
		-g 只标志最后搜索的关键词 
		-i 忽略搜索时的大小写 
		-m 显示类似more命令的百分比 
		-N 显示每行的行号 
		-o <文件名> 将less 输出的内容在指定文件中保存起来 
		-Q 不使用警告音 
		-s 显示连续空行为一行 
		-S 行过长时间将超出部分舍弃 
		-x <数字> 将"tab"键显示为规定的数字空格 
		/字符串:向下搜索"字符串"的功能 
		?字符串:向上搜索"字符串"的功能 
		n:重复前一个搜索(与 / 或 ? 有关) 
		N:反向重复前一个搜索(与 / 或 ? 有关) 
		b 向后翻一页 
		d 向后翻半页 
		h 显示帮助界面 
		Q 退出less 命令 
		u 向前滚动半页 
		y 向前滚动一行 
		空格键 滚动一行 
		回车键 滚动一页 
		[pagedown]: 向下翻动一页 
		[pageup]: 向上翻动一页
		
	示例:
	less console.log1 console.log2   #一次查看多个文件(输入 :n后,切换到console.log1;   输入 :p 后,切换到console.log2)

	Linux less命令常用操作命令总结如下:
	1)分屏导航
		ctrl + F #向前移动一屏 
		ctrl + B #向后移动一屏 
		ctrl + D #向前移动半屏 
		ctrl + U #向后移动半屏
	2)单行导航
		j #向前移动一行 
		k #向后移动一行
	3)其它导航
		G #移动到最后一行 
		g #移动到第一行
	4)其它命令
		v #使用配置的编辑器编辑当前文件 
		h #显示 less 的帮助文档 
		&pattern #仅显示匹配模式的行,而不是整个文件
		q / ZZ #退出 less 命令


	总结:more, less 都具备查找功能,按/ 然后输入要找的字串,再按 Enter 即可,按 n(next) 会继续找,大写的 N 则是往回(上)找,按 q(quit)或者ZZ离开

11.find命令:查找文件
	find . -name *.log    #在当前目录下查找所有以.log结尾的文件
	find .|grep console   #在当前目录及其子目录中查找文件名包含console的文件
	locate console        #在系统的任何地方查找文件名包含console的文件
	find -name /"名字"    #查找不知道目录的文件




12.vi命令:编辑文件
	按下i进行编辑   
	保存结束编辑 ESC :wq 回车   
	不保存结束编辑 ESC :q! 回车   <===> 退出的另一种方式:按住“shift”键,输入两个z即可退出
	
	vi filename :打开或新建文件,并将光标置于第一行首 
	vi +n filename :打开文件,并将光标置于第n行首 
	vi + filename :打开文件,并将光标置于最后一行首 
	vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 
	vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename 
	vi filename….filename :打开多个文件,依次进行编辑

	
	vi操作
		1.跳到文本的最后一行:按“G”,即“shift+g”
		2.跳到最后一行的最后一个字符 : 先重复1的操作即按“G”,之后按“$”键,即“shift+4”。
		3.跳到第一行的第一个字符:先按两次“g”,
		4.跳转到当前行的第一个字符:在当前行按“0”。
		5.vi加密。进入vi,输入":" ?+ "X" 之后就提示你输入两次密码。
		6.文件重新载入?:e!
		7.单行复制 ?将光标移到复制行 按 'yy'进行复制
		8.多行复制 ?将光标移到复制首行 按 'nyy'进行复制 n=1.2.3.4。。。。。
		9.粘贴 将光标移到粘贴行 按 'p'进行粘贴
		10.查找?/pattern?Enter?
		11.将vim挂起(暂停):ctrl+z,暂停后可进行其他shell操作,完了之后可通过 fg?命令切换回vim界面继续编辑
		
		(1)Vi 编辑器 如何复制整行n内容,这样才能粘贴到文本
		1.进入你的文件,(处于命令模式,而不是编辑模式)
		2.将你的光标移到你的第三行的开头(用方向键)
		3.按下v,(你发现切换到可视模式了),按方向键,知道选中你想要的内容
		4.按y,再将光标移到第十四行末尾。
		5.按p。完成
		此方法可以用于多行的粘贴->复制~!
		(2)若想剪切->复制的话就更简单了(只能用于单行)
		1.进入你的文件,(处于命令模式,而不是编辑模式)
		2.将你的光标移到你的第三行的开头(用方向键)
		3.按两下d(发现第三行内容不见了)
		4.再将光标移到第十四行末尾,按p。


13.chmod授权命令
	chmod u+x *.sh #授权
	chmod -R 777 offline-serv-yjb

14.命令ps:查看进程(ps命令显示运行程序选项的一些信息)	
	ps命令用于报告当前系统的进程状态,可搭配kill指令随时中断删除不必要的进程
	使用ps可以:a.确定有哪些进程正在运行
			   b.进程的运行状态
			   c.进程是否结束
			   d.哪些进程占用过多的资源等
	命令参数:
		a  	显示所有进程
		-a 	显示同一终端下的所有程序
		-A 	显示所有进程
		c  	显示进程的真实名称
		-N 	反向选择
		-e 	等于“-A”
		e  	显示环境变量
		f  	显示程序间的关系
		-H 	显示树状结构
		r  	显示当前终端的进程
		T  	显示当前终端的所有程序
		u  	指定用户的所有进程
		-au 显示较详细的资讯
		-aux 			显示所有包含其他使用者的行程 
		-C<命令> 		列出指定命令的状况
		--lines<行数> 	每页显示的行数
		--width<字符数> 每页显示的字符数
		--help 			显示帮助信息
		--version 		显示版本显示
		
	ps a   #显示现行终端机下的所有程序,包括其他用户的程序
	ps -A  #显示所有程序进程
	ps c   #列出程序时,显示每个程序真正的指令名称
	ps e   #列出程序时,显示每个程序所使用的环境变量
	ps -e  #此参数的效果和指定"A"参数相同
	ps f   #显示树状结构
	ps -H  #显示树状结构,表示程序间的相互关系
	ps -N  #显示所有的程序,除了执行ps指令终端机下的程序之外
	ps u   #以用户为主的格式显示程序的运行状况
	ps x   #显示所有程序,不以终端机来区分
	

	常用的是: 
	ps aux
	ps -ef #以长格式显示所有进程 (然后通过管道命令grep过滤查找特定的进程,然后再对特定的进程进行操作.)
	
	示例:
		(1) ps -A     #显示所有进程信息
		(2) ps -u     #显示指定用户信息
		(3) ps -ef    #显示所有进程信息,连同命令行
		(4) ps -ef|grep ssh   #ps与grep组合用法,查找特定进程
		(5) ps aux            #列出目前所有的正在内存当中的程序
			[root@localhost test6]# ps aux
				USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
				root         1  0.0  0.0  10368   676 ?        Ss   Nov02   0:00 init [3]                  
				root         2  0.0  0.0      0     0 ?        S<   Nov02   0:01 [migration/0]
				root         3  0.0  0.0      0     0 ?        SN   Nov02   0:00 [ksoftirqd/0]
				root         4  0.0  0.0      0     0 ?        S<   Nov02   0:01 [migration/1]
				root         5  0.0  0.0      0     0 ?        SN   Nov02   0:00 [ksoftirqd/1]
				root         6  0.0  0.0      0     0 ?        S<   Nov02  29:57 [events/0]
				root         7  0.0  0.0      0     0 ?        S<   Nov02   0:00 [events/1]
				
			说明:

			USER:该 process 属于那个使用者账号的
			PID :该 process 的号码
			%CPU:该 process 使用掉的 CPU 资源百分比
			%MEM:该 process 所占用的物理内存百分比
			VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
			RSS :该 process 占用的固定的内存量 (Kbytes)
			TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
			STAT:该程序目前的状态,主要的状态有:
				R :该程序目前正在运作,或者是可被运作
				S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
				T :该程序目前正在侦测或者是停止了
				Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
			START:该 process 被触发启动的时间
			TIME :该 process 实际使用 CPU 运作的时间
			COMMAND:该程序的实际指令
			
		(6) ps aux | egrep '(cron|syslog)'   #列出与cron与syslog这两个服务有关的PID号
			
			[root@localhost test6]# ps aux | egrep '(cron|syslog)'
			root      2682  0.0  0.0  83384  2000 ?        Sl   Nov02   0:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
			root      2735  0.0  0.0  74812  1140 ?        Ss   Nov02   0:00 crond
			root     17475  0.0  0.0  61180   832 pts/0    S+   16:27   0:00 egrep (cron|syslog)
			[root@localhost test6]#	
			
			
		(7) ps -aux |more -10   #分页(每页10条)查看目前所有的正在内存当中的程序
			ps -aux > ps001.txt #把所有进程显示出来,并输出到ps001.txt文件
			ps -o pid,ppid,pgrp,session,tpgid,comm    #输出指定的字段

	===========================ps aux、ps -aux、ps -ef之间的区别=======================
	Linux中的ps命令是Process Status的缩写。
	ps命令用来列出系统中当前运行的那些进程。
	ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
	
	要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。
	使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。
	
	ps指令为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用top指令。 
	kill 命令用于杀死进程。
	
	$man ps 之后得到:
	ps displays information about a selection of the active processes. If you want a repetitive update of the selection and the displayed information, use top(1) instead. 
	Note that "ps -aux" is distinct from "ps aux". The POSIX and UNIX standards require that "ps -aux" print all processes owned by a user named "x", 
	as well as printing all processes that would be selected by the -a option. If the user named "x" does not exist, 
	this ps may interpret the command as "ps aux" instead and print a warning. 
	This behavior is intended to aid in transitioning old scripts and habits. It is fragile, subject to change, and thus should not be relied upon. 
	意思是: 
		请注意"ps -aux"不同于"ps aux"。POSIX和UNIX的标准要求"ps -aux"打印用户名为"x"的用户的所有进程,以及打印所有将由-a选项选择的过程。如果用户名为"x"不存在,ps的将会解释为"ps aux",而且会打印一个警告。这种行为是为了帮助转换旧脚本和习惯。它是脆弱的,即将更改,因此不应依赖。 
		如果你运行ps -aux >/dev/null,那么你就会得到下面这行警告信息 
		Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html 
		如果你运行ps aux >/dev/null,则不会报这个错!
	综上: 使用时两者之间直接选择ps aux
	
	ps aux 和ps -ef 两者的输出结果差别不大,但展示风格不同。
	aux是BSD风格(显示不完全),-ef是System V风格(显示出来就是带全路径的进程名)。
	这是次要的区别,一个影响使用的区别是aux会截断command列,而-ef不会。
	当结合grep时这种区别会影响到结果。
	
	例如: 用/bmrt/blaph/blaph/bmgctl来启动进程,由于ps aux是用BSD格式来显示结果,所以可能只会显示到/bmrt/blaph/blap,后面的都被截掉了...
	      这样,如果用ps aux | grep bmgctl 来过滤该进程,可能就会误伤,获取不到bmgctl进程。
		  而ps -ef是完全没问题的!!!
			
	===========================ps aux、ps -aux、ps -ef之间的区别=======================
	
	linux上进程有5种状态: 
		1. 运行(正在运行或在运行队列中等待) 
		2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 
		3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 
		4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 
		5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) 
	ps工具标识进程的5种状态码: 
		D 不可中断 uninterruptible sleep (usually IO) 
		R 运行 runnable (on run queue) 
		S 中断 sleeping 
		T 停止 traced or stopped 
		Z 僵死 a defunct (”zombie”) process







15.kill命令:杀掉进程
	kill -l    #列出所有信号名称
	kill -l KILL   #得到指定信号的数值(得到结果:9)
	kill -l TERM   #得到指定信号的数值(得到结果:15)
	
	ps -ef|grep offline-serv|grep -v grep	#先用ps查找进程,然后用kill杀掉
	kill pid
	kill -9 pid    #立即彻底强制杀掉进程
	kill -15 pid   #以正常的程序方式终止一项工作
	
16.命令stop、start:重启tomcat
	./catalina.sh stop     #停止Tomcat服务器
	./catalina.sh start    #启动Tomcat服务器
	
17.命令top:查看cpu、内存

18.命令pwd:查看当前路径	

19.命令tar:打包、解包rar
	linux中tar命令用法
	把常用的tar解压命令总结下,当作备忘:
	tar
		-c: 建立压缩档案
		-x:解压
		-t:查看内容
		-r:向压缩归档文件末尾追加文件
		-u:更新原压缩包中的文件
	这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。
	
	下面的参数是根据需要在压缩或解压档案时可选的:
		-z:有gzip属性的
		-j:有bz2属性的
		-Z:有compress属性的
		-v:显示所有过程
		-O:将文件解开到标准输出

	下面的参数-f是必须的:
		-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

		# tar -cf all.tar *.jpg 
		这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

		# tar -rf all.tar *.gif 
		这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

		# tar -uf all.tar logo.gif 
		这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

		# tar -tf all.tar 
		这条命令是列出all.tar包中所有文件,-t是列出文件的意思

		# tar -xf all.tar 
		这条命令是解出all.tar包中所有文件,-x是解开的意思


	压缩
		tar –cvf jpg.tar *.jpg  将目录里所有jpg文件打包成tar.jpg
		tar –czf jpg.tar.gz *.jpg   将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
		tar –cjf jpg.tar.bz2 *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
		tar –cZf jpg.tar.Z *.jpg   将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
		rar a jpg.rar *.jpg rar格式的压缩,需要先下载rar for linux
		zip jpg.zip *.jpg   zip格式的压缩,需要先下载zip for linux 
	
	解压
		tar –xvf file.tar  解压 tar包
		tar -xzvf file.tar.gz 解压tar.gz
		tar -xjvf file.tar.bz2   解压 tar.bz2
		tar –xZvf file.tar.Z   解压tar.Z
		unrar e file.rar 解压rar
		unzip file.zip 解压zip

	总结
		*.tar 用 tar –xvf 解压
		*.gz 用 gzip -d或者gunzip 解压
		*.tar.gz和*.tgz 用 tar –xzf 解压
		*.bz2 用 bzip2 -d或者用bunzip2 解压
		*.tar.bz2用tar –xjf 解压
		*.Z 用 uncompress 解压
		*.tar.Z 用tar –xZf 解压
		*.rar 用 unrar e解压
		*.zip 用 unzip 解压

	linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,
	tar包文件的命令通常都是以.tar结尾的。
	生成tar包后,就可以用其它的程序来进行压缩。

	(1).命令格式:
		tar[必要参数][选择参数][文件] 
	(2).命令功能:
		用来压缩和解压文件。
		tar本身不具有压缩功能。
		它是调用压缩功能实现对文件的压缩。
	(3).命令参数:
		必要参数有如下:
			-A 新增压缩文件到已存在的压缩
			-B 设置区块大小
			-c 建立新的压缩文件
			-d 记录文件的差别
			-r 添加文件到已经压缩的文件
			-u 添加改变了和现有的文件到已经存在的压缩文件
			-x 从压缩的文件中提取文件
			-t 显示压缩文件的内容
			-z 支持gzip解压文件
			-j 支持bzip2解压文件
			-Z 支持compress解压文件
			-v 显示操作过程
			-l 文件系统边界设置
			-k 保留原有文件不覆盖
			-m 保留文件不被覆盖
			-W 确认压缩文件的正确性
		可选参数如下:
			-b 设置区块数目
			-C 切换到指定目录
			-f 指定压缩文件
			--help 显示帮助信息
			--version 显示版本信息
	(4).常见解压/压缩命令
		tar
		解包:tar xvf FileName.tar
		打包:tar cvf FileName.tar DirName
		(注:tar是打包,不是压缩!)

	.gz结尾的压缩文件
		解压1:gunzip FileName.gz
		解压2:gzip -d FileName.gz
		压缩:gzip FileName
	
	.tar.gz和.tgz结尾的压缩文件
		解压:tar zxvf FileName.tar.gz
		压缩:tar zcvf FileName.tar.gz DirName

	.bz2结尾的文件
		解压1:bzip2 -d FileName.bz2
		解压2:bunzip2 FileName.bz2
		压缩: bzip2 -z FileName

	.tar.bz2结尾的文件
		解压:tar jxvf FileName.tar.bz2
		压缩:tar jcvf FileName.tar.bz2 DirName

	.bz结尾的文件
		解压1:bzip2 -d FileName.bz
		解压2:bunzip2 FileName.bz
		压缩:未知
	.tar.bz结尾的文件
		解压:tar jxvf FileName.tar.bz
		压缩:未知

	.Z结尾的文件
		解压:uncompress FileName.Z
		压缩:compress FileName
	.tar.Z结尾的文件
		解压:tar Zxvf FileName.tar.Z
		压缩:tar Zcvf FileName.tar.Z DirName
	.zip结尾的文件
		解压:unzip FileName.zip
		压缩:zip FileName.zip DirName

	.rar结尾的文件
		解压:rar x FileName.rar
		压缩:rar a FileName.rar DirName 
	 

	(5).使用实例
	实例1:将文件全部打包成tar包
	命令:
	tar -cvf log.tar log2012.log
	tar -zcvf log.tar.gz log2012.log
	tar -jcvf log.tar.bz2 log2012.log
	
	tar -cvf ab.tar a.jsp b.java    #将a.jsp和b.java打包成ab.rar
	
	
20.命令tail:查看文件档案的详细信息
	tail -f filename      #监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上(会自己主动刷新)。退出,按下CTRL+C。
	tail -n 10 filename   #显示filename最后10行(不会自主刷新)。
	tail -r -n 10 filename  #逆序显示filename最后10行。
	
	补充:
		跟tail功能相似的命令还有:
		cat 从第一行開始显示档案内容。
		tac 从最后一行開始显示档案内容。
		more 分页显示档案内容。
		less 与 more 相似,但支持向前翻页
		head 仅仅显示前面几行
		tail 仅仅显示后面几行
		n 带行号显示档案内容
		od 以二进制方式显示档案内容
			

21.命令head:显示文件文字区块
	命令参数:
	  -q 隐藏文件名
	  -v 显示文件名
	  -c<字节> 显示字节数
	  -n<行数> 显示的行数
	head -n  5 head.txt    #显示前5行
	head -c 5 head.txt     #显示前5个字节
	
22.命令diff:比较文件内容
	diff dir1 dir2    #比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出
	diff file1 file2  #比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的
	comm file1 file2  #比较文件,显示两个文件不相同的内容
	

23.命令ln:建立连接(为某一个文件或目录在另外一个位置建立一个同步的链接,类似Windows下的超级链接。)
	Linux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。
	当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,
	我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
	
	语法:
	ln [参数][源文件或目录][目标文件或目录]
	
	
	命令功能 : 
	Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,
	而链接又可分为两种 : 
		硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,
		而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。
	硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
	不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间!
	
	软链接:
		1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
		2.软链接可以 跨文件系统 ,硬链接不可以
		3.软链接可以对一个不存在的文件名进行链接
		4.软链接可以对目录进行链接
	硬链接:
		1.硬链接,以文件副本的形式存在。但不占用实际空间。
		2.不允许给目录创建硬链接
		3.硬链接只有在同一个文件系统中才能创建

	命令参数
	必要参数:
		-b 删除,覆盖以前建立的链接
		-d 允许超级用户制作目录的硬链接
		-f 强制执行
		-i 交互模式,文件存在则提示用户是否覆盖
		-n 把符号链接视为一般目录
		-s 软链接(符号链接)
		-v 显示详细的处理过程
	选择参数:
		-S "-S<字尾备份字符串> "或 "--suffix=<字尾备份字符串>"
		-V "-V<备份方式>"或"--version-control=<备份方式>"
		--help 显示帮助信息
		--version 显示版本信息
	
	
	实例:
	(1)为console.out文件创建软链接link2018,如果console.out丢失,link2018将失效:
		ln -s console.out link2018
		输出:link2018 -> console.out
	
	
	(2)为console.out创建硬链接ln2018,console.out与ln2018的各项属性相同
		ln console.out ln2018
		输出:ln2018

	ln就是相当于为一个文件创建了一个超链接 可以快速访问!
	
	
24.touch命令:用来创建文件或者修改文件时间戳
	命令参数:
		-a   或--time=atime或--time=access或--time=use 只更改存取时间。
		-c   或--no-create 不建立任何文档。
		-d  使用指定的日期时间,而非现在的时间。
		-f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
		-m   或--time=mtime或--time=modify 只更改变动时间。
		-r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
		-t  使用指定的日期时间,而非现在的时间。
	
	案例:
	(1)文件不存在则创建新文件
  	touch file1.txt file2.txt
	
	(2)修改文件的时间戳,修改file1的时间戳和file2的一致(以file1.txt的为准)
  	touch -r file1.txt file2.txt
		touch file1.txt console.out3   #把console.out3的时间戳修改成file1.txt的(和file1.txt保持一致)


	(3)设定文件时间戳
  	touch -t 201211142234.50 file1.txt
	说明:
		-t time使用指定的时间值time作为指定文件相应时间戳记的新值
		此处的time规定为如下形式的十进制数:      
		[[CC]YY]MMDDhhmm[.SS]     
			CC为年数中的前两位,即”世纪数”;
			YY为年数的后两位,即某世纪中的年数,
			如果不给出CC的值,则touch将把年数CCYY限定在1969--2068之内.
			MM为月数,
			DD为天数,
			hh为小时数(几点),
			mm为分钟数,
			SS为秒数:此处秒的设定范围是0-61,这样可以处理闰秒.
		这些数字组成的时间是环境变量TZ指定的时区中的一个时间.
		由于系统的限制,早于1970年1月1日的时间是错误的。
		
25.man命令:查看某个命令的帮助
	man ls		#显示ls命令的帮助内容
	man ps      #显示ps命令的帮助内容
	
26.w命令:显示登陆用户的详细信息
	案例:
	输入:
		ecdevelop-94:mpsp:/usr/mpsp/offline-serv-yjb/v2/app/log$w
	输出:
		 12:14:54 up 625 days,  5:32, 14 users,  load average: 0.04, 0.01, 0.01
		USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
		mpsp     pts/0    10.10.81.33      09:25   57:13   0.05s  0.05s -bash
		mpsp     pts/1    10.10.81.33      09:35   56:36   0.04s  0.04s -bash
		mpsp     pts/2    10.10.81.221     Mon14    1:00m  0.09s  0.04s tail -200f spEnterprise_batch.log
		mpsp     pts/3    10.10.81.121     Mon18    0.00s  0.43s  0.01s w
		mpsp     pts/4    10.10.81.33      09:35    2:39m  0.03s  0.03s -bash
		mpsp     pts/6    10.10.81.33      09:35    2:39m  0.03s  0.03s -bash
		mpsp     pts/7    10.10.81.33      09:35    2:39m  0.03s  0.03s -bash
		mpsp     pts/8    10.10.81.33      09:35    2:39m  0.04s  0.04s -bash
		mpsp     pts/9    10.10.81.221     Mon10    1:00m  2:39   0.00s tail -200f jvm-app-0.log
		mpsp     pts/10   10.10.81.221     Mon10    1:00m  0.14s  0.03s tail -200f spEnterprise_detail.log
		mpsp     pts/11   10.10.81.109     10:41   23:13   0.10s  0.01s /bin/bash ./reserv.sh
		mpsp     pts/12   10.10.81.190     Mon15   20:12m  0.36s  0.00s /bin/bash ./reserv.sh
		mpsp     pts/21   10.10.81.196     Mon11   19:39  18.35s  0.00s /bin/bash ./reserv.sh
		mpsp     pts/24   10.10.81.72      Mon12   20:12m  0.09s  0.00s /bin/bash ./reserv.sh



27.命令who:显示登录用户
	案例:
	输入:
		ecdevelop-94:mpsp:/usr/mpsp/offline-serv-yjb/v2/app/log$who
	输出:
		mpsp     pts/0        2019-01-08 09:25 (10.10.81.33)
		mpsp     pts/1        2019-01-08 09:35 (10.10.81.33)
		mpsp     pts/2        2019-01-07 14:58 (10.10.81.221)
		mpsp     pts/3        2019-01-07 18:53 (10.10.81.121)
		mpsp     pts/4        2019-01-08 09:35 (10.10.81.33)
		mpsp     pts/6        2019-01-08 09:35 (10.10.81.33)
		mpsp     pts/7        2019-01-08 09:35 (10.10.81.33)
		mpsp     pts/8        2019-01-08 09:35 (10.10.81.33)
		mpsp     pts/9        2019-01-07 10:17 (10.10.81.221)
		mpsp     pts/10       2019-01-07 10:30 (10.10.81.221)
		mpsp     pts/11       2019-01-08 10:41 (10.10.81.109)
		mpsp     pts/12       2019-01-07 15:39 (10.10.81.190)
		mpsp     pts/21       2019-01-07 11:45 (10.10.81.196)
		mpsp     pts/24       2019-01-07 12:04 (10.10.81.72)
		
28.命令last:查看最近哪些用户登录系统
	
29.命令date:系统日期设定
	date  #显示系统当前日期时间(2019年 01月 08日 星期二 12:19:09 CST)
	date -s "060520 06:00:00"  #设置系统时期为2006年5月2
	
30.命令clock:时钟设置
	clock –r  #对系统Bios中读取时间参数
	clock –w  #将系统时间(如由date设置的时间)写入Bios

	tzselect  #时区的设置 
	
	
31.命令uname:查看系统版本
	uname -r    #显示操作系统内核的version(2.6.32-358.el6.x86_64)
	

32.命令reboot、shutdown:关闭和重新启动计算机
	reboot     #重新启动计算机
	shutdown -r now 	#重新启动计算机,停止服务后重新启动计(常用)
	shutdown -h now     #关闭计算机,停止服务后再关闭系统 
	halt     			#关闭计算机
	
33.命令su:切换用户
	su -     #切换到root用户
	su – jiabo 	 #切换到jiabo用户
	注意: 使用"-" 将使用用户的环境变量
	
34.命令free:查看内存和swap分区使用情况

35.命令uptime:现在的时间,系统开机运转到现在经过的时间,连线的使用者数量,最近一分钟,五分钟和十五分钟的系统负载
	输入:uptime
	输出:14:07:27 up 625 days,  7:24, 14 users,  load average: 0.04, 0.01, 0.00
	
36.命令vmstat:监视虚拟内存使用情况
37.命令iostat:磁盘吞吐量
	命令参数:
		-c??????只显示CPU行
		-d??????显示磁盘行
		-k??????以千字节为单位显示磁盘输出
		-t???????在输出中包括时间戳
		-x??????在输出中包括扩展的磁盘指标
		
		
		
38.命令clear:清屏

39.chown命令:指定文件的拥有者改为指定的用户或组
	用户可以是用户名或者用户ID;
	组可以是组名或者组ID;
	文件是以空格分开的要改变权限的文件列表,支持通配符。
	
	一般情况下,这个指令只有系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限可以自己的文件拥有者改设为别人。
	只有系统管理者(root)才有这样的权限。
	所以,使用权限 : root
	
	语法:chown [-cfhvR] [--help] [--version] user[:group] file...
	命令参数:
		user : 新的文件拥有者的使用者 ID
		group : 新的文件拥有者的使用者组(group)
		-c : 显示更改的部分的信息
		-f : 忽略错误信息
		-h :修复符号链接
		-v : 显示详细的处理信息
		-R : 处理指定目录以及其子目录下的所有文件
		--help : 显示辅助说明
		--version : 显示版本
	
	实例:
	chown runoob:users file1.txt	#将文件 file1.txt 的拥有者设为 users 群体的使用者 runoob
	chown -R lamport:users *        #将目前目录下的所有文件与子目录的拥有者皆设为 users 群体的使用者 lamport
	
40.chmod命令:可以藉以控制文件如何被他人所调用
	Linux的文件调用权限分为三级 : 文件拥有者、群组、其他。
	使用权限 : 所有使用者
	
	语法:chmod [-cfvR] [--help] [--version] mode file...
	
	参数说明:
		-c : 若该文件权限确实已经更改,才显示其更改动作
		-f : 若该文件权限无法被更改也不要显示错误讯息
		-v : 显示权限变更的详细资料
		-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
		u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
		+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
		r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
		--help : 显示辅助说明
		--version : 显示版本
	
	实例
		chmod ugo+r file1.txt   #将文件 file1.txt 设为所有人皆可读取
		chmod a+r file1.txt    #将文件 file1.txt 设为所有人皆可读取
		chmod ug+w,o-w file1.txt file2.txt    #将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入
		chmod u+x ex1.py  #将 ex1.py 设定为只有该文件拥有者可以执行
		chmod -R a+r *    #将目前目录下的所有文件与子目录皆设为任何人可读取
		
		
		此外chmod也可以用数字来表示权限如 :
		chmod 777 file
		语法为:chmod abc file
		其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
		r=4,w=2,x=1
		若要rwx属性则4+2+1=7;
		若要rw-属性则4+2=6;
		若要r-x属性则4+1=5。
		chmod a=rwx file 和 chmod 777 file  效果相同!!
		chmod ug=rwx,o=x file 和 chmod 771 file  效果相同!!
		
		
		
--===================================================================================================	
切换窗口:alt+1,alt+2
全屏:alt+回车

屏幕翻滚类命令 
Ctrl+u:向文件首翻半屏 
Ctrl+d:向文件尾翻半屏 
Ctrl+f:向文件尾翻一屏 
Ctrl+b;向文件首翻一屏 
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
		
插入文本类命令 
i :在光标前 
I :在当前行首 
a:光标后 
A:在当前行尾 
o:在当前行之下新开一行 
O:在当前行之上新开一行 
r:替换当前字符 
R:替换当前字符及其后的字符,直至按ESC键 
s:从当前光标位置处开始,以输入的文本替代指定数目的字符 
S:删除指定数目的行,并以所输入文本代替之 
ncw或nCW:修改指定数目的字 
nCC:修改指定数目的行

删除命令 
ndw或ndW:删除光标处开始及其后的n-1个字 
do:删至行首 
d$:删至行尾 
ndd:删除当前行及其后n-1行 
x或X:删除一个字符,x删除光标后的,而X删除光标前的 
Ctrl+u:删除输入方式下所输入的文本

选项设置 
all:列出所有选项设置情况 
term:设置终端类型 
ignorance:在搜索中忽略大小写 
list:显示制表位(Ctrl+I)和行尾标志($) 
number:显示行号 
report:显示由面向行的命令修改过的数目 
terse:显示简短的警告信息 
warn:在转到别的文件时若没保存当前文件则显示NO write信息 
nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符 
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始 
mesg:允许vi显示其他用户用write写到自己终端上的信息

末行模式命令 
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下 
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下 
:n1,n2 d :将n1行到n2行之间的内容删除 
:w :保存当前文件 
:e filename:打开文件filename进行编辑 
:x:保存当前文件并退出 
:q:退出vi 
:q!:不保存文件并退出vi 
:!command:执行shell命令command 
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入 
:r!command:将命令command的输出结果放到当前行

	
	
--===========================================================================
一些常见的使用案例:
	系统
	1、# 查看内核/操作系统/CPU信息
	# uname -a
	2、# 查看操作系统版本
	# head -n 1 /etc/issue
	3、# 查看CPU信息
	# cat /proc/cpuinfo
	4、# 查看计算机名
	# hostname
	5、# 列出所有PCI设备
	# lspci -tv
	6、# 列出所有USB设备
	# lsusb -tv
	7、# 列出加载的内核模块
	# lsmod
	8、# 查看环境变量
	# env
	
	资源
	9、# 查看内存使用量和交换区使用量
	# free -m
	10、# 查看各分区使用情况
	# df -h
	11、# 查看指定目录的大小
	# du -sh <目录名>
	12、# 查看内存总量
	# grep MemTotal /proc/meminfo
	13、# 查看空闲内存量
	# grep MemFree /proc/meminfo
	14、# 查看系统运行时间、用户数、负载
	# uptime
	15、# 查看系统负载
	# cat /proc/loadavg
	磁盘和分区
	1、# 查看挂接的分区状态
	# mount | column -t
	2、# 查看所有分区
	# fdisk -l
	3、# 查看所有交换分区
	# swapon -s
	网络
	1、# 查看所有网络接口的属性(比如主机ip什么的)
	# ifconfig
	2、# 查看防火墙设置
	# iptables -L
	3、# 查看路由表
	# route -n
	4、# 查看所有监听端口
	# netstat -lntp
	5、# 查看所有已经建立的连接
	# netstat -antp
	6、# 查看网络统计信息
	# netstat -s
	进程
	1、# 查看所有进程
	# ps -ef
	2、# 实时显示进程状态
	# top
	用户
	1、# 查看活动用户
	# w
	2、# 查看指定用户信息
	#?id?<用户名>
	3、# 查看用户登录日志
	# last
	4、# 查看系统所有用户
	# cut -d: -f1 /etc/passwd
	5、# 查看系统所有组
	# cut -d: -f1 /etc/group
	6、# 查看当前用户的计划任务
	# crontab -l
	服务
	1、# 列出所有系统服务
	# chkconfig --list
	2、# 列出所有启动的系统服务
	# chkconfig --list | grep on
	3、# 查看端口
	# netstat -ano + tasklist /svc
	netstat -ano?查找端口对应PID?
	tasklist /svc?根据PID查找服务
	netstat -tuln | grep 17002   #查看端口情况
	
	程序
	1、# 查看所有安装的软件包
	# rpm -qa
	
	
	
	压缩:(压缩后包名 压缩前的包名)
	tar -zcvf union.com.tar.gz union.com
	
	
	
	#启动VPN命令
	# service?openvpn?start
	
	linux下重启Apache命令???
	linux下安装JDK步骤???
	
	

版权声明:本文为want_you_gogo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。