1. 查看当前路径
[root@hadoop001 ~]# pwd
/root
2. ls查看
2.1 仅显示文件夹、文件名称
[root@hadoop001 ~]# ls
2.2 显示额外信息 权限 用户用户组 时间 大小
2.3 显示额外信息,也显示隐藏文件夹 文件(隐藏文件以.开头)
[root@hadoop001 ~]# ls -l -a
total 40
dr-xr-x---. 6 root root 4096 Apr 15 21:51 .
dr-xr-xr-x. 17 root root 4096 Aug 8 2018 ..
-rw-------. 1 root root 3814 Apr 15 21:49 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
2.4 仅查看文件大小
[root@hadoop001 ~]# ls -l -h
2.5 按时间排序查看最新文件
[root@hadoop001 ~]# ls -l -r -t
3. 创建文件夹(mkdir)
3.1 同时创建多个文件夹
[root@hadoop001 ~]# mkdir dir1 dir2 dir3
3.2 级联创建(记得加参数-p哦)
[root@hadoop001 ~]# mkdir -p dir4/dir5/dir6
4. 切换路径
4.1 切换到根目录
[root@hadoop001 ~]# cd /
4.2 切换到上一层目录
[root@hadoop001 ~]# cd ../
4.3 切换到家目录(符号为~)
root用户 家目录 /root
普通xx用户 家目录 /home/xx
以下是进入家目录的三种方式
[root@hadoop001 ~]# cd /root root 用户
[root@hadoop001 ~]# cd /home/xx 普通xx用户
[root@hadoop001 ~]# cd 直接回车
[root@hadoop001 ~]# cd ~
4.4 回到上次访问的目录
[root@hadoop001 ~]# cd -
5. 命令帮助
[root@hadoop001 ~]# 命令 --help
6. 清除屏幕:输入一个clear就欧克啦
7.mv移动和cp复制
[root@hadoop001 ~]# mv dir1 ruozedata/dir1
注意复制文件夹的时候记得用-r(递归参数哦!!!)
[root@hadoop001 ~]# cp -r dir2 ruozedata/dir2
这两个功能也可用作重命名文件
[root@hadoop001 ~]# mv dir2 dir22
[root@hadoop001 ~]# cp -r dir3 dir33
8. 创建文件
创建文件分为创建空文件和非空文件
创建一个空文件,我们直接用touch命令
[root@hadoop001 ~]# touch 1.log
非空文件创建
- echo:打印一句话直接到文件
- vi:编辑一个文件,自动创建
[root@hadoop001 ~]# echo "hadoop > 3.log
[root@hadoop001 ~]# vi 3.log
9.覆盖与追加
- 覆盖 >(高危高危!!!慎用)
- 追加 >>
将hadoop直接覆盖原文件内容
[root@hadoop001 ~]# echo "hadoop" > 3.log
将hadoop追加到原文件内容后面
[root@hadoop001 ~]# echo "hadoop" > 3.log
10. 查看文件内容 (log config data)
cat xxx.log 文件内容一下子全部显示 ctrl+z 中断(适用于较少内容的文件)
more xxx.log 文件内容按页查找,按空格往下 Ctrl+B回退 q退出(文件内容相对较多)
less xxx.log 文件内容 按上下键 q退出
tail 实时查看文件最新内容(重点)
tail -F = tail -f + retry
场景:在被监控的文件被移走且重命名后,又创建了一个相同名字的文件,系统会retry把这个文件找到,继续监控。
常用于大数据flume组件exec source: tail -F erp.log
查看文件后100行内容,并实时监控
[root@hadoop001 ~]# tail -100f xxx.log
[root@hadoop001 ~]# tail -F xxx.log
11. 管道过滤
如果文件内容超多,又想快速定位到需要的信息,我们用管道
下面定位某篇日志的ERROR信息
[root@hadoop001 ~]# cat xxx.log | grep ERROR 当前行
[root@hadoop001 ~]# cat xxx.log | grep -A 5 ERROR 后5行
[root@hadoop001 ~]# cat xxx.log | grep -B 5 ERROR 前5行
[root@hadoop001 ~]# cat xxx.log | grep -C 5 ERROR 前后各5行
如果定位出来的ERROR多达上万个,我们可以将其打印在一个新的
文件,用more查看
[root@hadoop001 ~]# cat xxx.log | grep -C 5 ERROR > 20200418error.log
[root@hadoop001 ~]# more 20200418error.log
12. 上传下载
安装工具包
下载 sz 从Linux到windows
上传 rz 从windows到Linux
安装工具包
[root@hadoop001 ~]# yum install -y lrzsz
下载
[root@hadoop001 ~]# sz xxx.log
上传
[root@hadoop001 ~]# sz xxx.log
13. 删除rm(又来一个高危命令,跑路的那种)
千万不要做 rm -rf / 一了百了!!!
[root@hadoop001 ~]# rm 11.log
rm: remove regular file ‘11.log’? y
[root@hadoop001 ~]# rm -f 1.log
[root@hadoop001 ~]# rm -r dir22
rm: remove directory ‘dir22’? y
[root@hadoop001 ~]# rm -rf dir33
[root@hadoop001 ~]#
14. 环境变量
全局 变量: /etc/profile 所有用户都可以使用
个人变量: ~/.bash_profile 只能是当前用户使用 其他不能使用~/.bashrc 【推荐】
场景:如果将环境变量配置在~/.bash_profile , ssh远程执行B机器,这个命令是找不到的(java command not found ),直接登陆B机器,可以被找到
(which java),所以应该配置在~/.bashrc文件里。
- 文件生效三个方式
[root@hadoop001 ~]# source ~/.bash_profile(或者是~/.bashrc)
[root@hadoop001 ~]# source /etc/profile
进家目录
[root@hadoop001 ~]# . .bashrc
15. 设置机器名以及ip映射
[root@Localhost ~]# hostnamectl hostnamectl set-hostname hadoop001
[root@hadoop001 ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.3 hadoop001
16. 用户,用户组
创建一个普通 用户 用户名称 czy,同时也会创建一个 czy用户组
设置czy用户的组为czy,且把这个czy用户组设置为主组。同时也创建家目录
/home/czy.
[root@hadoop001 ~]# useradd czy
[root@hadoop001 ~]# id czy
uid=1002(czy) gid=1003(czy) groups=1003(czy)
- 样式丢失:将家目录下所以的.bash*文件删除,再退出重登用户,会出现以下情况:
[root@hadoop001 ~]# su - czy
[czy@hadoop001 ~]$ rm -rf .bash*
[czy@hadoop001 ~]$ exit
logout
[root@hadoop001 ~]# su - czy
Last login: Tue Apr 21 16:11:35 CST 2020 on pts/0
-bash-4.2$
-bash-4.2$
-bash-4.2$
样式恢复:将/etc/skel下所有以.开头的文件全部复制到当前文件夹,再重新登陆一下用户。
-bash-4.2$ cp /etc/skel/.* ./
cp: omitting directory ‘/etc/skel/.’
cp: omitting directory ‘/etc/skel/..’
cp: omitting directory ‘/etc/skel/.mozilla’
-bash-4.2$ exit
logout
[root@hadoop001 ~]# su - czy
Last login: Tue Apr 21 16:11:57 CST 2020 on pts/0
[czy@hadoop001 ~]$
- 添加用户到Bigdata用户组
[root@hadoop001 ~]# usermod -a -G Bigdata czy
[root@hadoop001 ~]# id czy
uid=1002(czy) gid=1003(czy) groups=1003(czy),1002(Bigdata)
[root@hadoop001 ~]# usermod -g Bigdata czy
[root@hadoop001 ~]# id czy
uid=1002(czy) gid=1002(Bigdata) groups=1002(Bigdata)
[root@hadoop001 ~]# usermod -a -G czy czy
[root@hadoop001 ~]# id czy
uid=1002(czy) gid=1002(Bigdata) groups=1002(Bigdata),1003(czy)
[root@hadoop001~]#
17. 切换用户
[root@hadoop001 ~]# su czy
推荐下面的方式,登陆用户直接切换到家目录,且执环境变量文件
[root@hadoop001 ~]# su - czy
18. sudo 普通用户临时使用root的最大权限
编辑/etc/sudoers文件
czy ALL=(root) NOPASSWD:ALL
19. /etc/passwd文件
czy:x:1004:1005::/home/czy:/sbin/nologin 有提示无法登陆
czy:x:1004:1005::/home/czy:/usr/bin/false 无提示
[root@hadoop001 ~]# vi /etc/passwd
[root@hadoop001 ~]# su - czy
Last login: Tue Apr 21 16:14:53 CST 2020 on pts/0
This account is currently not available.
[root@hadoop001 ~]#
[root@hadoop001 ~]# su - czy
Last login: Tue Apr 21 16:38:52 CST 2020 on pts/0
[root@hadoop001 ~]#
20. 权限
[root@hadoop001 ~]# ll
-rw-r--r-- 1 root root 9 Apr 18 20:50 22.log
drwxr-xr-x 2 root root 6 Apr 15 22:12 dir3
第一个字母:d文件夹 -文件 l链接
后面9个字母,3个字母为一组:
rw- r-- r--
r: read 读权限 4
w: write 写权限 2
x: 执行 1
-: 没权限 0 占位
7=4 2 1
5=4 1
6=4 2
rw- 第一组 6 代表文件或文件夹的所属用户,读写权限
r-- 第二组 4 代表文件或文件夹的所属用户组,读权限
r-- 第三组 4 代表其他用户组的用户对这个文件或文件夹,读权限
rw-r--r-- root root 22.log
案例:
[root@hadoop001 tmp]# vi czy.log
www.xxxxxxxxxxxx.com
[czy@hadoop001 tmp]$ cat czy.log
www.xxxxxxxxxxxx.com
[czy@hadoop001 tmp]$
收回其他组的r权限
[czy@ruozedata001 tmp]$ cat czy.log
cat: czy.log: Permission denied
[czy@ruozedata001 tmp]$
21.查看大小
文件: ll -h 、du -sh
文件夹: du -sh
[root@ruozedata001 ~]# ll -h
total 20K
-rw-r--r--. 1 root root 22 Apr 19 23:07 11.log
-rw-------. 1 root root 1.5K Apr 16 14:19 anaconda-ks.cfg
-rw-r--r--. 1 root root 5.0K Apr 19 23:45 cat.log
drwxr-xr-x. 2 root root 6 Apr 20 15:10 dir111
[root@ruozedata001 ~]# du -sh
84K .
[root@ruozedata001 ~]#
22. 常用快捷方式
- dd 删除当前行
- dG 删除当前及以下所有行
- ndd 删除当前及以下n行
- gg 跳转到第一行的第一个字母
- G 跳转到最后一行的第一个字母
- shift+$ 行尾
23. 清空文件
清空补充:
- cat /dev/null > 1.log
- echo "" > 2.log
[root@hadoop001 ~]# ll
total 16
-rw-r--r-- 1 root root 0 Apr 19 21:58 1.log
-rw-r--r-- 1 root root 1 Apr 19 21:58 2.log
场景:
shell脚本,数据文件清空操作,根据字节大小判断是否清空完成
echo "" > 2.log
if filezise > 0 then
业务不操作
else
2.log 灌业务数据
注:会继续更新!!!