linux生产常用命令(一)

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 清空


你可能感兴趣的:(linux生产常用命令(一))