主要记录几个大数据上常用的Linux命令
一、基本操作
1、查看当前所在的工作目录的全路径 pwd
[test@hdp-node-01 ~]$ pwd
2、查看当前系统的时间 date
[test@hdp-node-01 ~]$ date +%Y-%m-%d
2016-05-18
[test@hdp-node-01 ~]$ date +%Y-%m-%d –date=”-1 day” #加减也可以 month | year
2016-05-17
设置时间
date -s “2016-05-23 01:01” ## 修改时间
修改时间后,需要写入硬件bios才能在重启之后依然生效
hwclock -w
3、关机/重启
## 关机(必须用root用户)
shutdown -h now ## 立刻关机
shutdown -h +10 ## 10分钟以后关机
shutdown -h 12:00:00 ##12点整的时候关机
halt # 等于立刻关机
## 重启
shutdown -r now
reboot # 等于立刻重启
4、清屏
clear ## 或者用快捷键 ctrl + l
5、退出当前进程
ctrl+c 有些程序也可以用q键退出
6、挂起当前进程
ctrl+z ## 进程会挂起到后台
bg jobid ## 让进程在后台继续执行
fg jobid ## 让进程回到前台
jobs ## 查看job列表
7、echo
相当于java中System.out.println(userName)
二、目录操作
1 查看目录信息
ls / ## 查看根目录下的子节点(文件夹和文件)信息
ls -al ## -a是显示隐藏文件 -l是以更详细的列表形式显示
ls -l 有一个别名: ll 可以直接使用ll <是两个L>
2切换工作目录
cd /home/hadoop ## 切换到用户主目录
cd ~ ## 切换到用户主目录
cd 什么路径都不带,则回到用户的主目录
3 创建文件夹
mkdir aaa ## 这是相对路径的写法
mkdir /data ## 这是绝对路径的写法
mkdir -p aaa/bbb/ccc ## 级联创建目录
4 删除文件夹
rmdir aaa ## 可以删除空目录
rm -r aaa ## 可以把aaa整个文件夹及其中的所有子节点全部删除
rm -rf aaa ## 强制删除aaa
5 修改文件夹名称
mv aaa angelababy
mv本质上是移动
mv install.log aaa/ 将当前目录下的install.log 移动到aaa文件夹中去
三、文件操作
1 创建文件
touch somefile.1 ## 创建一个空文件
echo “i miss you,my baby” > somefile.2
## 利用重定向“>”的功能,将一条指令的输出结果写入到一个文件中,会覆盖原文件内容,如果指定的文件不存在,则会创建出来
echo “huangxiaoming ,gun dan” >> somefile.2
## 将一条指令的输出结果追加到一个文件中,不会覆盖原文件内容
补充:
1/在linux的命令行界面中,如何将一个程序“最小化”(挂起):ctrl+z
2/如何将一个已挂起的程序恢复到前台
可以先用jobs查看挂起程序列表
再用 fg 1 把编号为1的程序恢复到前台
2 vi文本编辑器
1、最基本用法
vi somefile.4
1/ 首先会进入“一般模式”,此模式只接受各种命令快捷键,不能编辑文件内容
2/ 按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容
3/ 编辑完成之后,按Esc键退出编辑模式,回到一般模式;
4/ 再按:,进入“底行命令模式”,输入wq命令,回车即可保存退出
2、常用快捷键
一些有用的快捷键(在一般模式下使用):
a 在光标后一位开始插入
A 在该行的最后插入
I 在该行的最前面插入
gg 直接跳到文件的首行
G 直接跳到文件的末行
dd 删除一行
3dd 删除3行
yy 复制一行
3yy 复制3行
p 粘贴
u undo
ctrl + r redo
v 进入字符选择模式,选择完成后,按y复制,按p粘贴
ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴
shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴
3 拷贝/删除/移动
cp somefile.1 /home/hadoop/
rm /home/hadoop/somefile.1
rm -rf /home/hadoop/somefile.1
mv /home/hadoop/somefile.1 ../
4 查看文件内容
cat somefile 一次性将文件内容全部输出(控制台)
分页查看文件的命令:
more somefile 可以翻页查看, 下翻一页(空格) 上翻一页(b) 退出(q)
less somefile 可以翻页查看,下翻一页(空格) 上翻一页(b),上翻一行(↑) 下翻一行(↓) 可以搜索关键字(/keyword)
跳到文件末尾: G
跳到文件首行: gg
退出less : q
tail -10 install.log 查看文件尾部的10行
tail +10 install.log 查看文件 10–>末行
tail -f install.log 小f跟踪文件的唯一inode号,就算文件改名后,还是跟踪原来这个inode表示的文件
tail -F install.log 大F按照文件名来跟踪
head -10 install.log 查看文件头部的10行
5 打包压缩
1、gzip压缩
gzip a.txt
2、解压
gunzip a.txt.gz
或 gzip -d a.txt.gz
3、bzip2压缩
bzip2 a.txt
4、解压
bunzip2 a.txt.bz2
bzip2 -d a.txt.bz2
5、打包:将指定文件或文件夹打成一个文件
tar -cvf bak.tar ./aaa
将/etc/password追加文件到bak.tar中(r)
tar -rvf bak.tar /etc/password
6、解包
tar -xvf bak.tar
7、打包并压缩
tar -zcvf a.tar.gz aaa/ bb/ c.txt
8、解包并解压缩(重要的事情说三遍!!!)
tar -zxvf a.tar.gz
解压到/usr/下
tar -zxvf a.tar.gz -C /usr
9、查看压缩包内容
tar -ztvf a.tar.gz
zip/unzip
10、打包并压缩成bz2
tar -jcvf a.tar.bz2
11、解压bz2
tar -jxvf a.tar.bz2
grep命令
重点使用方法:
ls /etc | grep profile
1/ 基本使用
查询包含hadoop的行
grep hadoop /etc/password
grep aaa ./*.txt
2/ cut截取以:分割保留第七段
grep hadoop /etc/passwd | cut -d: -f7
3/ 查询不包含hadoop的行
grep -v hadoop /etc/passwd
4/ 正则表达包含hadoop
grep ‘hadoop’ /etc/passwd
5/ 正则表达(点代表任意一个字符)
grep ‘h.*p’ /etc/passwd
6/ 正则表达以hadoop开头
grep ‘^hadoop’ /etc/passwd
7/ 正则表达以hadoop结尾
grep ‘hadoop$’ /etc/passwd
正则表达式的简单规则:
. : 任意一个字符
a* : 任意多个a(零个或多个a)
a? : 零个或一个a
a+ : 一个或多个a
.* : 任意多个任意字符
\. : 转义.
o\{2\} : o重复两次
查找不是以#开头的行
grep -v ‘^#’ a.txt | grep -v ‘^$’
以h或r开头的
grep ‘^[hr]’ /etc/passwd
不是以h和r开头的
grep -v ‘^[hr]’ /etc/passwd
grep ‘^[^hr]’ /etc/passwd
不是以h到r开头的
grep ‘^[^h-r]’ /etc/passwd