大數(shù)據(jù)之Linux生產(chǎn)常用命令一+二
1.清楚屏幕 clear
2.mv移動 cp復制
mv是文件始終一份 速度快
cp是存在兩份文件 速度慢
不標準寫法:
mv dir1 ruozedata
cp -r dir2 ruozedata
標準寫法:
mv dir1 ruozedata/dir1
cp -r dir2 ruozedata/dir2
也支持修改名稱
mv dir2 dir22
cp -r dir3 dir33 #可以支持復制的同時修改文件名稱
3.創(chuàng)建文件
a.touch 1.log 創(chuàng)建空文件
b.vi 2.log 創(chuàng)建文件并用vim編輯器打開編輯
vim操作簡介:
???默認命令行
???i鍵 編輯模式网缝,進行編輯
???esc鍵 從編輯模式--》命令行模式
???shift+:鍵 從命令行模式--》尾行模式船惨,輸入wq 保存退出
c.主要場景是為了 覆蓋內容 或者 追加內容
echo "ruozedata" > 3.log
打印一句話進入3.log文件
">" 創(chuàng)建或覆蓋 【高危命令1】
'>>' 追加
4.查看文件內容 log config data
cat 文件內容一下子全部顯示 ctrl+z 中斷
more 文件內容一頁頁往下翻适刀,按空格往下 Ctrl+B 回退 q退出
less 文件內容 按上下鍵 q退出
cat 適用于文件內容少的情況
more 適用于文件內容稍微多點的情況
tail 實時查看文件最新內容
???tail -f xxx.log 基本不太用來自動提取實時監(jiān)控锭硼,
???當文件不在之后就不會在嘗試查看葛作,即使文件重新創(chuàng)建
???tail -F yyy.log =-f+ retry再次嘗試采集信息
場景:
a.采集業(yè)務log日志內容 log4j(業(yè)務系統(tǒng)中很多是)
??規(guī)則: 每份100m 保留10份
??系統(tǒng)--》 erp.log 90m ...100m
???mv erp.log erp.log1
???touch erp.log
ll命令查看乳怎,會存在11份數(shù)據(jù)
erp.log
erp.log1
erp.log2
....
erp.log10
b.大數(shù)據(jù)Flume組件 exec source: tail -F erp.log 生產(chǎn)上面監(jiān)控數(shù)據(jù)指令
想要查看文件內容倒數(shù)100行,同時實時監(jiān)控
tail -100f xxx.log
tail -100F xxx.log 錯誤的
文件內容超多時 需要定位ERROR 信息
cat xxx.log | grep ERROR #提取當前行
cat xxx.log | grep -A 5 ERROR #提取關鍵字出現(xiàn)的后5行
cat xxx.log | grep -B 5 ERROR #提取關鍵字出現(xiàn)的前5行
cat xxx.log | grep -C 5 ERROR #提取關鍵字出現(xiàn)的前后各5行
如果沒有-A-B-C則只會打出錯誤行芹橡,最好前后打印15.20行的數(shù)據(jù)
| 管道符 前面命令的結果是接下來的輸入數(shù)據(jù)
grep 過濾
比如 xxx.log ERROR 很多 上萬個 可以導出到單獨文件查看
cat xxx.log | grep -C 5 ERROR > 20200418error.log
more 20200418error.log
文件內容100m :
???vi xxx.log
????shift+:
????/ 代表搜索的語法,之后輸入需要尋找的對象
????ERROR
????n尋找有勾,下翻
???下載到window
???editplus(window)
???notepad++
???sublime(widnow mac)工具 搜索 統(tǒng)計 校驗
5. 上傳下載
安裝工具包 yum install -y lrzsz
sz xxx.log是下載 Linux--》window
rz 是上傳 window--》Linux
6.別名 alias
[root@hadoop001 log]# alias
alias cp='cp -i' #需要加引號才可以設置
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@hadoop001 log]#
自制別名只在當前會話生效疹启,會話即xshell的一個窗口
[root@hadoop001 log]# alias jj='cd /tmp'
其他會話不生效
[root@hadoop001 ~]# jj
-bash: jj: command not found
是因為沒有在環(huán)境變量文件配置
7.環(huán)境變量
全局 : /etc/profile 所有用戶都可以使用
個人:
??? ~/.bash_profile 只能是設置命令的當前用戶使用 其他不能使用
??? ~/.bashrc [設置個人別名主要修改這個文件]
??? 場景: 使用ssh 遠程執(zhí)行B機器 +命令
??? 提示找不到命令 java command not found
??? 但是直接登錄B機器 命令是找到的 which java有的
命令的環(huán)境變量配置在.bash_profile 是不正確的。
應該配置在.bashrc文件
想在配置后蔼卡,全局生效喊崖,需要新開窗口,老窗口可看作靜態(tài)窗口
生效文件:修改后需要操作之后才會生效
source /etc/profile
source ~/.bash_profile
source ~/.bashrc
cd 進家目錄
.空格.bashrc
8.創(chuàng)建用戶
root 默認管理員用戶 已存在的
創(chuàng)建luc用戶
[root@hadoop001 ~]# useradd luc
[root@hadoop001 ~]# su - luc
[luc@hadoop001 ~]$ pwd
/home/luc
[luc@hadoop001 ~]$
[luc@hadoop001 ~]$ jj 是因為jj配置在全局變量文件
[luc@hadoop001 tmp]$ pwd
/tmp
[luc@hadoop001 tmp]$
9.自動補全
tab鍵一次雇逞,只有1個 命令自動補全
??????多個 沒響應
?按二次荤懂,會把當前匹配到的 所有命令打印出來,再挑選
10.history 歷史命令
輸入history塘砸,彈出歷史命令
!2 執(zhí)行第二行命令
history -c 清空歷史 节仿,不想讓人知道自己的操作,把尾巴擦干凈
可使用的情況掉蔬,區(qū)分服務器類型
直連 服務器 ok
跳板機(vpn) 服務器 ok
堡壘機 敲一個命令 都記錄 堡壘機系統(tǒng)里 web界面 可視化
11.【高危命令】 rm
千萬不要做 rm -rf 全完蛋
[root@hadoop001 ~]# rm 11.log
rm: remove regular file ‘11.log’? y #rm命令會詢問是否刪除
[root@hadoop001 ~]# rm -f 1.log #-f直接刪除不詢問
[root@hadoop001 ~]# rm -r dir22 #-r刪除文件夾廊宪,之前詢問
rm: remove directory ‘dir22’? y
[root@hadoop001 ~]# rm -rf dir33 #-rf所有東西全部直接刪除不提示矾瘾,慎用
[root@hadoop001 ~]#
可用場景:
在腳本里設置
LOG_PATH=/xxx/yyy
需要根據(jù)業(yè)務邏輯判斷 去賦值
??漏了一種 沒有賦值
rm -rf ${LOG_PATH}/* ==》rm -rf /*
該怎么避免 :
每次刪除之前 都判斷${LOG_PATH} 是否存在
補充:
[root@JD ~]# hostnamectl set-hostname hadoop001 #JD云改主機名
[root@hadoop001 ~]# ifconfig # 找內網(wǎng)ip 或者 京東云控制臺查看
[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