1. 程式人生 > >Xshell Linux常用命令及vim與許可權修改等常見問題

Xshell Linux常用命令及vim與許可權修改等常見問題

Xshell :一個強大的安全終端模擬軟體,它支援SSH1, SSH2, 以及Microsoft Windows 平臺的TELNET 協議.(百度百科)

此文講述的是xshell下的Linux命令,此命令在help下大都可以找到。在xshell終端下常用的命令有:

第一部分

0.幫助命令與清屏

help        檢視幫助命令

ls --help   檢視ls命令下的具體用法

info ls     檢視ls命令的作用

clear       清屏

1.   檢視當前路徑

pwd(print working directory)

2.列出當前目錄的檔案

ls              列出所有檔案或者資料夾(以排形式)

ls  *abc        列出檔案abc內的所有檔案

ls –l           列出所以檔案及其詳細屬性(以列形式,不展示隱藏檔案,隱藏檔案的展示見第二部分)

ls .*           展示此級檔案以及上一級檔案(不展示隱藏檔案)

ls -a           顯示隱藏檔案

ls -lrt         按時間顯示檔案(l表示詳細列表,r表示反向排序,t表示按時間排序)

3.進入目錄

   cd            進入當前使用者主目錄(等同於cd ~)

   cd  etl/app/TEMP/abc/ddl

                 進入目錄etl/app/TEMP/abc/ss

   cd /home     進入home目錄

   cd  /        切換到根目錄

   cd -         回到上次目錄

   cd ..        返回上一級目錄

   cd ../..     返回上兩級目錄

4.刪除命令rm

<font color=red>注意:rm最好不要亂用,刪了就找不回來了,建議要用rm的地方換成用mv到某個備份資料夾!!

rm [-fir]檔案或目錄

-f 是忽略不存在的檔案,不會出現警告資訊(force,強行執行)

rm dir  (刪除資料夾)

-i:互動模式,在刪除前會詢問使用者是否執行此操作。(回答y表示是,n表示否)

-r:遞迴刪除(recursive),常用於目錄的刪除,同時刪除目錄下的檔案與子目錄rm

rmdir -rf test   或者 rm -rf test

rm  -f   flt_date201405.tsv  

       強行刪除檔案flt_date201405.tsv ,不給任何提示;

       若檔案flt_date201405.tsv不存在,直接忽略。rm

rm  -r  檔名或目錄名

       刪除檔案或目錄下的檔案及子目錄

rm  -rf  檔名或目錄

       強行刪除檔案或目錄下的檔案及子目錄(刪除壓縮檔案tar等時可用)

rm  -i 檔名  

       互動式的刪除檔案(刪除前系統會逐一進行詢問)

rm -ir 檔名

        互動式刪除資料夾及其下的檔案,會逐一詢問

刪除test資料夾下的所有檔案:

