linux--常用命令

五、Linux中基本的常用命令

	1、命令的格式:
		命令本身 【-可选项】【操作的对象】
		ls -l /opt
		由于单个命令表示一种功能,那么使用不同的选项用来区分不同的功能
		某些命令不需要加任何的选项就可以执行,也不需要操作对象
		命令之间以空格隔开
	2、命令:pwd
		-》作用:显示当前用户所在的路径,绝对路径显示
		.   当前文件
		..  父级目录
		绝对路径就是从 / 到我们的当前目录
		
		cd opt/   或者  cd ../opt/  相对路径
		
		cd /opt/                    绝对路径
		
	3、命令:clear
		-》作用:清楚屏幕,刷新屏幕
		-》快捷键:ctrl+l 同样的清除屏幕的功能
	4、命令:cd
		-》作用:移动到任何指定的目录下
		-》可以跟上cd ..表示移动返回到上一级的目录
	5、查看命令:ls
		# ls -l显示详细信息
		# ls -a显示所有的文件,包括隐藏文件
				-》在Linux中前缀为.的就表示隐藏文件
		# ls -la  选项之间是可以结合一起使用的,不需要加多个-横杠
		# ls -d /etc/只查看目录或者文件本身的属性
		-》注意选项之间大部分情况下是不分前后顺序的,某些特殊的选项会区分
	6、创建:
		mkdir 创建目录
		# mkdir test_data
		# mkdir "t1 t12"  
		# mkdir t1\ tw 
		带空格的目录的时候要加标识  ""  '' 都可以使用
		# mkdir -p test_data01/data02
				-》选项:-p表示可以一次递归创建多个目录
		touch 创建文件
		# touch bf.txt
		# touch "pro file"
				-》注意:创建带有空格命名的文件时候需要加上引号
				-》让系统识别,它们是一个整体
				-》不建议在创建的时候命名带有空格
		删除:
		rmdir 删除一个空目录
		# rmdir bf_data/
		rm 删除一个目录或者是文件
		# rm bf.txt
		# rm -r test_data 删除目录
		# rm -rf test_data01/ 不询问,直接删除,建议使用的时候要谨慎
		选项:-r -f
		拷贝:
		cp
		# cp file bf_data/
		# cp -r data99/ bf_data/
		选项:-r表示目录
		命令本身 【源路径】【目标路径】
		剪切:
		mv
		# mv "pro file" bf_data/
		命令本身 【源路径】【目标路径】
		重命名:
		# mv file beifeng.txt  不移动位置可以直接更改名称
		# mv "pro file" bf.list
		查看的几种方式:
		cat 查看普通文件
		# cat /etc/hosts
		
		more 分页查看文件,适合内容较多的文件
		-》按空格翻页查看
		-》按回车逐行查看
		-》按q退出more的浏览状态
		
		less 分页查看文件,适合内容较多的文件,支持向上或向下翻滚
		-》按空格翻页查看
		-》按回车逐行查看
		-》按q退出more的浏览状态
		
		head 查看文件的前几行
		# head -5 /etc/passwd
		head后面直接跟上需要查看的行数,默认不加参数就是10行
		
		tail 查看文件的末尾几行
		tail后面直接跟上需要查看的行数,默认不加参数就是10行
		# tail -3 /etc/passwd
		选项:-f 滚动实时查看,比较实用
		

九、vi编辑器
	vi和vim在基本的使用上是一致的,但是vim兼容了vi的所有功能,加入了一些新的特性
	-》命令模式
	-》编辑模式
	-》最后行模式
	-》wq!   感叹号表示强制操作
	-》另外的保存方式:命令模式下使用大写ZZ  或者 shift + zz(小写)
	-》另外的保存方式:在最后行模式下使用小写x
	-》快捷键:
	显示行号:set nu 在最后行模式下使用
	删除:小写dd 命令模式使用,可以删除多行,比如三行:3dd,还带有剪切的功能
	撤销:小写u 命令模式使用
	黏贴:小写p 命令模式使用
	复制:小写yy 可以同时复制多行,命令模式使用,比如3yy
	移动:大写G 移动到末尾,小写gg 移动到第一行 命令模式使用
	关键字:在最后行模式下使用,比如搜索root,:/root
	替换:1,$s/nologin/666/g
				-》1代表第一行
				-》$代表最后一行
				-》1,$代表一个替换的范围
				-》s代表替换
				-》/nologin/666/  替换和被替换的内容
				-》g代表通行的意思
							
			.swp  在vi的时候非正常关闭 crtl+z 或者是多命令行同时
				  编辑一个文件的时候,会生成一个.swp文件 
				  vi -r passwd 恢复文件内容  然后删除 .swp文件

  

