Linux操作系统的树状目录结构

1./bin:存放系统必备的执行命令

2./boot:是Linux启动时使用的核心组件

3./etc:系统管理所需的配置文件和子目录

4./home:普通用户的主目录

5./root:超级权限的用户主目录
vi/vim编辑器
  • 一般模式
(1) yy		(功能描述:复制光标当前一行)
  	
  	  y数字y	(功能描述:复制一段(从第几行到第几行,光标闪烁处认为第一行,y2y,即复制光标所在行以及光标下一行))
  	
  	(2) p		即paste(功能描述:箭头移动到目的行粘贴粘在光标所在行的下一行)
  	
  	(3) u		即undo(功能描述:撤销上一步)
  	
  	(4) dd		即delete(功能描述:删除光标当前行)
  	
  	d数字d	(功能描述:删除光标(含)后多少行)
  	
  	(5) shift+^	(功能描述:移动到行头)
  	
  	(6) shift+$	(功能描述:移动到行尾)
  	
  	(7) 1+shift+g			(功能描述:移动到页头,数字,先按1,再同时按shift+g,注意不是同时按1+shift+g)
  	
  	(8) shift+g			(功能描述:移动到页尾)
  	
  	(9) 数字N+shift+g	(功能描述:移动到目标行)
  • 编辑模式
(1) 进入编辑模式
  	
  	a) i 当前光标前(最常用)
  	
  	b) o 当前光标行的下一行
  	
  (2) 退出编辑模式,即进入一般模式按『Esc』键
  • 指令模式
(1) 基本语法
  	
  	a) : 选项
  	
  	 w	保存
  	
  	 q	退出不保存
  	
  	 ! 感叹号强制执行
  	
  	b) / 查找,/被查找词,n是查找下一个,shift+n是往上查找
  	
  (2) 案例
  	
  	:wq!	强制保存退出
  	
  	:q! 不保存文件,强制退出vi
  	
  	按下esc键退回到一般模式,然后按下Shift+z+z实现快速保存(只能够保存非只读文件,对于只读文件,还是需要wq!来保存)。
  	
  	:set nu 显示行号
  	
  	:%s/word1/word2 将文件中的word1替换为word2
  	
  		区别:/是向下查找,?是向上查找

linux常用命令、语法

  • 配置主机名
1.查看主机名:hostname

  2.修改主机名:vi /etc/sysconfig/network
  	NETWORKING=yes
  	
  	NETWORKING_IPV6=no
  	
  	HOSTNAME= hadoop003
  	
  	注意:主机名称不要有“_”下划线
  • 防火墙
1. 查看防火墙状态:service iptables status

  2. 查看防火墙开机状态:chkconfig iptables --list
  
  3. 临时关闭防火墙:service iptables stop
  
  4. 关闭防火墙开机启动:chkconfig iptables off
  
  5. 开启防火墙开机启动:chkconfig iptables on
  • 关机重启
1. 将数据由内存同步到硬盘中:sync

  	2. 关闭系统:halt 等同于shutdown -h now 和 poweroff

  	3. 重启:reboot 等同于shutdown -r now
  	
  	4. shutdown [选项] 时间
  			-h:关机 -r:重启
  • 帮助命令
1. man
  
  获得帮助信息:man [命令或配置文件]
  
  	a) 显示说明
  		NAME  命令的名称和单行描述
  		
  		SYNOPSIS 怎样使用命令
  		
  		DESCRIPTION 命令功能的深入讨论
  		
  		EXAMPLES  怎样使用命令的例子
  		
  		SEE ALSO  相关主题(通常是手册页)
  		
  	b) 数字说明q
  		
  		1.用户在shell环境中可以操作的命令或是可执行的文件
  		
  		2.系统内核(kernel)可以调用的函数
  		
  		3.常用的函数or函数库
  		
  		4.设备配置文件
  		
  		5.配置文件的格式
  		
  		6.游戏相关
  		
  		7.linux网络协议和文件系统
  		
  		8.系统管理员可以用的命令
  		
  		9.跟内核有关系的文件
  		
  	c) 按q退出man帮助
  2. help
  
  	获得shell内置命令的帮助信息:help
  • 快捷键
