Hadoop Day02

基本日常操作命令

linux的文件系统:
bin:存放一些可执行的程序(命令)
boot: 存放系统启动所需要的一些文件
dev:系统中的设备(硬件在linux中通过“文件”来标识)
etc:存放配置文件的地方
home:用户目录的总目录,比如用户hadoop的主目录: /home/hadoop
lib lib64: 系统库目录
mnt:用于挂载外部存储设备的文件
root:是root用户的主目录
sbin:存储一些系统级的可执行命令,只有拥有root权限的用户才能执行
tmp:系统自带的一个临时目录
usr:unix shared resources,共享资源目录

1、

  • 查看当前所在的工作目录的全路径 pwd

    [test@hdp-node-01 ~]$ pwd

  • 查看当前系统的时间 date

 [test@hdp-node-01 ~]$ date +%Y-%m-%d 
 [test@hdp-node-01 ~]$ date +%Y-%m-%d  --date="-1 day"   #加减也可以 month  | year

2、

  • 设置时间
date -s "2019-08-28 9:19"      ## 修改时间

修改时间后,需要写入硬件bios才能在重启之后依然生效

hwclock -w

3、

  • 查看有谁在线(哪些人登陆到了服务器)
    who 查看当前在线
[test@hdp-node-01 ~]$ who
  • last 查看最近的登陆历史记录
  [test@hdp-node-01 ~]$ last -3

4、关机/重启
tip:关机(必须用root用户)

shutdown -h now  ## 立刻关机
shutdown -h +10  ##  10分钟以后关机
shutdown -h 12:00:00  ##12点整的时候关机
halt   #  等于立刻关机
## 重启
shutdown -r now
reboot   # 等于立刻重启

5、清屏

clear ##或者用快捷键 Ctrl + l

6、退出当前进程

Ctrl+c  有些程序可以用去键退出

7、挂起当前进程

ctrl+z   ## 进程会挂起到后台
jobs   ## 查看job列
bg jobid  ## 让进程在后台继续执行
fg jobid   ## 让进程回到前台
kill jobid   ##杀掉

8、echo
相当于java中System.out.println(userName)

[root@localhost bbb]# a="感觉ing"
[root@localhost bbb]# 
[root@localhost bbb]# echo a
a
[root@localhost bbb]# echo $a
感觉ing

目录操作

  1. 查看目录信息
ls/##查看根目录下的子节点(文件夹和文件)信息
ls -al ##-a是显示隐藏文件,-l是以更详细的列表形式显示
  1. 切换工作目录
cd  /home/hadoop    ## 切换到用户主目录
cd ~     ## 切换到用户主目录
cd  什么路径都不带,则回到用户的主目录
cd -     ##  回退到上次所在的目录
  1. 创建文件夹
mkdir aaa     ## 这是相对路径的写法 
mkdir  /data    ## 这是绝对路径的写法 
mkdir -p  aaa/bbb/ccc   ## 级联创建目录
  1. 删除文件夹
rmdir  aaa   ## 可以删除空目录
rm  -r  aaa   ## 可以把aaa整个文件夹及其中的所有子节点全部删除
rm  -rf  aaa   ## 强制删除aaa
  1. 修改文件夹名称
mv  aaa  angelababy
mv本质上是移动
mv  install.log  aaa/  将当前目录下的install.log 移动到aaa文件夹中去
  • rename 可以用来批量更改文件名

    语法
    rename(参数)
    参数
    原字符串:将文件名需要替换的字符串;
    目标字符串:将文件名中含有的原字符替换成目标字符串;
    文件:指定要改变文件名的文件列表。

    • 实例
      将main1.c重命名为main.c
    rename main1.c main.c main1.c 
	rename**支持通配符**
	
	? 可替代单个字符 
	* 可替代多个字符 

文件操作

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文本编辑器

  • 最基本用法

    vi somefile.4

1/ 首先会进入“一般模式”,此模式只接受各种命令快捷键,不能编辑文件内容
2/ 按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容
3/ 编辑完成之后,按Esc键退出编辑模式,回到一般模式;
4/ 再按:,进入“底行命令模式”,输入wq命令,回车即可保存退出
(wq保存并退出,q!不保存退出,q退出)

  • 常用快捷键

