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 (功能描述:显示当前工作目录的绝对路径)
- 列出目录内容:ls
ls [选项] [目录或是文件]
选项:
-a :all,全部的文件,连同隐藏的文档( 开头为 . 的文件) 一起列出来(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字 等同于ll命令
- 创建一个新目录:mkdir
mkdir [-p] 要创建的目录 mkdir [-p] 要创建的目录
- 删除一个空的目录:rmdir
rmdir 要删除的空目录
- 创建空文件:touch
touch 文件名称
- 切换目录:cd
a) cd 绝对路径
b) cd 相对路径
c) cd ~或者cd (功能描述:回到自己的家目录)
d) cd - (功能描述:回到上一次所在目录)
e) cd .. (功能描述:回到当前目录的上一级目录)
f) cd . (功能描述:回到当前目录)
.即一个英文点号代表当前目录,..即两个英文点号代表上一级目录。
- 复制文件或目录:cp
a) cp source dest (功能描述:复制source文件到dest)
b) cp -r sourceFolder targetFolder (功能描述:递归复制整个文件夹)
注意:r即recursive递归,这里是递归拷贝,将该目录以及所有子目录(包括再多的子目录)下的所有文件即文件夹都拷贝
- 移除文件或目录:rm
a) rmdir deleteEmptyFolder (功能描述:删除空目录),缺点:只能删除空目录。
b) rm -rf deleteFile (功能描述:递归删除目录中所有内容)慎用
- 移动文件与目录或重命名:mv
a) mv oldNameFile newNameFile (功能描述:重命名)
b) mv /temp/movefile /targetFolder (功能描述:递归移动文件)
- 查看文件内容
- cat:查看文件内容,从第一行开始显示。
适合查看小文件,行数比较少的文件,通常用来查看配置文件。
cat [选项] 要查看的文件
选项:
-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
- tac:查看文件内容,从最后一行开始显示,按行倒序显示
tac [选项参数] 要查看的文件
- more:查看文件内容,一页一页的显示文件内容
(1)基本语法:
more 要查看的文件
(2)功能使用说明
空白键 (space):代表向下翻一页;
Enter:代表向下翻『一行』;
q代表立刻离开 more ,不再显示该文件内容。
Ctrl+F (注意是大写)向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
- less:使用[pageup] [pagedown]往回滚动
(1)基本语法:
less 要查看的文件
(2)功能使用说明
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻『字串』的功能;n:向下查找;N:向上查找;
?字串 :向上搜寻『字串』的功能;n:向上查找;N:向下查找;
q :离开 less 这个程序;
- head
head -n 10 文件 (功能描述:查看文件头10行内容,10可以是任意行数)
- tail
a) tail -n 10 文件 (功能描述:查看文件头(从末尾开始数)10行内容,10可以是任意行数)
b) tail -f 文件 (功能描述:实时追踪该文档的所有更新)
- 重定向命令
a) ls -l >a.txt文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
b) ls -al >>a.txt文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
- echo
a) echo 要显示的内容 >> 存储内容的的文件 (功能描述:将要显示的内容,存储到文件中)
b) echo 变量 (功能描述:显示变量的值)
- 软连接:ln
ln -s [原文件] [目标文件] (功能描述:给原文件创建一个软链接,软链接存放在目标文件目录)
删除软链接(如果是文件夹的话,要注意没有最后的/): rm -rf hadoop,而不是rm -rf hadoop/
- 查看所敲命令历史;
history
- 时间日期
- 当前时间
a) date (功能描述:显示当前时间)
b) date +%Y (功能描述:显示当前年份)
c) date +%m (功能描述:显示当前月份)
d) date +%d (功能描述:显示当前是哪一天)
e) date +%Y%m%d … (功能描述:显示当前年月日各种格式 )
f) date "+%Y-%m-%d %H:%M:%S" 或者单引号也可以 (功能描述:显示年月日时分秒)
- 非当前时间
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' (功能描述:显示下几天时间)
- 设置系统时间
date -s 字符串时间
- 查看日历
cal [选项] (功能描述:不加选项,显示本月日历)
选项:
-3 ,显示系统前一个月,当前月,下一个月的日历
具体某一年,显示这一年的日历。
- 用户管理
- 添加新用户
useradd 用户名 (功能描述:添加新用户)
- 设置用户密码
passwd 用户名 (功能描述:设置用户密码)
- 判断用户是否存在
id 用户名
- 切换用户
su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
- 删除用户
a) userdel 用户名 (功能描述:删除用户但保存用户主目录)
b) userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
- 查看登录用户信息
a) whoami (功能描述:显示自 身用户名称)
b) who am i (功能描述:显示登录用户的用户名)
c) who (功能描述:看当前有哪些用户登录到了本台机器上)
- 设置普通用户的root权限
修改 /etc/sudoers 文件
Allow root to run any commands anywhere
root ALL=(ALL) ALL
hadoop ALL=(ALL) NOPASSWD:ALL
- 查看创建哪些用户
cat /etc/passwd
- 修改用户
usermod -g 用户组 用户名
- 用户组管理
- 新增组
groupadd 组名
- 删除组
groupdel 组名
- 修改组
groupmod -n 新组名 老组名
- 查看创建哪些组
cat /etc/group
- 文件权限
- 文件属性
(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):可以进入该目录
- 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-进入目录
删除一个文件的前提条件:该文件所在的目录有写权限,你才能删除该文件。
- chown改变所有者
chown [最终用户] [文件或目录] (功能描述:改变文件或者目录的所有者) change owner
- chgrp改变所属组
chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)
- su切换用户
su -username (功能描述:切换用户
- 磁盘分区
- 查看硬盘
(1)基本语法:
df 参数 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
参数:
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :显示文件系统类型,连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i :不用硬盘容量,而以 inode 的数量来显示
- 查看目录空间使用
Du -sh ./* 查看目录占用空间的情况,便于找出占用空间多的文件
参数:
-s :汇总每个目录总的大小;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
- 挂载/卸载
- 挂载光盘语法
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)
- 卸载光盘语法
[root@hadoop003 ~]# umount 设备文件名或挂载点
- 开机自动挂载
vi /etc/fstab