1. 程式人生 > >Linux運維命令總結(-)

Linux運維命令總結(-)

fin onf spool 刪除 兩個 txt文件 p s script 文件中

Linux運維命令總結(-) 此次整理linux運維常用命令13個,常用linux運維命令大概有150個,約占百分之十,大牛見笑,本人菜鳥一枚不才整理如下,如有不正確之處,請多多指正。

1、創建目錄/data

Make directory 創建目錄的命令mkdir filename,例子如下:

創建單個目錄

[root@oldboy ~]# mkdir /data

遞歸創建多個目錄

[root@oldboy ~]# mkdir /data/oldboy/a/b

2、顯示/data目錄的信息,例子如下:

ls 顯示文件和目錄內容

-l long type 長格式顯示 –d顯示目錄的屬性信息 –h 以{K,G,M}格式顯示

-t 以文件的時間排序 –r倒序排列 –a顯示當前目錄的所有文件包括隱藏文件,全部顯示

[root@oldboy /]# ls -ldh data/

drwxr-xr-x. 2 root root 4.0K Mar 25 11:50 data/

3、創建文件oldboy.txt,例子如下:

Touch創建空白文件,touch命令的主要作用是用來修改文件的時間戳

時間戳:(stat filename 查看文件的時間戳)

access查看文件內容的時間

modify 往文件中添加或者刪除文件的時間

change 改變文件權限書的修改時間

[root@oldboy data]# touch oldboy.txt

圖一

技術分享圖片

[root@oldboy data]# echo "I am studying linux." >> oldboy.txt

批量創建文件

[root@oldboy data]# touch test/stu{1..1000}

4、清屏,清除當前窗口的所有正在顯示的內容

[root@oldboy data]# clear

5、顯示oldboy.txt文件的內容

Cat 顯示文件的內容

[root@oldboy data]# cat oldboy.txt

I am studying linux.

>> 代表輸出重定向(追加到現有文件內容的後面不會清除已有的文件內容)

<< 代表輸入重定向(追加輸入重定向,後面跟上字符串)

[root@oldboy data]# cat >> a.txt << EOF #一般會在寫腳本中常用

> My name is guohua!

> My ages is 20!

> My sex man!

> EOF

[root@oldboy data]# cat a.txt

My name is guohua!

My ages is 20!

My sex man!

6、絕對路徑與相對路徑區別

圖二

技術分享圖片

(1)絕對路徑:一切都從/根目錄開始進行查找,稱之為絕對路徑;例子如下:

[root@oldboy ~]# cd /etc/sysconfig/network-scripts/

(2)相對路徑:一切不從/根目錄開始的路徑稱之為相對路徑;例子如下:

[root@oldboy network-scripts]# cat ../network

[root@oldboy data]# cd test/

7、xargs 從標準輸入中進行分組

從b.txt文件中輸入每行按兩個字段排序

[root@oldboy data]# xargs -n 2 < b.txt

1 2

3 4

5 6

7 8

9 10

11 12

13 14

15 16

17 18

19 20

8、cut按一定的規則提取文件中的內容

提取b.txt文件中的第一個字段,以空格為分割

-d 分割符 –f 字段提取第一列 –c 按字符提取 –b按字節提取

[root@oldboy data]# cut -d ‘ ‘ -f1 b.txt

1

5

9

13

17

9、重定向特殊符號

圖三

技術分享圖片

>或>> filename 2>&1 等於 &>

2>&1代表輸出正確重定向做什麽操作輸出錯誤重定向就做什麽操作,例子如下:

[root@oldboy data]# echo "welcome to beijng." >> oldboy.txt 2>&1

[root@oldboy data]# cho "welcome to beijng." >> oldboy.txt 2>&1

相當於

[root@oldboy data]# echo "Welcome to guangzhou."&>> b.txt

輸出正確重定向與輸出錯誤重定向共同指向同一個文件a.txt

[root@oldboy data]# echo "welcome to shanghai." > a.txt 2> a.txt

10、cp拷貝文件與目錄

-r 遞歸復制(目錄)-p復制文件保持原有所有的屬性信息,非系統默認的信息

-a 相當於-pdr -d復制軟鏈接文件,而非源文件

[root@oldboy data]# cp oldboy.txt /tmp/

[root@oldboy data]# ls -l /tmp/

total 4

-rw-r--r--. 1 root root 70 Mar 25 16:59 oldboy.txt

-rw-------. 1 root root 0 Mar 24 21:34 yum.log

遞歸復制例子:

[root@oldboy data]# cp -r ../data/ /tmp/

保持源文件的所有屬性

[root@oldboy data]# cp -pr ../data/ /tmp/

鏈接文件拷貝

[root@oldboy data]# cp -d b.txt.bak /tmp/

[root@oldboy data]# ls -l /tmp/

total 8

lrwxrwxrwx. 1 root root 5 Mar 25 17:05 b.txt.bak -> b.txt

drwxr-xr-x. 3 root root 4096 Mar 25 14:52 data

-rw-r--r--. 1 root root 70 Mar 25 16:59 oldboy.txt

