linux基础命令

linux基础命令:java

命令格式:命令 -选项 参数

1)关机命令:
	shutdown
		# -h 关机
		# -r 重启
		# -c 取消前一个关机命令
		# -now 当即关机
	halt
	poweroff
	init 0

2)重启命令:
	reboot
	init 6

3)文件处理命令:
	
	pwd
		# 功能:显示当前工做目录(print working directory)
	mkdir 目录
		# 功能:(make directoriy)建立目录
		# -p 父目录不存在的状况下先生成父目录
	touch
		# 功能:建立空文件
	rm fileName
		# 功能:删除文件
		# -r(recursive) 同时删除该目录下的全部文件
		# -f(force)		强制删除文件或目录
	rmdir
		# 功能:删除空目录
	cp 原文件或目录 目标文件
		# 功能:复制文件或目录
		# -r 复制目录;
		# -p 保留文件属性;
	ln 原文件 目标文件
		# 功能:创建连接文件
		# -s(symbolic) 对源文件创建符号链接,而非硬链接
	mv 原文件 目标目录
		# 功能:移动文件、文件更名
	cat fileName
		# 功能:(catenate)显示文件的内容
		# -n 显示行号
	cat file1 >> file2
		# 把file1的内容输出追加到file2的末尾
	tac fileName
		# 功能:从最后一行开始显示文件的内容
	more fileName
		# 功能:分页显示文件的内容
	less fileName
		# 功能:分页显示文件的内容(可向上翻页)
	head fileName
		# 功能:查看文本中开头的几行
		# -n 指定行数
	tail fileName
		# 功能:查看文件的最后的几行
		# -n 指定行数
		# -f 动态显示文件末尾内容(滚动式)
	eg:
		tail -f	fileName
		# 等同于tail --follow=descriptor fileName
		# 根据文件描述符进行追踪(动态显示文件末尾内容),当文件更名或被删除,追踪中止。

		tail -F fileName
		# 等同于tail --follow=name --retry fileName
		# 根据文件名进行追踪(动态显示文件末尾内容),并保持重试,当文件更名或被删除后,若是再次建立相同名称的文件,会继续追踪。			
		
	wc fileName
		#功能:(word count)统计文本文件的行数、字数、字符数
		# -l 统计行数
		# -c 统计字节数
		# -m 统计字符数,不能与-c同时使用
		# -w 统计字数,一个字被定义为由空白、跳格或换行字符分隔的字符串。
		
	rz
		# 运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器
		# 说明:rz、sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具
		# 注意:rz、sz须要终端支持(XShell、SecureCRT),若是是在虚拟机中安装的linux系统上直接使用rz、sz则会出现一行乱码,而且没法输入指令,超时后便可恢复到正常状况。
		# 安装命令:yum install lrzsz
		
		eg:rz 文件名
		注意:若是文件名中包含空格,则使用反斜杠\转义。eg: 中国 的伟大.txt ===> rz 中国\ 的伟大.txt

	sz fileName
		# 将指定的文件保存到本地机器
	
	
4)文件搜索命令

	find [搜索范围] [匹配条件]
		举例:find /home/jxn -name man  从指定目录开始搜索名字为man的文件或目录
	grep [指定字串] fileName
		# 功能:在指定的文件中查找包含特定字符串的文本行
		# -i 不区分大小写
		# -v 查询不包含特定字符串的文本行(反向查找)
		# -o 查询结果的文本行中只显示指定的字符串(show only the part of a line matching PATTERN),
		# 	即:结果中每一个文本行的内容都是指定的字符串,若是指定的字符串在文件的一行中出现屡次,则将其分红多行进行展现。
		# --color=auto 搜索出的关键字用颜色显示
		
	eg:
		grep -o word catalina.out.xxxx-xx-xx | wc -l
		# 查询字符串"word"在catalina.out.xxxx-xx-xx文件中出现的次数。
		
	whereis command
		# 功能:搜索命令所在目录及帮助文档路径
	which command
		# 功能:搜索命令所在目录及别名信息
	locate fileName
		# 功能:在文件资料库中查找文件	
	
