剛起步學習Linux,初步認識了它的目錄是以目錄樹的形式存在。
執行文件路徑的環境變量PATH下定義一些目錄,所以在他的幫助下我們才可以在任何目錄下輸入例如ls就會顯示一些信息而不會提示找不到該/bin/ls命令。
切換目錄的操作是cd(change directory): .(代表此層目錄) ..(代表上一層目錄) -(代表前一個工作目錄)
~(代表主工作目錄,也就是當前你的用戶的工作目錄)
就比如上圖,一開始我敲入cd .權限未被允許,因為我當時目錄在root下,普通用戶是沒有權限訪問它的,然後我cd ~切換到主用戶目錄,此時cd . cd..都可以使用,最後回到最上層目錄 /
pwd 為顯示當前目錄的路徑(絕對路徑)
mkdir:創建一個新目錄
rmdir:刪除一個空的目錄
mkdir -p test1/test2/test3/test4 可以創建多層目錄
rmdir -p test1/test2/test3/test4 可以刪除多層空目錄
>文件與目錄管理
查看文件與目錄:ls
復制刪除和移動文件:cp,rm(可以用來重命名),mv
在拷貝時總是希望拷貝到的文件屬於我們自己,所以默認條件中,目標文件與源文件的權限是不同的。
所以使用 cp:cp -a(相當於pdr): 文件屬性,創建時間都會相應改變,變為與源文件相同的。
cp -p也是一樣,連同屬性一起復制過去,不使用默認屬性。
cp -u:這個特性是當源文件與目標文件有差異時才進行拷貝
rm [文件或目錄名] -f (force) :強制的意思,忽略不存在的文件
-i(互動模式):再刪除前會詢問
-r(遞歸刪除)
rm -i bash*(刪除此目錄下以bash開頭的文件名)
mv(移動文件或目錄或更名):
例如圖片所示:復制一個文件,創建一個新的文件夾,然後把文件mv到新的文件夾中
mv mvtestv mvtest2 這樣就把mvtest改名為mvtest2
>
如上圖,使用basename 和dirname就可以得到文件名問文件目錄。
>文件內容查閱:
cat 從第一行開始顯示文件內容
cat -A 可列出一些特殊字符而不只是空白而已
cat -b 列出行號,空白行不列出
cat -E 顯示結尾的斷行字符$
cat -n 顯示行號包括空白行
tac從最後一行開始顯示內容
nl 顯示的時候加上行號
more一頁一頁的顯示文件內容
less 與more類似,只是它能往前翻頁
head只看頭幾行
tail 只看後幾行
od 以二進制的方式讀取文件內容
>touch :修改文件時間或者創建新文件
$touch [-acdmt] 文件
參數: -a 僅僅修改訪問時間
-c 僅僅修改狀態改變時間,如果文件不存在就不創建新文件
-d 修改文件日期 也可以用格式: --data="日期或者時間"
-m 僅修改mtime
-t 僅修改文件時間,格式為[YYMMDDhhmm]
《
如上圖所示:我在tmp下創建了一個文件testtouch,它的mtime是20號,往下看前兩天我已經拷貝過一個bashrc文件了,並且也用.bashrckao創建的,當我顯示bashrc的mtime,atime,ctime時,第一行顯示18號修改它的內容,並且在19號的時候訪問過它,而改變它屬性的時間是20號。下一條命令是將bashrc的日期提前兩天,從圖可以看出,mtime和atime時間都提前了兩天,而ctime時間依舊是20號沒有跟著改變;下一條命令也一樣改變bashrc的時間為12年,也只有mtime,atime改變了ctime不變。ctime記錄的是目前的時間。
其實在使用touch時我們最關心的還是mtime即文件內容最後被改變的時間。
所以touch這個命令最常用的情況有兩個:1.創建一個空的文件2.改變文件的日期為的當前日期(mtime,atime)。