-rw-------. 1 root root 0 Mar 24 21:34 yum.log

拷貝-a 相當於-pdr例子

[root@oldboy /]# cp -a /data/ /tmp/

11、mv(move)移動文件或者目錄到別的目錄

移動/data目錄到/root目錄下

[root@oldboy ~]# mv /data /root/

如果文件在同一目錄下,則進行文件的重命名操作

[root@oldboy data]# mv a.txt.bak a.txt1

12、rm(remove)刪除文件或者目錄

刪除文件,例子如下:

[root@oldboy data]# rm oldboy.txt

rm: remove regular file `oldboy.txt‘? y

遞歸刪除目錄下的文件,-r 遞歸刪除 –f 強制刪除

[root@oldboy /]# rm -rf /tmp/data/

13、find查找文件、目錄等內容

查找類型為文件f(file),-name文件名字 –print打印輸出

[root@oldboy data]# find . -type f -name "a.txt"

./a.txt

[root@oldboy data]# find . -type f -name "a.txt" -print

./a.txt

查找文件為oldboy.txt

[root@oldboy data]# find /data/ -type f -name "oldboy.txt"

/data/oldboy.txt

刪除oldboy.txt

[root@oldboy data]# find /data/ -type f -name "oldboy.txt" -exec rm {} \;

重命名oldboy.txt.bak為oldboy.txt

[root@oldboy data]# find /data/ -type f -name "oldboy.txt.bak" -exec mv {} oldboy.txt \;

查找所有以.Txt結尾的文件,按一行排列

[root@oldboy data]# find /data/ -type f -name "*.txt" | xargs

/data/b.txt /data/oldboy.txt /data/a.txt

查找所有以.Txt結尾的文件,按兩行排列

[root@oldboy data]# find /data/ -type f -name "*.txt" | xargs -n 2

/data/b.txt /data/oldboy.txt

/data/a.txt

查找所有以.Txt結尾的文件,按兩行排列並刪除

[root@oldboy data]# find /data/ -type f -name "*.txt" | xargs rm –f

[root@oldboy data]# rm –f /data/b.txt /data/oldboy.txt /data/a.txt

Moditify time時間段分析:

-mtime + num代表num天以前的數據

-mtime num 代表 第num天的數據

-mtime – num代表最近num天的數據

技術分享圖片

查找/var/log目錄,類型為文件f(file) ,名稱為*.log結尾,修改時間為1天以前的文件

[root@oldboy log]# find /var/log/ -type f -name "*.log" -mtime +1 | xargs

查找/var/log目錄,類型為文件f(file) ,名稱為*.log結尾,修改時間為第1天的文件

[root@oldboy log]# find /var/log/ -type f -name "*.log" -mtime 1 | xargs

查找/var/log目錄,類型為文件f(file) ,名稱為*.log結尾,修改時間為最近1天的文件

[root@oldboy log]# find /var/log/ -type f -name "*.log" -mtime -1 | xargs

/var/log/audit/audit.log /var/log/anaconda.ifcfg.log /var/log/anaconda.program.log /var/log/prelink/prelink.log /var/log/dracut.log /var/log/anaconda.log /var/log/anaconda.yum.log /var/log/anaconda.storage.log /var/log/yum.log /var/log/boot.log

刪除/var/log目錄,類型為文件f(file) ,名稱為*.log結尾,修改時間為最近1天的文件

[root@oldboy log]# find /var/log/ -type f -name "*.log" -mtime -1 | xargs rm –f

查看最近1天以.log結尾的文件是否還存在

[root@oldboy log]# ls -l

total 660

-rw-------. 1 root root 145729 Mar 24 21:42 anaconda.syslog

-rw-------. 1 root root 35064 Mar 24 21:42 anaconda.xlog

drwxr-x---. 2 root root 4096 Mar 25 18:18 audit

-rw-------. 1 root utmp 384 Mar 24 22:22 btmp

drwxr-xr-x. 2 root root 4096 Mar 24 22:23 ConsoleKit

-rw-------. 1 root root 9172 Mar 25 18:10 cron

-rw-r--r--. 1 root root 89640 Mar 25 09:30 dmesg

-rw-r--r--. 1 root root 89640 Mar 24 22:22 dmesg.old

-rw-r--r--. 1 root root 146000 Mar 25 17:55 lastlog

-rw-------. 1 root root 640 Mar 25 09:31 maillog

-rw-------. 1 root root 206021 Mar 25 10:32 messages

drwxr-xr-x. 2 ntp ntp 4096 Nov 24 2013 ntpstats

drwxr-xr-x. 2 root root 4096 Mar 25 18:18 prelink

drwxr-xr-x. 2 root root 4096 Mar 25 09:30 sa

-rw-------. 1 root root 4376 Mar 25 17:55 secure

-rw-------. 1 root root 0 Mar 24 21:39 spooler

-rw-------. 1 root root 0 Mar 24 21:37 tallylog

-rw-rw-r--. 1 root utmp 18048 Mar 25 17:55 wtmp

Linux運維命令總結(-)