Linux查找文件內容的常用命令方法。
從文件內容查找匹配指定字元串的行:
$ grep "被查找的字元串" 文件名
例子:在當前目錄里第一級文件夾中尋找包含指定字元串的.in文件
grep "thermcontact" */*.in
從文件內容查找與正則表達式匹配的行:
$ grep –e 「正則表達式」 文件名
查找時不區分大小寫:
$ grep –i "被查找的字元串" 文件名
查找匹配的行數:
$ grep -c "被查找的字元串" 文件名
從文件內容查找不匹配指定字元串的行:
$ grep –v "被查找的字元串" 文件名
學習更多linux知識《Linux就該這么學》,從根目錄開始查找所有擴展名為.log的文本文件,並找出包含」ERROR」的行
find / -type f -name "*.log" | xargs grep "ERROR"
例子:從當前目錄開始查找所有擴展名為.in的文本文件,並找出包含」thermcontact」的行
find . -name "*.in" | xargs grep "thermcontact"
2. Linux更改文件名保留源文件的命令是什麼
有三種方法,一種使用mv命令,直接重命名,保留源文件內容,另外一種建立軟連接ln -s命令,可以保留源文件內容及原名稱,類似於Windows快捷方式。還有一種cp命令復制一個副本出來。
3. Linux系統中給文件改名的命令是什麼/
linux的文件重命名非常簡單。常用的是mv命令和rename命令。下面介紹一下這兩個命令的用法,具體結節可以參考手冊。
1、mv
mv fromfile tofile
如把文件a.txt得命名為b.txt,可以是mv a.txt b.txt。
mv一次只能重命名一個文件,而且,它是移動命令。如果tofile已經存在的話,會直接裝原文件覆蓋,從而造成文件的丟失。當然有選項可以對已存在的文件進行提示,但是,我表示,那個選項我還真不常用。綜合這兩點考慮,還是決定看看rename吧。
2、rename
rename frompart topart filename 或者 rename 's/frompart/topart/' filename
如把文件a.txt得命名為b.txt,可以是rename 'a' 'b' a.txt (這個沒有試過,看網上別人說的,是這樣子的。)還可以是:rename 's/^a/b/' a.txt
在有的系統之上,用前面的那句可以通過,在有的系統之上,用後面的這個可以通過。兩個不一樣,一個是C的,一個是perl的。明顯看出,後面這條是正則表達式的寫法。具體採用哪一種方式,可以man rename,在手冊頁的最後一行看版本。由於我使用的系統rename的版本是Perl的,所以我只能採用後面的這一種方式。
rename 強大 的地方在於,你可以使用*,?等,對所有符合條件的文件名進行批量修改。而你在使用mv的時候,只能採用寫腳本,用循環的方式來解決。
4. linux文件操作命令有哪些
新建文件:
1.新建文件夾命令:mkdir
文件夾名稱
2.創建文檔就用:vi
文件名,然後就可以編輯文檔了,退出的時候依次按ESC
->
:
->x
就退出並保存了,:wq
保存後退出。:x
同「
wq」。:q!
–
不保存內容,
強制退出。
刪除文件:
1.刪除文件夾:rm
[選項]
文件夾名稱。如rm
-r
test
2.刪除文件:rm
文件名
。如:rm
test.txt
修改文件:
1.vi命令。vi
文件名這樣就可以打開一個文件,再點擊i就可以進入編輯了。其實編輯命令還有:o,a。我這里比較熟悉i的使用:退出點擊esc鍵,就進入命令模式。
我這里找了一些常見的命令,如下:
x:刪除當前字元。
dd:刪除當前行。
2dd:刪除文件的當前行和後一行。
u:恢復前一步操作。
p:復制之前刪除的行。
yy:復制游標所在的整行。
2yy:復制2行,舉一反三
3yy。
p:粘貼到游標的後面。
查看文件:
1.查看目錄下的所有文件又2種命令:ll
和ls
。
ll會列出該文件下的所有文件信息,包括隱藏的文件,而ls
只列出顯式文件名。
2.查看某個文件內容也有2種:cat
和
vi
。cat主要有三大功能:一次顯示整個文件:$
cat
filenam
、從鍵盤創建一個文件:$
cat
>
filename
只能創建新文件,不能編輯已有文件、將幾個文件合並為一個文件:
$cat
file1
file2
>
file
.
vi實際上是文件編輯命令,但是也可以查看文件。
5. linux中查看文件和目錄的命令是什麼
linux中查看文件和目錄的命令是:LS
LS英文原意:list,命令所在路徑:/bin/ls,適用於所有用戶許可權,主要功能就是以列表形式顯示目錄文件。
其語法: ls 選項【-ald】【文件或目錄】
其中,-a 顯示所有文件,包括隱藏文件;
-l 詳細信息顯示;
-d僅顯示目錄名,而不顯示目錄下的內容列表;
-h 人性化顯示(hommization);
-i 查看任意一個文件的i節點(類似於身份證唯一信息);
-t 用文件和目錄的更改時間排序;可以用第一個顯示的文件判斷最近修改的文件;
注意:. 開頭的文件除非是目錄,否則就是隱藏文件
使用時的注意事項:
1、創建的目錄已經存在, 那麼 Linux 會提示我們 Linux 無法創建它。
2、不帶任何參數運行 mkdir 命令會在當前目錄下創建目錄。
3、不帶上-p,如果新建的文件上級目錄不存在則不會執行成功這種說法是錯誤的。加或者不加上 -p 前面的目錄沒有得都會依次創建。
4、創建目錄的首要條件是, 在想要創建目錄的目標路徑下你必須具有訪問許可權。
6. linux下怎麼樣重命名文件
這兩天在使用Ubuntu系統上進行開發軟體的安裝,一直遇到創建的android
Studio圖標無法使用的問題,創建的圖標提示「應用程序啟動錯誤」。在網上也找了很多文章,都是說文件夾中包含空格。但是文件路徑確實沒包含空格,但是包含-,即"android-studio",所以准備重命名進行嘗試,但是遇到"bareword
not
allowed"的問題。
Linux下對文件重命名有兩種命令:
mv
,rename
mv很簡單,move文件移動
mv
/dir/file1
/dir2/file1
兩個參數,第一個是源文件,第二個是目的地,如果第二個參數文件名不一樣,則會重命名。
當兩個參數不帶目錄,只有文件名時,那就是重命名了。這是單個文件的重命名。
rename
arg1
arg2
arg3
rename才是真正的批量重命名命令。而且他是3個參數,不是2個。
arg1:舊的字元串
arg2:新的字元串
arg3:匹配要重命名的文件,可以使用3種通配符,*、?、[char],*表示任意多個字元,?表示單個字元,[char]匹配char單個自定的精確字元,可以填寫任意字元,foo[a]*表示只匹配fooa開頭的文件名,如果一個文件是foobcc.txt,是不會被匹配的。
值的注意的是,此命令在不同的Linux版本也有不同,Debian一系的操作系統別有用法。舉例說明:
比如/home下有兩個文件
abbcc.txt,
addbb.txt
,
a.txt
我想把a替換為xxx,命令是這樣的
:
rename
「a」
「xxx」
*.txt
那麼它會首先去匹配有哪些文件需要修改,這里凡是.txt後綴的文件都會被匹配,如果改成?.txt則只會匹配到一個文件,那就是a.txt。然後把匹配到的文件中的a字元替換為xxx,注意測試時abab.txt這樣的,只會替換第一個a,有待再了解。
說到Debian一系的操作系統,比如Ubuntu,這個命令這樣使用是不對的,報錯,向下面這樣的:
Bareword
「a」
not
allowed
while
「strict
subs」
in
use
at
(eval
1)
line
1.
經過Google之後發現有這樣的說法:
On
Debian-based
distros
it
takes
a
perl
expression
and
a
list
of
files.
you
need
to
would
need
to
use:
rename
『s/foo/foox/』
*
這里是一個perl表達式,好理解點說就是綜合了前兩個參數為1個,這樣就只需要2個參數,而非上面所說的3個參數形式。
所以在Ubuntu下執行上面舉例的重命名時,命令是這樣的:rename
『s/a/xxx/』
*.txt
7. 用哪些命令改linux里的文件名
tab鍵有自動補齊作用,適用於長文件名,如果多個文件名都包括你鍵入的內容
,可雙擊tab鍵,這時會列出包括你鍵入的內容的所有文件名。
8. linux搜索文件名命令
Linux系統搜索文件可以用這種格式
Find / -name 1.txt 從根目錄開始搜索1.txt
關注更多Linux命令可以看看《linux就該這么學》
9. linux中修改文件名命令
linux 給文件改名的命令是mv命令
mv命令來為文件或目錄改名或將文件由一個目錄移入另一個目錄中。該命令等同於DOS系統下的ren和move命令的組合。它的使用許可權是所有用戶。命令詳細介紹可參考 Linux命令大全
10. linux 給文件改名的命令
linux 給文件改名的命令是mv命令。
mv命令來為文件或目錄改名或將文件由一個目錄移入另一個目錄中。該命令等同於DOS系統下的ren和move命令的組合。它的使用許可權是所有用戶。
格式
mv [options] 源文件或目錄 目標文件或目錄。
主要參數[options]
-i:交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答」y」或」n」,這樣可以避免誤覆蓋文件。
-f:禁止交互操作。mv操作要覆蓋某個已有的目標文件時不給任何指示,指定此參數後i參數將不再起作用。
選擇參數
當選擇參數類型是文件時,mv命令完成文件重命名,它將所給的源文件或目錄重命名為給定的目標文件名。
實例:
將文件test.txt重命名為wbk.txt:
$ mv test.txt wbk.txt
要了解linux的shell符號的意義,可以看看《linux就該這么學》。