rm -r test/*

舉例:刪除example2資料夾

Xshell Linux命令及vim與許可權修改等常見問題 - Mr.Cat - Mr.Cats blog

 說明,筆者在example1資料夾下又有一個example1資料夾(說明可以有同名的子資料夾,但不能有同名的同一目錄下的資料夾),在example1之下有一個名為example2的資料夾,在此資料夾下有test檔案。現在要刪掉example2資料夾以及test檔案:

第一句使用rm刪除資料夾example2,發現提示說不能刪除,因為example2是資料夾。所以第二條命令用rmdir刪除,提示說此資料夾不是空的,因為其下有test檔案,所以不能刪除。接著第三條命令使用-r即連環刪除命令,將test一併刪除。最後一條ls命令用來展示發現檔案都被刪除了。

rm -i test(刪除test檔案,有提醒是否刪除,是則y,否則n) 

5.移動和重新命名檔案 mv

mv  flt_date201405.tsv  flt_date201406.tsv

       將檔案flt_date201405.tsv重新命名為flt_date201406.tsv

mv  flt_date201405.tsv  /etl/app/TEMP/ff

      將檔案轉移到目錄/etl/app/TEMP/ff下

 6.複製檔案 cp

可以用cp --help 檢視幫助

cp file1 file2                    將file1複製為file2

cp -a dir1 dir2                 複製一個目錄



cp -a /tmp/dir1 .             
       複製一個目錄到當前工作目錄(.代表當前目錄)

cp  flt_date201405.tsv  flt_date201406.tsv

      將檔案複製成為 flt_date201406.tsv

cp  flt_date201405.tsv  /etl/app/TEMP/ff

     將檔案flt_date201405.tsv複製到目錄/etl/app/TEMP/ff下

cp  /etl/app/TEMP/abc/flt_date201405.tsv .(注意有空格和點)   

         將目錄etl/app/TEMP/abc下的flt_date201405.tsv檔案複製到當前的目錄下,檔名保持不變

.   當前目錄
..  上級目錄
~  使用者家目錄
-   前一個目錄
cp /home/wudl/test.txt file1

         將test.txt檔案拷貝到當前目錄下一個名為file1的資料夾

cp  /etl/app/TEMP/abc/flt_date201405.tsv  flt_date201406.tsv

         將目錄etl/app/TEMP/abc下的flt_date201405.tsv檔案複製到當前的目錄下,檔名改為flt_date201406.tsv

cp  -r  /etl/app/TEMP    /etl/app/TEMP/abc

         將目錄/etl/app/TEMP下的所以檔案及子目錄複製到目錄/etl/app/TEMP/abc下

複製一個資料夾test下的所有檔案:

cp -r test/*  test1     *表示所有檔案(但不包括隱藏檔案,即.開頭)
cp -r test/.  test1     .表示複製所有檔案到test1,包括隱藏檔案

 7.比較內容 diff

 diff    /etl/app   etl/app/TEMP

         比較目錄/etl/app與目錄etl/app/TEMP下的檔案列表是否相同(不比較檔案的實際內容),會展示出結果

diff   flt_date201405.tsv  flt_date201406.tsv

      比較檔案flt_date201405.tsv與檔案flt_date201406.tsv的實際內容是否相同(文字檔案列出不同處,二進位制的檔案只顯示是否相同),會展示出檔案內容

 8.查詢檔案

        區別:(1)find命令是根據檔案的屬性進行查詢,如檔名,檔案大小,所有者,所屬組,是否為空,訪問時間,修改時間等。 

              (2)grep是根據檔案的內容進行查詢,會對檔案的每一行按照給定的模式(patter)進行匹配查詢。

find  –name ‘flt_date201406.tsv

           在當前的目錄下查詢檔名為flt_date201406.tsv的檔案

find  !  -name  airline_booking_class.dsql

在當前的目錄下查找出檔名不為flt_date201406.tsv的所有檔案

find / -name file1                                             從 '/' 開始進入根檔案系統查詢檔案和目錄

find / -user user1                                             查詢屬於使用者 'user1' 的檔案和目錄

find /home/user1 -name \*.bin                            在目錄 '/ home/user1' 中查詢以 '.bin' 結尾的檔案

find /usr/bin -type f -atime +100                         查詢在過去100天內未被使用過的執行檔案

find /usr/bin -type f -mtime -10                           查詢在10天內被建立或者修改過的檔案

locate \*.ps                                                     尋找以 '.ps' 結尾的檔案,先執行 'updatedb' 命令

find -name '*.[ch]' | xargs grep -E 'expr'               在當前目錄及其子目錄所有.c和.h檔案中查詢 'expr'

find -type f -print0 | xargs -r0 grep -F 'expr'          在當前目錄及其子目錄的常規檔案中查詢 'expr'

find -maxdepth 1 -type f | xargs grep -F 'expr'        在當前目錄中查詢 'expr'grep

A.find命令

    基本格式:find  path expression

    1.按照檔名查詢

    (1)find / -name httpd.conf  #在根目錄下查詢檔案httpd.conf,表示在整個硬碟查詢
    (2)find /etc -name httpd.conf  #在/etc目錄下檔案httpd.conf
    (3)find /etc -name '*srm*'  #使用萬用字元*(0或者任意多個)。表示在/etc目錄下查詢檔名中含有字串‘srm’的檔案
    (4)find . -name 'srm*'   #表示當前目錄下查詢檔名開頭是字串‘srm’的檔案

    2.按照檔案特徵查詢     

    (1)find / -amin -10   # 查詢在系統中最後10分鐘訪問的檔案(access time)
    (2)find / -atime -2   # 查詢在系統中最後48小時訪問的檔案
    (3)find / -empty   # 查詢在系統中為空的檔案或者資料夾
    (4)find / -group cat   # 查詢在系統中屬於 group為cat的檔案
    (5)find / -mmin -5   # 查詢在系統中最後5分鐘裡修改過的檔案(modify time)
    (6)find / -mtime -1   #查詢在系統中最後24小時裡修改過的檔案
    (7)find / -user fred   #查詢在系統中屬於fred這個使用者的檔案
    (8)find / -size +10000c  #查找出大於10000000位元組的檔案(c:位元組,w:雙字,k:KB,M:MB,G:GB)
    (9)find / -size -1000k   #查找出小於1000KB的檔案

    3.使用混合查詢方式查詢檔案

    引數有: !,-and(-a),-or(-o)。

    (1)find /tmp -size +10000c -and -mtime +2   #在/tmp目錄下查詢大於10000位元組並在最後2分鐘內修改的檔案
       (2)find / -user fred -or -user george   #在/目錄下查詢使用者是fred或者george的檔案檔案
       (3)find /tmp ! -user panda  #在/tmp目錄中查詢所有不屬於panda使用者的檔案

B.grep命令

     基本格式:find  expression

     1.主要引數

    [options]主要引數:
    -c:只輸出匹配行的計數。
    -i:不區分大小寫
    -h:查詢多檔案時不顯示檔名。
    -l:查詢多檔案時只輸出包含匹配字元的檔名。
    -n:顯示匹配行及行號。
    -s:不顯示不存在或無匹配文字的錯誤資訊。
    -v:顯示不包含匹配文字的所有行。

    pattern正則表示式主要引數:
    \: 忽略正則表示式中特殊字元的原有含義。
    ^:匹配正則表示式的開始行。
    $: 匹配正則表示式的結束行。
    \<:從匹配正則表達 式的行開始。
    \>:到匹配正則表示式的行結束。
    [ ]:單個字元,如[A]即A符合要求 。
    [ - ]:範圍,如[A-Z],即A、B、C一直到Z都符合要求 。
    .:所有的單個字元。
    * :有字元,長度可以為0。

    2.例項  

  (1)grep 'test' d*  #顯示所有以d開頭的檔案中包含 test的行
  (2)grep ‘test’ aa bb cc    #顯示在aa,bb,cc檔案中包含test的行
  (3)grep ‘[a-z]\{5\}’ aa   #顯示所有包含每行字串至少有5個連續小寫字元的字串的行
  (4)grep magic /usr/src  #顯示/usr/src目錄下的檔案(不含子目錄)包含magic的行
  (5)grep -r magic /usr/src  #顯示/usr/src目錄下的檔案(包含子目錄)包含magic的行

     (6)grep -w pattern files :只匹配整個單詞,而不是字串的一部分(如匹配’magic’,而不是’magical’)

     (7)grep -si "Ranges" *   顯示包含Ranges的所有檔案,不包含大小寫(在進入檔案後可以再/module Ranges檢視)

 9.顯示檔案大小

wc  -l  flt_date201406.tsv

            檢視檔案flt_date201406.tsv有多少行

wc  -c  flt_date201406.tsv

       檢視檔案flt_date201406.tsv有多少位元組

 10. 顯示檔案內容

cat  fastload.pl    檢視檔案所有內容

head -2 file1                   檢視一個檔案的前兩行

more file1                       檢視一個長檔案的內容

tac file1                         從最後一行開始反向檢視一個檔案的內容

tail -3 file1                      檢視一個檔案的最後三行 

11. 編輯檔案

新建檔案

 ---- vim  ljt.txt   需要新建的檔名ljt.txt

-----vim test/name.doc  在test資料夾下建立檔名為name的Word文件

----點選鍵盤 ‘i’鍵,然後編寫檔案內容 (其中需要輸入中文時,選擇 編碼 Unicode(UTF-8))

----修改完畢後,點選鍵盤 Esc,然後按  Shift 和 :

        輸入 wq 保持修改的內容(放棄修改時輸入 q)

修改已有的檔案

---- vim  ljt.txt   需要修改的已存在的檔名ljt.txt

----點選鍵盤 ‘i’鍵,然後編寫檔案內容 (其中需要輸入中文時,選擇 編碼 Unicode(UTF-8))

----修改完畢後,點選鍵盤 Esc,然後按  Shift 和 :

        輸入 wq 保持修改的內容(放棄修改時輸入 q)

補充:vim/vi是一種流行的編輯器,在Linux中被廣泛使用,深受歡迎的編輯器還有Emacs, python下預設編輯器為IDLE。vim/vi有三種基本模式:命令模式(command mode)、插入模式(Insert mode)、底行模式(last line mode)。各種模式功能如下:

(1)命令模式

在建立檔案如輸入vim test,此時進入的即是命令模式,可以連續按兩下d鍵刪除行,u可以取消操作。此模式下更多命令如下:

h 左移游標一個字元

l 右移游標一個字元

k 游標上移一行

j 游標下移一行

^ 游標移動至行首

0 數字“0”,游標移至行的開頭

shift+0游標移至文章的最後

gg游標移到文章開頭

$ 游標移動至行尾

Ctrl+f 向前翻屏

Ctrl+b 向後翻屏

Ctrl+d 向前翻半屏

Ctrl+u 向後翻半屏

i 在游標位置前插入字元

a 在游標所在位置的後一個字元開始增加

o 插入新的一行,從行首開始輸入

ESC 從輸入狀態退至命令狀態

dl刪除游標所在的一個字

x 刪除游標後面的字元

#x 刪除游標後的#個字元

X (大寫X),刪除游標前面的字元

#X 刪除游標前面的#個字元

dd 刪除游標所在的行

#dd 刪除從游標所在行數的#行

yw 複製游標所在位置的一個字

#yw 複製游標所在位置的#個字

yy 複製游標所在位置的一行

#yy 複製從游標所在行數的#行

p 貼上

u 取消操作

cw 更改游標所在位置的一個字

#cw 更改游標所在位置的#個字

(2)插入模式

在建立檔案後要進入插入模式編寫、修改和刪除檔案時需要按“i”(或者大寫“I”)鍵。此時看到底下有提示--INSETR--,代表進入插入模式。在此情況寫即可對文件做改動。在退出插入模式進入命令模式時需要按Esc鍵。

(3)底行模式

儲存檔案或者退出vim編輯。

要進入命令模式才能進行底行模式。在編輯文件結束後從插入模式按Esc進入底行模式,此時按「:」冒號(注意要按shift才能輸入冒號)進入底行模式,在冒號後有如下操作:(注意,需要鍵盤在英文輸入模式下進行)

:w test(w表示write,表示將文件以test為檔名儲存),回車後發現檔名改為test,但並沒有退出編輯,要退出見下

:q或者q!(注意有感嘆號)q代表quit,加感嘆號是強行退出,此種退出方法不儲存修改的文件,類似於Word文件中退出而不儲存

:wq,即write and quit,此種退出方法=儲存並退出。

當要檢視文件時可用cat命令,如cat test。當要再次編輯文件時,vi test或vim test即可進入。

(注:上文來自鈕甲跳,文章連結為:http://www.cnblogs.com/runner-ljt/p/4551568.html補充部分來自於EmanLee的部落格網址為:http://www.cnblogs.com/emanlee/archive/2011/11/10/2243930.html有改動

注意:當使用vim或者vi非正常關閉時(斷電或者非常規退出,如Ctrl+zz),會生成.swp交換檔案。實際上在vi或者vim建立檔案時系統會自動帶有.swp檔案以防不測,當正常關閉時.swp檔案消失,否則一直存在.在非正常關閉下出現.swp檔案,以test2為例,則為.test2.swp(第一個點表示此為隱藏檔案,用ls命令看不到此檔案,可以用ls -al命令檢視全部檔案,見第二部分第三小節)。此時用vi test2進入則有提示如下:

Xshell Linux命令及vim與許可權修改等常見問題 - Mr.Cat - Mr.Cats blog

文中說是:找到一個swp檔案,出現的原因是(1)其他程式正在程式設計此檔案.....(2)此檔案的編輯程式崩潰。可以使用recover或者vim -r 來恢復.....

我們只需要輸入“r”或者“R”來恢復此檔案即可,在輸入之後檔案已經恢復,此時可以刪除不需要的swp檔案(命令為rm .test2.swp,否則會一直提示,但是要確保已經不需要此檔案,不然刪除了接著你很快就會傷心的)然後vi test2即可進入此檔案。

12,壓縮和解壓

tar常用命令:

A壓縮檔案 -cvf命令

1)處於當前工作路徑下,打包當前路徑下的檔案並放在當前路徑

(-c: 建立壓縮檔案;-v: 顯示所有過程;-f: 使用檔案名字,是必須的,是最後一個引數)

tar -cvf archive.tar file1      把file1打包成 archive.tar

tar -cvf archive.tar file1 dir1        把 file1,dir1 打包成 archive.tar

Xshell Linux命令及vim與許可權修改等常見問題 - Mr.Cat - Mr.Cats blog

 (當前處在test檔案下,將其下的test1資料夾壓縮為test1.tar)

2)處在當前工作路徑下,打包檔案到指定目錄

tar -cvf 指定目錄 目標檔案

如tar -cvf /home/wudl/intel/test1.tar test1(將當前資料夾下的test1檔案打包到intel資料夾下,並取名為test1.tar

(路徑可以紅pwd查詢,-C是臨時切換工作目錄)

3)將其他檔案打包到當前工作路徑

tar -cvf +壓縮的檔名.tar +目標檔案目錄

 如:tar -cvf test1.tar /home/wudl/test/test1(將test資料夾下的test1檔案壓縮到當前目錄,並命名為test1.tar)

B解壓檔案 -xvf 命令

1)處於當前工作路徑下,解壓當前路徑下的檔案並放在當前路徑

唉,有待補充,以上以下都有錯

2)處在當前檔案下

    舉例:tar -xvf archive.tar -C +目標目錄         把壓縮包釋放到目標目錄下

    如:tar -xvf file.tar -C /home/wudl/test        把檔案file.tar解壓到test目錄下(並保留原壓縮檔案)

bzip2 file1                                   壓縮 file1

bunzip2 file1.bz2                        解壓 file1.bz2

gzip file1                                     壓縮 file1

gzip -9 file1                                最大程度壓縮 file1

gunzip file1.gz                            解壓 file1.gz

tar -tf archive.tar                         顯示一個包中的內容

tar -xvf archive.tar                      釋放一個包

tar -xvf archive.tar -C +目標目錄         把壓縮包釋放到目標目錄下

zip file1.zip file1                          建立一個zip格式的壓縮包

zip -r file1.zip file1 dir1               把檔案和目錄壓縮成一個zip格式的壓縮包

unzip file1.zip                             解壓一個zip格式的壓縮包到當前目錄

unzip test.zip -d /tmp/                 解壓一個zip格式的壓縮包到 /tmp 目錄

對tar詳解:

語法:tar [主選項+輔選項] 檔案或者目錄

-c: 建立壓縮檔案
-x:解壓
-t:檢視內容
-r:向壓縮歸檔檔案末尾追加檔案
-u:更新原壓縮包中的檔案

這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的引數是根據需要在壓縮或解壓檔案時可選的。

-z:有gzip屬性的
-j:有bz2屬性的
-Z:有compress屬性的
-v:顯示所有過程
-O:將檔案解開到標準輸出

下面的引數-f是必須的

-f: 使用檔案名字,切記,這個引數是最後一個引數,後面只能接檔案名。

壓縮

tar -cvf jpg.tar *.jpg //將目錄裡所有jpg檔案打包成tar.jpg 

tar -czf jpg.tar.gz *.jpg   //將目錄裡所有jpg檔案打包成jpg.tar後,並且將其用gzip壓縮,生成一個gzip壓縮過的包,命名為jpg.tar.gz

 tar -cjf jpg.tar.bz2 *.jpg //將目錄裡所有jpg檔案打包成jpg.tar後,並且將其用bzip2壓縮,生成一個bzip2壓縮過的包,命名為jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg   //將目錄裡所有jpg檔案打包成jpg.tar後,並且將其用compress壓縮,生成一個umcompress壓縮過的包,命名為jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的壓縮,需要先下載rar for linux

zip jpg.zip *.jpg //zip格式的壓縮,需要先下載zip for linux

解壓

tar -xvf file.tar //解壓 tar包

tar -xzvf file.tar.gz //解壓tar.gz

tar -xjvf file.tar.bz2   //解壓 tar.bz2

tar -xZvf file.tar.Z   //解壓tar.Z

unrar e file.rar //解壓rar

unzip file.zip //解壓zip

總結

1、*.tar 用 tar -xvf 解壓

2、*.gz 用 gzip -d或者gunzip 解壓

3、*.tar.gz和*.tgz 用 tar -xzf 解壓

4、*.bz2 用 bzip2 -d或者用bunzip2 解壓

5、*.tar.bz2用tar -xjf 解壓

6、*.Z 用 uncompress 解壓

7、*.tar.Z 用tar -xZf 解壓

8、*.rar 用 unrar e解壓

9、*.zip 用 unzip 解壓

第二部分

1,建立資料夾(刪除資料夾見第一部分)

(1)mkdir 檔名(如:mkdir test,則建立了一個test的資料夾)

說明:mkdir 是make directory(建立目錄)的簡寫,如果當前目錄存在test資料夾,則不能在此目錄建立test資料夾(即不能在一個目錄下建立兩個同名的資料夾),但可以在test目錄下建資料夾名為test的子資料夾。

(2)mkdir home/test在home目錄下建立test資料夾

(3)mkdir home1 home2 home3建立三個資料夾,名字分別為home1、home2、home3

(4)mkdir -p /tmp/dir1/dir2    建立一個目錄樹

2,建立隱藏資料夾

同隱藏檔案一樣,在Linux中在檔名前加“.”表示此檔案或資料夾為隱藏檔案。

mkdir .name     建立名為name的隱藏資料夾

vim .test.doc   建立名為test.doc的隱藏檔案,並開啟

touch .test.doc  建立名為test.doc的隱藏檔案,但不開啟。touch的詳細作用見7

3,檢視隱藏檔案

ls -a(或者ls -al) 檢視所有檔案,包括隱藏檔案,以行展示(以列的形式展示,同時顯示詳細資訊,從左到右分別表示:【許可權】【連線(到此節點i-node的檔案數)】【所有者】【使用者組】【檔案容量】【修改日期】【檔名】)

ls -d .*只展示隱藏檔案(即前頭有“.”的檔案)(注意,s和d後都有一個空格)

l.(此為網上部分網友的說法,在xshell下親試無效)

4.修改檔案許可權

修改檔案許可權有兩種方法,分別是數字型別修改法和符號型別修改法

(1)數字型別修改法

檔案許可權有rwx,即read,write,execute三種,從數字上來講,對應方式為:r---4,w----2,x---1

改變許可權使用chmod(change mode)命令,chmod命令用法如下:

chmod 數字 檔案或檔名。

數字改變舉例如下:

要使得自己對檔案test有讀寫可執行三種,所屬使用者組及其他組都只有可讀可執行而不能修改的許可權,則相當於給自己許可權的值為4+3+1=7,其他兩個組都是4+1=5,則執行命令如下

chmod 755 test

(2)符號型別法

舉例如下:

chmod u=rwx,go=rx test

以上表示使用者自己u(user)具有rwx三種許可權,所屬組group,以及其他組人員others只有rx兩種許可權。注意:中間那一塊沒有空格隔開。

Xshell Linux命令及vim與許可權修改等常見問題 - Mr.Cat - Mr.Cats blog

如果不知道test的許可權如何,也不想知道,而只是想在其上對所有人都增加w或減少r的許可權,則可以用“+”或者“-”來執行命令。如:

對所有人增加w的許可權:

 Xshell Linux命令及vim與許可權修改等常見問題 - Mr.Cat - Mr.Cats blog

對所有人減少r的許可權:

Xshell Linux命令及vim與許可權修改等常見問題 - Mr.Cat - Mr.Cats blog

  5.安裝程式

 sudo 是superuser do的簡寫,它的含義是以超級使用者的許可權執行,普通使用者無法執行許多命令,比如說安裝程式

 6.建立連線

使用ln命令(link),格式為:ln [引數] [原始檔或目錄] [目標檔案或目錄]

命令引數有:

       必要引數:

-b 刪除,覆蓋以前建立的連結

-d 允許超級使用者製作目錄的硬連結

-f 強制執行

-i 互動模式,檔案存在則提示使用者是否覆蓋

-n 把符號連結視為一般目錄

-s 軟連結(符號連結)

-v 顯示詳細的處理過程

選擇引數:

-S “-S<字尾備份字串> ”或 “--suffix=<字尾備份字串>”

-V “-V<備份方式>”或“--version-control=<備份方式>”

--help 顯示幫助資訊

--version 顯示版本資訊

舉例:筆者首先在/home/wudl/test1/name資料夾下建立一個名為ln的檔案,檔案裡的內容為:

this is a link file

現在進入另一個資料夾,路徑為(pwd檢視路徑)/home/wudl/test1/test1/,筆者現在要在此路徑下連結上面提到的ln檔案,程式碼如下:

ln -s /home/wudl/test1/name/ln /home/wudl/test1/test1/link(注意有空格)#link是不存在的檔案,此處為新建了一個名為link的用以連線ln檔案的目標檔案

即:ln -s [原始檔] [目標檔案](注意有空格,使用的是軟連結soft)

Xshell Linux命令及vim與許可權修改等常見問題 - Mr.Cat - Mr.Cats blog

 cat 用於檢視檔案,此時可以看到新增加了一個叫做link的檔案,並且裡面的內容跟ln檔案的內容一致。

ln -s /home/wudl/test file

將檔案test連結到當前目錄下的file檔案(當前資料夾下不存在file檔案,此檔案則新建)

7.建立檔案

1)使用vi命令

     vi filename :開啟或新建檔案,並將游標置於第一行首

     vi +n filename :開啟檔案,並將游標置於第n行首

    vi + filename :開啟檔案,並將游標置於最後一行首

    vi +/pattern filename:開啟檔案,並將游標置於第一個與pattern匹配的串處

    vi -r filename :在上次正用vi編輯時發生系統崩潰,恢復filename

    vi filename....filename :開啟多個檔案,依次進行編輯

2)使用touch命令

    二、touch命令使用格式

    格式:touch [-acfm][-d <日期時間>][-r <參考檔案或目錄>][-t <日期時間>][--help] [--version][檔案或目錄...] 或 touch [-acfm][--help][--version][日期時間][檔案或目錄...]

    (touch [-acfm][-r reference-file] [--file=reference-file][-t MMDDhhmm[[CC]YY][.ss]][-d time] [--date=time][--time={atime,access,use,mtime,modify}][--no-create][--help] [--version]file1 [file2 ...])

    三、touch命令功能

  touch fileA,如果fileA存在,使用touch命令可更改這個檔案或目錄的日期時間,包括存取時間和更改時間;如果fileA不存在,touch命令會在當前目錄下新建一個空白檔案fileA。

  注:使用touch指令可更改檔案或目錄的日期和時間,包括存取時間和更改時間。檔案的時間屬性包括檔案的最後訪問時間,最後修改時間以及最後在磁碟上修改的時間,命令stat顯示結果顯示了三個時間屬性。

    四、touch命令選項說明

    a 改變檔案的讀取時間記錄。

  m 改變檔案的修改時間記錄。

  c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。

  f 不使用,是為了與其他 unix 系統的相容性而保留。

  r 使用參考檔的時間記錄,與 --file 的效果一樣。

  d 設定時間與日期,可以使用各種不同的格式。

  t 設定檔案的時間記錄,格式與 date 指令相同。[[CC]YY]MMDDhhmm[.SS],CC為年數中的前兩位,即”世紀數”;YY為年數的後兩位,即某世紀中的年數.如果不給出CC的值,則linux中touch命令引數將把年數CCYY限定在1969--2068之內.MM為月數,DD為天將把年數CCYY限定在1969--2068之內.MM為月數,DD為天數,hh 為小時數(幾點),mm為分鐘數,SS為秒數.此處秒的設定範圍是0--61,這樣可以處理閏秒.這些數字組成的時間是環境變數TZ指定的時區中的一個時間.由於系統的限制,早於1970年1月1日的時間是錯誤的.

  --no-create 不會建立新檔案。

  --help 列出指令格式。

  --version 列出版本訊息。

    五、touch命令使用舉例

    例一:更新file1.txt的存取和修改時間。

  touch file1.txt

  例二:如果file1.txt不存在,則建立檔案

  touch -c file1.txt

  例三:更新file1.txt的時間戳和ref+file相同

  touch -r ref+file file1.txt

  例四:設定檔案的時間戳為2011年5月18日9點45分10秒

  ls -l file1.txt

  touch -t 1105190945.10 file1.txt