Linux中的搜索命令
	命令:find
	搜索是会占用很大资源的,所以尽量避免高峰期进行搜索
	搜索的范围尽量的缩小,可以减少搜索的时间和占用的资源
	语法格式:
	find【搜索范围】【搜索条件】
	1、文件名搜索,选项:-name,-iname
		# find / -name init
		*代表Linux中的通配符,表示匹配任意字符,可重复的
		?代表Linux中的通配符,表示匹配单个字符
		Linux中严格区分大小写
		# find /etc/ -name *init*  -》查找包含关键的所有文件
		# find /etc/ -name init*   -》查看包含关键字开头的所有文件
		# find /etc/ -name init??? -》查看包含关键字的指定个数的文件
		# find /etc/ -iname init???-》不区分大小写查找文件
	2、文件大小搜索,选项:-size
		-》单位:Linux中存储的最小单位是数据块,一个数据块的大小:512字节
		-》100MB文件,1MB=1024KB,100MB=102400KB,102400*2=204800数据块
		# find / -size +204800   +号表示大于,-号表示小于
	3、文件所有者&所属组,选项:-user、-group
		# find /root -user root 
		# find /root -group root 
	4、文件类型,选项:-type
		# find /etc/ -name init* -a -type f
		# find /etc/ -name init* -a -type d
		-a表示and,连接,代表整个表达式前后的条件必须都满足,才成立
		f表示文件file
		d表示目录data
	
	帮助命令
	 man + 命令  查看命令的用法

	# man ls
	类似的用法
	# ls --help
     

如果是目录 数字 2 代表的是目录中有几个文件及子文件夹
如果是文件 数字 代表的是硬链接数

ln file.txt file1 硬链接
ln -s file.txt file2 软连接 相当于win里的快捷图标


最后行模式 shift + : 1,$ s/nologin(旧内容)/666(新输入)/g

  

一、grep过滤
	-c:只输出匹配行的计数。
	-i:不区分大小写(只适用于单字符)。
	-h:查询多文件时不显示文件名。
	-l:查询多文件时只输出包含匹配字符的文件名。
	-n:显示匹配行及 行号。
	-s:不显示不存在或无匹配文本的错误信息。
	-v:显示不包含匹配文本的所有行。
	grep -i  --color 'Ro' /etc/passwd  大小写忽略
	# grep -i --color  'Anonymous' passwd -B5 -a  -A5

二、管道符|、追加/覆盖符号  命令未结束符号\    
	1、用竖线表示  | :
		表示将前一个命令的输出结果传递给后面的命令处理,两边都是命令
		$ cat /etc/passwd | more

		1)、grep:过滤筛选
		$ cat /etc/passwd  |  grep 'root'

		2)、过滤条件
	$ ifconfig | grep 'inet'
	$ ls /dev |  grep 'cdrom'

	5、追加和覆盖
	   1、追加 >>:以追加的方式将命令正确的结果输出到文件或设备中区
		date >>1.txt
		echo '123' >>1.txt
		假如命令错误
		data  2>> 1.txt

	   2、覆盖
		date >1.txt
		假如命令错误
		data 2> 1.txt
		标准输入	0	从键盘获得输入	
		标准输出	1	输出到屏幕
		错误输出	2	输出到屏幕

	4、 \ 表示命令未结束换行继续
	注意: \后面不能任何字符,直接回车
		$ cat /etc/sysconfig/\
		> network-scripts/ifcfg-eth0
	
cat /etc/sysconfig/\
network-scripts/ifcfg-eth0
	

三、正则表达式

	1、过滤包含数字的行
	# grep '[0-9]' /etc/passwd
	grep '[0-9][0-9][0-9]' /etc/passwd
	# grep ':[0-9][0-9][0-9]:7' /etc/passwd
	# grep '^r.*n$' /etc/passwd
	“[a-z]”“[0-9]”“[A-Z]”
	[A-Z][0-9][0-9] = B02
	
	【举例】提取ifconfig命令中的IP地址,使用sed命令
	# ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' | sed 's/inet addr://g' | sed 's/Bcast.*//g'

                 

	补充命令
	5、wc(word count)统计命令:统计单词、字符、行数,支持管道符号	  
	   $ wc file.log 
       1  4 19 file.log   行数  单词数  字节数 

	   $  wc -l  /etc/passwd   统计行数

	   $  cat /etc/passwd  |  wc  -l 

	6、df  -l -h 显示当前各个硬盘分区的使用情况

	7、du -h 统计文件或目录的大小

  

关闭防火墙和安全子系统 (Hadoop HBase这样的分布式集群应用需要)
	--》在联机应用(分布式)中,一般会关闭防火墙。防火墙默认情况下,出于安全考虑会限制一些应用的网络访问(比如rpc通信端口),为了保证多机通信的稳定,可以选择关闭防火墙