(1)ctrl + c:停止进程
  
  (2)ctrl+l:清屏
  
  (3)善于用tab键
  
  (4)上下键:查找执行过的命令
  • 文件目录
1. 显示当前工作目录的绝对路径:pwd
  	
  			pwd		(功能描述:显示当前工作目录的绝对路径)
  1. 列出目录内容:ls
ls [选项] [目录或是文件]
 			
 			选项:
 			
 			-a :all,全部的文件,连同隐藏的文档( 开头为 . 的文件) 一起列出来(常用)
 			
 			-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
 			
 			 每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字 等同于ll命令
  1. 创建一个新目录:mkdir
mkdir [-p] 要创建的目录 	mkdir [-p] 要创建的目录
  1. 删除一个空的目录:rmdir
rmdir 要删除的空目录
  1. 创建空文件:touch
touch 文件名称
  1. 切换目录:cd
a) cd 绝对路径
 			
 			b) cd 相对路径
 			
 			c) cd ~或者cd		(功能描述:回到自己的家目录)
 			
 			d) cd -			(功能描述:回到上一次所在目录)
 			
 			e) cd ..			(功能描述:回到当前目录的上一级目录)
 			
 			f) cd .			(功能描述:回到当前目录)
 			
 			.即一个英文点号代表当前目录,..即两个英文点号代表上一级目录。
  1. 复制文件或目录:cp
a) cp source dest 				(功能描述:复制source文件到dest)
 		
 		b) cp -r sourceFolder targetFolder	(功能描述:递归复制整个文件夹)
 		
 		注意:r即recursive递归,这里是递归拷贝,将该目录以及所有子目录(包括再多的子目录)下的所有文件即文件夹都拷贝
  1. 移除文件或目录:rm
a) rmdir deleteEmptyFolder	(功能描述:删除空目录),缺点:只能删除空目录。
 		
 		b) rm -rf deleteFile			(功能描述:递归删除目录中所有内容)慎用
  1. 移动文件与目录或重命名:mv
a) mv oldNameFile newNameFile	(功能描述:重命名)
 		
 		b) mv /temp/movefile /targetFolder	(功能描述:递归移动文件)
  1. 查看文件内容
  1. cat:查看文件内容,从第一行开始显示。
适合查看小文件,行数比较少的文件,通常用来查看配置文件。
 		cat  [选项] 要查看的文件
 		
 		选项:
 		
 		-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
 		
 		-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
 		
 		-E :将结尾的断行字节 $ 显示出来;
 		
 		-n :列出行号,连同空白行也会有行号,与 -b 的选项不同;
 		
 		-T :将 [tab] 按键以 ^I 显示出来;
 		
 		-v :列出一些看不出来的特殊字符
  1. tac:查看文件内容,从最后一行开始显示,按行倒序显示
tac  [选项参数] 要查看的文件
  1. more:查看文件内容,一页一页的显示文件内容
(1)基本语法:
 		
 			more 要查看的文件
 		
 		(2)功能使用说明
 		
 			空白键 (space):代表向下翻一页;
 			
 			Enter:代表向下翻『一行』;
 			
 			q代表立刻离开 more ,不再显示该文件内容。
 			
 			Ctrl+F (注意是大写)向下滚动一屏
 			
 			Ctrl+B 返回上一屏
 			
 			= 输出当前行的行号
  1. less:使用[pageup] [pagedown]往回滚动
(1)基本语法:
 		
 			less 要查看的文件
 		
 		(2)功能使用说明
 		
 			空白键  :向下翻动一页;
 			
 			[pagedown]:向下翻动一页;
 			
 			[pageup] :向上翻动一页;
 			
 			/字串  :向下搜寻『字串』的功能;n:向下查找;N:向上查找;
 			
 			?字串  :向上搜寻『字串』的功能;n:向上查找;N:向下查找;
 			
 			q     :离开 less 这个程序;
  1. head
