1. 程式人生 > >linux檔案目錄管理

linux檔案目錄管理


檔案或目錄許可權:
ls-l
rw- -r- r-- 可讀r 4 可寫w 2 可執行x 1
所屬者 所屬組 其他使用者
chmod == change mode 改許可權
chmod 700 2.txt 改2.txt許可權
chmod 改的只是指定目錄,子目錄和其他目錄不變
chmod -R 連帶指定目錄下的子目錄批量進行更改

更改所有者和所著組:
chown == change owner 更改所有者
cat /etc/passwd 檢視所有使用者
chown aming /tmp/yum.log 更改所有者為aming
chgrp == change group 更改所屬組
chgrp user1 /tmp/yum.log 更改所屬組為user1
chown user1:aming /tmp/yum.log 更改所有者和所屬組
chown -R 連帶子目錄更改所有者

umask:
umask root 的值
umask 002
許可權: root 022 檔案 644 目錄755
root 002 檔案 664 目錄775
目錄777-002=755 檔案 666-002=664
umask 003 檔案 664 目錄 774

隱藏許可權lsattr_chattr:
chattr 設定隱藏許可權(檔案,目錄)
chattr +i 1.txt
vi 1.txt wq許可權不足
lsattr 1.txt 檢視隱藏許可權
lsattr -R 檢視目錄下的子檔案子目錄的許可權
chattr +i 1.txt 加i許可權 誰都無法更改檔案
chattr -i 1.txt 減去i許可權 可更改
chattr +a 只能在檔案末尾追加
chattr -a 去掉a許可權

軟連結檔案:
ls -l /bin bin就是軟連線檔案,在usr下
ln -s /root/123/1.txt /tmp/123/12/1.txt 做軟連結
(原始檔) (放置位置,軟連結)
做軟連線儘量使用絕對路徑
df -h 檢視磁碟分割槽

硬連結:
建立一個檔案,這個檔案和另一個檔案inode號一樣,這兩個檔案相互為硬連結檔案
硬連結只支援對檔案,不支援目錄!不能跨分割槽,可刪除
ln 1.txt 1_heard.txt 1.txt的硬連結
ln -s 1.txt 1_sorft.txt 1.txt的軟連線

find命令:
which ls
find /etc/ name "sshd*" 指定範圍查找出帶sshd檔案或目錄的路徑
find /etc/ -type d -name "sshd*" 查詢帶sshd的目錄
find /etc/ -type f -name "sshd*" 查詢帶sshd的檔案
.......
start 2.txt 檢視檔案的具體資訊
find /dev/ -type -mtime -1 查詢一天以內改動的檔案
+1 一天以前的

ctime 資訊 mtime 檔案內容 atime 訪問的時間
find /etc/ -type f -mtime -1 -name"*.conf" 查詢一天以內更改併名為.conf的檔案
find /etc/ -type f -o -mtime -1 -name"*.conf" 查詢一天以內更改或者名為.conf的檔案
硬連結的檔案不太好找:
find / -inum 3324234(inode號)
find /root/ -type f -mmin -60 查詢一小時以內更改的檔案
120 兩個小時的
find /root/ -type f -mmin -120 -exec ls -l{} \;
find的一個選項 {}代表列取出來的檔案其中之一
find /root/ -type f -mmin -120 -exec mv {} {}.bak \;

find /root/ -type f size -10k -exec ls -lh {} \;
查詢小於10k的檔案

檔名字尾:
linux下檔名字尾不能代表檔案的型別
linux和windows互傳檔案:
只支援xshell
yum install -y lrzsz
sz a.txt 放到windows上
rz 從windows上拿檔案


檔案型別:
find / 檢視指定檔案
d 目錄 - 普通檔案,檔案文件,二進位制檔案
c 字串裝置 b 光碟機光碟 l 軟連線檔案


alias命令:
ls ll 的別名 which ls which ll
which 檢視原命令,檢視命令所在路徑
alias 檢視哪些命令都有別名
PATH 環境變數
ehco $PACH
定一個命令: alias aming='ls-lha' (定義)
which aming (檢視是否存在)
unalias aming(刪除自定義命令)
which aming (再檢視)

相對和絕對路徑:
路徑:從/開始的一個路徑(檔案位置)
絕對路徑:從/ 開始的路徑
相對路徑:不是從/開始的路徑,從當前位置開始的路徑
pwd 顯示當前路徑
cd= change directory

CD命令:

cd - 進入上一次的目錄
cd 直接回到使用者的家目錄
cd~ 同上
cd..進入上一級目錄
man cd 檢視cd的用法

建立和刪除目錄:
mkdir = make directory
mkdir /tmp/xiong 建立目錄
mkdir -p /tmp/xiong/1/2 同時建立多個目錄
mkdir -p /tmp/xiong/1/2 視覺化,能看見建立過程

rmdir == remove directory
rmdir 只能刪除空目錄
touch 建立空白檔案
rmdir -p 可刪除一系列空目錄


rm命令:
rm /tmp/xiong/1/2/1.txt 刪除檔案(詢問)
rm /tmp/xiong/1/2/*.txt 萬用字元,表示目錄下的所有檔案
rm -f 強制刪除(不詢問)
!tree 使用最近的上一次的tree命令
history 最近使用的所有命令
!touch 使用上一次的touch命令
! 顯示上一次的指定命令
rm -r 連級的把目錄刪掉
rm -rf 。。。。。 不提示的刪除連級的目錄


環境變數PATH:
echo $PATH 下目錄的命令無需寫絕對命令,which查詢的命令都在他的目錄下

把自定義命令改為永久
cp /usr/bin/ls /tmp/ls2 把ls拷貝到ls2
vi /etc/profile
PATH=$PATH:/TMP/
:WQ
刪除自定義命令:
vi /etc/profile
dd (連續的)
:wq

cp命令:
cp=copy
cp /etc/password /tmp.1.txt 按y覆蓋
cp (源目錄原始檔) 到 (目標地點) 前後加/
cp -r 拷貝目錄
!$ 上一個命令的最後一個引數
cp -i 拷貝時詢問 i=安全引數

mv命令:
mv=move 挪動位置
mv xiong12.cfg xiong13.cfg.1 改檔名
mv 1.txt /root.2.txt 移動分割槽並改名字
mv aming1/ aming2 把目錄移動到另外一個目錄下(aming2存在)
mv aming1/ aming2 不存在的情況下是改名字

cat文件檢視:
tac 從末尾往前看
cat -n顯示行號
more 一螢幕一螢幕的顯示 ctrl +b 往前看
cat /etc/passwd >> anaconda-ks.cfg.1 檔案內容追加到檔案裡面
less 檢視,支援上下鍵往上下看 q 退出
可以搜尋 / ? 搜尋 / cdrom 高亮顯示cdrom
n往後走 shift+n 往前走
g 行首 shift+g 行尾
head 檢視前十行 tail 看最後十行
head -n 2 前2行 tail -n 2 尾2行
tail (動態顯示被檢視的內容)檢視正在更新的文件,如日誌之類