1.find
find? /data -type -f? ? -----查找data文件夾下文件類型文件
find /data? -type f -name ‘dalei.txt’ ----根據文件名和文件類型查找
find /data -type f -name 'dalei.txt'? --exec? rm {} \.----表示對找到的對象采取什么動作
find?.?-type?f?-exec?ls?-l?{}?\;
find /test -type f -name "*.txt" | xargs rm -f-----刪除所有txt文件
find -name '*.sh' |grep a------------文件名包含a的文件
find -name '*.sh' |xargs grep a------------文件內容包含a的文件
find -name '*.sh' |xargs cat ---------------打印所有符條件文件的內容
總結:
-type類型包含-f(file)、-d(文件夾)等
-name 文件名
2.touch
touch {1..10}.txt
3.grep過濾命令(linux三劍客grep/awk/sed之一,過濾需要的內容)
grep -v haha? 'dalei.txt' ------取出不包含haha的其他行數據
grep haha 'dalei.txt'-----------取出包含haha的行數據
grep -n 'boss dev' README.md------------n顯示行號
grep -A? -B -C
4.head(取出文件的前n行,默認是前十行)
head -n? 1.txt??
5.tail(輸出文件的后n行,默認是后10行 )
6.mkdir -p /a/b/c(連續(xù)創(chuàng)建命令)
7.tree(文件結構,yum install tree -y安裝)
tree -L 1 -------------- 查看一級目錄
8.alias和unalias
alias------查看別名
alias rr='rm -f'? ------- 設置別名
unalias rr? ----------? 臨時取消別名
定義別名永久生效方法:
/etc/profile ------- 全局生效
~/.bashrc? -------- 當前用戶生效
9.更新補丁 yum install
10.sed(linux三劍客老二,stream editor流編輯器,實現對文件的增刪改替換查,取行)
sed -n '20,30'p 1.txt? ---------? ?打印出20至30行的數據(p是打?。?/p>
sed -n '20'p 1.txt? ---------? ?打印第20行的數據
sed -i 's#boy#girl#g' 1.sh? --------- 將1.sh文件中boy替換為girl(s查找替換,g全局,-修改內容)
find /test -type f -name '*.sh'|xargs sed -i 's#boy#girl#g'

1.1 增加


a追加文本到指定行后
i插入文本到指定行前
sed -i -------修改文本內容
2.2 刪除
d------刪除指定的行


3.改
3.1 按行替換
c---------用新行取代舊行

3.2 文本替換
s--------單獨使用時,將每一行中第一次匹配的字符串進行替換
g---------每一行進行全部替換
-i---------修改文件內容



3.3 分組替換
4.查詢
p--------輸出指定內容,和-n結合使用
4.1 按行查詢

4.2 按照字符串查詢

4.3 混合查詢

11.awk(linux三劍客老大,過濾、輸出內容,一門語言,主要用于處理日志、文本。NR代表行號)
awk 'NR>19&&NR<31' 1.txt? ---------? ?取出20至30行的數據(p是打印)
awk 'NR==1' 2.txt? -------------- 取出第一行數據
12.xargs
從標準輸入(管道,輸入重定向)獲取數據。并將數據轉換為命令行的參數。
xargs < 1.txt
13.cat
cat >>1.txt <<EOF------EOF為結束符
設置普通用戶:
1.useradd dalei--------設置用戶名
2.tail -l /etc/passwd
3.passwd dalei-------設置密碼
4.su - dalei ---------角色切換
5.whoami ---------查看當前用戶
打印系統(tǒng)信息
uname -a?
hostname---顯示主機名
關機
shutdown?
重啟
shutdown? -r now
reboot
關閉防火墻
/etc/init.d/iptables status---------臨時關閉
chkconfig iptables off -----------開機也不啟動
查看命令
which
批量創(chuàng)建文件
touch file{1..10}.txt
seq 1 10?
查看文件屬性
ls -lhi 或 ls -li

第一列:索引節(jié)點inode
硬盤存儲數據(房子住人),手電要分區(qū)(隔斷),然后格式化創(chuàng)建文件系統(tǒng)(裝修),最后存數據(住人)
Block是用來存儲實際數據用的,例如照片視頻等普通文件數據,而inode就是用來存儲這些數據屬性信息的(也就是ls -l的結果)
inode作用:
1.inode包含屬性信息包括文件大小,屬主,歸屬的用戶組,讀寫權限,文件類型,修改時間,還包含想文件實體的指針的功能(inode節(jié)點--block的對應關系),但是inode唯獨不包含文件名。
2.為每個文件進行信息索引

1.磁盤被分區(qū)格式化文件系統(tǒng)后,會分為inode和block兩部分內容
2.inode存放文件的屬性以及指向文件實體的指針,文件名不在inode里,一般在上級目錄的block里
3.訪問文件,通過文件名-------->inode--------->blocks
4.inode默認大小為256,block大小1,2,4k,默認是4k,注意,引導分區(qū)等特殊分區(qū)除外
5.一個block只能被一個文件使用,如果文件很小block很大,剩余空間浪費,無法繼續(xù)被其他文件使用。
6.block不是越大越好,要根據業(yè)務的文件大小進行選擇。
linux文件類型:
1,純文本文件,可以用cat命令讀文件,比如配置文件幾乎都是這種類型
2,二進制文件,linux中的命令程序就是屬于這種格式,例如cat命令就是一個二進制文件
3,數據格式文件

鏈接
硬鏈接:ln? 源文件? ?目標文件
硬鏈接通過索引節(jié)點inode進行鏈接,多個文件指向同一個inode
軟鏈接:ln? -s 源文件? ?目標文件(目標文件不能事先存在),類似于windows快捷方式


對于目錄不能創(chuàng)建硬鏈接,只能創(chuàng)建軟鏈接
linux文件刪除的原理:

用戶與組的關系


添加組
groupadd? ? name----------添加組
useradd 用戶名 -g? 組名---------添加用戶(主人)到該組(家)
useradd 用戶----------主人及家庭成員以外的人
提示;如果用戶提示存在就usermod -g 組名 用戶名修改
cronb
crontab.guru - the cron schedule expression editor

定時任務生產應用問題10箴言:
1.系統(tǒng)環(huán)境變量導致定時任務執(zhí)行問題
2.定時任務里的命令要使用絕對路徑
3.腳本權限問題加/bin/sh
4.時間變量問題用反斜線\%轉義,最好用腳本
5.>/dev/null 2>&1問題
6.定時任務規(guī)則之前加注釋
7.使用腳本任務代替命令行執(zhí)行定時任務
8.避免不必要的程序及命令輸出
9.切到目標目錄的上一級打包目標
10.定時任務腳本中的程序命令盡量使用全路徑(和環(huán)境變量的識別有關)
注意 :
當程序在你所指定的時間執(zhí)行后,系統(tǒng)會寄一封信給你,顯示該程序執(zhí)行的內容,若是你不希望收到這樣的信,請在每一行空一格之后加上 > /dev/null 2>&1 即可
Rsync
本地或遠程文件同步工具,類似ssh的scp命令
scp每次是全量拷貝,rsync可以增量拷貝
工作場景:
兩臺服務器之間數據同步(定時任務)即cron+rsync
reload
1,重新加載配置文件,使命令生效
2,不用配置文件直接提供掛載服務
pkill
pkill命令可以按照進程名殺死進程,也是直接殺死運行中的程序;如果您想殺掉單個進程,請用kill來殺掉。
rpm -qa
檢查一個包是否被安裝
#curl
curl -I-------------- 查看響應header信息