linux文件操作相關命令

linux下各個文件顏色

文件類型.png
  • 綠色文件代表可執(zhí)行文件
  • 藍色文件代表文件夾
  • 白色文件代表普通文件
  • 紅色代表壓縮文件
  • 常見的文件是普通文件(-)、目錄(d)、軟連接(l)
  • 塊設備文件、字符設備文件、套接字文件和管道文件是特殊文件,一般不用做其他操作。

一、增

touch a.txt 創(chuàng)建普通文本
mkdir 文件夾 創(chuàng)建文件夾
mkdir -p test/{a,b,c,d} 批量創(chuàng)建
mkdir -p a/b/c/d/e 遞歸創(chuàng)建

二、刪

rmdir 文件名 刪除空的,文件夾
rm 文件名 刪除文件
rm -rf 文件(指定某個文件) 遞歸刪除(不會用者慎用)

三、改

vi/vim 文件名(前提是有vim編輯器) 編輯文本文件
mv 舊文件名字 新文件夾名字 修改文件名
mv 文件路徑 文件路徑 移動文件路徑

cat >>/t1.txt << EOF 追加文字到文件
>追加的內容
>EOF 再次輸入EOF結束

ip addr > /tmp/network.txt (>)把命令執(zhí)行的結果信息,寫入到文件中

sed命令:sed還可以修改文本
s 替換指令
d 刪除指令
g 全局替換
例1:找到/tmp/pwd.txt文件中所有的root字符串,全局替換為ROOT(不加-i不會寫入到文件,只會返回替換結果)
sed -i 's/root/ROOT/g' /tmp/pwd.txt
例2:找到26行,刪除
sed -i '26d' /tmp/pwd.txt
例3:刪除文件空白行
sed -i '/^$/d' filename.txt

四、查

  • cat

    cat 查看文件內容
    cat /etc/os-release 查看系統(tǒng)版本

  • ls

    ls 查看文件夾內容
    ls -l (簡寫ll)查看文件夾詳細內容
    ls -la 顯示文件詳細信息,包括隱藏文件
    ls -lh 可以直接看出文件大小
    ls -i 查看文件inode號
    ls -ld /etc/ 查看目錄本身相關信息

  • stat

    stat 文件名 查看文件的具體信息

  • whereis 命令:whereis ls

    搜索系統(tǒng)命令所在位置(還可查看命令幫助文檔,不能搜索普通文件鍵)

  • which 命令:which ll

    搜索命令所在位置(可以查看別名,(并不是所有都能看到別名))

  • more

    more /etc/passwd 用于查看內容較多的文本
    按下空格space是翻頁
    按下b鍵是上一頁
    回車鍵向下讀取內容

  • echo

    echo 用于在終端輸出字符串或變量提取后的值,格式是"echo 【字符串|$變量】"
    echo 字符串 顯示字符串
    echo $PATH 查看環(huán)境變量
    echo > test.txt 用echo清空一個文件

  • head / tail

    head顯示文件前幾行,默認前10行
    tail顯示文件后幾行,默認后10行
    head -2 /t11.txt:查看前兩行
    tail -2 /t1.txt:查看后兩行
    tail -f /var/log/mysql.log #持續(xù)刷新顯示,常用于 對日志文件監(jiān)控,檢測,日志實時寫入的信息, 可用 echo "xxxxxx" >> /var/log/mysql.log 驗證實時變化。

  • pwd

    pwd 查看當前工作目錄

  • find:查找文件(耗費資源大,功能全,可按不同的文件屬性查詢)
    • 按名字查找
      find / -name settings.py 找到服務器上的settings.py
      find /etc -name 'ifc*' 找到/etc下的網(wǎng)卡配置文件(網(wǎng)卡配置文件名是ifc開頭)
      通配符:*匹配任意內容 ?匹配任意一個字符 []匹配任意一個中括號內的字符
      find /root -iname install.log 不區(qū)分大小寫

    • 按時間查找
      find /var/log/ -mtime +10:查找10天譴修改的文件
      -10 :10天內修改文件
      10:10天當天修改的文件
      atime:文件訪問時間
      ctime:改變文件屬性
      mtime:修改文件內容

    • 按大小查找
      find . -size 25k:查找文件大小是25kb的文件
      -25k 小于25kb
      +25k 大于25kb
      2M 等于2M的

    • 可以加上邏輯條件


      邏輯條件綜合查詢
  • grep

    grep [選項] 字符串 文件名:在文件中匹配符合條件的字符串
    -i 忽略大小寫
    -v 排除指定字符串

    find和grep的區(qū)別

  • locate

    locate 文件名:在后臺數(shù)據(jù)庫中按文件名搜索,搜索速度快
    (locate命令只能按照文件名搜索)(且按照/etc/updatedb.conf配置文件搜索的)

    配置文件內容含義

    /var/lib/mlocate:locate命令所搜索的后臺數(shù)據(jù)庫(不是實時更新,一天更新一次)
    updatedb:更新數(shù)據(jù)庫

