你可以使用復ls –l命令列出目錄制的詳細信息,就相當於DOS的DIR命令。ls命令的輸出如下所示:
total 2
drwxr-xr-x 2 xu user 1024 Mar 13 0:34 sub1
-rw-r----- l xu user 678 Jun 15 1:45 hodo.txt
最左邊一列是文件/目錄許可權,第3列是的屬主信息,第4列是屬主所在用戶組,第5列是所佔空間大小,接下去是日期、時間,最後一列是文件/目錄名。以下是一些 常用文件操作命令:
rm:刪除文件 more:瀏覽文件 cp:拷貝文件
2. Linux基本操作-----文件的排序+分割+合並+歸檔等
linux基本操作-----文件的排序+分割+合並+歸檔等1
sort
1
sort命令將輸入文件看做由多條記錄組成的數據流,而記錄由可變寬度的欄位組成,以換行符作為定界符
2
sort的命令的基本格式
sort
選項
文件
3
sort命令選項及其意義
選項
意義
-c
測試文件是否已經被排序
-k
指定排序的域
-m
合並兩個已排序的文件
-n
根據數字大小進行排序
-o
輸出文件
將輸出寫到指定的文件,相當於將輸出重定向到指定的文件
-r
將排序結果逆向顯示
-t
改變域分割符
-u
去除結果中的重復行2
uniq
1
uniq命令是用於去除文本的重復行,這類似於sort命令的-u選項
2
uniq命令的基本用法
uniq
選項
文件
3
uniq命令選項及其意義
選項
意義
-c
列印每行在文本中重復出現的次數
-d
只顯示有重復的記錄,每個重復記錄只出現一次
-u
只顯示沒有重復的記錄3
cut
1
cut命令用於從標准輸入或文本文件中按域或行提取文本
2
cut命令的基本格式
cut
選項
文件
3
cut選項及其意義
選項
意義
-c
指定提取的字元數或字元范圍
-f
指定提取的域或域的范圍
-d
改變域分割符4
tar
1
tar命令是linux的歸檔命令,通俗的說tar命令實現了linux系統文件的壓縮和解壓縮
2
tar命令基本格式
tar
選項
文件名或目錄名
3
tar命令選項及其意義
選項
意義
-c
創建新的包
-r
為包添加新的文件
-t
列出包內容
-u
更新包中的文件,若包中沒有此文件,則將文件添加進包中
-x
解壓縮文件
-v
詳細報告tar處理的信息
-f
使用壓縮文件或設備,該選項通常是必選的
-z
用gzip壓縮和解壓縮文件,如果是.gz結尾的tar包那麼該選項是必須的
4
解壓非gzip格式的壓縮包
tar
-xvf
包名
解壓gzip格式的壓縮包
tar
-zxvf
包名
3. Linux系統中對文件和目錄操作的命令有哪些
Pwd:顯示當前所在的位置
cd:切換目錄
tree:以樹形結構顯示目錄下的內容
mkdir:創建目錄
touch:創建空文件或改變文件的時間戳屬性
ls:顯示目錄下的內容及相關屬性信息
cp:復制文件或目錄
mv:移動或重命名文件
rm:刪除文件或目錄
rmdir:刪除空目錄
ln:硬鏈接與軟鏈接
readlink:查看符號鏈接文件的內容
find:查找目錄下的文件
xargs:將標准輸入轉換成命令行參數
rename:重命名文件
basename:顯示文件名或目錄名
dirname:顯示文件或目錄路徑
chattr:改變文件的擴展屬性
lsattr:查看文件擴展屬性
file:顯示文件的類型
md5sum:計算和校驗文件的MD5值
chown:改變文件或目錄的用戶和用戶組
chmod:改變文件或目錄許可權
chgrp:更改文件用戶組
umask:顯示或設置許可權掩碼
4. Linux對文件名進行操作——截取
在shell中進行文件操作時,我們很多時候想對文件名進行截取,例如去掉文件名的後綴,而只保留剩餘的部分。下面介紹使用 ${} 來完成上述任務。
我們想對 share/home/jianshu_test.txt 進行操作,輸出下列內容:
要完成這個任務,可以首先把 jianshu_test.txt 提取出來:
然後再進行截取:
記住兩個原則:
此外:
5. linux文件操作命令有哪些
新建文件:
1.新建文件夾命令:mkdir 文件夾名稱
2.創建文檔就用:vi 文件名,然後就可以編輯文檔了,退出的時候依次按 -> : ->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實際上是文件編輯命令,但是也可以查看文件。
6. 在linux下操作文件,是用linux提供的fcntl.h還是用C++提供的fstream.h
1、fcntl.h定義了一組基於C的非緩沖的文件操作函數,可用於文件和設備(及socket等)的I/O操作。另外在stdio.h中定義了一組標准I/O函數,提供了帶緩沖的文件操作功能(與非緩沖文件操作對應),它們多用於常規文件的操作。
2、fstream.h(fstream)定義了一個C++的流類,提供對文件的流式訪問。
在linux系統中,可以根據你的應用需求選擇使用它們。
7. Linux目錄及文件如何操作
處理目錄的常用命令
接下來我們就來看幾個常見的處理目錄的命令吧:
ls(英文全拼:list files): 列出目錄及文件名
cd(英文全拼:change directory):切換目錄
pwd(英文全拼:print work directory):顯示目前的目錄
mkdir(英文全拼:make directory):創建一個新的目錄
rmdir(英文全拼:remove directory):刪除一個空的目錄
cp(英文全拼: file): 復制文件或目錄
rm(英文全拼:remove): 刪除文件或目錄
mv(英文全拼:move file): 移動文件與目錄,或修改文件與目錄的名稱
你可以使用 man [命令] 來查看各個命令的使用文檔,如 :man cp。
ls (列出目錄)
在Linux系統當中, ls 命令可能是最常被運行的。
語法:
選項與參數:
-a :全部的文件,連同隱藏文件( 開頭為 . 的文件) 一起列出來(常用)
-d :僅列出目錄本身,而不是列出目錄內的文件數據(常用)
-l :長數據串列出,包含文件的屬性與許可權等等數據;(常用)
將家目錄下的所有文件列出來(含屬性與隱藏檔)
cd (切換目錄)
cd是Change Directory的縮寫,這是用來變換工作目錄的命令。
語法:
接下來大家多操作幾次應該就可以很好的理解 cd 命令的。
pwd (顯示目前所在的目錄)
pwd 是 Print Working Directory 的縮寫,也就是顯示目前所在目錄的命令。
選項與參數:
-P :顯示出確實的路徑,而非使用連結 (link) 路徑。
實例:單純顯示出目前的工作目錄:
實例顯示出實際的工作目錄,而非連結檔本身的目錄名而已。
mkdir (創建新目錄)
如果想要創建新的目錄的話,那麼就使用mkdir (make directory)吧。
語法:
選項與參數:
-m :配置文件的許可權喔!直接配置,不需要看默認許可權 (umask) 的臉色~
-p :幫助你直接將所需要的目錄(包含上一級目錄)遞歸創建起來!
實例:請到/tmp底下嘗試創建數個新目錄看看:
加了這個 -p 的選項,可以自行幫你創建多層目錄!
實例:創建許可權為 rwx--x--x 的目錄。
上面的許可權部分,如果沒有加上 -m 來強制配置屬性,系統會使用默認屬性。
如果我們使用 -m ,如上例我們給予 -m 711 來給予新的目錄 drwx--x--x 的許可權。
rmdir (刪除空的目錄)
語法:
選項與參數:
-p :連同上一級『空的』目錄也一起刪除
刪除 runoob 目錄
將 mkdir 實例中創建的目錄(/tmp 底下)刪除掉!
利用 -p 這個選項,立刻就可以將 test1/test2/test3/test4 一次刪除。
不過要注意的是,這個 rmdir 僅能刪除空的目錄,你可以使用 rm 命令來刪除非空目錄。
cp (復制文件或目錄)
cp 即拷貝文件和目錄。
語法:
選項與參數:
-a:相當於 -pdr 的意思,至於 pdr 請參考下列說明;(常用)
-d:若來源檔為連結檔的屬性(link file),則復制連結檔屬性而非文件本身;
-f:為強制(force)的意思,若目標文件已經存在且無法開啟,則移除後再嘗試一次;
-i:若目標檔(destination)已經存在時,在覆蓋時會先詢問動作的進行(常用)
-l:進行硬式連結(hard link)的連結檔創建,而非復制文件本身;
-p:連同文件的屬性一起復制過去,而非使用默認屬性(備份常用);
-r:遞歸持續復制,用於目錄的復制行為;(常用)
-s:復製成為符號連結檔 (symbolic link),亦即『捷徑』文件;
-u:若 destination 比 source 舊才升級 destination !
用 root 身份,將 root 目錄下的 .bashrc 復制到 /tmp 下,並命名為 bashrc
rm (移除文件或目錄)
語法:
選項與參數:
-f :就是 force 的意思,忽略不存在的文件,不會出現警告信息;
-i :互動模式,在刪除前會詢問使用者是否動作
-r :遞歸刪除啊!最常用在目錄的刪除了!這是非常危險的選項!!!
將剛剛在 cp 的實例中創建的 bashrc 刪除掉!
如果加上 -i 的選項就會主動詢問喔,避免你刪除到錯誤的檔名!
mv (移動文件與目錄,或修改名稱)
語法:
選項與參數:
-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
-u :若目標文件已經存在,且 source 比較新,才會升級 (update)
復制一文件,創建一目錄,將文件移動到目錄中
將某個文件移動到某個目錄去,就是這樣做!
將剛剛的目錄名稱更名為 mvtest2
Linux 文件內容查看
Linux系統中使用以下命令來查看文件的內容:
cat 由第一行開始顯示文件內容
tac 從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫!
nl 顯示的時候,順道輸出行號!
more 一頁一頁的顯示文件內容
less 與 more 類似,但是比 more 更好的是,他可以往前翻頁!
head 只看頭幾行
tail 只看尾巴幾行
你可以使用 man [命令]來查看各個命令的使用文檔,如 :man cp。
cat
由第一行開始顯示文件內容
語法:
選項與參數:
-A :相當於 -vET 的整合選項,可列出一些特殊字元而不是空白而已;
-b :列出行號,僅針對非空白行做行號顯示,空白行不標行號!
-E :將結尾的斷行位元組 $ 顯示出來;
-n :列印出行號,連同空白行也會有行號,與 -b 的選項不同;
-T :將 [tab] 按鍵以 ^I 顯示出來;
-v :列出一些看不出來的特殊字元
檢看 /etc/issue 這個文件的內容:
tac
tac與cat命令剛好相反,文件內容從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫!如:
nl
顯示行號
語法:
選項與參數:
-b :指定行號指定的方式,主要有兩種:
-b a :表示不論是否為空行,也同樣列出行號(類似 cat -n);
-b t :如果有空行,空的那一行不要列出行號(默認值);
-n :列出行號表示的方法,主要有三種:
-n ln :行號在熒幕的最左方顯示;
-n rn :行號在自己欄位的最右方顯示,且不加 0 ;
-n rz :行號在自己欄位的最右方顯示,且加 0 ;
-w :行號欄位的佔用的位數。
實例一:用 nl 列出 /etc/issue 的內容
more
一頁一頁翻動
在 more 這個程序的運行過程中,你有幾個按鍵可以按的:
空白鍵 (space):代表向下翻一頁;
Enter :代表向下翻『一行』;
/字串 :代表在這個顯示的內容當中,向下搜尋『字串』這個關鍵字;
:f :立刻顯示出檔名以及目前顯示的行數;
q :代表立刻離開 more ,不再顯示該文件內容。
b 或 [ctrl]-b :代表往回翻頁,不過這動作只對文件有用,對管線無用。
less
一頁一頁翻動,以下實例輸出/etc/man.config文件的內容:
less運行時可以輸入的命令有:
空白鍵 :向下翻動一頁;
[pagedown]:向下翻動一頁;
[pageup] :向上翻動一頁;
/字串 :向下搜尋『字串』的功能;
?字串 :向上搜尋『字串』的功能;
n :重復前一個搜尋 (與 / 或 ? 有關!)
N :反向的重復前一個搜尋 (與 / 或 ? 有關!)
q :離開 less 這個程序;
head
取出文件前面幾行
語法:
選項與參數:
-n :後面接數字,代表顯示幾行的意思
默認的情況中,顯示前面 10 行!若要顯示前 20 行,就得要這樣:
tail
取出文件後面幾行
語法:
選項與參數:
-n :後面接數字,代表顯示幾行的意思
-f :表示持續偵測後面所接的檔名,要等到按下[ctrl]-c才會結束tail的偵測
[root@www ~]# tail /etc/man.config
# 默認的情況中,顯示最後的十行!若要顯示最後的 20 行,就得要這樣:
[root@www ~]# tail -n 20 /etc/man.config
8. linux 文件操作問題
我寫第一個吧,僅供參考:
/*---------code-------------*/
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
void what_is( int);
int main()
{
struct stat info;
if( stat("/etc/passwd", &info) == -1 )
perror("etc/passwd");
else
what_is( info.st_mode );
printf("last access time is %s\n", ctime(&info.st_mtime));
return 0;
}
void what_is( int mode )
{
if( S_ISDIR(mode) ) printf("/etc/passwd is Directory file.\n");
if( S_ISFIFO(mode) ) printf("/etc/passwd is Fifo file.\n");
if( S_ISLNK(mode) ) printf("/etc/passwd is link file.\n");
if( S_ISREG(mode) ) printf("/etc/passwd is regular file.\n");
if( S_ISSOCK(mode) ) printf("/etc/passwd is socket file.\n");
}
/*--------end--------*/
問一下樓上那個兄弟,你說的豬八戒是什麼?
9. Linux文件系統特點
Linux之所以能在嵌人式系統領域取得如此輝煌的成績,與其自身的優良特性是分不開的。與其他操作系統相比,Linux具有以下一系列顯著的特點。
1.模塊化程度高
Linux的內核設計非常精巧,分成進程調度、內存管理、進程間通信、虛擬文件系統和網路介面五大部分;其獨特的模塊機制可根據用戶的需要,實時地將某些模塊插入或從內核中移走,使得Linux系統內核可以裁剪得非常小巧,很適合於嵌入式系統的需要。
2.源碼公開
由於Linux系統的開發從一開始就與GNU項目緊密地結合起來,所以它的大多數組成部分都直接來自GNU項目。任何人、任何組織只要遵守GPL條款,就可以自由使用Linux 源代碼,為用戶提供了最大限度的自由度。這一點也正投嵌入式系統所好,因為嵌入式系統應用千差萬別,設計者往往需要針對具體的應用對源碼進行修改和優化,所以是否能獲得源代碼 對於嵌入式系統的開發是至關重要的。加之Linux的軟體資源十分豐富,每種通用程序在Linux上幾乎都可以找到,並且數量還在不斷增加。這一切就使設計者在其基礎之上進行二次開發變得非常容易。另外,由於Linux源代碼公開,也使用戶不用擔心有「後閘」等安全隱患。
同時,源碼開放給各教育機構提供極大的方便,從而也促進了Linux的學習、推廣和應用。
3.廣泛的硬體支持
Linux能支持x86、ARM、MIPS、ALPHA和PowerPC等多種體系結構的微處理器。目前已成功地移植到數十種硬體平台,幾乎能運行在所有流行的處理器上。
由於世界范圍內有眾多開發者在為Linux的擴充貢獻力量,所以Linux有著異常豐富的驅動程序資源,支持各種主流硬體設各和最新的硬體技術,甚至可在沒有存儲管理單元MMU 的處理器上運行,這些都進一步促進了Linux在嵌入式系統中的應用。
4.安全性及可靠性好
內核高效穩定。Linux內核的高效和穩定已在各個領域內得到了大量事實的驗證。
Linux中大量網路管理、網路服務等方面的功能,可使用戶很方便地建立高效穩定的防火牆、路由器、工作站、伺服器等。為提高安全性,它還提供了大量的網路管理軟體、網路分析軟體和網路安全軟體等。
5.具有優秀的開發工具
開發嵌入式系統的關鍵是需要有一套完善的開發和調試工具。傳統的嵌入式開發調試工具是在線模擬器(In Circuit Emulator,ICE),它通過取代目標板的微處理器,給目標程序提供一個完整的模擬環境,從而使開發者能非常清楚地了解到程序在目標板上的工作狀態,便於監視和調試程序。在線模擬器的價格非常高,而且只適合做非常底層的調試。如果使用的是嵌人式Linux,一旦軟硬體能支持正常的串口功能,即使不用在線模擬器,也可以很好地進行開發和調試工作,從而節省了一筆不小的開發費用。嵌入式Linux為開發者提供了一套完整的工具鏈(Tool Chain),能夠很方便地實現從操作系統到應用軟體各個級別的調試。
6.有很好的網路支持利文件系統支持
Linux從誕生之日起就與Internet密不可分,支持各種標準的Internet網路協議,並且很容易移植到嵌入式系統當中。目前,Linux幾乎支持所有主流的網路硬體、網路協議和文件系統,因此它是NFS的一個很好的平台。
另一方面,由於Linux有很好的文件系統支持(例如,它支持Ext2、FAT32、romfs等文件系統),是數據各份、同步和復制的良好平台,這些都為開發嵌入式系統應用打下了堅實的基礎。
7.與UNIX完全兼容
目前,在Linux中所包含的工具和實用程序,可以完成UNIX的所有主要功能。
但由於Linux不是為實時而設計的,因而這就成了Linux在實時系統中應用的最大遺憾。不過,目前有眾多的自由軟體愛好者正在為此進行不懈的努力,也取得了諸多成果
10. Linux目錄,文件操作
【pwd】-- 查看當前所在目錄
【ls】 -- 顯示目錄下的文件和文件夾
【ls -l】 -- 查看文件, 長數據串列出,包含文件的屬性與許可權等等數據
【ls -R】 -- 顯示文件,文件夾和電子文件夾里的內容
【ls -a】 -- 全部的文件,連同隱藏的文件一起( 開頭為 . 的文件) 一起列出來(常用)
【ls -d】 -- 僅列出目錄本身,而不是列出目錄內的文件數據
【cd ..】 -- 回到上一級目錄
【cd ~ 】 -- 返回根目錄
【mkdir】 -- 創建目錄
【mkdir -p】 -- 創建連續目錄 mkdir -p junz/abu
【mkdir -m 775】 -- 創建目錄並且自定義許可權屬性