1.关闭防火墙并且不开机启动

	SERVICE 
	chkconfig | grep 'i'
	1).关闭Linux 防火墙
	# service iptables status   ##查看防火墙状态
	  iptables: Firewall is not running.
	# service iptables stop     ##关闭防火墙
	service iptables  restart
	2).设置不开机启动防火墙
	#  chkconfig iptables off   ##不随机启动

	3).查看防火墙的开机启动设置
	$ sudo chkconfig --list | grep iptables

2.关闭安全子系统

	  # vi /etc/sysconfig/selinux
	  SELINUX=disabled
	  
这里不用去修改
创建虚拟机的时候一定要选择桌面版
	vi /etc/inittab 
	#   0 - halt (Do NOT set initdefault to this):关机
	#   1 - Single user mode:使用单用户模式
	#   2 - Multiuser, without NFS (The same as 3, if you do not have networking):使用多用户
	#   3 - Full multiuser mode:完全多用户
	#   4 - unused
	#   5 - X11:图形化
	#   6 - reboot (Do NOT set initdefault to this):重启
	
	把默认值修改为3,就会开启命令行模式
	init 0 等等  reboot
五、sudo 权限
	1、操作对象是系统命令
	2、命令: # visudo 管理员(root)身份执行
			或者# vi /etc/sudoers
	3.配置sudo   # visudo
	## Allow root to run any commands anywhere
		root    ALL=(ALL)       ALL
		hadoop  ALL=(root)     NOPASSWD: ALL

	三个ALL到底是什么意思。
	第一个ALL是指网络中的主机,我们后面把它改成了主机名,它指明hadoop用户可以在此主机上执行后面的命令。
	第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令。
	最后一个ALL当然就是指命令名了。


	4.使用:在需要root用户操作的时候,在原来命令的前方加sudo
	$ vi /etc/hosts
	"/etc/hosts" [readonly] 3L, 189C
	$ sudo vi /etc/hosts
	
	4、which和whereis命令
			whereis定位可执行文件、源代码文件,定位文件在文件系统中的位置
			which同样也是可以定位文件的位置
			which shutdown
			whereis shutdown
			


	
