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
-