5)系统管理命令

	stat
		# 功能:显示文件的相关信息,比ls命令显示的更详细
	who
		# 功能:显示在线登陆用户
	whoami
		# 功能:显示用户本身的身份
	hostname
		# 功能:显示主机名称
	uname
		# 功能:显示系统信息
	top
		# 功能:系统监视器(至关于windows下的任务管理器),查看每一个进程的状况
		# 查看每一个CPU的性能数据:输入top并回车后,再输入数字1	
		
	ps
		# 功能:显示瞬间的进程状态
		# -a 显示全部用户的全部进程(包括其它用户)
		# -u 显示启动这个进程的用户和它启动的时间
		# -x 显示系统中属于本身的进程
		
		ps -ef
		# 显示全部的进程,显示的项目有:UID,PID,PPID,C,STIME,TTY,TIME,CMD
		ps aux
		# 显示全部的进程,显示的项目有:USER,PID,%CPU,%MEM,VSZ,RSS,TTY,STAT,START,TIME,COMMAND
		
	kill
		# 功能:杀死一个进程
	free
		# 功能:显示当前内存和交换空间的使用状况
	
6)文件系统管理命令

	mount [-t 文件系统] 设备文件名 挂载点
		# 功能:挂载设备
		# -t (type)文件系统的类型
		# 文件系统:
			# ext二、ext三、ext4:linux目前经常使用的文件系统
			# msdos、MS-DOS的fat(fat16)
			# vfat、U盘及windows98经常使用的fat32 
			# nfs:网络文件系统
			# iso9660:CD-ROM光盘标准文件系统

	df
		# 功能:查看文件系统磁盘空间的使用状况
		# -a 显示全部的文件系统信息
		# -h(human-readable) 使用KB、MB、GB等显示容量
		# -k、-m 以KB、MB显示容量
		# -T显示文件系统类型
		eg:
			df -h
			# 查看文件系统磁盘空间的使用状况	

	du 目录或文件名
		# 功能:显示指定的文件或目录已使用的磁盘空间的总量
		# -h:以人类可读的方式显示,即自动选取合适单位(G、M、K)来显示大小
		# -a 显示每一个子文件的磁盘占用量
		# -s(summarize) 统计总占用量,而不列出子目录和子文件

	fdisk -l
		# 功能:查看硬盘列表
	fdisk /dev/sdb
		# 功能:使用fdisk命令分区
		
	#fdisk交互指令说明
		# -a 设置可引导标记
		# -b 编辑bsd磁盘标签
		# -c 设置DOS操做系统兼容标记
		# -d 删除一个分区
		# -l 显示已知的文件系统类型。82为Linux swap分区,83为Linux分区
		# -m 显示帮助菜单
		# -n 新建分区
		# -o 创建空白DOS分区表
		# -p 显示分区列表
		# -q 不保存退出
		# -s 新建空白SUN磁盘标签
		# -t	改变一个分区的系统ID
		# -u 改变显示记录单位
		# -v 验证分区表
		# -w 保存退出
		# -x 附加功能(仅专家)
		
	mkfs -t ext4 /dev/sdb1
		# 功能:格式化分区
	fsch 分区设备文件名
		# 功能:修复文件系统
	
	
7)网络命令

	ping IP地址
		# 功能:测试网络连通性
		# -c 指定发送次数
	ifconfig 网卡名称 IP地址
		# 功能:(interface configure)查看和设置网络接口(网卡)信息
	netstat
		# 功能:显示网络状态信息
		# -a 显示全部链接和监听端口
		# -t(tcp) 仅显示tcp相关选项
		# -u(udp) 仅显示udp相关选项
		# -l 监听
		# -r 路由
		# -n 以数字的形式显示;显示IP地址和端口号
		# -p 显示创建相关连接的程序名
	setup
		# 配置网络
	mail userName
		# 查看发送电子邮件
	write userName
		# 给用户发信息,以Ctrl+D保存结束
	wall message
		# 发广播信息,wall(即write all)
	last
		# 列出目前与过去登入系统的用户信息
	
