1. 程式人生 > >Shell更改一般檔案或目錄許可權的指令碼

Shell更改一般檔案或目錄許可權的指令碼

編寫一些簡單的指令碼來嘗試執行吧

1.合理設定檔案和目錄的許可權。

#!/bin/bash                                                                     
#filename:   chmodall

USAGE="Usage:$0<directory>"
DIR=${1:?"Error.$USAGE.You must specify a directory."}
find $DIR -type d -exec chmod 755 {} \;
find $DIR -type f -exec chmod 644 {} \;

其中$0表示指令碼名稱,${1:?}即是執行指令碼時後面輸入的那個檔案或目錄名

[email protected]:~/桌面$ ll
總用量 20
drwxr-xr-x  3 yue yue 4096 10月 13 16:18 ./
drwxr-xr-x 20 yue yue 4096 10月 13 15:36 ../
-rw-r--r--  1 yue yue    0 10月 12 20:05 aaa.sh
-rwxrw-r--  1 yue yue  198 10月 13 16:15 chmodall.sh*
d---------  3 yue yue 4096 10月 13 16:15 test/
-rwxrwxr-x  1 yue yue  810 10月 12 19:41 test.sh*

然後執行編寫的指令碼

[email protected]:~/桌面$ sh chmodall.sh test
[email protected]:~/桌面$ ll
總用量 20
drwxr-xr-x  3 yue yue 4096 10月 13 16:18 ./
drwxr-xr-x 20 yue yue 4096 10月 13 15:36 ../
-rw-r--r--  1 yue yue    0 10月 12 20:05 aaa.sh
-rwxrw-r--  1 yue yue  198 10月 13 16:15 chmodall.sh*
drwxr-xr-x  3 yue yue 4096 10月 13 16:15 test/
-rwxrwxr-x  1 yue yue  810 10月 12 19:41 test.sh*


相關推薦

Shell更改一般檔案目錄許可權指令碼

編寫一些簡單的指令碼來嘗試執行吧 1.合理設定檔案和目錄的許可權。 #!/bin/bash #filename: chmodall

更改檔案目錄許可權

一,檔案或目錄許可權chmod Linux檔案屬性 當我們用ls -l命令檢視當前目錄下的檔案時,共顯示了9列內容(用空格劃分列)。如圖    第一列 包含檔案的型別,所有者,所屬組以及其他使用者對該檔案的許可權。 其中第1位用來描述該檔案的型別。我們看到這裡的檔案型別是l,

檔案目錄許可權chmod,更改所有者所屬組chown

一,檔案或目錄許可權chmod Linux檔案屬性 當我們用ls -l命令檢視當前目錄下的檔案時,共顯示了9列內容(用空格劃分列)。如圖 第一列 包含檔案的型別,所有者,所屬組以及其他使用

shell自動備份檔案目錄到本地和遠端主機

#!/bin/bash #Function:Automatically backup a given list of directories  #or files, and can retain the N day backup files. #Can be back to

改變檔案目錄許可權命令:chmod

Linux系統下有多種許可權控制,一般為:可執行、可讀、可寫,如何快速在命令列下給相應檔案或資料夾賦予相應許可權呢? chmod 【語法】chmod [選項][引數]【詳解】chmod命令用於改變檔案或目錄的許可權,設定許可權有字元和數字兩種設定方法。 在數字設定法中,0表示沒有許可權,1表示可執行許可

apache環境下禁止某資料夾內執行PHP指令碼、禁止訪問檔案目錄執行許可權的設定方法

首先我們來看兩段對上傳目錄設定無許可權的列子,配置如下: <Directory"要去掉PHP執行許可權的目錄路徑,如/upload"> ErrorDocument 404 /404/404.html ErrorDocument 403 /404/403.htm

shell指令碼----cp (copy)複製檔案目錄

在linux中怎樣用命令完全拷貝一個目錄下的所有檔案(包括隱藏檔案以及資料夾)到另外一個目錄下,並且使得被複制的所有檔案的屬性等完全保持不變? 注意,連原來的資料夾中所有的檔案的屬性、連結等都不能更改。也就是說,要建立原來資料夾的一份一模一樣的拷貝!&n 在linux中怎樣用命令完全拷貝一個目錄下的所

shell指令碼中執行時提示“沒有那個檔案目錄”的解決辦法

出現bad interpreter:No such file or directory的原因,是檔案格式的問題。這個檔案是在Windows下編寫的。換行的方式與Unix不一樣,但是在vim下面如果不Set一下又完全看不出來。 問題分析: 1、將windows 下編寫好的SHELL檔案,傳到linux下執行

cmd 修改檔案目錄的執行許可權