五、復制

  • cp

    cp xxx.py /tmp/ 復制xxx.py到/tmp/下
    cp xxx.py /tmp/ooo.py 復制xxx.py到/tmp/下順便改名為ooo.py
    cp -r: 遞歸,復制目錄以及目錄的子孫后代
    cp -p:連帶文件屬性復制(包括為文件的創(chuàng)建時間)
    cp -d:若源文件是鏈接文件,則復制連接屬性
    cp -a:相當于-pdr (完全復制,所有信息都和原文件一模一樣)

    cp是個好命令,操作文件前,先備份:
    cp main.py main.py.bak
    
  • scp
    • 傳輸本地文件到遠程地址:
      scp 本地文件 遠程用戶名@遠程ip:遠程文件夾/
      scp 本地文件 遠程用戶名@遠程ip:遠程文件夾/遠程文件名
      scp -r 本地文件夾 遠程用戶名@遠程ip:遠程文件夾/
      scp -r /tmp/ root@192.168.1.155:/home/
    • 復制遠程文件到本地:
      scp root@192.168.1.155:/home/a.txt /tmp/a.txt
      scp -r root@192.168.1.155:/home/ /home/

六、路徑切換

  • cd ~切到當前登錄的用戶的家目錄 root用戶是/root家目錄,普通用戶/home/
  • cd -切到上一次的工作目錄
  • cd ..切到上一級工作目錄
  • cd ./xxx 切到當前工作目錄下的某個目錄
  • cd /xxx/xxx/xxx 切到具體的某個目錄

七、軟連接配置(類似于Windows快捷方式)

ln -s 目標文件 軟連接名
ln -s /tmp/xiaofeng.txt /home/xf.txt

還有一個`硬鏈接`:硬鏈接相當于是兩個文件名對應同一塊內存,
對一個文件修改之后另一個也變,一個刪除了,另一個可以正常使用,
硬鏈接不常用,所以就不過多介紹,理解就行。

八、文件,文件夾的權限

  • 1.通過ls -l /tmp/*去查看文件 文件夾所有權限
    drwx------. 2 root root 6 Nov 8 19:05 vmware-root
    -rw-r--r--. 1 root root 1977763 Nov 8 22:17 gaoxiao.gif

  • 2.用戶分類
    文件,文件夾的用戶分類

    分為三種,   user(屬主)  group(屬組)   other(外包,其他人  )
    -             rw-            r--           r--
    文件類型     屬主的權限     屬組的權限     other(外包)的權限
    
  • 3.解讀權限
    對于普通文本權限來說

    -   是普通文本
    r   讀取
    w   寫入 
    x   執(zhí)行
    

    對于文件夾來說

    d   文件夾類型
    r   可以對此目錄執(zhí)行l(wèi)s列出所有文件
    w   可以在這個目錄創(chuàng)建文件
    x   可以cd進入這個目錄,或者查看詳細信息
    
  • 4.文件權限的 r w x 對于數(shù)字的轉化,轉化為8進制的數(shù)字

    r   4  
    w   2 
    x   1
    
  • 5.文件權限練習:
    提示:
    r w x rwx rwx
    4 2 1

    7     0     0
    rwx  ---   ---
    
    7     4     4
    rwx  r--   r--
    
    7      7     7
    rwx   rwx   rwx
    
    7      5     5
    rwx    r-x   r-x
    
  • 6.更改文件所有者和所屬組,語法:

    命令 解釋
    chown 用戶名 文件名 改變文件的所有者
    chgrp 組名 file 改變文件的所屬組
    chown root:root 文件名 即修改所有者,又修改所屬組
    chmod 700 test.py 修改test.py文件權限為700
    groupadd 組命 添加組命
    gpasswd -a user1 user 將user1用戶,添加至user組里

九、查看linux命令網(wǎng)址:http://man.linuxde.net/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容