#wmd-preview h1 {
color: #0077bb; /* 將標題改為藍色 */
}
linux 基礎命令總結——文件類命令
命令總結
文件類命令
linux
基礎
文件查看
文件管理
俗話說基礎不牢,地動山搖,在學習到一半時加固一下基礎吧
本文總結的命令
目錄操作類:ls cd pwd cp rm rmdir mv touch ln
文件類型及文本查看工具:cat tac more less tail head file stat
ls ——學習linux的第一個命令,就像helloworld與程序界的意義
ls (list directory contents 列出文件列表)
ls [選項] #參數多為文件目錄名 不加參數 當前文件
-l:顯示文件屬性, ls -l=ll
-h:做相應的單位轉換顯示
-a:顯示所有文件
-A:顯示.和..以外的文件 (.在linux表示下一層文件,..在linux表示上一層文件夾)
-d:顯示目錄自身屬性
-i:顯示文件的縮影接點號碼( index node , inode)
-r:逆序顯示文件列表
-R:遞歸顯示文件
[root@cloud ~]# ll
總用量 4
-rw-r--r--. 1 root root 52 6月 4 12:26 ssserverStart.sh
[root@cloud ~]# ls -l
總用量 4
-rw-r--r--. 1 root root 52 6月 4 12:26 ssserverStart.sh
[root@cloud ~]# ll -a
總用量 40
drwx------. 4 500 desp 4096 6月 4 12:27 .
drwxr-xr-x. 6 root root 4096 6月 3 19:11 ..
-rw-------. 1 root root 827 6月 4 15:35 .bash_history
-rw-r--r--. 1 500 desp 18 2月 22 2013 .bash_logout
-rw-r--r--. 1 500 desp 176 2月 22 2013 .bash_profile
-rw-r--r--. 1 500 desp 124 2月 22 2013 .bashrc
drwxr-xr-x. 2 500 desp 4096 11月 12 2010 .gnome2
drwxr-xr-x. 4 500 desp 4096 4月 26 2013 .mozilla
-rw-r--r--. 1 root root 52 6月 4 12:26 ssserverStart.sh
-rw-------. 1 root root 1238 6月 4 12:27 .viminfo
[root@cloud ~]# ls -A
.bash_history .bash_logout .bash_profile .bashrc .gnome2 .mozilla ssserverStart.sh .viminfo
[root@cloud ~]# ls -d
/home/desp//home/desp/
[root@cloud ~]# ll -i
總用量 42491
-rw-r--r--. 1 root root 52 6月 4 12:26 ssserverStart.sh #42491就是節點號
cd——切換文件目錄
cd: change directory
cd [選項] [參數] #參數多為文件目錄名 不加則進入當前用戶家目錄
cd :不加任何參數,直接進入當前用戶家目錄
cd ~ :表示進入當前用戶的家目錄
cd ~username :進入指定用戶“username”的家目錄
cd - :在當前目錄和前一次所在的目錄來回切換
cd ..:切換至其父目錄
pwd ——打印當前工作目錄
pwd (print name of current/working directory)
[root@cloud ~]# pwd
/home/desp
cd與pwd相結合,對cd目錄做個舉例
[root@cloud ~]# cd /dev/
[root@cloud dev]# cd
[root@cloud ~]# pwd
/home/desp
[desperado@cloud ~]$ who
desp pts/0 2016-06-04 20:01 (115.220.84.128)
[desperado@cloud ~]$ cd /dev/
[desperado@cloud dev]$ cd ~
[desperado@cloud ~]$ pwd
/home/desperado
[root@cloud ~]# cd ~root
[root@cloud root]# pwd
/root
file 指明linux文件類型
file (determine file type)
file [選項] [文件名]
選項:
-b :簡單模式 ;只顯示結果,不顯示文件名
--help :顯示幫助文件并退出
-v :在標準輸出后顯示版本信息,并且退出
-L :允許符號鏈接
-i :顯示MIME類型
輸出的文件類型:
data :數據格式文件
text : 純文本文檔
directory :目錄
binary :二進制文件
empty :空文件
executable :可執行文件
block special :塊設備
文件MIME類型 :
是設定某種擴展名的文件用一種應用程序來打開的方式類型,當該擴展名文件被訪問的時候,瀏覽器會自動使用指 定應用程序來打開
[root@desperadochn ~]# file ~/.bashrc
/root/.bashrc: UTF-8 Unicode text
[root@desperadochn ~]# file 1111111
1111111: empty
[root@desperadochn ~]# file -b /usr/bin/ls
ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped
[root@desperadochn ~]# file /var/log/wtmp
/var/log/wtmp: data
root@desperadochn ~]# file 1.gif
1.gif: GIF image data, version 89a, 340 x 302
cat 查看文本
cat (oncatenate files and print on the standard output)
cat [選項] [參數]
連接并顯示文件的信息,是全部顯示文件內的信息 (對長文本文件沒有辦法 沒法翻頁)
-n:在顯示的時候可以顯示行號,這個行號只是顯示出來,跟文件內容沒有 關系
-E:顯示每一行的行結束符,所以 linux 中文本文件的行結束符是$符
-T:可以顯示制表符
-v:顯示其他的非打印字符
-A:顯示所有的符號
[root@desperadochn ~]# cat 1111.txt
11111111111111111111111111
11111111111111111111111111111
11111
11111
11111
11111
11111
[root@desperadochn ~]# cat -n 1111.txt
1 11111111111111111111111111
2 11111111111111111111111111111
3 11111
4 11111
5 11111
6 11111
7 11111
[root@desperadochn ~]# cat -e 1111.txt
11111111111111111111111111$
11111111111111111111111111111$
11111$ #$就是結束符
11111$
11111$
11111$
11111$
tac
與cat一樣 只不過逆序顯示文本
more
more 的作用同 cat 是相同的,只不過這時我們可以通過手動來翻屏,更加方便,但只支持向后翻,翻到最后就自行退出
less
顯示文件信息,默認不退出顯示, q 即可退出
空格:向后翻一屏
b:向前翻一屏
ENTER:向后翻一行
k:向前翻一行
關鍵字查找: /關鍵字
head
head:顯示文件的前幾行,默認是 10 行
-NUM:顯示前多少行
[root@desperadochn log]# head dmesg
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
#限于篇幅省略部分無意義輸出
[root@desperadochn log]# head -n20 dmesg
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
# 限于篇幅省略部分無意義輸出
tail
tail:顯示文件的后幾行,默認是 10 行
-NUM:顯示后多少行
-f:查看文件尾部,而且不退出,等待顯示后續追加的新內容;
[root@cloud log]# tail -f shadowsocks.log #查看文件尾部,而且不退出,等待顯示后續追加的新內容 查看日志信息時常有
2016-06-04 23:16:17 INFO connecting i1.ytimg.com:443 from 115.220.84.128:8082
2016-06-04 23:16:28 INFO connecting www.youtube.com:443 from 115.220.84.128:8092
2016-06-04 23:16:38 INFO connecting r3---sn-i3beln7k.googlevideo.com:443 from 115.220.84.128:8105
2016-06-04 23:16:38 INFO connecting r3---sn-i3beln7k.googlevideo.com:443 from 115.220.84.128:8106
2016-06-04 23:16:38 INFO connecting r16---sn-4g57kn66.googlevideo.com:443 from 115.220.84.128:8108
2016-06-04 23:16:38 INFO connecting www.youtube-nocookie.com:443 from 115.220.84.128:8109
2016-06-04 23:16:39 INFO connecting clients1.google.com:443 from 115.220.84.128:8110
2016-06-04 23:16:39 INFO connecting r3---sn-i3beln7k.googlevideo.com:443 from 115.220.84.128:8107
2016-06-04 23:20:08 INFO connecting s.youtube.com:443 from 115.220.84.128:8515
2016-06-04 23:20:08 INFO connecting i1.ytimg.com:443 from 115.220.84.128:8516
2016-06-04 23:20:58 INFO connecting r3---sn-i3beln7z.googlevideo.com:443 from 115.220.84.128:8604
2016-06-04 23:20:58 INFO connecting r3---sn-i3beln7z.googlevideo.com:443 from 115.220.84.128:8603
2016-06-04 23:20:58 INFO connecting r3---sn-i3beln7z.googlevideo.com:443 from 115.220.84.128:8605
2016-06-04 23:20:58 INFO connecting r3---sn-i3beln7z.googlevideo.com:443 from 115.220.84.128:8606
2016-06-04 23:20:58 INFO connecting r5---sn-4g57knd6.googlevideo.com:443 from 115.220.84.128:8607
2016-06-04 23:20:59 INFO connecting www.youtube-nocookie.com:443 from 115.220.84.128:8608
2016-06-04 23:20:59 INFO connecting clients1.google.com:443 from 115.220.84.128:8609
[root@cloud log]# tail -n5 shadowsocks.log #顯示文件后5行
2016-06-04 23:20:58 INFO connecting r3---sn-i3beln7z.googlevideo.com:443 from 115.220.84.128:8606
2016-06-04 23:20:58 INFO connecting r5---sn-4g57knd6.googlevideo.com:443 from 115.220.84.128:8607
2016-06-04 23:20:59 INFO connecting www.youtube-nocookie.com:443 from 115.220.84.128:8608
2016-06-04 23:20:59 INFO connecting clients1.google.com:443 from 115.220.84.128:8609
2016-06-04 23:21:54 INFO connecting r3---sn-i3beln7z.googlevideo.com:443 from 115.220.84.128:8712
mkdir 創建目錄
-p:遞歸創建
-V:顯示創建信息
[root@desperadochn ~]# mkdir -pv 111/222/22/111
mkdir: 已創建目錄 "111/222/22/111"
rmdir 刪除目錄
-p:遞歸刪除
-V:顯示刪除信息
只能刪除目錄,不能刪除文件
[root@desperadochn ~]# rmdir -pv 111/222/22/111
rmdir: 正在刪除目錄 "111/222/22/111"
rmdir: 正在刪除目錄 "111/222/22"
rmdir: 正在刪除目錄 "111/222"
rmdir: 正在刪除目錄 "111"
[root@desperadochn ~]# mkdir -pv 111/222/22/111
mkdir: 已創建目錄 "111/222/22/111"
[root@desperadochn ~]# cd 111
[root@desperadochn 111]# touch 1111.txt
[root@desperadochn 111]# cd ..
[root@desperadochn ~]# rmdir -pv 111/222/22/111
rmdir: 正在刪除目錄 "111/222/22/111"
rmdir: 正在刪除目錄 "111/222/22"
rmdir: 正在刪除目錄 "111/222"
rmdir: 正在刪除目錄 "111"
rmdir: 刪除目錄 "111" 失敗: 目錄非空
#rmdir 對目錄中有文件的目錄沒有辦法,即只能刪除空目錄
rm 刪除文件 可以刪除目錄和文件
-i:交互式刪除
-f:暴力刪除
-r:遞歸刪除
命令可以組合利用
rm與rmdir的區別在于,rm可以刪除文件和目錄 而rmdir只能刪除空目錄
若rm要刪除目錄必須帶-r參數
[root@desperadochn ~]# mkdir -p 111/222/22/111
[root@desperadochn ~]# rm -rf 111/222/22/111
[root@desperadochn ~]# ll
總用量 10264
drwxr-xr-x. 3 root root 16 4月 30 08:13 111
-rw-r--r--. 1 desperadochn desperadochn 0 4月 25 22:10 1111
------x---. 1 root root 0 4月 25 19:33 1111111
-rw-r--r--. 1 root root 87 4月 25 16:27 1111.txt
[root@desperadochn ~]# rm -f 1111.txt
[root@desperadochn ~]# ll
總用量 10260 #1111.txt已刪除
drwxr-xr-x. 3 root root 16 4月 30 08:13 111
-rw-r--r--. 1 desperadochn desperadochn 0 4月 25 22:10 1111
------x---. 1 root root 0 4月 25 19:33 1111111
-rw-r--r--. 1 root root 66441 3月 19 12:13 1.txt
[root@desperadochn ~]# mkdir -pv 111/222/22/111
mkdir: 已創建目錄 "111/222/22/111"
[root@desperadochn ~]# cd 111
[root@desperadochn 111]# touch 1111.txt
[root@desperadochn 111]# cd ..
[root@desperadochn ~]# rm -rf 111/222/22/111 #用rm目錄 遞歸刪除有文件的目錄成功了
[root@desperadochn ~]# rm -ir 111/222/22/111
rm:是否刪除目錄 "111/222/22/111"?y
cp 文件復制
規則:只有最后一個為目標。復制一個文件到一個文件 或者 多個文件
到一個目錄!
規則細節如下:SRC——DEST
SRC是文件:
如果目標不存在:新建DEST,并將SRC中內容填充至DEST中;
如果目錄存在則存在以下兩種情況:
1、 如果DEST是文件:將SRC中的內容覆蓋至DEST中;此時建議為cp命令使用-i選項;
2、如果DEST是目錄:在DEST下新建與原文件同名的文件,并將SRC中內容填充至新文件中;
cp SRC... DEST
當SRC...:多個文件 則DEST必須存在,且為目錄,其它情形均會出錯;
cp SRC DEST
SRC是目錄:此時應使用選項:-r
如果DEST不存在:則創建指定目錄,復制SRC目錄中所有文件至DES
如果DEST存在有兩種情況:
1、如果DEST是文件:報錯
2、如果DEST是目錄:復制到該目錄
注意 :
不同身份者執行這個指令會有不同的結果產生,尤其是那個-a, -p 的選項, 對于不同身份來說,差異則非常的大!
選項:
-a :相當于 -dr --preserve=all 的意思,歸檔復制
-d :若來源文件為鏈接文件的屬性(link file), 則復制鏈接文件屬性而非文件本身;
-f : 為強制(force)的意思,若目標文件已經存在且無法開啟, 則移除后再嘗試一次;
-i :若目標文件(destination)已經存在時,在覆蓋時會先詢問動作的進行(常用)
-l : 進行硬式連結(hard link)的連結檔建立,而非復制文件本身;
-p : 連同文件的屬性(權限、用戶、 時間)一起復制過去,而非使用默認屬性(備份常用);
-r : 遞歸持續復制,用于目錄的復制行為; (常用)
-s :復制成為符號鏈接文件 (symbolic link),亦即『快捷方式』 文件;
-u : destination 比 source 舊才更新 destination,或 destination 不存在的情況下才復制。
--preserve=all :除了 -p 的權限相關參數外, 還加入 SELinux 的屬性, links, xattr 等也復制了。
最后需要注意的,如果來源檔有兩個以上, 則最后一個目的文件一定要是『目錄』才行!
[root@desperadochn ~]# cp -i ~/.bashrc /tmp/bashrc
[root@desperadochn ~]# cp -i ~/.bashrc /tmp/bashrc
cp:是否覆蓋"/tmp/bashrc"? y
[root@desperadochn etc]# cp -a /etc/grub.d/ /root/grub
[root@desperadochn etc]# cd /root/grub/
[root@desperadochn grub]# ll
total 72
-rwxr-xr-x. 1 root root 8702 Nov 24 23:49 00_header
-rwxr-xr-x. 1 root root 992 May 4 2015 00_tuned
-rwxr-xr-x. 1 root root 230 Nov 24 23:49 01_users
-rwxr-xr-x. 1 root root 10232 Nov 24 23:49 10_linux
-rwxr-xr-x. 1 root root 10275 Nov 24 23:49 20_linux_xen
-rwxr-xr-x. 1 root root 2559 Nov 24 23:49 20_ppc_terminfo
-rwxr-xr-x. 1 root root 11169 Nov 24 23:49 30_os-prober
-rwxr-xr-x. 1 root root 214 Nov 24 23:49 40_custom
-rwxr-xr-x. 1 root root 216 Nov 24 23:49 41_custom
-rw-r--r--. 1 root root 483 Nov 24 23:49 README
[root@desperadochn grub]# cd /etc/grub.d
[root@desperadochn grub.d]# ll
total 72
-rwxr-xr-x. 1 root root 8702 Nov 24 23:49 00_header
-rwxr-xr-x. 1 root root 992 May 4 2015 00_tuned
-rwxr-xr-x. 1 root root 230 Nov 24 23:49 01_users
-rwxr-xr-x. 1 root root 10232 Nov 24 23:49 10_linux
-rwxr-xr-x. 1 root root 10275 Nov 24 23:49 20_linux_xen
-rwxr-xr-x. 1 root root 2559 Nov 24 23:49 20_ppc_terminfo
-rwxr-xr-x. 1 root root 11169 Nov 24 23:49 30_os-prober
-rwxr-xr-x. 1 root root 214 Nov 24 23:49 40_custom
-rwxr-xr-x. 1 root root 216 Nov 24 23:49 41_custom
-rw-r--r--. 1 root root 483 Nov 24 23:49 README
mv——移動文件
mv SRC(源) DEST(目標)
在統一目錄下可以利用 mv 進行重命名: mv abc bcd 或者 mv -t 目標 源
[root@desperadochn ~]# mv 153_160603161305_1.gif 1.gif
[root@desperadochn ~]# ll
總用量 11992
drwxr-xr-x. 3 root root 31 4月 30 08:23 111
-rw-r--r--. 1 desperadochn desperadochn 0 4月 25 22:10 1111
------x---. 1 root root 0 4月 25 19:33 1111111
-rw-r--r--. 1 root root 1770051 6月 3 2016 1.gif
touch——創建文件
-c:文件存在的時候不在創建
-a:只改變文件的訪問時間
-m:只改變文件的修改時間
-t:自己設定文件的時間戳(年月日時分.秒),與 a、 m 配合使用
ln——創建鏈接文件
ln [選項] [源文件] [鏈接文件]
ln SRC DEST:創建硬鏈接
–b或–backup:刪除,覆蓋目標文件之前的備份;
-d或-F或——directory:建立目錄的硬連接;
-f或——force:強行建立文件或目錄的連接,不論文件或目錄是否存在;
-i或——interactive:覆蓋既有文件之前先詢問用戶;
-n或–no-dereference:把符號連接的目的目錄視為一般文件;
-s或——symbolic:對源文件建立符號連接,而非硬連接;
-S<字尾備份字符串>或–suffix=<字尾備份字符串>:用"-b"參數備份目標文件后,備份文件的字尾會被加上一個備份字符串,預設的備份字符串是符號“~”,用戶可通過“-S”參數來改變它;
-v或——verbose:顯示指令執行過程;
-V<備份方式>或–version-control=<備份方式>:用“-b”參數備份目標文件后,備份文件的字尾會被加上一個備份字符串,這個字符串不僅可用“-S”參數變更,當使用“-V”參數<備份方式>指定不同備份方式時,也會產生不同字尾的備份字符串;
–help:在線幫助; –version:顯示版本信息。
硬件連接:
1、只能對文件創建,不能應用于目錄,文件的硬鏈接次數為 2
2、不能夸文件系統
3、創建硬鏈接會增加文件被連接的次數
符號連接:
1、可應用于目錄
2、可以跨文件系統
3、不會增加被連接文件的連接次數
4、其大小為指定的路徑所包含的字符個數
ln -s /usr/mengqc/mub1 /usr/liu/abc
#在目錄/usr/liu下建立一個符號鏈接文件abc,使它指向目錄/usr/mengqc/mub1
stat——用于顯示文件的狀態信息
stat命令用于顯示文件的狀態信息,輸出信息比ls命令的輸出信息要更詳細
語法:stat(選項)(參數)
選項:
-L:支持符號連接;
-f:顯示文件系統狀態而非文件狀態;
-t:以簡潔方式輸出信息;
--help:顯示指令的幫助信息;
--version:顯示指令的版本信息。
-c:以指定格式顯示輸出
文件類型描述如下:
-:普通文件
d:目錄
l:符號鏈接文件
p:管道文件
s:socket文件
b:塊設備文件
c:字符設備文件
輸出
stat和stat -L輸出如下信息:
1、設備編號
2、節點號
3、訪問權限
4、硬鏈接數
5、所有者的有效用戶ID和名稱
6、所有者的有效組ID和名稱
7、節點設備類型
8、以字節為單位的的總大小
9、分配的總塊數(Blocks)
10、I/O塊大?。↖/O Blocks)
11、最后訪問時間(atime Access)
12、最后修改時間 (mtime Modify )
13、最后改動時間 (ctime Change )
stat -f 輸出如下信息:
1、文件類型
2、文件系統塊大小
3、文件系統全部塊
4、空閑塊的數量
5、可用塊的數量
6、索引節點總數
7、文件名最大長度
8、文件ID
可以用-c選項指定如下輸出格式:
1、%a 八進制表示的訪問權限
2、%A 用人類可讀的格式表示的訪問權限
3、%b 已分配的塊數
4、%B %b 記錄每個塊的大小 以字節記
5、%d 十進制表示的設備數
6、%D 十六進制表示的設備數
7、%f 十六進制表示的原始模式
8、%F 文件類型
9、%g 所有組標識
10、%h 硬鏈接數量
11、%i 索引節點號
12、%n 文件名
13、%N 引用文件名
14、%o I/O塊大小
15、%s 總大小,以字節記
16、%t 以十六進制表示的主要設備類型
17、%T 以十六進制表示的的次要設備類型
18、%u 所有者用戶標識
19、%U 所有者用戶名
20、%x 最近訪問時間
21、%X 從UNIX元年(1970年1月1日)起計算的上次訪問時間(atime)
22、%y 上次修改時間
23、%Y 從UNIX元年(1970年1月1日)起計算的上次修改時間(mtime)
24、%z 上次更改時間
25、%Z 從UNIX元年(1970年1月1日)起計算的上次更改時間(ctime)
如果指定了-c和-f 可以使用以下格式:
1、%a 可用的空閑塊
2、%b 文件系統全部數據塊
3、%c 文件系統全部文件節點
4、%d 文件系統空閑文件節點
5、%f 文件系統空閑塊
6、%i 十六進制表示的文件系統標識
7、%l 最大文件名長度
8、%n 文件名
9、%s 最佳傳輸塊的大小
10、%S 基本塊大小
11、%t 十六進制表示的類型
12、%T 人類可讀形式的類型
[root@desperadochn ~]# stat /
文件:"/"
大?。?096 塊:8 IO 塊:4096 目錄
設備:fd00h/64768d Inode:128 硬鏈接:18
權限:(0555/dr-xr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
環境:system_u:object_r:root_t:s0
最近訪問:2016-04-29 22:45:27.317854243 +0800
最近更改:2016-03-29 15:49:54.955953636 +0800
最近改動:2016-03-29 15:49:54.955953636 +0800
創建時間:-
[root@desperadochn ~]# stat -L /
文件:"/"
大?。?096 塊:8 IO 塊:4096 目錄
設備:fd00h/64768d Inode:128 硬鏈接:18
權限:(0555/dr-xr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
環境:system_u:object_r:root_t:s0
最近訪問:2016-04-29 22:45:27.317854243 +0800
最近更改:2016-03-29 15:49:54.955953636 +0800
最近改動:2016-03-29 15:49:54.955953636 +0800
創建時間:-
[root@desperadochn ~]# stat -c%A /
dr-xr-xr-x
[root@desperadochn ~]# stat -f /
文件:"/"
ID:fd0000000000 文件名長度:255 類型:xfs
塊大小:4096 基本塊大小:4096
塊:總計:4576768 空閑:4027461 可用:4027461
Inodes: 總計:18317312 空閑:18242372
[root@desperadochn ~]# stat -c%U /
root
[root@desperadochn ~]# stat -f /
File: "/"
ID: fd0000000000 Namelen: 255 Type: xfs
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 4576768 Free: 4027569 Available: 4027569
Inodes: Total: 18317312 Free: 18242372
[root@desperadochn ~]# stat -c%a -f /
4027569
[root@desperadochn ~]# stat -c%n%a -f /etc/passwd
/etc/passwd4027572
原創文章,作者:Net17_desperado,如若轉載,請注明出處:http://www.www58058.com/20034