六、Linux中的压缩命令
	1、gzip,压缩时不保留原文件
	2、gzip,不能压缩目录
	3、不能重命名
		压缩前:1668 11月 19 11:24 passwd
		压缩后:697 11月 19 11:24 passwd.gz
		gzip: test/ is a directory -- ignored
		
	3、bzip2适用于一些内容和数据较大的文件进行压缩
	4、tar包格式压缩
	首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩
	则是将一个大的文件通过一些压缩算法变成一个小文件。
		-c:建立新的备份文件
		-x:从备份文件中还原文件;
		-v:显示指令执行过程;
		-z:通过gzip指令处理备份文件;
		-f:指定备份文件;

		打包:#tar -cvf test.tar test/
		注意:-f必须放在选项的最后
		打包完成之后再压缩
		gzip test.tar 
		
		解包:# tar -xvf beifeng100.tar -C /opt/
		结合 tar  和  gzip 命令使用
		-C :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
		.tar.gz格式打包:# tar -cvzf beifeng100.tar.gz beifeng100/
		
		.tar.gz格式解包:# tar -zxvf beifeng100.tar.gz -C /opt/rh/
		解压的目录不在当前目录
		选项:-C 重定向,注意是大写
		
 [root@acSG9892536 -# docker save -o ingress.contr.tar quay. io/kubernet es-ingress-controller/nginx-ingress-controller:0.25.0  将镜像封装
[rootacSG9892536 -]# tar -zcvf ingress.contr.tar.gz ingress.contr.tar 压缩
sz ingress.contr.tar.gz 导出
rz 导入
tar -zxvf ingree.contro.tar.gz 解压
docker load -i ingree.contro.tar docker将压缩镜像导入

七、Linux中的软件包管理方式 1、软件包的类型 -》源码包(脚本) -》二进制包(rpm、系统默认包) -》经过编译后的(看不到源码) -》管理方便:安装、卸载、升级、查看 -》安装速度快 -》依赖性 A->B->C->D.....互相依赖 挂载光驱:# mount /dev/sr0 /media 2、rpm管理方式 -》管理.rpm结尾的包 -》查询: rpm -qa q表示查询,a表示所有 -》查询所有已经安装好的包 -i:显示套件的相关信息; -v:显示指令执行过程; -h:套件安装时列出标记; --安装 rpm -ivh httpd-devel-2.2.15-26.el6.centos.x86_64.rpm 失败的 rpm -ivh httpd-manual-2.2.15-26.el6.centos.noarch.rpm 成功 --卸载 rpm -e httpd-manual-2.2.15-26.el6.centos.noarch.rpm error: package httpd-manual-2.2.15-26.el6.centos.noarch.rpm is not installed rpm -e httpd-manual-2.2.15-26.el6.centos.noarch --查看 (已经安装)# rpm -qa | grep 'httpd' # rpm -qa | grep jdk # rpm -qa | grep mysql 选项:--nodeps:不检测依赖性,一般建议在试验环境使用 3、yum管理方式 -》使用的前提条件,需要连接到网络 -》查询: # yum list查询已经安装好的包 # yum list | grep 'httpd' -》安装: 选项:install ,选项:-y 直接确认 # yum -y install httpd-devel.x86_64 -》卸载: 选项:remove # yum -y remove httpd-devel.x86_64 -》yum仓库: 地址:/etc/yum.repos.d/ gpgkey 校验码 gpgcheck=1 开启校验,0是关闭校验 如果你的yum源不能使用,可以网上找一下更换yum源 50G 20G 八、磁盘管理 1、查看当前磁盘使用情况 df -h 2、磁盘命令 # fdisk -l brw-rw---- 其中b代表的是块设备文件 sda代表第一块硬盘,s代表接口,d代表disk磁盘 sda1/2...代表硬盘中的分区 硬盘接口: sata sas-》服务器方面 scsi ide-》个人电脑方面 SSD固态 3、cylinders磁柱-》就是查看分区情况 -》起始和结束 4、添加磁盘之前先关机,关闭所有的进程 5、分区 # fdisk /dev/sdb 输入m查看帮助信息 输入n进行分区 e extended -》扩展分区 p primary partition (1-4)-》主分区 主分区+扩展分区<=4 必须保证要有一个扩展分区 2+1或者3+1的模式 主分区分完格式化之后可以直接使用 扩展分区分完之后还需要进行逻辑分区才能使用 注意: 分完区之后按 w 进行信息的保存 分完区之后建议重启机器,让系统重新加载一次信息 6、格式化磁盘 Linux中的文件系统 ext2、ext3、ext4、xfs等 格式化命令:mkfs.ext4 /dev/sdb6 7、挂载磁盘 挂载临时命令:mount mount /dev/sdb5 /mnt 挂载点:是访问这个分区的唯一入口,是必须已经存在的 使用:df -h来验证是否挂载成功 永久生效的挂载方法: # vi /etc/fstab 写入配置文件 /dev/sdb5 /mnt ext4 defaults 0 0 九、克隆虚拟机 VMware 1.关闭Linux系统 关机:init 0 ; poweroff ; halt; shutdown 重启:init 6 ; reboot 2.虚拟机--》管理 --》克隆 选择完整克隆而非克隆链接 3.克隆出来的虚拟机 要修改主机名还有ip地址,关键是要修改网卡信息 4.# vi /etc/hosts 修改主机映射:个人的配置为: 192.168.195.11 bigdata02 # vi /etc/sysconfig/network 修改主机名 个人的配置为:apache(原)--》apche clone(克隆) 5.网卡的信息(mac地址HWADD) # vi /etc/udev/rules.d/70-persistent-net.rules 删除原来的网卡信息通过mac地址来区分,删除原来的信息 并将新的网卡的name信息改为eth0 6.重命名网卡配置名称 # mv /etc/sysconfig/network-scripts/ifcfg-Auto_eth1 /etc/sysconfig/network-scripts/ifcfg-eth0 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO=static # service network restart 7.修改网卡名称:将Auto_eth1 修改为System eth0 # PCI device 0x8086:0x100f (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:8f:24:b5", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" 8.# reboot 重启虚拟机(因为修改了主机名) 同时修改windows中主机映射,增加: C:\Windows\System32\drivers\etc\hosts 192.168.195.101 bigdata02 十、系统管理命令 1、top -》 查看当前系统的资源和任务,3秒刷新一次 Swap交换分区-》类似windows中的虚拟内存概念 -》按q退出浏览的状态 2、free -》 查看当前系统内存资源的情况 选项:-m 表示mb 3、netstat -》打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况 -》-t:表示TCP网络协议,三次握手,更安全 -》-u:表示UDP网络协议,直接传输数据,传输快,不稳定 -》-l:表示监听端口,listen -》-r:表示路由器,查看网关 -》-n:表示IP地址和端口号 -》-a:显示所有socket,包括正在监听的。 第一种用法: # netstat -tlun 查看系统已经开启的监听端口 第二种用法: # netstat -an -》a表示all全部的意思 查看系统已经开启的监听端口以及正在连接的网络程序 第三种用法: # netstat -rn # route -n同样也是单独查询路由信息 4、ps命令用于报告当前系统的进程状态 ps -ef kill结束系统进程命令 jps $ kill -9 2287 -9表示强制关闭,类似windows中的结束任务

  

 

posted @ 2019-09-27 15:00  eadela  阅读(288)  评论(0编辑  收藏  举报