8)用户和组帐户管理
	概念:linux操做系统是一个多用户操做系统,它容许多用户同时登陆到系统上并使用资源。
	说明:系统会根据帐户来区分每一个用户的文件,进程,任务和工做环境,使得每一个用户工做都不受干扰。
	
	1)用户命令:
		useradd 用户名
			# 功能:添加用户
			# -d 指定用户的家目录
			# -u 指定UID
			# -g 指定所属的组GID
			# -G 指定多个组,用逗号分开
			# -p 密码
			# -c (comment)用户描述
			# -e (expire date)失效时间
		passwd 用户名
			# 功能:修改密码
		usermod 新用户名 旧用户名
			# 功能:修改用户
			# -l (login)修改登陆名
			# -L 锁定用户帐密码
			# -U 解锁用户帐号
		userdel 用户名
			# 功能:删除用户
			# -r (recursive)删除用户时连同目录一并删除
			
	2)用户组命令:
		groups
			# 功能:显示用户所属的组
		groupadd 组名
			# 功能:添加组
			# -g 指定GID
		groupmod 
			# 功能:修改组
			# -n (name)修改组名
		groupdel
			# 功能:删除组
	
	3)用户相关配置文件:
		/etc/passwd
			说明:保存用户信息的文件
			查看:man 5 passwd
			格式:account:password:UID:GID:GECOS:directory:shell
				用户名:	登录系统的用户名
				密码:		密码位
				UID:		用户标识号
				GID:		默认组标识号
				描述信息:	用户的描述信息
				宿主目录:	用户登录系统的默认目录,默认是在/home/下
				命令解析器:用户使用的Shell,默认是bash
		/etc/shadow
			说明:保存密码的文件
			查看:man 5 shadow
			格式:
				用户名:			登录系统的用户名
				密码:				加密密码
				最后一次修改时间:	用户最后一次修改密码距如今的天数,从1970-1-1起
				最小时间间隔:		两次修改密码之间的最小天数
				最大时间间隔:		密码有效天数
				警告时间:			从系统警告到密码失效的天数
				帐号闲置时间:		帐号闲置时间
				失效时间:			密码失效的天使
				标志:				标志	
		/etc/group
			说明:保存用户组的文件
			格式:
				组名:			用户所在的组
				组密码:		密码位,通常不使用
				GID:			组标识号
				组内用户列表:	属于该组的用户列表
		/etc/gshadow
			说明:保存用户组密码的文件
		/etc/default/useradd
			说明:用户配置文件
		
	4)用户的分类:
		超级用户:	root(UID=0)
		普通用户:	UID:500~60000
		伪用户:	UID:1~499
			说明:伪用户不能登陆系统,并且没有宿主目录。


9)文件的权限管理:	

	1)三种基本权限:
		r	(rean)读权限
		w	(write)写权限
		x	(execute)执行权限
		-	表示没有任何权限
		s	特殊权限
		
	2)文件的属性:
		第一部分(权限属性):
			第1位:		文件的类型(d表示目录、-表示普通文件、l表示连接文件)
			第2-4位:	所属用户权限,	用u表示(user)
			第5-7位:	所属组权限,	用g表示(group)
			第8-10位:	其余用户权限,	用o表示(other)
			第2-10位:	表示全部用户的权限,用a表示(all)
		第二部分:文件的连接数
		第三部分:文件的拥有者
		第四部分:文件所属的组
		第五部分:文件的大小
		第六部分:文件最后被修改的时间
		第七部分:文件的名称
		
	3)命令:
		chown 用户名 文件名
			# 功能:(change owner)修改文件的拥有者
			# -R (recursive)下面的文件和子目录作相同的权限操做
		chgrp 组名 文件名
			# 功能:(change group)修改文件的所属的组
		chmod
			# 功能:(change mode)修改文件的权限
			# 说明:权限有两种表示方法:
				1)用符号表示权限:
					chmod 权限的范围(u、g、o、a) 操做符(+、-、=) 文件名
						# 权限的范围:u表示所属用户的权限,g表示组权限,o表示其它用户的权限、a表示全部用户的权限
						# 操做符:+表示添加,-表示除去,=表示重置
						# 举例:chmod u+x jdk-6u45-linux-x64.bin
				2)用数字表示权限:
					chmod 表明权限的三位数字 文件名
						# r用4来表示,w用2来表示,x用1来表示,-用0来表示;即:rwx=7,rw-=6,r-x=5,r--=4,-w-=2,--x=1,---=0
						# 举例:chmod 760 test.txt	
						
				例子:
				chmod u+s nginx
				# 为了方便普通用户执行一些特权命令,SUID/SGID程序容许普通用户以root身份暂时执行该程序,并在执行结束后再恢复身份。
				# chmod u+s 就是给某个程序的全部者以suid权限,能够像root用户同样操做

					
