Linux学习:Linux基础命令集(2)
本次記錄以下命令如mkdir, rmdir, tree, dirname,basename, cat, tac, more, less, tail, head, touch, file, cp, mv, rm, wc, cut, sort, uniq的使用格式、常用選項(xiàng)及它們有哪些使用實(shí)例等。
-
目錄管理相關(guān)命令
1. mkdir 創(chuàng)建新目錄命令
創(chuàng)建新目錄命令格式:mkdir [OPTION]... /PATH/TO/SOMEWHERE
OPTION:
-p 遞歸創(chuàng)建目標(biāo)目錄包含上層目錄
[root@www ~]# mkdir -p /test/test1
-v 顯示創(chuàng)建過(guò)程
[root@www ~]# mkdir -pv /lab/lab1
mkdir: created directory `/lab'
mkdir: created directory `/lab/lab1'
2. rmdir刪除目錄命令
目錄需要一層一層地刪除才行,而且被刪除的目錄里面必定不能存在其他的目錄或文件,即注意指定目錄必須為空。
刪除目錄命令格式:rmdir [OPTION]... /PATH/TO/SOMEWHERE
OPTION:
-p 遞歸刪除目標(biāo)目錄包含上層目錄
[root@www ~]# rmdir -p /test/test1
3. tree樹(shù)狀目錄顯示命令
以樹(shù)形方式顯示目錄結(jié)構(gòu)。
樹(shù)狀目錄顯示命令格式:tree [OPTION]...[DIR]
OPTION:
-d 顯示當(dāng)前目錄名稱而非內(nèi)容
[root@www ~]# tree -d
.
`-- Desktop
1 directory
-L level 顯示第幾個(gè)層級(jí)目錄名和文件
[root@www var]# tree –L 1
.
|-- account
|-- cache
|-- crash
|-- cvs
|-- db
|-- empty
|-- games
|-- gdm
|-- lib
|-- local
|-- lock
|-- log
|-- mail -> spool/mail
|-- nis
|-- opt
|-- preserve
|-- racoon
|-- run
|-- spool
|-- tmp
`-- yp
21 directories, 0 files
4. dirname截取給定路徑的目錄部分命令
從給定的包含絕對(duì)路徑的文件名中去除文件名(非目錄部分),然后返回剩下的路徑(目錄部分)。
截取給定路徑的目錄部分命令格式:dirname FILENAME
[root@www ~]# dirname /etc/fstab
/etc
5. basename用于顯示目錄或文件的基本名稱命令
用于去掉文件名的目錄和后綴。
用于顯示目錄或文件的基本名稱命令格式:basename FILENAME
[root@www ~]# basename /etc/fstab
fstab
-
文本文件查看相關(guān)命令
6. cat正向查看文件內(nèi)容命令
此命令只能查看文件內(nèi)容為普通文本的文件。
正向查看文件內(nèi)容命令格式:cat [OPTION]...[FILE]... OPTION:
-n 顯示行號(hào),連同空白行
[root@www ~]# cat –n /etc/issue
1 CentOS release 6.6 (Final)
2 Kernel \r on an \m
3
-b 顯示行號(hào),僅針對(duì)非空白行
[root@www ~]# cat –b /etc/issue
1 CentOS release 6.6 (Final)
2 Kernel \r on an \m
-A 列出所有內(nèi)容(包含特殊字符)如斷行符$、^I等
[root@www ~]# cat –A /etc/issue
CentOS release 6.6 (Final)$
Kernel \r on an \m$
$
7. tac反向查看文件內(nèi)容命令
此命令也只能查看文件內(nèi)容為普通文本的文件。
[root@www ~]# tac /etc/issue
Kernel \r on an \m
CentOS release 6.6 (Final)
8. more翻屏查看命令
此命令翻到尾部無(wú)法再向前翻。
翻屏查看命令格式:more [OPTION]...[FILE]...
OPTION:
-d 顯示翻頁(yè)有操作提示信息
[root@www ~]# more -d /etc/man.config
MANPATH /usr/man
MANPATH /usr/share/man
MANPATH /usr/local/man
MANPATH /usr/local/share/man
--More--(32%)[Press space to continue, 'q' to quit.]
常用按鍵:
空格鍵:代表向下翻一頁(yè)
Enter:代表向下滾動(dòng)一行
b:代表往回翻頁(yè)
q:代表立刻離開(kāi)more
9. less翻屏查看命令
翻屏查看命令格式:less [OPTION]...[FILE]...
OPTION:
-e當(dāng)文件顯示結(jié)束后,自動(dòng)離開(kāi)
-m顯示類似more命令的百分比
[root@www ~]# less -m /etc/man.config
MANPATH /usr/man
MANPATH /usr/share/man
MANPATH /usr/local/man
MANPATH /usr/local/share/man
/etc/man.config 32%
-N? 顯示每行的行號(hào)
[root@www ~]# less -N /etc/man.config
1 #
2 # Generated automatically from man.conf.in by the
3 # configure script.
4 #
5 # man.conf from man-1.6f
6 #
常用按鍵:
空格鍵:代表向下翻一頁(yè)
Enter:代表向下滾動(dòng)一行
b:代表往回翻頁(yè)
q:代表立刻離開(kāi)more
[pagedown]: 向下翻動(dòng)一頁(yè)
[pageup]: 向上翻動(dòng)一頁(yè)
文本搜索:
/KEYWORD: 正向搜索
?KEYWORD: 反向搜索
n: 與命令方向相同的下一個(gè)
N:與命令方向相反的前一個(gè)
10. head數(shù)據(jù)選取命令
此命令是取出文件內(nèi)容前面幾行條目。默認(rèn)只顯示10行。
數(shù)據(jù)選取命令格式:head [OPTION]...[FILE]...
OPTION:
-n # 數(shù)字,代表顯示幾行的意思
[root@www ~]# head -n 3 /etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
11. tail數(shù)據(jù)選取命令
此命令是取出文件內(nèi)容后面幾行條目。默認(rèn)只顯示10行。
數(shù)據(jù)選取命令格式:tail [OPTION]...[FILE]...
OPTION:
-n # 數(shù)字,代表顯示幾行的意思
[root@www ~]# tail -n 3 /etc/man.config
# Otherwise the database will be updated.
#
#MAKEWHATISDBUPDATES n
-f 跟蹤新追加信息,而不用退出
[root@www abc]# echo how old are you? >> tt
[root@www abc]# tail -f tt
pwd=Print Working Directory
mkdir=
cat=Concatenat
dddddde
how old are you?
12. touch時(shí)間戳管理或創(chuàng)建新文件命令
更新時(shí)間戳至當(dāng)前時(shí)間。每個(gè)文件都有三個(gè)時(shí)間戳:
atime: 文件最近一次被訪問(wèn)的時(shí)間;
mtime: 文件最近一次被“修改”的時(shí)間;
ctime:文件最近一次被“改變”的時(shí)間;
文件數(shù)據(jù)有文件元數(shù)據(jù)(屬性數(shù)據(jù))和數(shù)據(jù)之分。當(dāng)文件狀態(tài)更改了,如文件名變更、改變權(quán)限等后,則ctime時(shí)間會(huì)變,而atime和mtime時(shí)間不變。
當(dāng)對(duì)文件內(nèi)容數(shù)據(jù)進(jìn)行編輯時(shí),則mtime時(shí)間變動(dòng),接著ctime也變動(dòng)
當(dāng)對(duì)文件進(jìn)行訪問(wèn)時(shí),則atime時(shí)間變動(dòng),同樣ctime也變動(dòng)
當(dāng)文件的屬性發(fā)生變化時(shí),則ctime時(shí)間變動(dòng),但atime及mtime未必變動(dòng)
時(shí)間戳管理或創(chuàng)建新文件命令格式:touch [OPTION]... FILE...
OPTION:
-a 只更新atime
File: `tt'
Access: 2015-08-26 13:31:05.638901911 +0800
Modify: 2015-08-26 13:30:51.537900897 +0800
Change: 2015-08-26 13:30:51.537900897 +0800
[root@www ~]# touch -a tt
Access: 2015-08-28 07:50:11.000800946 +0800
Modify: 2015-08-26 13:30:51.537900897 +0800
Change: 2015-08-28 07:50:11.000800946 +0800
-m 只更新mtime
File: `tt'
Access: 2015-08-28 07:50:11.000800946 +0800
Modify: 2015-08-26 13:30:51.537900897 +0800
Change: 2015-08-28 07:50:11.000800946 +0800
[root@www ~]# touch -m tt
Access: 2015-08-28 07:50:11.000800946 +0800
Modify: 2015-08-28 08:49:51.725799067 +0800
Change: 2015-08-28 08:49:51.725799067 +0800
-c 不創(chuàng)建空文件
一般來(lái)說(shuō),如果FILE不存在,則默認(rèn)會(huì)創(chuàng)建一個(gè)空文件。
13. file查看文件類型命令
如果想知道某個(gè)文件的基本數(shù)據(jù),如ASCII或者data文件,或者是binary等。
[root@www ~]# file install.log
install.log: UTF-8 Unicode text
-
文件管理相關(guān)命令
15. cp復(fù)制命令
用于復(fù)制文件或目錄操作。
復(fù)制命令格式:
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
OPTION:
-r 遞歸復(fù)制
-v 顯示運(yùn)行過(guò)程
[root@www ~]# cp -rv /345 /tmp
`/345' -> `/tmp/345'
`/345/123' -> `/tmp/345/123'
`/345/678' -> `/tmp/345/678'
`/345/678/789' -> `/tmp/345/678/789'
`/345/678/789/tt' -> `/tmp/345/678/789/tt'
-p 連同文件的屬性一起復(fù)制
[root@www ~]# cp -pv install.log /tmp/345
[root@www ~]# ll install.log;ll /tmp/345/install.log
-rw-r--r--. 1 root root 63202 Aug 4 15:54 install.log
-rw-r--r--. 1 root root 63202 Aug 4 15:54 /tmp/345/install.log
-f 強(qiáng)制覆蓋,但如果有-i參數(shù)時(shí),此參數(shù)無(wú)效
[root@www ~]# \cp -f tt /abc
[root@www ~]# ll tt /abc/tt
-rwxr-xr-x. 1 Allen Allen 108 Aug 28 11:16 /abc/tt
-rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 tt
-a 遞歸復(fù)制,并且保留文件的時(shí)間、權(quán)限、屬主等屬性
[root@www ~]#\cp -av tt /abc/tt
[root@www ~]# ll tt /abc/tt
-rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 /abc/tt
-rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 tt
-s 復(fù)制成符號(hào)鏈接文件(symbolic link),即“快捷方式”
[root@www abc]# cp -sv tt slink-tt
`tt' -> `slink-tt'
[root@www abc]# ll
total 4
lrwxrwxrwx. 1 root root 2 Aug 28 13:27 slink-tt -> tt
-rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 tt
-d 復(fù)制連接文件的屬性而非連接文件本身
[root@www abc]# cp -dv slink-tt alink-tt
`slink-tt' -> `alink-tt'
[root@www abc]# ll
total 4
lrwxrwxrwx. 1 root root 2 Aug 28 13:41 alink-tt -> tt
lrwxrwxrwx. 1 root root 2 Aug 28 13:27 slink-tt -> tt
-rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 tt
-rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 tt
15. rm移除文件或目錄命令
移除文件或目錄命令格式:rm [OPTION]...[FILE]...
OPTION:
-f 強(qiáng)制執(zhí)行
[root@www 789]# rm -f tt
-r 遞歸刪除指定目錄與文件
[root@www ~]# rm -rf /345
16. mv移動(dòng)文件與目錄或更名命令
移除文件與目錄或更名命令格式:
mv [OPTION]...[FILE]...
mv [OPTION]... SOURCE... DIRECTORY
OPTION:
-f 強(qiáng)制執(zhí)行
[root@www abc]# mv –f tt /lab
[root@www abc]# ll /lab/tt
-rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 /lab/tt
更改文件名
[root@www lab]# mv tt 1t
[root@www lab]# ll 1t
-rwxr-xr-x. 1 Allen Allen 108 Aug 27 17:31 1t
移動(dòng)多個(gè)文件
[root@www tmp]# mv fstab.out functions /lab
17. wc文件內(nèi)容統(tǒng)計(jì)命令
統(tǒng)計(jì)給定文件的字節(jié)數(shù)、字?jǐn)?shù)、行數(shù),并將統(tǒng)計(jì)結(jié)果顯示輸出。如果沒(méi)有給出文件名,則從標(biāo)準(zhǔn)輸入讀取。
文件內(nèi)容統(tǒng)計(jì)命令格式:wc [OPTION]... FILE...
OPTION:
-l 統(tǒng)計(jì)行數(shù)
-w 統(tǒng)計(jì)字?jǐn)?shù)。一個(gè)字被定義為由空白、跳格或換行字符分隔的字符串。
-m 統(tǒng)計(jì)字符數(shù)。這個(gè)標(biāo)志不能與-c標(biāo)志一起使用
-c 統(tǒng)計(jì)字節(jié)數(shù)
[root@www lab]# cat tt
i am ok
abc
[root@www lab]# wc tt
2 4 12 tt'????????????? 2是行數(shù),4是單詞數(shù),12是字節(jié)數(shù)
[root@www lab]# wc -l tt
2 tt'
[root@www lab]# wc -w tt
4 tt
[root@www lab]# wc -c tt
12 tt
[root@www lab]# wc -m tt
12 tt
18. cut選取文件內(nèi)容命令
從一個(gè)文本文件或者文本流中提取文本列。選取信息通常是針對(duì)“行”來(lái)進(jìn)行分析的,并不是整篇信息分析。
從文件的每一行剪切字節(jié)、字符和字段并將這些字節(jié)、字符和字段寫至標(biāo)準(zhǔn)輸出。如果不指定文件名,它將讀取標(biāo)準(zhǔn)輸入。
選取文件內(nèi)容命令格式:cut [OPTION]... FILE...
OPTION:
-d 指定分隔符,默認(rèn)為制表符
-f 指定顯示哪個(gè)區(qū)域
范圍-n表示從第1~n個(gè)字段,范圍n-表示從n個(gè)字段到行尾,n-m表示從第n~m個(gè)字段。
[root@www lab]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@www lab]# echo $PATH | cut –d: -f4,5
/sbin:/bin
[root@www lab]# who
root tty2 2015-08-17 10:10
root pts/0 2015-08-29 11:08 (172.16.10.100)
root pts/1 2015-08-29 14:06 (172.16.10.100)
[root@www lab]# who | cut –d’‘ –f6
tty2
pts/0
pts/1
-c 以字符為單位進(jìn)行分隔
范圍-n表示從第1~n個(gè)字符,范圍n-表示從n個(gè)字符到最后字符,n-m表示從第n~m個(gè)字符。
[root@www lab]# cat labtest.txt
111 222 333 444 555 666
111 222 333 444 555 666
aaa bbb ccc ddd eee fff
aaa bbb ccc ddd eee fff
-----------------------
[root@www lab]# cat labtest.txt |cut -c3,23
16
16
af
af
--
-s 僅打印包含分隔符的行,如果沒(méi)有此選項(xiàng),則打印不包含分隔符的行
[root@www lab]# cat labtest.txt |cut –s –d’‘ –f6-10
666
666
fff
fff
19. sort文件內(nèi)容排序命令
對(duì)指定文件中的行排序,并將結(jié)果標(biāo)準(zhǔn)輸出。如果有多個(gè)文件,那么它會(huì)將這些文件連接起來(lái),并當(dāng)作一個(gè)文件進(jìn)行排序。
文件內(nèi)容排序命令格式:sort [OPTION]... FILE...
OPTION:
-r 按逆序排序
[root@www lab]# cat labtest.txt
111 222 333 444 555 666
111 222 333 444 555 666
aaa bbb ccc ddd eee fff
aaa bbb ccc ddd eee fff
-----------------------
[root@www lab]# sort -r labtest.txt
aaa bbb ccc ddd eee fff
aaa bbb ccc ddd eee fff
111 222 333 444 555 666
111 222 333 444 555 666
-----------------------
-u 重復(fù)僅出現(xiàn)一次
[root@www lab]# cat labtest.txt |sort -u
-----------------------
111 222 333 444 555 666
aaa bbb ccc ddd eee fff
-t 指定分隔符
-k 以那個(gè)區(qū)間(field)來(lái)進(jìn)行排序
[root@www lab]# cat list.txt
Tom Winstrom:94201:1
Janet Dempsey:94111:20
Alice MacLeod:94114:12
David Mack:94114:23
Toni Barnett:95020:8
Jack Cooper:94072:0
Richard MacDonald:95510:3
[root@www lab]# cat list.txt|sort -t: -k 2
Jack Cooper:94072:0
Janet Dempsey:94111:20
Alice MacLeod:94114:12
David Mack:94114:23
Tom Winstrom:94201:1
Toni Barnett:95020:8
Richard MacDonald:95510:3
-n 表示以數(shù)值大小排序
[root@www lab]# cat list.txt|sort -t: -k 3 -n
Jack Cooper:94072:0
Tom Winstrom:94201:1
Richard MacDonald:95510:3
Toni Barnett:95020:8
Alice MacLeod:94114:12
Janet Dempsey:94111:20
David Mack:94114:23
[root@www lab]# cat list.txt|sort -t: -k 3 -n|cut -d: -f3
0
1
3
8
12
20
23
20. uniq顯示文件內(nèi)容唯一行命令
去除排序過(guò)的文件中連續(xù)的重復(fù)行,只保留一行,因此uniq經(jīng)常和sort合用。
文件內(nèi)容排序命令格式:uniq [OPTION]... FILE...
OPTION:
-c 顯示每行重復(fù)的次數(shù)
[root@www lab]# sort labtest.txt |uniq -c
1 -----------------------
2 111 222 333 444 555 666
2 aaa bbb ccc ddd eee fff
-d 只顯示重復(fù)過(guò)的行
[root@www lab]# sort labtest.txt |uniq -d
111 222 333 444 555 666
aaa bbb ccc ddd eee fff
-u 只顯示沒(méi)有連續(xù)重復(fù)過(guò)的行
[root@www lab]# sort labtest.txt |uniq -u
-----------------------
轉(zhuǎn)載于:https://blog.51cto.com/allenh/1689622
總結(jié)
以上是生活随笔為你收集整理的Linux学习:Linux基础命令集(2)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: fastclick.js移动端WEB开发
- 下一篇: Spring笔记——使用Spring进行