一些有用的快捷键(在一般模式下使用):

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粘贴
  • 查找并替换

(在底行命令模式中输入)
显示行号

:set nu

隐藏行号

:set  nonu

查找关键字

you       ## 效果:查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)
:s/sad/bbb             ## 查找光标所在行的第一个sad,替换为bbb
:s/sad/bbb/g           ## 替换查找光标所在行的所有sad为bbb
:%s/sad/bbb           ## 查找文件中所有行的第一个sad,替换为bbb
:5,$s/hadoop/root/g    ## 将第5行到最后一行的hadoop替换为root
:1,$s/hadoop/root/c    ## 将第一行到最后一行的hadoop替换为root(有提示)

拷贝/删除/移动

cp  somefile.1   /home/hadoop/
cp目录
cp -R 目录1  目录2
rm /home/hadoop/somefile.1
rm -rf /home/hadoop/somefile.1
mv /home/hadoop/somefile.1  ../

查看文件内容

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行

打包压缩

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

10、打包并压缩成bz2
tar -jcvf a.tar.bz2

11、解压bz2
tar -jxvf a.tar.bz2

查找命令
1 常用查找命令的使用
查找可执行的命令所在的路径:

which ls

查找可执行的命令和帮助的位置:

whereis ls

我是谁,当前登录的用户是谁

whoami

从某个文件夹开始查找文件

find / -name "hadooop*"
find / -name "hadooop*" -ls

查找并删除

find / -name "hadooop*" -ok rm {} \;
find / -name "hadooop*" -exec rm {} \;

查找用户为hadoop的文件和文件夹还有隐藏文件

find  /usr  -user  hadoop  -ls

查找用户为hadoop的文件/还有隐藏文件

find /home -user hadoop -type f -ls

查找用户为hadoop的文件夹

find /home -user hadoop -type d -ls

查找权限为777的文件

find / -perm -777 -type d -ls

**、显示历史命令

history

2grep命令
重点使用方法:

ls /etc | grep profile

1/ 基本使用

cat /etc/passwd

查询包含niu的行

grep niu /etc/password
grep aaa  ./*.txt 

2/ cut截取以:分割保留第七段

grep niu /etc/passwd | cut -d: -f7

3/ 查询不包含niu的行

grep -v niu /etc/passwd

4/ 正则表达包含niu

grep 'niu'  /etc/passwd

5/ 正则表达(点代表任意一个字符)

grep 'h.*p' /etc/passwd

6/ 正则表达以niu开头

grep '^niu' /etc/passwd

7/ 正则表达以niu结尾

grep 'niu$' /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

文件权限的操作
1 linux文件权限的描述格式解读

drwxr-xr-x      (也可以用二进制表示  111 101 101  -->  755)

2 修改文件权限

chmod g-rw haha.dat		## 表示将haha.dat对所属组的rw权限取消
chmod o-rw haha.dat		## 表示将haha.dat对其他人的rw权限取消
chmod u+x haha.dat		## 表示将haha.dat对所属用户的权限增加x
chmod a-x haha.dat        ## 表示将haha.dat对所用户取消x权限

3 修改文件所有权

<只有root权限能执行>
chown  angela   aaa		## 改变所属用户
chown  :angela   aaa		## 改变所属组
chown  angela:angela  aaa/	## 同时修改所属用户和所属组

补充:
r: 对文件来说,是可读取内容;对文件夹来说,是可以ls
w: 对文件来说,是可修改文件的内容;对文件夹来说,是可以在其中创建或者删除子节点
x: 对文件来说,是能否运行这个文件;对文件夹来说,是能否cd进入这个目录

网络管理

主机名配置
1/ 查看主机名

hostname

2/ 修改主机名(重启后无效)

hostname hadoop

3/ 修改主机名(重启后永久生效)

vi /ect/sysconfig/network

你可能感兴趣的:(Hadoop Day02)