shell程式設計之chown

2021-06-25 13:41:39 字數 2648 閱讀 5488

語法:

chown [option]  [owner][:[group]] file

chown [option] --reference=rfile  file

描述:

chown 改變指定檔案的使用者和/或組的擁有者。

例如:liujl@liujl-rev-1-0:~/mycode/test$ ls -l

總用量 0

-rw-rw-r-- 1 liujl liujl 0 2012-06-20 09:31 mytest.txt

執行chown 後:

liujl@liujl-rev-1-0:~/mycode/test$ sudo chown juanzhang mytest.txt

[sudo] password for liujl: 

liujl@liujl-rev-1-0:~/mycode/test$ ls -l

總用量 0

-rw-rw-r-- 1juanzhang liujl 0 2012-06-20 09:31 mytest.txt

liujl@liujl-rev-1-0:~/mycode/test$ ls -l

總用量 0

-rw-rw-r-- 1 liujl liujl 0 2012-06-20 09:31 mytest.txt

執行chown後:

liujl@liujl-rev-1-0:~/mycode/test$ sudo chown liujl:liujl mytest.txt

[sudo] password for liujl: 

liujl@liujl-rev-1-0:~/mycode/test$ ls -l

總用量 0

-rw-rw-r-- 1liujl liujl 0 2012-06-20 09:31 mytest.txt

例如:liujl@liujl-rev-1-0:~/mycode/test$ ls -l

總用量 0

-rw-rw-r-- 1liujl liujl 0 2012-06-20 09:31 mytest.txt

liujl@liujl-rev-1-0:~/mycode/test$ sudo

chown juanzhang: mytest.txt

[sudo] password for liujl: 

liujl@liujl-rev-1-0:~/mycode/test$ ls -l

總用量 0

-rw-rw-r-- 1 juanzhang juanzhang 0 2012-06-20 09:31 mytest.txt

liujl@liujl-rev-1-0:~/mycode/test$ ls -l

總用量 0

-rw-rw-r-- 1juanzhang juanzhang 0 2012-06-20 09:31 mytest.txt

iujl@liujl-rev-1-0:~/mycode/test$ sudo

chown :liujl mytest.txt

liujl@liujl-rev-1-0:~/mycode/test$ ls -l

總用量 0

-rw-rw-r-- 1 juanzhang liujl 0 2012-06-20 09:31 mytest.txt

liujl@liujl-rev-1-0:~/mycode/test$ ls -l

總用量 0

-rw-rw-r-- 1 juanzhang liujl 0 2012-06-20 09:31 mytest.txt

liujl@liujl-rev-1-0:~/mycode/test$ chown : mytest.txt

liujl@liujl-rev-1-0:~/mycode/test$ ls -l

總用量 0

-rw-rw-r-- 1juanzhang liujl 0 2012-06-20 09:31 mytest.txt

整個運算元為空,會報錯:

liujl@liujl-rev-1-0:~/mycode/test$chown mytest.txt

chown: "mytest.txt" 後缺少運算元

引數:

-r :進行遞迴的持續更改,即將同子目錄下的所有檔案、目錄都更新問這個使用者組。通常用在更改某一目錄的情況。

應用場合:

此命令用的最多的地方是,當我們使用mv或者cp拷貝給其他人的時候,這些檔案的擁有者和組名沒有改變,所以需要修改。

例子:liujl@liujl-rev-1-0:/usr$ ls -l|grep mytest2.txt 

-rw-r--r--   1 root root     0 2012-06-20 13:50 mytest2.txt

liujl@liujl-rev-1-0:/usr$ sudo mv mytest2.txt  /home/liujl/mycode/test/

liujl@liujl-rev-1-0:~/mycode/test$ ls -l

總用量 0

-rw-r--r-- 1 root      root  0 2012-06-20 13:50 mytest2.txt

現在mytest2.txt已經mv到liujl使用者下了,但是當修改的時候是不允許的,從上句可以看出,還是屬於root root ,這就需要chown了。

shell 程式設計之echo

echo it is a test echo itis a testecho it is a test read 命令從標準輸入中讀取一行,並把輸入行的每個欄位的值指定給 shell 變數 bin sh read name echo name it is a test 以上 儲存為 test.sh,...

shell 程式設計之2 1

經常可以在一些指令碼,尤其是在crontab呼叫時發現如下形式的命令呼叫 tmp test.sh tmp test.log 2 1 前半部分 tmp test.sh tmp test.log很容易理解,那麼後面的2 1是怎麼回事呢?要解釋這個問題,還是得提到檔案重定向。我們知道 和 是檔案重定向符。...

shell程式設計之cut

cut的工作就是 剪 具體的說就是在檔案中負責剪下資料用的。cut 命令從檔案的每一行剪下位元組 字元和字段並將這些位元組 字元和字段輸出。1.基本用法 cut 選項引數 filename 說明 預設分隔符是製表符 2.選項引數說明 表1 55 選項引數 功能 f 列號,提取第幾列 d分隔符,按照指...