設定當前目錄及子目錄(/r)下所有檔案(/f *)的所有者為管理員(/a) takeown /f * /a /r 我試用如下: takeown /f C:\test /a /r 設定當前目錄及子目錄下的所有檔案(* /t)的許可權為對所有人都為最高許可權(everyone:f) icacls

Linux下執行bash指令碼顯示“: /usr/bin/env: "bash\r": 沒有那個檔案目錄

用 ./ 執行bash指令碼檔案出現 報錯資訊 /usr/bin/env: "bash\r": 沒有那個檔案或目錄 錯誤原因:這主要是因為bash後面多了\r這個字元的原因。在linux終端下,輸出\r會什麼都不顯示,只是把游標移到行首。於是終端雖然輸出了/usr/bin/env bash,

chmod---變更檔案目錄許可權

chmod命令用來變更檔案或目錄的許可權。在UNIX系統家族裡,檔案或目錄許可權的控制分別以讀取、寫入、執行3種一般許可權來區分,另有3種特殊許可權可供運用。使用者可以使用chmod指令去變更檔案與目錄的許可權,設定方式採用文字或數字代號皆可。符號連線的許可權無法變更,如果使用者對符號連線修改許可權,其改變會

Shell中判斷HDFS中的檔案目錄是否存在

在Linux檔案系統中,Shell指令碼判斷某個檔案是否存在: # 這裡的-f引數判斷$file是否存在 if [ ! -f "$file" ]; then   echo "檔案不存在!" fi Hadoop提供了test命令判斷HDFS上某個檔案或目錄是否存在: [[e

指令碼執行錯誤---binsh^M:損壞的直譯器 沒有那個檔案目錄

在執行指令碼時,彈出錯誤提示: /bin/sh^M:損壞的直譯器: 沒有那個檔案或目錄 1 這是由於指令碼檔案在儲存時使用了DOS檔案格式造成的,可以用vim開啟檔案,然後執行下列操作: :set ff=unix :wq 1 2 在windows下面編輯指令碼,經常

指令碼出現bad interpreter:沒有那個檔案目錄-解決辦法

bash: ./eth0-access: /bin/bash^M: bad interpreter: 沒有那個檔案或目錄 錯誤分析: 因為作業系統是windows,我在windows下編輯的指令碼,所以有可能有不可見字元。指令碼檔案是DOS格式的, 即每一行的行尾以來標識

解決Linux下執行Python指令碼顯示“: 沒有那個檔案目錄”的問題

我猜不少人都遇到過類似的問題: 在Windows下寫好了一個python指令碼,執行沒問題 但放到Linux系統下就必須在命令列前加上一個python直譯器才能執行 指令碼開頭的註釋行已經指明瞭直譯器的路徑,也用chmod給了執行許可權,但就是不能直接執行指令碼。 比如這個指令碼: #!/usr/bin/

Linux下執行Python指令碼顯示“: 沒有那個檔案目錄”問題

        後來一想,應該是編碼問題。Windows下,文字的換行是\r\n一同實現的,而Lnix/UNIX下則只用\n。對於: #!/usr/bin/env python\r\n 這樣一行文字,windows下的程式會認為#!/usr/bin/env python就是一行。而linux會認為#! /us

centos7執行shell報/bin/sh^M:損壞的直譯器: 沒有那個檔案目錄

/bin/sh^M:損壞的直譯器: 沒有那個檔案或目錄 指令碼檔案儲存時使用了DOS格式,用DOS2UNIX轉為UNIX格式,也可以用vim開啟,用:set ff=unix轉換。 不要在 Windows下編輯指令碼檔案,否則經常會遇到這種問題。 程式碼:

使用shell巧妙高效的批量刪除歷史檔案目錄

背景:有實時產生的資料按小時分檔案儲存,如“/data/2013/09/18/14.txt”。現需要保留30天的最新資料,而刪除所有其它的歷史資料。注意“保留30天的最新資料”,可能不是連續的30天,中間若某一天資料缺失,也必須把最新的30天的資料保留下來。 思路:獲取所

linux執行sh指令碼時提示“沒有那個檔案目錄

在linux上使用bash XXX.sh執行指令碼時,提示“for reading(No such file or directory)”。 問題原因: 因為作業系統是windows,在windows下編輯的指令碼,所以有可能有不可見字元。指令碼檔案是DOS格式的 即每一行

Unix/Linux常用命令—改變檔案目錄的訪問許可權

Linux系統中的每個檔案和目錄都有訪問許可許可權,用它來確定誰可以通過何種方式對檔案和目錄進行訪問和操作。 檔案或目錄的訪問許可權分為只讀,只寫和 可執行三種。以檔案為例,只讀許可權表示只允許讀其內容,而禁止對其做任何的更改操作。可執行許可權表示允許將該檔案作為一個程式執行