head -n 10 文件   (功能描述:查看文件头10行内容,10可以是任意行数)
  1. tail
a) tail  -n 10 文件 	(功能描述:查看文件头(从末尾开始数)10行内容,10可以是任意行数)
 		
 b) tail  -f  文件		(功能描述:实时追踪该文档的所有更新)
  1. 重定向命令
a) ls -l >a.txt文件		(功能描述:列表的内容写入文件a.txt中(覆盖写))
	
b) ls -al >>a.txt文件	(功能描述:列表的内容追加到文件aa.txt的末尾)
  1. echo
a) echo 要显示的内容 >> 存储内容的的文件	(功能描述:将要显示的内容,存储到文件中)
	
b) echo 变量		(功能描述:显示变量的值)
  1. 软连接:ln
ln -s [原文件] [目标文件]		(功能描述:给原文件创建一个软链接,软链接存放在目标文件目录)
	
删除软链接(如果是文件夹的话,要注意没有最后的/): rm -rf hadoop,而不是rm -rf hadoop/
  1. 查看所敲命令历史;
history
  • 时间日期
  1. 当前时间
    a) date (功能描述:显示当前时间)
b) date +%Y							(功能描述:显示当前年份)
 	
 	c) date +%m							(功能描述:显示当前月份)
 	
 	d) date +%d							(功能描述:显示当前是哪一天)
 	
 	e) date +%Y%m%d …	(功能描述:显示当前年月日各种格式 )
 	
 	f) date "+%Y-%m-%d %H:%M:%S" 或者单引号也可以	(功能描述:显示年月日时分秒)
  1. 非当前时间
a) date -d '1 days ago'			(功能描述:显示前一天日期)
 	
 	b) date -d yesterday +%Y%m%d	(同上)
 	
 	c) date -d next-day +%Y%m%d	(功能描述:显示明天日期)
 	
 	d) date -d 'next monday'			(功能描述:显示下周一时间)
 	
 	e) data -d '数字 days'            (功能描述:显示下几天时间)
  1. 设置系统时间
date -s 字符串时间
  1. 查看日历
    cal [选项] (功能描述:不加选项,显示本月日历)
选项:
 	
 	-3 ,显示系统前一个月,当前月,下一个月的日历
 	
 	具体某一年,显示这一年的日历。
  • 用户管理
  1. 添加新用户
useradd 用户名		(功能描述:添加新用户)
  1. 设置用户密码
passwd 用户名	(功能描述:设置用户密码)
  1. 判断用户是否存在
id 用户名
  1. 切换用户
su 用户名称  (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
 
 su - 用户名称		(功能描述:切换到用户并获得该用户的环境变量及执行权限)
  1. 删除用户
a) userdel  用户名		(功能描述:删除用户但保存用户主目录)
 
 b) userdel -r 用户名		(功能描述:用户和用户主目录,都删除)
  1. 查看登录用户信息
a) whoami		(功能描述:显示自	身用户名称)

 b) who am i		(功能描述:显示登录用户的用户名)

 c) who			(功能描述:看当前有哪些用户登录到了本台机器上)
  1. 设置普通用户的root权限
修改 /etc/sudoers 文件
 Allow root to run any commands anywhere
 root    ALL=(ALL)   ALL
 hadoop  ALL=(ALL)  NOPASSWD:ALL
  1. 查看创建哪些用户
cat  /etc/passwd
  1. 修改用户
usermod -g 用户组 用户名
  • 用户组管理
  1. 新增组
groupadd 组名
  1. 删除组
groupdel 组名
  1. 修改组
groupmod -n 新组名 老组名
  1. 查看创建哪些组
cat  /etc/group
  • 文件权限
  1. 文件属性
