遍歷目錄
cd
切換到指定目錄
cd 命令可接受單個參數(shù) destination 匪蟀,用以指定想切換到的目錄名本今。如果沒有為cd 命令指定目標路徑提岔,它將切換到用戶主目錄仙蛉。pwd
查看當前目錄
pwd 命令可以顯示出shell會話的當前目錄,這個目錄被稱為當前工作目錄 碱蒙。
摘錄來自: ePUBw.COM. “Linux命令行與shell腳本編程大全(第3版)荠瘪。” Apple Books..
單點符(.)赛惩,表示當前目錄..
雙點符(..)哀墓,表示當前目錄的父目錄
christine@server01:~/Documents$ pwd
/home/christine/Documents
christine@server01:~/Documents$ cd ../Downloads
christine@server01:~/Downloads$ pwd
/home/christine/Downloads
christine@server01:~/Downloads$
文件和目錄列表
-
ls
顯示當前目錄下的文件和目錄 -
ls -a
可展示隱藏文件 -
ls -l
展示長列表信息, 會包含了目錄中每個文件的更多相關信息- 文件類型喷兼,比如目錄(d )篮绰、文件(- )、字符型文件(c )或塊設備(b )
- 文件的權限
- 文件的硬鏈接總數(shù)
- 文件屬主的用戶名
- 文件屬組的組名
- 文件的大屑竟摺(以字節(jié)為單位)
- 文件的上次修改時間
- 文件名或目錄名
$ ls -l
total 48
drwxr-xr-x 2 christine christine 4096 Apr 22 20:37 Desktop
drwxr-xr-x 2 christine christine 4096 Apr 22 20:37 Documents
drwxr-xr-x 2 christine christine 4096 Apr 22 20:37 Downloads
-rw-r--r-- 1 christine christine 8980 Apr 22 13:36 examples.desktop
-rw-rw-r-- 1 christine christine 0 May 21 13:44 fall
-rw-rw-r-- 1 christine christine 0 May 21 13:44 fell
-rw-rw-r-- 1 christine christine 0 May 21 13:44 fill
-rw-rw-r-- 1 christine christine 0 May 21 13:44 full
drwxr-xr-x 2 christine christine 4096 May 21 11:39 Music
-rw-rw-r-- 1 christine christine 0 May 21 13:25 my_file
-rw-rw-r-- 1 christine christine 0 May 21 13:25 my_scrapt
-
?
問號(? )用于過濾器字符串中替代任意位置的單個字符
$ ls -l my_scr?pt
-rw-rw-r-- 1 christine christine 0 May 21 13:25 my_scrapt
-rwxrw-r-- 1 christine christine 54 May 21 11:26 my_script
$
-
*
星號(* )代表零個或多個字符
$ ls -l my_s*t
-rw-rw-r-- 1 christine christine 0 May 21 13:25 my_scrapt
-rwxrw-r-- 1 christine christine 54 May 21 11:26 my_script
$
處理文件
-
touch xxx
創(chuàng)建文件 -
cp source destination
復制文件 source 為 destination -
cp -i source destination
復制文件且問詢是否覆蓋已有同名文件
$ touch test_one
$ ls -l test_one
-rw-rw-r-- 1 christine christine 0 May 21 14:17 test_one
$ cp test_one test_two // 復制 test_one 為 test_two
$ cp -i touch test_one test_two // 復制 test_one 為 test_two 且查詢是否由同名文件
“cp: overwrite 'test_two'? n”
$ cp -i /etc/NetworkManager/NetworkManager.conf . // 復制文件 /etc/NetworkManager/NetworkManager.conf 到當前文件目錄
-
cp -R xxx xxxy
遞歸復制整個文件xxx 為xxxy -
mv xx xxx
重命名或者移動文件 -
mv -i xx xxx
重命名或者移動文件且詢問是否覆蓋已有同名文件
$ ls f?ll
296717 -rw-rw-r-- 1 christine christine 0 May 21 13:44 fall // 原文件名稱 fall
$
$ mv fall fzll // 重命名文件名 fzll
$ ls f?ll
296717 -rw-rw-r-- 1 christine christine 0 May 21 13:44 fzll // 重新查看文件吠各,名稱 fzll
// 移動目錄
// fzll 原目錄在 /home/christine/fzll
現(xiàn)在執(zhí)行
$ mv fzll Pictures/
$
// 現(xiàn)在fzll 目錄在 /home/christine/Pirctures中
-
rm -i xxx
刪除某個文件且刪除前提示是否確認刪除
$ rm -i fall //執(zhí)行刪除命令,且提示是否真要刪除
rm: remove regular empty file 'fall'? y
$
$ ls -l fall
ls: cannot access fall: No such file or directory
$
-
rm -f xxx
強制刪除(謹慎使用)
處理目錄
“有些命令(比如cp 命令)對文件和目錄都有效勉抓,而有些只對目錄有效贾漏。”
- 創(chuàng)建目錄
mkdir xxx
$ mkdir New_Dir
$ ls -ld New_Dir
drwxrwxr-x 2 christine christine 4096 May 22 09:48 New_Dir
$
系統(tǒng)創(chuàng)建了一個名為New_Dir的新目錄藕筋。注意纵散,新目錄長列表是以d開頭的。這表示New_Dir并不是文件隐圾,而是一個目錄伍掀。
- 同時創(chuàng)建多個目錄和子目錄
mkdir -p xxx/yyy/zzz
$ mkdir -p New_Dir/Sub_Dir/Under_Dir
- 刪除目錄
rmdir xxx
rmdir 命令只刪除空目錄, 如果目錄有文件則刪除失敗
rmdir 并沒有-i 選項來詢問是否要刪除目錄
如果目錄內(nèi)有文件需要先刪除內(nèi)部文件才可以刪除目錄
rmdir -r xxx
可以在整個非空目錄上使用rm 命令。使用-r 選項使得命令可以向下進入目錄暇藏,刪除其中的文件蜜笤,然后再刪除目錄本身
這種方法雖然可行,但很難用叨咖。注意瘩例,你依然要確認每個文件是否要被刪除。如果該目錄有很多個文件和子目錄甸各,這將非常瑣碎焰坪。
$ ls -l My_Dir
total 0
-rw-rw-r-- 1 christine christine 0 May 22 10:02 another_file
$
$ rm -ri My_Dir
rm: descend into directory 'My_Dir'? y
rm: remove regular empty file 'My_Dir/another_file'? y
rm: remove directory 'My_Dir'? y
$
$ ls -l My_Dir
ls: cannot access My_Dir: No such file or directory
$
-
rm -rf xxx
一次性徹底刪除目錄和內(nèi)部文件
查看文件內(nèi)容
-
file
它能夠探測文件的內(nèi)部趣倾,并決定文件是什么類型的
$ file my_file
my_file: ASCII text
$
$ file New_Dir
New_Dir: directory
file 命令不僅能確定文件中包含的文本信息,還能確定該文本文件的字符編碼某饰,ASCII
而且還可以作為一種區(qū)分目錄的方法
查看整個文件
-
cat
cat 命令是顯示文本文件中所有數(shù)據(jù)的得力工具儒恋。
$ cat test1
hello
This is a test file.
That we'll use to test the cat command.
$
-
cat -n xxx
會給內(nèi)容打上行號
cat 命令的主要缺陷是:一旦運行善绎,你就無法控制后面的操作,
如果文件很大則一閃而過诫尽。
所以:
可以使用 more / less 命令禀酱,可以實現(xiàn)上下翻頁
more /etc/bash.bashrc
less /etc/bash.bashrc
但是如果一個很大文件我們要的信息在文件結尾 / 中間部分,怎么搞牧嫉,翻頁不翻死了剂跟?
-
tail xx
會默認現(xiàn)實文件的末尾十行 -
tail - n number xx
-n后的數(shù)字可以指定默認展示末尾倒數(shù)的第number
行
和 tail
功能一樣的是 head
-
head xx
會默認現(xiàn)實文件的開頭的十行 -
head - n number xx
-n后的數(shù)字可以指定默認展示開頭正數(shù)的第number
行