『壹』 如何查看linux用戶主目錄下的文件
在沒有圖形界面的Linux中需要查看一個文件的內容,這里分享下查找方法。
1、首先在電腦中打開Putty軟體,連接上Linux,如下圖所示。
『貳』 linux中,什麼函數可以讀取目錄
for
img
in
*.jpg
*.png
使用for循環語句,自動讀取當前目錄下的jpg和png圖片文件。
new=img--$count.${img##*.}
mv
"$img"
"$new"
2>
/dev/null
重命名圖片文件,文件名中加上編號。
let
count++
重命名成功後,編號加1。
『叄』 Linux 文件&目錄相關命令簡介
此處要介紹的相關命令共有29個
關於文件與目錄管理的命令有9個,分別是 cd 、 ls 、 pwd 、 mkdir 、 rmdir 、 cp 、 rm 、 mv 、 touch
關於文件與目錄許可權的命令有6個,分別是 chown 、 chgrp 、 chmod 、 umask 、 chattr 、 lsattr
關於文件查看與尋找的命令有14個,分別是 cat 、 tac 、 nl 、 more 、 less 、 head 、 tail 、 od 、 which 、 whereis 、 locate 、 find 、 file 、 updatedb
在linux中,有5個特殊目錄:
在 ls -l 命令的輸出內容中,顯示出每一個文件或目錄的一些常見屬性,例如:
在上述的屬性中,第一欄 drwxr-xr-x 為該文件的許可權欄,該塊共有10個字元組成。其中第一個字元顯示該文件的類型,共有7種文件類型:
其餘9個字元分為三組,第一組代表文件擁有者的許可權,第二組代表文件擁有組的許可權,第三組代表其他用戶的許可權
三組中每組又有三個字元,分別代表這 rwx 許可權,也就是讀,寫,執行許可權。當許可權不存在時,系統會以 - 填充該位。
SUID
該許可權僅作用於文件,主要用途是讓使用者臨時擁有文件所有者的許可權,僅對可執行的二進制文件有用,對腳本無效,在文件所有者的x許可權上生效,存在時x許可權變為小寫s,當x許可權本身不存在時,顯示大寫S
SGID
當該許可權作用在文件上時,主要用於是讓使用者擁有該文件群組的許可權;如果該許可權作用在目錄上時,主要是讓新建的文件或者目錄的所屬組為當前目錄的所屬組,在文件群組的x許可權上生效,存在時x許可權變為小寫s,當x許可權本身不存在時,顯示大寫S
作用於文件
作用於目錄
SBIT
該許可權僅作用於目錄,主要用途是讓使用者在該目錄創建了新文件或目錄時,僅有該使用者或root才有權利刪除該文件,在文件其他用戶的x許可權上生效,存在時x許可權變為小寫t,當x許可權本身不存在時,顯示大寫T
以上三個特殊許可權的配置與一般許可權配置類似,只不過在需要配置特殊許可權時,chmod後跟四位許可權信息即可(需要注意的是,在配置特殊許可權時要保證對應的位置上有x許可權,否則將會顯示大寫的字母來標識無效)
一、讓使用者能進入某目錄成為『可工作目錄』的基本許可權為何?
二、使用者在某個目錄內讀取一個文件的基本許可權為何?
三、讓使用者可以修改一個文件的基本許可權為何?
四、讓一個使用者可以創建一個文件的基本許可權為何?
五、讓使用者進入某目錄並運行該目錄下的某個命令之基本許可權為何?
『肆』 Linux怎樣讀取當前文件目錄下任意一個文件 不要遍歷所有文件,只要獲得一個就返回
我寫了一個shell腳本可以滿足你的要求
#/bin/bash
ls > txt #將當前目錄中的文件名保存到txt
echo "該目錄中有文件"`head -1 txt` #將目錄中的第一個文件名讀取出來
rm -rf txt #刪除txt文件
『伍』 Linux目錄,文件操作
【pwd】-- 查看當前所在目錄
【ls】 -- 顯示目錄下的文件和文件夾
【ls -l】 -- 查看文件, 長數據串列出,包含文件的屬性與許可權等等數據
【ls -R】 -- 顯示文件,文件夾和電子文件夾里的內容
【ls -a】 -- 全部的文件,連同隱藏的文件一起( 開頭為 . 的文件) 一起列出來(常用)
【ls -d】 -- 僅列出目錄本身,而不是列出目錄內的文件數據
【cd ..】 -- 回到上一級目錄
【cd ~ 】 -- 返回根目錄
【mkdir】 -- 創建目錄
【mkdir -p】 -- 創建連續目錄 mkdir -p junz/abu
【mkdir -m 775】 -- 創建目錄並且自定義許可權屬性
『陸』 linux查看目錄下的文件
1、打開linux系統,在linux的桌面的空白處右擊。2、在彈出的下拉選項里,點擊打開終端。3、在終端窗口輸入ls+目錄文件名回車,即可看到目錄下的文件。」
『柒』 在 Linux 上給用戶賦予指定目錄的讀寫許可權
在 Linux 上指定目錄的讀寫許可權賦予用戶,有兩種方法可以實現這個目標:第一種是使用 ACL (訪問控制列表),第二種是創建用戶組來管理文件許可權,下面會一一介紹。為了完成這個教程,我們將使用以下設置:
請確認所有的命令都是使用 root 用戶執行的,或者使用 sudo 命令來享受與之同樣的許可權。讓我們開始吧!下面,先使用 mkdir 命令來創建一個名為 share 的目錄。
1. 使用 ACL 來為用戶賦予目錄的讀寫許可權
重要提示: 打算使用此方法的話,您需要確認您的 Linux 文件系統類型(如 ext3 和 ext4, NTFS, BTRFS)支持 ACL。
1.1. 首先, 依照以下命令在您的系統中檢查當前文件系統類型,並且查看內核是否支持 ACL:
從下方的截屏可以看到,文件系統類型是 ext4,並且從 CONFIG_EXT4_FS_POSIX_ACL=y 選項可以發現內核是支持 POSIX ACL 的。
[圖片上傳失敗...(image-c85622-1574572716190)]
1.2. 查看文件系統(分區)掛載時是否使用了 ACL 選項。
[圖片上傳失敗...(image-bdb4d9-1574572716190)]
通過上邊的輸出可以發現,默認的掛載項目中已經對 ACL 進行了支持。如果發現結果不如所願,你可以通過以下命令對指定分區(此例中使用 /dev/sda3)開啟 ACL 的支持)。
1.3. 指定目錄 share 的讀寫許可權分配給名為 shenweiyan 的用戶了,依照以下命令執行即可。
[圖片上傳失敗...(image-dfb909-1574572716190)]
在上方的截屏中,通過輸出結果的第二行 getfacl 命令可以發現,用戶 shenweiyan 已經成功的被賦予了 /data/share 目錄的讀寫許可權。
如果想要獲取 ACL 列表的更多信息。請參考:
2. 使用用戶組來為用戶賦予指定目錄的讀寫許可權
2.1. 如果用戶已經擁有了默認的用戶組(通常組名與用戶名相同),就可以簡單的通過變更文件夾的所屬用戶組來完成。
另外,我們也可以通過以下方法為多個用戶(需要賦予指定目錄讀寫許可權的)新建一個用戶組。如此一來,也就創建了一個共享目錄。
2.2. 接下來將用戶 shenweiyan 添加到 dbshare 組中:
2.3. 將目錄的所屬用戶組變更為 dbshare:
2.4. 現在,給組成員設置讀寫許可權。
ok,在 Linux 上給用戶賦予指定目錄的讀寫許可權就介紹到這里 !
參考資料:
『捌』 Linux中如何在指定目錄下查找文件
find顧名思義就是查找的意思,該命令是各種Linux發行版本中比較重要的、常用的一個命令。Linux下的find命令提供相當多的查找條件,功能比較強大,掌握這個命令之後,對平時的系統運維、管理工作可以達到事半功倍的效果。那麼Linux系統中find命令的用法是什麼?具體請看下文:
Linux
find命令用來在指定目錄下查找文件。任何位於參數之前的字元串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄與文件,並且將查找到的子目錄和文件全部進行顯示。
語法格式:
find path -option [ -print ] [ -exec -ok command ] {} \;
參數說明:
find根據下列規則判斷path和expression,在命令列上第一個-(),!之前的部分為path,之後的部分是expression。如果path是空字串則使用目前路徑,如果expression是空字串則使用-print為預設expression。
expression中可使用的選項有二三十個,在此只介紹常用的部分。
-mount,-xedv:只檢查和指定目錄在同一個文件系統下的文件,避免列出其他文件系統中的文件;
-amin n:在過去n分鍾內被讀取過;
-anewer file:比文件file更晚被讀取過的文件;
-atime n:在過去n天內被讀取過的文件;
-cmin n:在過去n分鍾內被修改過;
-cnewer file:比文件file更新的文件;
-ctime n:在過去n天內被修改過的文件;
-empty:空的文件-gid n or -group name:gid是n或是group名稱是name;
-ipath p,-path p:路徑名稱符合p的文件,ipath會忽略大小寫;
-name name,-iname name:文件名稱符合name的文件,iname會忽略大小寫;
-size n:文件大小是n單位,b代表512位元組的區塊,c表示字元數,k表示kilo bytes,w是二個位元組。
-type c:文件類型是C的文件。
『玖』 linux查看目錄下文件的命令
linux中查看文件和目錄的命令是:LS
LS英文原意:list,命令所在路徑:/bin/ls,適用於所有用戶許可權,主要功能就是以列表形式顯示目錄文件。
其語法: ls 選項【-ald】【文件或目錄】
其中,-a 顯示所有文件,包括隱藏文件;
-l 詳細信息顯示;
-d 僅顯示目錄名,而不顯示目錄下的內容列表;
-h 人性化顯示(hommization);
-i 查看任意一個文件的i節點(類似於身份證唯一信息);
-t 用文件和目錄的更改時間排序;可以用第一個顯示的文件判斷最近修改的文件;
注意:. 開頭的文件除非是目錄,否則就是隱藏文件
(9)linux讀取目錄文件擴展閱讀:
創建目錄命令:mkdir,英文原意:make directories,命令所在路徑:/bin/mkdir,適用於所有用戶許可權,功能在於創建新的目錄。
其語法: mkdir 【-p】【目錄名】
-p 遞歸創建
例子:a)創建單個目錄:mkdir /tmp/vae.txt
b)創建多個目錄:mkdir /tmp/a.txt /tmp/b.txt
使用時的注意事項:
1、創建的目錄已經存在, 那麼 Linux 會提示我們 Linux 無法創建它。
2、不帶任何參數運行 mkdir 命令會在當前目錄下創建目錄。
3、不帶上-p,如果新建的文件上級目錄不存在則不會執行成功這種說法是錯誤的。加或者不加上 -p 前面的目錄沒有得都會依次創建。
4、創建目錄的首要條件是, 在想要創建目錄的目標路徑下你必須具有訪問許可權。
『拾』 Linux目錄及文件如何操作
處理目錄的常用命令
接下來我們就來看幾個常見的處理目錄的命令吧:
ls(英文全拼:list files): 列出目錄及文件名
cd(英文全拼:change directory):切換目錄
pwd(英文全拼:print work directory):顯示目前的目錄
mkdir(英文全拼:make directory):創建一個新的目錄
rmdir(英文全拼:remove directory):刪除一個空的目錄
cp(英文全拼: file): 復制文件或目錄
rm(英文全拼:remove): 刪除文件或目錄
mv(英文全拼:move file): 移動文件與目錄,或修改文件與目錄的名稱
你可以使用 man [命令] 來查看各個命令的使用文檔,如 :man cp。
ls (列出目錄)
在Linux系統當中, ls 命令可能是最常被運行的。
語法:
選項與參數:
-a :全部的文件,連同隱藏文件( 開頭為 . 的文件) 一起列出來(常用)
-d :僅列出目錄本身,而不是列出目錄內的文件數據(常用)
-l :長數據串列出,包含文件的屬性與許可權等等數據;(常用)
將家目錄下的所有文件列出來(含屬性與隱藏檔)
cd (切換目錄)
cd是Change Directory的縮寫,這是用來變換工作目錄的命令。
語法:
接下來大家多操作幾次應該就可以很好的理解 cd 命令的。
pwd (顯示目前所在的目錄)
pwd 是 Print Working Directory 的縮寫,也就是顯示目前所在目錄的命令。
選項與參數:
-P :顯示出確實的路徑,而非使用連結 (link) 路徑。
實例:單純顯示出目前的工作目錄:
實例顯示出實際的工作目錄,而非連結檔本身的目錄名而已。
mkdir (創建新目錄)
如果想要創建新的目錄的話,那麼就使用mkdir (make directory)吧。
語法:
選項與參數:
-m :配置文件的許可權喔!直接配置,不需要看默認許可權 (umask) 的臉色~
-p :幫助你直接將所需要的目錄(包含上一級目錄)遞歸創建起來!
實例:請到/tmp底下嘗試創建數個新目錄看看:
加了這個 -p 的選項,可以自行幫你創建多層目錄!
實例:創建許可權為 rwx--x--x 的目錄。
上面的許可權部分,如果沒有加上 -m 來強制配置屬性,系統會使用默認屬性。
如果我們使用 -m ,如上例我們給予 -m 711 來給予新的目錄 drwx--x--x 的許可權。
rmdir (刪除空的目錄)
語法:
選項與參數:
-p :連同上一級『空的』目錄也一起刪除
刪除 runoob 目錄
將 mkdir 實例中創建的目錄(/tmp 底下)刪除掉!
利用 -p 這個選項,立刻就可以將 test1/test2/test3/test4 一次刪除。
不過要注意的是,這個 rmdir 僅能刪除空的目錄,你可以使用 rm 命令來刪除非空目錄。
cp (復制文件或目錄)
cp 即拷貝文件和目錄。
語法:
選項與參數:
-a:相當於 -pdr 的意思,至於 pdr 請參考下列說明;(常用)
-d:若來源檔為連結檔的屬性(link file),則復制連結檔屬性而非文件本身;
-f:為強制(force)的意思,若目標文件已經存在且無法開啟,則移除後再嘗試一次;
-i:若目標檔(destination)已經存在時,在覆蓋時會先詢問動作的進行(常用)
-l:進行硬式連結(hard link)的連結檔創建,而非復制文件本身;
-p:連同文件的屬性一起復制過去,而非使用默認屬性(備份常用);
-r:遞歸持續復制,用於目錄的復制行為;(常用)
-s:復製成為符號連結檔 (symbolic link),亦即『捷徑』文件;
-u:若 destination 比 source 舊才升級 destination !
用 root 身份,將 root 目錄下的 .bashrc 復制到 /tmp 下,並命名為 bashrc
rm (移除文件或目錄)
語法:
選項與參數:
-f :就是 force 的意思,忽略不存在的文件,不會出現警告信息;
-i :互動模式,在刪除前會詢問使用者是否動作
-r :遞歸刪除啊!最常用在目錄的刪除了!這是非常危險的選項!!!
將剛剛在 cp 的實例中創建的 bashrc 刪除掉!
如果加上 -i 的選項就會主動詢問喔,避免你刪除到錯誤的檔名!
mv (移動文件與目錄,或修改名稱)
語法:
選項與參數:
-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
-u :若目標文件已經存在,且 source 比較新,才會升級 (update)
復制一文件,創建一目錄,將文件移動到目錄中
將某個文件移動到某個目錄去,就是這樣做!
將剛剛的目錄名稱更名為 mvtest2
Linux 文件內容查看
Linux系統中使用以下命令來查看文件的內容:
cat 由第一行開始顯示文件內容
tac 從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫!
nl 顯示的時候,順道輸出行號!
more 一頁一頁的顯示文件內容
less 與 more 類似,但是比 more 更好的是,他可以往前翻頁!
head 只看頭幾行
tail 只看尾巴幾行
你可以使用 man [命令]來查看各個命令的使用文檔,如 :man cp。
cat
由第一行開始顯示文件內容
語法:
選項與參數:
-A :相當於 -vET 的整合選項,可列出一些特殊字元而不是空白而已;
-b :列出行號,僅針對非空白行做行號顯示,空白行不標行號!
-E :將結尾的斷行位元組 $ 顯示出來;
-n :列印出行號,連同空白行也會有行號,與 -b 的選項不同;
-T :將 [tab] 按鍵以 ^I 顯示出來;
-v :列出一些看不出來的特殊字元
檢看 /etc/issue 這個文件的內容:
tac
tac與cat命令剛好相反,文件內容從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫!如:
nl
顯示行號
語法:
選項與參數:
-b :指定行號指定的方式,主要有兩種:
-b a :表示不論是否為空行,也同樣列出行號(類似 cat -n);
-b t :如果有空行,空的那一行不要列出行號(默認值);
-n :列出行號表示的方法,主要有三種:
-n ln :行號在熒幕的最左方顯示;
-n rn :行號在自己欄位的最右方顯示,且不加 0 ;
-n rz :行號在自己欄位的最右方顯示,且加 0 ;
-w :行號欄位的佔用的位數。
實例一:用 nl 列出 /etc/issue 的內容
more
一頁一頁翻動
在 more 這個程序的運行過程中,你有幾個按鍵可以按的:
空白鍵 (space):代表向下翻一頁;
Enter :代表向下翻『一行』;
/字串 :代表在這個顯示的內容當中,向下搜尋『字串』這個關鍵字;
:f :立刻顯示出檔名以及目前顯示的行數;
q :代表立刻離開 more ,不再顯示該文件內容。
b 或 [ctrl]-b :代表往回翻頁,不過這動作只對文件有用,對管線無用。
less
一頁一頁翻動,以下實例輸出/etc/man.config文件的內容:
less運行時可以輸入的命令有:
空白鍵 :向下翻動一頁;
[pagedown]:向下翻動一頁;
[pageup] :向上翻動一頁;
/字串 :向下搜尋『字串』的功能;
?字串 :向上搜尋『字串』的功能;
n :重復前一個搜尋 (與 / 或 ? 有關!)
N :反向的重復前一個搜尋 (與 / 或 ? 有關!)
q :離開 less 這個程序;
head
取出文件前面幾行
語法:
選項與參數:
-n :後面接數字,代表顯示幾行的意思
默認的情況中,顯示前面 10 行!若要顯示前 20 行,就得要這樣:
tail
取出文件後面幾行
語法:
選項與參數:
-n :後面接數字,代表顯示幾行的意思
-f :表示持續偵測後面所接的檔名,要等到按下[ctrl]-c才會結束tail的偵測
[root@www ~]# tail /etc/man.config
# 默認的情況中,顯示最後的十行!若要顯示最後的 20 行,就得要這樣:
[root@www ~]# tail -n 20 /etc/man.config