linux重要命令

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'

統(tǒng)一實驗文本

1.1 增加

sed 在第二行后追加一行?
sed 在第二行插入文本

a追加文本到指定行后

i插入文本到指定行前

sed -i -------修改文本內容

2.2 刪除

d------刪除指定的行

刪除第一行


刪除全部行

3.改

3.1 按行替換

c---------用新行取代舊行

新行取代第一行

3.2 文本替換

s--------單獨使用時,將每一行中第一次匹配的字符串進行替換

g---------每一行進行全部替換

-i---------修改文件內容

實驗前
單獨使用s
s和g組合使用

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.為每個文件進行信息索引


inode

總結inode與block

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快捷方式


硬鏈接


軟硬鏈接的區(qū)別

對于目錄不能創(chuàng)建硬鏈接,只能創(chuàng)建軟鏈接

linux文件刪除的原理:

文件刪除原理

用戶與組的關系

文件權限

添加組

groupadd? ? name----------添加組

useradd 用戶名 -g? 組名---------添加用戶(主人)到該組(家)

useradd 用戶----------主人及家庭成員以外的人

提示;如果用戶提示存在就usermod -g 組名 用戶名修改

cronb

crontab.guru - the cron schedule expression editor

crontab實例

D

定時任務生產應用問題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信息

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容