linux生产常用命令
企业生产常用命令(一)
1.~ 家目录
root用户,管理员,最大的权限
~ :当前该用户的 家目录
[root@bigdata01 ~]# cd /opt/test
[root@bigdata01 test]# cd
[root@bigdata01 ~]#
2. pwd 查看当前光标所在的目录(路径 path )
root用户,管理员,最大的权限
~ :当前该用户的 家目录
[root@bigdata01 ~]# cd /opt/test
[root@bigdata01 test]# pwd
/opt/test
3. ls 查看
ls:显示的 文件夹 文件的名称
[root@bigdata01 test]# ls
error.log mkdirFolder.sh test tjls-crm-bigdata-1.0-SNAPSHOT.jar
makeAllDeposit.sh nohup.out test.log tmp
ls -l :权限 用户用户组 时间 大小 ==》ll 等价
[root@bigdata01 test]# ls -l
total 84360
-rw-r--r-- 1 root root 68072 Nov 7 21:37 error.log
-rw-r--r-- 1 root root 1045 Nov 7 15:05 makeAllDeposit.sh
-rw-r--r-- 1 root root 364 Nov 6 20:26 mkdirFolder.sh
-rw------- 1 root root 85254726 Nov 7 20:54 nohup.out
drwxr-xr-x 2 root root 47 Nov 7 20:33 test
-rw-r--r-- 1 root root 0 Nov 6 15:36 test.log
-rw-r--r-- 1 root root 1042218 Nov 7 15:37 tjls-crm-bigdata-1.0-SNAPSHOT.jar
prw-r--r-- 1 root root 0 Nov 6 11:59 tmp
ls -l -a 显示隐藏文件和文件夹 ll -a ==》 ls -la
[root@bigdata01 test]# ll -a
total 84364
drwxr-xr-x 3 root root 203 Nov 7 21:39 .
drwxr-xr-x. 18 hdfs root 4096 Nov 6 15:54 ..
-rw-r--r-- 1 root root 68072 Nov 7 21:37 error.log
-rw-r--r-- 1 root root 1045 Nov 7 15:05 makeAllDeposit.sh
-rw-r--r-- 1 root root 364 Nov 6 20:26 mkdirFolder.sh
-rw------- 1 root root 85254726 Nov 7 20:54 nohup.out
drwxr-xr-x 2 root root 47 Nov 7 20:33 test
-rw-r--r-- 1 root root 0 Nov 6 15:36 test.log
-rw-r--r-- 1 root root 1042218 Nov 7 15:37 tjls-crm-bigdata-1.0-SNAPSHOT.jar
prw-r--r-- 1 root root 0 Nov 6 11:59 tmp
[root@bigdata01 test]#
以.开头的文件或者文件夹就叫 隐藏文件夹
ls -l -h 仅仅查看文件的大小 ll -h ls -lh
[root@bigdata01 test]# ll -h
total 83M
-rw-r--r-- 1 root root 67K Nov 7 21:37 error.log
-rw-r--r-- 1 root root 1.1K Nov 7 15:05 makeAllDeposit.sh
-rw-r--r-- 1 root root 364 Nov 6 20:26 mkdirFolder.sh
-rw------- 1 root root 82M Nov 7 20:54 nohup.out
drwxr-xr-x 2 root root 47 Nov 7 20:33 test
-rw-r--r-- 1 root root 0 Nov 6 15:36 test.log
-rw-r--r-- 1 root root 1018K Nov 7 15:37 tjls-crm-bigdata-1.0-SNAPSHOT.jar
prw-r--r-- 1 root root 0 Nov 6 11:59 tmp
ls -l -r -t 按时间排序 ll -rt ls -lrt
t: order time
[root@bigdata01 test]# ll -rt
total 84360
prw-r--r-- 1 root root 0 Nov 6 11:59 tmp
-rw-r--r-- 1 root root 0 Nov 6 15:36 test.log
-rw-r--r-- 1 root root 364 Nov 6 20:26 mkdirFolder.sh
-rw-r--r-- 1 root root 1045 Nov 7 15:05 makeAllDeposit.sh
-rw-r--r-- 1 root root 1042218 Nov 7 15:37 tjls-crm-bigdata-1.0-SNAPSHOT.jar
drwxr-xr-x 2 root root 47 Nov 7 20:33 test
-rw------- 1 root root 85254726 Nov 7 20:54 nohup.out
-rw-r--r-- 1 root root 68072 Nov 7 21:37 error.log
4. mkdir 创建文件夹
mkdir 1 2 3 并联创建文件夹
[root@bigdata01 test]# mkdir 1 2 3
[root@bigdata01 test]# ll
total 0
drwxr-xr-x 2 root root 6 Nov 8 11:32 1
drwxr-xr-x 2 root root 6 Nov 8 11:32 2
drwxr-xr-x 2 root root 6 Nov 8 11:32 3
mkdir -p 4/5/6 串联创建文件夹 级联
[root@bigdata01 test]# mkdir -p 4/5/6
[root@bigdata01 6]# pwd
/opt/test/test/test/4/5/6
5. cd 切换目录
/根目录
~ :当前该用户的 家目录
cd dir 切换到指定目录
cd ../退回上一层目录
cd ../../退回上2层目录
cd ../../../退回上3层目录
cd /root 家目录路径补全
cd 直接回车 J哥推荐的
cd ~
cd - 回退到上一次命令
6.目录(路径)
绝对目录 /根目录开头 路径是齐全的
相对目录 不是以/开头 路径是短的
[root@ruozedata001 ~]# cd 1
[root@ruozedata001 1]# cd ../
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# cd /root/1
[root@ruozedata001 1]#
[root@ruozedata001 1]# cd ../4/5
7.命令帮助 help
[root@ruozedata001 ~]# ls --help
Usage: ls [OPTION]... [FILE]...
[] 可选项
8.man 命令
会显示出详细的命令解释
[root@bigdata01 6]# man ls
9.clear 清理屏幕
ctrl + l也是清理屏幕
10.mv移动 cp复制
mv 始终是一份 快
cp 两份 慢
[root@ruozedata001 ~]# mv jepson 1
[root@ruozedata001 ~]# cp jepson2 1
cp: omitting directory ‘jepson2’
[root@ruozedata001 ~]#
移动复制文件夹
cp -r jepson2 1 非标
cp -r jepson2 1/jepson2 标准操作
cp -r jepson3 1/jepson33 修改名称的
11.创建文件
touch 1.log 【J哥推荐】
- vi 2.log 默认进入命令行模式
- i键 进入命令行模式--》编辑模式
- esc键 从编辑模式--》命令行模式
- shift+: 从命令行模式--》尾行模式。输入wq保存退出
12. 将一个文件清空
cat /dev/null > 3.log 清空文件内容 为空文件【J哥推荐】
echo "" > 4.log 【慎用
应用场景
先清理内容 再判断是否为空,
假如为空就继续执行脚本内容
否则退出
将文本内容 覆盖掉 【高危命令1】
cp mysql.cnf mysql.cnf20201107 养成好的习惯 很重要
>> 将文本内容 追加
13.查看文件内容
cat 文件内容一下子全部显示 ctrl+z中断 【J哥推荐】
适合内容少的,内容多 不适合
more 文件内容一页页 往下翻,按空格往下翻,ctrl+b回退 q退出 【J哥推荐】
适合内容多的
less 文件内容 按键盘的上下键 按行为单位 q退出
14. tail 实时查看文件内容
tail -f 假如文件被移除 然后重命名 就无法再监控到文件
tail -F 假如文件被移除 然后重命名 会不断的retry尝试 去监控文件,直到监控到位
-f, --follow[={name|descriptor}]
output appended data as the file grows;
an absent option argument means 'descriptor'
-F same as --follow=name --retry
log4j 日志组件
规则: 大小为100M,保留10份
erp.log
mv erp.log erp.log1
touch erp.log
erp.log 空的---》100m
erp.log1 100m
mv erp.log erp.log2
touch erp.log
erp.log 空的
erp.log1 100m
erp.log2 100m
16年项目中踩的坑
log--->flume-->kafka
监控的时候需要用tail -F 因为日志打印过程中,会创建新的文件,文件名称会发生变化,tail -f检测不到
想要查看文件内容倒数100行,且实时监控 tail -100f 1.log
15.文件内容特别多 如何快速定位到ERROR、关键词信息
cat CloudAgent.log | grep ERROR
| 管道符 grep过滤 ERROR----过滤内容
cat CloudAgent.log | grep -A 10 ERROR 后10行
cat CloudAgent.log | grep -B 10 ERROR 前10行
cat CloudAgent.log | grep -C 10 ERROR 前后各10行 20行 [J哥推荐]
比如 ERROR 很多 成千上万 【J哥推荐】
cat CloudAgent.log | grep -C 20 ERROR > 20201107error.log
more 20201107error.log
另一种方法
通过编辑去搜索
vi xxx.log
shift+:
/ERROR 回车
n键寻找
分析日志的方法
将日志文件 下载到window电脑,进行搜索 定位 分析 【J哥推荐】
坑: 假如CloudAgent.log 原文件很大,那么从生产下载到公司网络 是不是要走外网带宽10M的,
想问 会不会影响 公司服务?
建议: 假如下载大文件,业务高峰或者工作日白天 尽量不要做,非要做,那就【限速】(FTP/xftp)
16.上传下载
yum install -y lrzsz
sz xxx.log 下载 Linux--》window
rz 直接回车 相反的
17.别名 alias
例如:ls -l ==>ll
未来生产上 常用的命令 或 复杂的命令 一串,可以使用别名 来简化
[root@ruozedata001 ~]# alias jlog='cd /var/log'
[root@ruozedata001 ~]#
[root@ruozedata001 ~]#
[root@ruozedata001 ~]# pwd
/root
[root@ruozedata001 ~]# jlog
[root@ruozedata001 log]# pwd
/var/log
[root@ruozedata001 log]#
错误案例
[root@ruozedata001 ~]# jlog
-bash: jlog: command not found 【错误1】
[root@ruozedata001 ~]#
没有设置全局生效*
18.环境变量
全局环境变量: /etc/profile
source /etc/profile
当前会话生效
已经开启的会话不会跟着自动生效,需要重新执行生效命令
新开的会话是自动的生效
个人环境变量:~/.bash_profile
~/.bashrc 【J哥推荐】
[root@ruozedata001 ~]# source .bash_profile
[root@ruozedata001 ~]# . .bash_profile
两种个人环境变量的区别
场景:
ssh 远程执行B机器 启动服务命令 抛错, java command not found
直接登录B机器 命令是找到的 which java找到
最后解决问题
配置环境变量文件在 .bash_profile 是不正确的,
应该配置在 .bashrc文件里。
https://blog.csdn.net/whitehack/article/details/51705889
19.创建用户和设置密码
创建用户
[root@ruozedata001 ~]# useradd jj
[root@ruozedata001 ~]# id jj
uid=1005(jj) gid=1006(jj) groups=1006(jj)
设置密码
[root@ruozedata001 ~]# passwd jj
Changing password for user jj.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@ruozedata001 ~]#
20. tab
按一次 匹配只有一串的 就补齐这串
按2次 打印出匹配的所有字符
21.历史命令 history
[root@ruozedata001 ~]# !999 执行
cd /var/log/
[root@ruozedata001 log]#
清空历史记录,一旦误操作,怕被查出来
直连服务器 ok
跳板机(VPN) 服务器 ok
堡垒机 敲一个命令 都会被记录,在堡垒机系统 web界面 一定位就出来了gameover,这个没办法
[root@ruozedata001 log]# history -c 清空