一、從ls命令詳解說起……
1、ls -l小寫的l
進行詳細的查看list list
dashuai@ubuntu:~$ ls -l
total 52
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Desktop
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Documents
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Downloads
-rw-r--r-- 1 dashuai dashuai 8445 May 15 08:47 examples.desktop
drwxrwxr-x 3 dashuai dashuai 4096 May 17 08:08 family
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Music
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Pictures
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Public
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Templates
drwxrwxr-x 2 dashuai dashuai 4096 May 16 23:57 Ubuntu One
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Videos
左邊開始,普通文件用-打頭,目錄用d打頭(directory的縮寫)
dashuai@ubuntu:~$ ls -l /bin
total 8632
-rwxr-xr-x 1 root root 920796 Sep 19 2012 bash
-rwxr-xr-x 1 root root 30240 Aug 3 2012 bunzip2
-rwxr-xr-x 1 root root 1631376 Apr 30 2012 busybox
-rwxr-xr-x 1 root root 30240 Aug 3 2012 bzcat
lrwxrwxrwx 1 root root 6 May 15 08:39 bzcmp -> bzdiff
-rwxr-xr-x 1 root root 2140 Aug 3 2012 bzdiff
lrwxrwxrwx 1 root root 6 May 15 08:39 bzegrep -> bzgrep
小寫l打頭表示軟鏈接,也就是快捷方式。
繼續看,x結尾表示是可執行文件。從後面開始是文件或者目錄名字,然後是建立的時間,然後是文件或者目錄的大小,然後兩個名字;第二個是組名,第一個是用戶名,在其次是一個個的數字,1,2,3不等,他們的意思是硬連接數目,也就是一個文件對應幾個名字啊?!
最重要的除了開頭的符號,後面的一串字母符號,代表了權限:
r代表readable可讀的,代表有權讀
w是writeable可寫的,代表有權寫
x是executable可執行的,代表有權利執行
用三個圈表示。第一個是自己,然後是同組的,最外面的是其他人。這個親密關係是不一樣的,首先沒有比自己更瞭解親近自己的了,其次是同宿舍的或者同班的。最次是外校的等等。
同樣權限也是三個圈子,一是自己的,是否可以讀寫執行,同組人是否可以,外部人是否可以,所以,數數,一共是9個字符(第一個代表文件或者目錄類型)分別表示自己的,同組的,外組的也就是其他的。
注意:
l和1很像!儘量不要兩個一起用!
文件或者目錄順序一般情況下按照字母順序來排列。
dashuai@ubuntu:~$ ls -r
Videos Templates Pictures family Downloads Desktop
Ubuntu One Public Music examples.desktop Documents
2、使用r選項代表反過來排列。reverse的意思。但是沒什麼意思。
3、還可以按照建立的時間順序來排列,t代表時間
dashuai@ubuntu:~$ ls -t
family examples.desktop Documents Music Public Videos
Ubuntu One Desktop Downloads Pictures Templates
dashuai@ubuntu:~$
dashuai@ubuntu:~$ ls -tl
total 52
drwxrwxr-x 3 dashuai dashuai 4096 May 17 08:08 family
drwxrwxr-x 2 dashuai dashuai 4096 May 16 23:57 Ubuntu One
-rw-r--r-- 1 dashuai dashuai 8445 May 15 08:47 examples.desktop
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Desktop
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Documents
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Downloads
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Music
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Pictures
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Public
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Templates
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Videos
按照的是時間越近,越靠前
注意
ls裏的total指的是佔據了多少空間多少字節,一般512字節是一個塊。
4、ls -F顯示標記,目錄和文件一目瞭然,斜槓表示目錄,並且目錄的顏色和文件的顏色不一樣的!
dashuai@ubuntu:~$ ls -F
Desktop/ Downloads/ family/ Pictures/ Templates/ Videos/
Documents/ examples.desktop Music/ Public/ Ubuntu One/
5、ls -F 其他目錄
dashuai@ubuntu:~$ ls -F /bin
bash* initctl2dot* ping*
bunzip2* ip* ping6*
busybox* kbd_mode* plymouth*
bzcat* kill* plymouth-upstart-bridge*
bzcmp@ less* ps*
bzdiff* lessecho* pwd*
bzegrep@ lessfile@ rbash@
bzexe* lesskey* readlink*
bzfgrep@ lesspipe* rm*
bzgrep* ln* rmdir*
bzip2* loadkeys* rnano@
星號表示是一個可執行文件,@表示這是一個軟鏈接或者符號鏈接。
注意;這裏F就是標記的意思flag的縮寫
6、ls -a
a是all的縮寫,就是查看所有的目錄或者文件,隱藏的也能看!
dashuai@ubuntu:~$ ls -a
. Desktop .ICEauthority .pulse-cookie
.. .dmrc .local Templates
.bash_history Documents .mission-control Ubuntu One
.bash_logout Downloads .mozilla Videos
.bashrc examples.desktop Music .Xauthority
.cache family Pictures .xsession-errors
.compiz .gconf .profile .xsession-errors.old
.config .gnome2 Public
.dbus .gtk-bookmarks .pulse
dashuai@ubuntu:~$
點 . 打頭的文件表示隱藏文件,在一般的ls命令中是不顯示的,同樣在windows裏也有隱藏文件,是通過屬性實現的。
注意;有兩個特別的點,一個點表示當前目錄下,兩個點表示上一個目錄下。每一個目錄下都有這個東西,是隱藏的。所以我們使用這個的時候可以回得去。
7、ls -A
和a類似,但是會放過點點,比較仁慈,但是少了點那兩項。
dashuai@ubuntu:~$ ls -A
.bash_history .dmrc .ICEauthority .pulse
.bash_logout Documents .local .pulse-cookie
.bashrc Downloads .mission-control Templates
.cache examples.desktop .mozilla Ubuntu One
.compiz family Music Videos
.config .gconf Pictures .Xauthority
.dbus .gnome2 .profile .xsession-errors
Desktop .gtk-bookmarks Public .xsession-errors.old
dashuai@ubuntu:~$
ls命令是多列顯示的。默認的。
並且命令的選項可以合成爲一個一起寫
dashuai@ubuntu:~$ ls -AF
.bash_history .dmrc .ICEauthority .pulse/
.bash_logout Documents/ .local/ .pulse-cookie
.bashrc Downloads/ .mission-control/ Templates/
.cache/ examples.desktop .mozilla/ Ubuntu One/
.compiz/ family/ Music/ Videos/
.config/ .gconf/ Pictures/ .Xauthority
.dbus/ .gnome2/ .profile .xsession-errors
Desktop/ .gtk-bookmarks Public/ .xsession-errors.old
dashuai@ubuntu:~$
或者分開合成一個一起寫
dashuai@ubuntu:~$ ls -A -F
.bash_history .dmrc .ICEauthority .pulse/
.bash_logout Documents/ .local/ .pulse-cookie
.bashrc Downloads/ .mission-control/ Templates/
.cache/ examples.desktop .mozilla/ Ubuntu One/
.compiz/ family/ Music/ Videos/
.config/ .gconf/ Pictures/ .Xauthority
.dbus/ .gnome2/ .profile .xsession-errors
Desktop/ .gtk-bookmarks Public/ .xsession-errors.old
dashuai@ubuntu:~$
8、具體的列出某個目錄的東東,ls直接加目錄即可,還有可以列出目錄以及子目錄的東西來
dashuai@ubuntu:~$ ls -R
.:
Desktop Downloads family Pictures Templates Videos
Documents examples.desktop Music Public Ubuntu One
./Desktop:
./Documents:
./Downloads:
./family:
daughter.txt father.txt house mother.txt son.txt
./family/house:
rooma roomb roomc sofa-son.txt
./family/house/rooma:
bed.txt book.txt doll.txt
./family/house/roomb:
bed.txt book.txt
./family/house/roomc:
./Music:
./Pictures:
./Public:
./Templates:
./Ubuntu One:
Shared With Me
./Videos:
dashuai@ubuntu:~$
默認當前目錄下,列出整個的目錄樹
9、注意是大寫的R,小寫的r是反轉順序的選項。
10、什麼是軟連接呢? 使用ln -s命令建立(link的縮寫 s是soft的縮寫),也叫符號鏈接。就是相當於一個快捷方式。通過這個鏈接可以間接操作其他目錄下的目標文件。它本身也是一個文件,只不過是記錄了目標的指向,本身大小很小,一般就幾個字節到十幾個字節不等。這比起來windows很節省空間,很乾淨,簡單。沒有其他的一些垃圾信息,就是單純的字節。
11、相對的就是硬連接,使用ln命令。他比軟鏈接還要省資源,根本就連新建的文件都沒有,就是給目的文件再起一個新的名字,也就是多個名字對應一個文件。
12、還可以建立管道,使用mkfifo命令
dashuai@ubuntu:~$ mkfifo a
dashuai@ubuntu:~$ ln -s /bin b
dashuai@ubuntu:~$ ls -l
total 52
prw-rw-r-- 1 dashuai dashuai 0 May 20 00:39 a
prw-rw-r-- 1 dashuai dashuai 0 May 20 00:37 abc
lrwxrwxrwx 1 dashuai dashuai 4 May 20 00:40 b -> /bin
lrwxrwxrwx 1 dashuai dashuai 4 May 20 00:39 bin -> /bin
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Desktop
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Documents
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Downloads
-rw-r--r-- 1 dashuai dashuai 8445 May 15 08:47 examples.desktop
drwxrwxr-x 3 dashuai dashuai 4096 May 17 08:08 family
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Music
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Pictures
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Public
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Templates
drwxrwxr-x 2 dashuai dashuai 4096 May 16 23:57 Ubuntu One
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Videos
可以看到剛剛新建的一個管道a,和一個快捷方式b再新建一個文件
dashuai@ubuntu:~$ echo "asd">new.txt
dashuai@ubuntu:~$ ls -l
total 56
prw-rw-r-- 1 dashuai dashuai 0 May 20 00:39 a
prw-rw-r-- 1 dashuai dashuai 0 May 20 00:37 abc
lrwxrwxrwx 1 dashuai dashuai 4 May 20 00:40 b -> /bin
lrwxrwxrwx 1 dashuai dashuai 4 May 20 00:39 bin -> /bin
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Desktop
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Documents
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Downloads
-rw-r--r-- 1 dashuai dashuai 8445 May 15 08:47 examples.desktop
drwxrwxr-x 3 dashuai dashuai 4096 May 17 08:08 family
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Music
-rw-rw-r-- 1 dashuai dashuai 4 May 20 00:42 new.txt
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Pictures
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Public
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Templates
drwxrwxr-x 2 dashuai dashuai 4096 May 16 23:57 Ubuntu One
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Videos
那麼,管道的前綴p,就是pipe的縮寫
n.管子;菸斗;管樂器;(管風琴的)音管
vt.以管輸送;用管樂器演奏;尖聲唱
vi.吹奏管樂器;尖叫;尖聲地說(或唱),尖聲啼鳴;[航海] 吹長哨
dashuai@ubuntu:~$ ls -F
a| bin@ Downloads/ Music/ Public/ Videos/
abc| Desktop/ examples.desktop new.txt Templates/
b@ Documents/ family/
再建立一個硬鏈接
先把home目錄下roomB下的一個文件bed.txt文件複製到桌面上,使用cp命令。
再建立硬鏈接
查看下
dashuai@ubuntu:~/Desktop$ ls -l
total 0
-rw-rw-r-- 2 dashuai dashuai 0 May 20 04:01 bed.txt
-rw-rw-r-- 2 dashuai dashuai 0 May 20 04:01 zzz
dashuai@ubuntu:~/Desktop$
發現數字是2了,說明這個文件對應兩個名字,代表的是硬鏈接的名字。前提是必須在同一個設備上,才能建立硬鏈接!!!!否則不行!!!!
注意;
1、軟鏈接沒有這個限制!
2、硬連接還有一個附帶作用,如果我們刪除一個文件,只是刪除了一個名字而已。
dashuai@ubuntu:~/Desktop$ rm bed.txt
dashuai@ubuntu:~/Desktop$ ls
zzz
dashuai@ubuntu:~/Desktop$
數字變爲了1,而文件本身沒有刪除!仍然在磁盤裏。前提是硬連接還有!即還有名字!!!就是這樣的。只是刪除了名字,只是硬連接數量減去1,只有名字沒有即硬連接數量爲0的時候,文件才真正的從磁盤中被刪除!
dashuai@ubuntu:~/Desktop$ ls -l
total 0
-rw-rw-r-- 1 dashuai dashuai 0 May 20 04:01 zzz
dashuai@ubuntu:~/Desktop$
所以,我們可以在一個隱蔽的地方,爲一個文件偷偷的建立一個硬連接,這樣就可以保證一個文件不被刪除掉!只有文件的硬連接數量爲0的時候,文件才能被真正刪除!這樣很好!
3、目錄是不能建立硬連接的,有別的方法去統計的,不是建立出來的。一般是這樣的,一個目錄最少有兩個子目錄,一點和二點。因此,我們建立一個目錄的時候,它的硬連接是2!此外目錄的硬連接是統計出來的!不是建立的。
不過,目錄的硬連接不需要理會!不用管他了。
4、硬連接一旦建立就是和原來的文件是平等的!不是上下級關係。
=================================================================================================================
文件權限的修改
先查看權限ls -l
dashuai@ubuntu:~$ ls -l
total 60
drwxrwxr-x 2 dashuai dashuai 4096 May 20 04:23 aaa
drwxr-xr-x 2 dashuai dashuai 4096 May 20 04:15 Desktop
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Documents
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Downloads
-rw-r--r-- 1 dashuai dashuai 8445 May 15 08:47 examples.desktop
drwxrwxr-x 3 dashuai dashuai 4096 May 17 08:08 family
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Music
-rw-rw-r-- 1 dashuai dashuai 4 May 20 00:42 new.txt
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Pictures
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Public
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Templates
drwxrwxr-x 2 dashuai dashuai 4096 May 16 23:57 Ubuntu One
drwxr-xr-x 2 dashuai dashuai 4096 May 15 00:55 Videos
dashuai@ubuntu:~$
然後新建一個空文件夾me,作爲實驗
修改me目錄的外組人的權限,是可讀的可執行的,不讓寫,我們讓me不可讀,不可執行!
這樣記憶;other是其他人,外部人的意思,group是組的意思,剩下的user就是用戶自己的意思啦!
減去權限,使用減號-,我們消去me外組人的可執行x,和可讀r的權限,所以我們就用o- 就可以了,後面再跟一個名字即可。
同理,增加權限,用+號,比如,增加me的外組人的可讀權限
人爲直接設定權限,使用=號就行,比如設置外組人具有所有權限(可讀r,可寫w,可執行x)
dashuai@ubuntu:~$ chmod o=wrx me
結果
drwxrwxrwx 2 dashuai dashuai 4096 May 20 20:01 me
同理設置爲什麼權限都沒有,直接用等於一個 - 號就行
dashuai@ubuntu:~$ chmod o=- me
結果
drwxrwx--- 2 dashuai dashuai 4096 May 20 20:01 me
還可以一次性指定多個的權限,比如同時指定自己的,同組的等,使用逗號隔開即可
這樣略顯繁瑣,開發的時候比較專業的是用數字直接表示權限
比如:w是2,r是4,x是1,-什麼都沒有是0,最後一個0最好記憶,前面熟悉也不難。
如果三個權限都有,就是4+2+1=7即可
如果只有讀,就是4
如果只有讀和可執行,那就是5
如果只有讀和可寫,那就是6
如果只有可執行和寫,那就3
以此類推,這樣相加即可,0-7八個數字,用一個這樣的8進制數字就能表示所有的權限,我們使用一個三位的八進制數字來表示權限,正合適對應三個組的權限。
比如700,就是自己有所有權限,但是同組人和外組人什麼都沒有
再看如果是755,那就是自己有所有權限,同組和外組是讀和可執行
另外,我們可以使用a這個字母(all的縮寫),來表示對所有的(自己,同組,外組)的權限進行統一設置,不用單獨寫u,g,o,浪費時間了。
這樣寫其實還不算專業,在專業的話,應該是0打頭的八進制,因爲c和c++裏,八進制也是這樣規定的。
0644表示自己有可讀,可寫權限,同組只有可讀,外組可讀。
注意;
只有管理員有權利修改所有用戶的權限,而單個的用戶,只能修改自己的權限。
刪除文件的命令rm,是不能恢復的,在使用這種破壞性的刪除的時候,必須備份。
===========================================================================================================
mkdir命令開頭的詳解
mkdir可以同時建立多個目錄
dashuai@ubuntu:~$ mkdir a b c
dashuai@ubuntu:~$ ls
a c Downloads me Pictures Ubuntu One
aaa Desktop examples.desktop Music Public Videos
b Documents family new.txt Templates
dashuai@ubuntu:~$
dashuai@ubuntu:~$ mkdir dd/d
mkdir: cannot create directory `dd/d': No such file or directory
dashuai@ubuntu:~$
必須分開建
dashuai@ubuntu:~$ mkdir dd
dashuai@ubuntu:~$ mkdir dd/d
dashuai@ubuntu:~$ ls
a c Documents family new.txt Templates
aaa dd Downloads me Pictures Ubuntu One
b Desktop examples.desktop Music Public Videos
dashuai@ubuntu:~$ cd dd
dashuai@ubuntu:~/dd$ ls
d
dashuai@ubuntu:~/dd$
如果不想分開建,就帶一個選項p,代表建立多層目錄
dashuai@ubuntu:~$ mkdir -p aaa/aa/a
dashuai@ubuntu:~$ ls
a c Documents family new.txt Templates
aaa dd Downloads me Pictures Ubuntu One
b Desktop examples.desktop Music Public Videos
dashuai@ubuntu:~$ cd aaa
dashuai@ubuntu:~/aaa$ cd aa
dashuai@ubuntu:~/aaa/aa$ ls
a
dashuai@ubuntu:~/aaa/aa$
dashuai@ubuntu:~$ ls -R aaa
aaa:
aa
aaa/aa:
a
aaa/aa/a:
創建文件呢?
以前提過,使用touch,創建空文件,touch可以層級建立文件,可以同時建立多個文件。
使用 > 重定向符號,把左邊的內容輸出,寫到右邊的文件當中去。
當然也可以用記事本去寫也行,然後使用cat來查看內容
dashuai@ubuntu:~$ date > time
dashuai@ubuntu:~$ ls
a c Documents family new.txt Templates Videos
aaa dd Downloads me Pictures time
b Desktop examples.desktop Music Public Ubuntu One
dashuai@ubuntu:~$ cat time
Tue May 20 22:55:29 PDT 2014
dashuai@ubuntu:~$
dashuai@ubuntu:~$ pwd > pwd.txt
dashuai@ubuntu:~$ ls
a c Documents family new.txt pwd.txt Ubuntu One
aaa dd Downloads me Pictures Templates Videos
b Desktop examples.desktop Music Public time
dashuai@ubuntu:~$ cat pwd.txt
/home/dashuai
dashuai@ubuntu:~$
並且,> 還會清空文件原來的內容,進行覆蓋
dashuai@ubuntu:~$ id > pwd.txt
dashuai@ubuntu:~$ cat pwd.txt
uid=1000(dashuai) gid=1000(dashuai) groups=1000(dashuai),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),107(lpadmin),124(sambashare)
dashuai@ubuntu:~$
發現內容改變了,以前的pwd的內容被新的id出來的內容覆蓋了。
如果不想清楚呢?
那就使用>>兩個重定向符號,追加到文件的末尾。
dashuai@ubuntu:~$ pwd >> pwd.txt
dashuai@ubuntu:~$ cat pwd.txt
uid=1000(dashuai) gid=1000(dashuai) groups=1000(dashuai),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),107(lpadmin),124(sambashare)
/home/dashuai
注意;
只要是左邊能輸出的,都會被重定向到右邊的指定文件中!去輸出!
比如ls的輸出也是沒問題的!!還有cal日曆命令,很漂亮! 英文單詞calendar的縮寫。
dashuai@ubuntu:~$ cal
May 2014
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
dashuai@ubuntu:~$ cal > pwd.txt
dashuai@ubuntu:~$ cat pwd.txt
May 2014
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
dashuai@ubuntu:~$
輸出整年的日曆
dashuai@ubuntu:~$ cal 2014
2014
January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 1 1
5 6 7 8 9 10 11 2 3 4 5 6 7 8 2 3 4 5 6 7 8
12 13 14 15 16 17 18 9 10 11 12 13 14 15 9 10 11 12 13 14 15
19 20 21 22 23 24 25 16 17 18 19 20 21 22 16 17 18 19 20 21 22
26 27 28 29 30 31 23 24 25 26 27 28 23 24 25 26 27 28 29
30 31
April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 1 2 3 1 2 3 4 5 6 7
6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14
13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28
27 28 29 30 25 26 27 28 29 30 31 29 30
July August September
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 1 2 1 2 3 4 5 6
6 7 8 9 10 11 12 3 4 5 6 7 8 9 7 8 9 10 11 12 13
13 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 20
20 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 27
27 28 29 30 31 24 25 26 27 28 29 30 28 29 30
31
October November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 1 1 2 3 4 5 6
5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13
12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31
30
dashuai@ubuntu:~$
看某年某月的(這裏注意一點,需要習慣外國人的習慣,月在年前!)
dashuai@ubuntu:~$ cal 5 2014
May 2014
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
dashuai@ubuntu:~$
自定義內容如何寫到文件?當然使用我們之前學過的echo命令,並且內容中間的空格如果有多個,會自動去掉,只留一個。
dashuai@ubuntu:~$ echo ha ha
ha ha
dashuai@ubuntu:~$ echo hello
hello
dashuai@ubuntu:~$ echo "ha ha"
ha ha
將輸入寫到其他文件
dashuai@ubuntu:~$ echo hello > hello.txt
dashuai@ubuntu:~$ cat hello.txt
hello
dashuai@ubuntu:~$ echo haha > haha.txt;cat haha.txt
haha
比如,顯示時間,我們讓時間延遲10秒鐘顯示怎麼辦?
datedashuai@ubuntu:~$ date;sleep 10;date
Tue May 20 23:17:09 PDT 2014
Tue May 20 23:17:19 PDT 2014
使用sleep命令,參數單位是秒鐘。
另外文件裏有一個特殊的文件,在dev設備目錄裏,有一個tty文件,代表終端屏幕或者終端鍵盤的意思。
dashuai@ubuntu:~$ id > /dev/tty
uid=1000(dashuai) gid=1000(dashuai) groups=1000(dashuai),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),107(lpadmin),124(sambashare)
dashuai@ubuntu:~$ id
uid=1000(dashuai) gid=1000(dashuai) groups=1000(dashuai),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),107(lpadmin),124(sambashare)
原本我們是重定向到了一個文件裏,但是因爲tty代表了終端的屏幕和鍵盤,依然輸入到了屏幕上。
還有個特殊的文件null,叫黑洞文件,是一個空文件,空設備,因爲在linux裏,一切都是文件,理所當然的,空設備也是文件。他是0長度的,一直是空,和黑洞一樣,塞多少,吃多少。都是空的。
dashuai@ubuntu:~$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 May 20 18:07 /dev/null
作爲了解,知道至少比不知道好些。
還有以前說過的移動命令,mv命令,可以是文件或者目錄都行。
格式;mv 目錄(文件)(可是多個文件或者目錄移動) 指定目錄路徑(同時可以修改所移動文件或者目錄的名字)
注意;
只有移動一個文件或者目錄的時候,纔可以修改名字。
如果想改名,那就只需原地移動就行了。移動到當前目錄下,改個名字就完了。
要和複製進行區分
cp(copy的縮寫),我們打算複製a dd new.txt到family目錄裏。
dashuai@ubuntu:~$ ls
a dd examples.desktop me Public Ubuntu One
aaa Desktop family Music pwd.txt Videos
b Documents haha.txt new.txt Templates
c Downloads hello.txt Pictures time
dashuai@ubuntu:~$ cp a dd new.txt family
cp: omitting directory `a'
cp: omitting directory `dd'
dashuai@ubuntu:~$ ls
a dd examples.desktop me Public Ubuntu One
aaa Desktop family Music pwd.txt Videos
b Documents haha.txt new.txt Templates
c Downloads hello.txt Pictures time
dashuai@ubuntu:~$ cp -r a aaa dd family
dashuai@ubuntu:~$ ls -l family
total 16
drwxrwxr-x 2 dashuai dashuai 4096 May 20 23:42 a
drwxrwxr-x 3 dashuai dashuai 4096 May 20 23:42 aaa
-rw-rw-r-- 1 dashuai dashuai 0 May 17 07:30 daughter.txt
drwxrwxr-x 3 dashuai dashuai 4096 May 20 23:42 dd
-rw-rw-r-- 1 dashuai dashuai 0 May 17 07:30 father.txt
drwxrwxr-x 5 dashuai dashuai 4096 May 17 19:30 house
-rw-rw-r-- 1 dashuai dashuai 0 May 17 07:30 mother.txt
-rw-rw-r-- 1 dashuai dashuai 0 May 17 07:30 son.txt
發現,都成功的複製過去了!
並且如果有覆蓋或者刪除的話,沒有任何提示!那麼我們可以人爲讓它加上提示!使用選項 i 意思是interactive交互的意思,拿rm刪除文件來試驗吧
dashuai@ubuntu:~/family$ ls
a aaa daughter.txt dd father.txt house mother.txt son.txt
dashuai@ubuntu:~/family$ rm -i father.txt
rm: remove regular empty file `father.txt'?
會提示是否真的刪除?!
y表示yes,n表示no
另外刪除目錄,必須是空目錄,需要使用rmdir命令,這樣比較安全
dashuai@ubuntu:~/family$ rmdir a
dashuai@ubuntu:~/family$ ls
aaa daughter.txt dd father.txt house mother.txt son.txt
dashuai@ubuntu:~/family$ ls
aaa daughter.txt dd father.txt house mother.txt son.txt
dashuai@ubuntu:~/family$ rmdir aaa
rmdir: failed to remove `aaa': Directory not empty
dashuai@ubuntu:~/family$ rm -r aaa
dashuai@ubuntu:~/family$ ls
daughter.txt dd father.txt house mother.txt son.txt
所以刪除目錄,注意是空目錄,有專業的命令rmdir命令。而單個的rm命令,只能刪除文件。