10)RPM软件包管理
	概念:
		1)RPM即RedHat Package Manager(RedHat软件包管理工具)的缩写。
		2)YUM(Yellow dog Updater, Modified),是一个shell前段软件包管理器。
			说明:YUM基于RPM包管理,可以从指定的服务器自动下载RPM包而且安装,能够自动处理依赖性关系,而且一次安装全部依赖的软件包。
		
	rpm命令:
		rpm 包名
			# -i 安装。注意:安装的时候须要使用包的全限定名。
			# -e (erase)卸载
			# -v (verbose)显示详细信息
			# -h (hash)显示进度条
			# -q (query) 查询该包是否安装
			# -qa (query all)查询全部已安装的软件包
			# -l (list)use a long listing format
			# -R (requires) 查询软件包的依赖性
			# -p (package) 查询未安装包信息
			# --nodeps 不检测依赖性
			
		eg:查询软件安装的目录:rpm -qal | grep 软件名
			
	
	yum命令:
		yum install gcc-c++
		yum update gcc-c++
		yum remove gcc-c++
		
		经常使用工具:
		yum -y install wget
		
		更新163 yum源
		cd /etc/yum.repos.d/
		mv CentOS-Base.repo CentOS-Base.repo.backup
		wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
		yum clean all
		yum makecache
		yum update


11)Linux下的压缩命令:
	
	tar 压缩后的文件名 要压缩的目标文件
		# -c (create)创建一个新打包文件
		# -C 指定文件解压后存储的目录
		# -f file 指出须要打包的文件
		# -z 打包同时用gzip压缩(与-x并存时,表示解压xxx.tar.gz)
		# -j 打包同时用bzip2压缩(与-x并存时,表示解压xxx.tar.bzip2)
		# -x extract(提取) 解包*.tar文件
		# -v verbose 以详细模式显示命令执行过程
		# -t 查看压缩文件中的内容
		# 说明:
			1)在参数列表中:c、x、t 仅能存在一个,不可同时存在!
			2)通常以.tar后缀名来标示打包后的文件,以.tar.gz或.tgz来标示gzip压缩过的tar文件,以.tar.bz2来标示bzip2压缩过的tar文件。
		# 举例:将/home/jxn/familyA目录下的全部文件所有打包为/home/jxn/familyA.tar
			1)仅打包,不压缩:tar -cf /home/jxn/familyA.tar /home/jxn/familyA
			2)打包后,以gzip压缩:tar -zcf /home/jxn/familyA.tar.gz /home/jxn/familyA
			3)打包后,以bzip2压缩:tar -jcf /home/jxn/familyA.tar.bz2 /home/jxn/familyA
			4)查看压缩文件中的内容:
				tar -tf familyA.tar
				tar -tf familyA.tar.gz  或 tar -ztf familyA.tar.gz
				tar -tf familyA.tar.bz2 或 tar -jtf familyA.tar.gz
			5)解压:			
				tar -xf familyA.tar
				tar -xf familyA.tar.gz  或 tar -zxvf familyA.tar.gz
				tar -xf familyA.tar.bz2 或 tar -jxvf familyA.tar.bz2
				
				经常使用:tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/

	zip 压缩后的文件名 要压缩的目标文件
	
	unzip 要解压的压缩文件
		# -d 文件解压后存储的目录
		# eg:unzip -d /data/tempFile test.war 将test.war解压到/data/tempFile目录下
		# 使用jdk提供的jar命令也能够解压war包:jar -xvf test.war

	gzip 目标文件名
		# gzip即:GNU zip
		# -c 压缩后将结果输出到标准输出,并保留到原始文件;因为选项c会将压缩结果输出到标准输出,所以须要使用重定向方式保存压缩结果
		# -d (decompress)解压。或者:gunzip 要解压的.gz文件名
		# -l 显示压缩文件的详细信息:压缩文件的大小、未压缩文件的大小、压缩比等。
		# -r 递归地压缩目录中的全部文件:只压缩目录下的全部文件以及其子目录下的全部文件,而目录和子目录并无压缩。
		# -0→9:表示压缩率,1表示最小压缩率,压缩速度最快;默认值是6
		# 举例:
			1)把/home/jxn目录下的familyA目录下全部文件压缩成.gz文件
				tar -cvf /home/jxn/familyA.tar /home/jxn/familyA
				gzip familyA.tar 进行压缩
				# 说明:gzip不能直接对目录进行压缩,所以必须先打包
			2)gzip -c9 test.tar > test.tar.gz
	
	bzip2 目标文件名
		# -k 压缩、解压缩完成以后,保留原始文件
		# -d (decompress)解压。或者:bunzip2 要解压的.tar.bz2文件名
		# 举例:把/home/jxn目录下的familyA目录下全部文件压缩成.bz2文件
			tar -cvf /home/jxn/familyA.tar /home/jxn/familyA
			bzip2 familyA.tar
			# 说明:bzip2不能直接对目录进行压缩,所以必须先打包
相关文章
相关标签/搜索