(1)从左到右的10个字符表示:
 			
 			如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:
 			
 		a) 0首位表示类型
 			
 			在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
 			
 			\- 代表文件
 			
 			 d 代表目录
 			
 			 c 字符流,装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
 			
 			 s socket
 			
 			 p 管道
 			
 			 l 链接文档(link file);
 			
 			 b 设备文件,装置文件里面的可供储存的接口设备(可随机存取装置)
 			
 		b) 第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User
 			
 		c) 第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group
 			
 		d) 第7-9位确定其他用户拥有该文件的权限 ---Other
 			
 			| 文件类型 | 属主权限    | 属组权限     | 其他用户权限 |
 			| -------- | ----------- | ------------ | ------------ |
 			| 0        | 1  2  3     | 4  5  6      | 7  8  9      |
 			| d        | R  w  x     | R  -  x      | R  -  x      |
 			| 目录文件 | 读  写 执行 | 读  写  执行 | 读  写  执行 |
 			
 (2)rxw作用文件和目录的不同解释(普通用户测试)
 	
 	a) 作用到文件:
 		
 		[ r ]代表可读(read): 可以读取,查看
 		
 		[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
 		
 		[ x ]代表可执行(execute):可以被系统执行
 		
 		b) 作用到目录:
 		
 		[ r ]代表可读(read): 可以读取,ls查看目录内容
 		
 		[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
 		
 		[ x ]代表可执行(execute):可以进入该目录
  1. chmod改变权限
(1)基本语法:
 	
 		chmod  [{ugoa}{+-=}{rwx}] [文件或目录] [mode=421 ]  [文件或目录] 
 	
 	101  可读、不可写,可执行 十进制5
 	
 	111  可读、可写,可执行 十进制7
 	
 	用户					同组用户   		其他用户
 	
 	可读、可写,可执行	可读、可写,不可执行 可读、不可写,可执行
 	
 	4+2+1 7  4+2+0   4+0+1  即765
 	
 (2)功能描述
 	
 	改变文件或者目录权限
 	
 	文件: r-查看;w-修改;x-执行文件
 	
 	目录: r-列出目录内容;w-在目录中创建和删除;x-进入目录
 	
 	删除一个文件的前提条件:该文件所在的目录有写权限,你才能删除该文件。
  1. chown改变所有者
chown [最终用户] [文件或目录]		(功能描述:改变文件或者目录的所有者) change owner
  1. chgrp改变所属组
chgrp [最终用户组] [文件或目录]	(功能描述:改变文件或者目录的所属组)
  1. su切换用户
su -username			(功能描述:切换用户
  • 磁盘分区
  1. 查看硬盘
(1)基本语法:
 	
 		df  参数		(功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
 	
 	参数:
 	
 	-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
 	
 	-k :以 KBytes 的容量显示各文件系统;
 	
 	-m :以 MBytes 的容量显示各文件系统;
 	
 	-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
 	
 	-H :以 M=1000K 取代 M=1024K 的进位方式;
 	
 	-T :显示文件系统类型,连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
 	
 	-i :不用硬盘容量,而以 inode 的数量来显示
  1. 查看目录空间使用
Du -sh ./* 查看目录占用空间的情况,便于找出占用空间多的文件
 
 参数:
 
 -s :汇总每个目录总的大小;
 
 -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
  • 挂载/卸载
  1. 挂载光盘语法
mount [-t vfstype] [-o options] device dir

 a) -t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。
 b) -o options 主要用来描述设备或档案的挂接方式。常用的参数有:
 
 loop:用来把一个文件当成硬盘分区挂接上系统
 
   ro:采用只读方式挂接设备
 
   rw:采用读写方式挂接设备
 
   iocharset:指定访问文件系统所用字符集
 
 c) device 要挂接(mount)的设备
 
 d) dir设备在系统上的挂接点(mount point)
  1. 卸载光盘语法
[root@hadoop003 ~]# umount 设备文件名或挂载点
  1. 开机自动挂载
vi /etc/fstab