【Linux系列】【基礎版】第二章 文件、目錄管理

2. 文件、目錄管理
    2.1 有哪些文件目錄
        2.1.1 /bin 
        2.1.2 /boot
        2.1.3 /dev
        2.1.4 /etc
        2.1.5 /home
        2.1.6 /lib  /lib64
        2.1.7 /meida
        2.1.8 /mnt
        2.1.9 /opt
        2.1.10 /proc
        2.1.11 /run
        2.1.12 /sbin
        2.1.13 /srv
        2.1.14 /sys
        2.1.15 /tmp
        2.1.16 /usr
        2.1.17 /var
        
    2.2 常用命令
        2.2.1 tree //以樹形結構顯示目錄結構;  
              yum install -y tree  //安裝tree包; 
              tree --hep //查看tree的用法, 或用 man tree; tree -L 2 //指定樹的深度爲2;
        2.2.2 ls /home/username // 列出用戶名;     
              ls /etc/ssh/sshd_config  //列出配置文件
        2.2.3 useradd username //增加用戶名字
        2.2.4 ldd /bin/ls  //查看一個文件依賴哪些庫
        2.2.5 ls -l /proc/28/   //查看進程pid=28的進程目錄
        
    2.3 ls命令詳解
        2.3.1 ls -l 列出文件、目錄
        2.3.2 ls -i 查看文件、目錄的iNode號
            2.3.2.1 ls -i /root
            2.3.2.2 ls -i .
            2.3.2.3 ls -i .ssh/..
        2.3.3 ls -a 顯示所有隱藏的文件、目錄
        2.3.4 ls -t 按時間time排序
        2.3.4 ls -h 顯示單位
        2.3.5 ls -d 只列出目錄本身
        2.3.6 ll 是ls -l的別名
        2.3.7 which ll  查看ll文件的路徑
        2.3.8 ls -la 
            2.3.8.1 列出的左邊第一位d表示directory目錄
            2.3.8.2 列出的左邊第一位-表示文件
            2.3.8.3 列出的左邊第一位c表示字符串設備
            2.3.8.4 列出的左邊第一位l表示軟鏈接文件,相當於快捷方式
            2.3.8.5 列出的左邊第一位b表示塊設備,如光盤、磁盤等
            2.3.8.6 列出的左邊第一位s表示socket文件,用於進程間的通信
        2.3.9 cat 查看文本文檔
        
    2.4 alias別名的使用
        2.4.1 alias  //查看系統的別名
        2.4.2 echo $PATH //輸出PATH環境變量的值
        2.4.3 alias alibaba='ls -al'  //將ls -al命令用alibaba這個別名表示, 注意一般用單引號
        2.4.4 which alibaba //查看alibaba這個別名所在的路徑
        2.4.5 unalias alibaba //取消alibaba這個別名
        
    2.5 絕對路徑與相對路徑
        2.5.1 絕對路徑: 從根目錄開始的路徑
            2.5.1.1 ls /root/.ssh/authorized_keys
        2.5.2 相對路徑: 相對當前目錄所表示的路徑
            2.5.2.1 ls .ssh/authorized_keys
  
    2.6 cd 命令
        2.6.1 cd /etc/sysconfig  //change directory to /etc/sysconfig
        2.6.2 cd - //進入上一次所在目錄
        2.6.3 cd  //進入當前用戶的家目錄
        2.6.4 cd ~ //進入當前用戶的家目錄
        2.6.5 cd .. //返回上一級目錄
   
    2.7 創建和刪除目錄
        2.7.1 mkdir  make directory 創建一個目錄
            2.7.1.1 mkdir /tmp/newDir  
            2.7.1.2 mkdir -p /tmp/newDir1/newDir2  // -p表示創建一串目錄
            2.7.1.3 mkdir -pv /tmp/newDir3/newDir4/newDir5 // -v表示可視化
        2.7.2 rmdir remove directory 刪除一個空的目錄,且只能是目錄
            2.7.2.1 touch /tmp/2/3/1.txt  //創建一個空白文件
            2.7.2.2 !tree  //執行最近一次以tree開頭的命令
            2.7.2.3 history //查看命令歷史
        2.7.3 rm命令  remove 移除
            2.7.3.1 rm /tmp/johnson/2/3/1.txt  //移除1.txt文本文檔,此處有詢問
            2.7.3.2 rm -f /tmp/johnson/2/3/1.txt  //-f 表示force
            2.7.3.3 rm -r  //-r 表示recursive,指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除
            2.7.3.4 rm -rf  //-rf 常組合使用
            2.7.3.5 按兩下Tab鍵可以顯示目錄後面的目錄或文件
    
     2.8 PATH環境變量
         2.8.1 是環境變量,這個變量裏面有多個絕對路徑,用冒號:分割,在這些路徑下的命令是可以直接敲出來,省略掉目錄路徑的;
         2.8.2 設置環境變量(臨時的):PATH=$PATH:pathname
         2.8.3 修改環境變量爲永久的: vi /etc/profile, 然後增加 PATH=$PATH:/pathname/
   
     2.9 cp 拷貝命令
         2.9.1 拷貝時所有的目錄後面加/
         2.9.2 cp /etc/passwd /tmp/1.txt 
         2.9.3 cp -r /etc/passwd /tmp/1.txt //遞歸處理,將指定目錄下的所有文件與子目錄一併處理
         2.9.4 !$  //執行上一條命令最後一個參數
         2.9.5 /usr/bin/cp /etc/passwd /tmp/1.txt  //不再有詢問語句
         2.9.6 cp -r /tmp/aminglinux /tmp/aming1/  //aming文件夾存在,放在其後
   
     2.10 mv 命令
         2.10.0 mv /etc/new1.txt /etc/2/
         2.10.1 當目標文件不存在時,可以更改文件名
         2.10.2 當目標文件存在時,自動到它的後面
         
     2.11 文件或目錄權限
         2.11.1 所有者-所屬組-其他用戶
         2.11.2 chmod 700 1.txt  //change mod for 700(rwx------)
         2.11.3 --rw-----.  //此處的點表示受制於selinux
             2.11.3.1 setenforce 0 //臨時關閉selinux
             2.11.3.2 getenforce  //查詢
             2.11.3.3 vi /etc/selinux/config  //可以修改selinux的配置文件得到永久關閉selinux的效果
             2.11.3.4 chmod -R  //處理指定目錄以及其子目錄下的所有文件 
             2.11.3.5 chmod u=rwx,g=r,o=r newDir  
             2.11.3.6 chmod a+x newDir       
            
         2.11.4 chown //change owner
             2.11.4.1 chown user1:aming /tmp/yum.log
             2.11.4.2 chown :root /tmp/yum.log
             2.11.4.3 chown -R user1:aming /tmp/aming2  //-R:處理指定目錄以及其子目錄下的所有文件
        2.11.5 chgrp //change group
             2.11.5.1 chgrp user1 /tmp/yum.log
      
     2.12 umask
          2.12.1 file:  666= (rw-rw-rw-) - (-------wx) = rw-rw-r-- =644  即: 666-umask=file
          2.12.2 directory: 777 = (rwxrwxrwx) - (-------wx) = rwxrwxr-- = 744 即:777-umask=directory
     
     2.13 隱藏權限
        2.13.1 chattr  
             2.13.1.1 chattr +a //設置追加權限
             2.13.1.2 chattr -a //
             2.13.1.3 chattr +i //設置不允許修改文件的權限,如果是目錄的話,只能修改目錄之下的文件,不允許建立和刪除文件
             3.10.1.4 chattr -i //   
        2.13.2 lsattr 查看
             2.13.2.1 lsattr -R  //查看子目錄及文件
             2.13.2.2 lsattr -d  //查看當前目錄
             2.13.2.3 lsattr -a  //查看所有包括隱藏的文件
             
     2.14 set_uid 和 set_gid
         2.14.0 https://wenku.baidu.com/view/cf3baa6a561252d380eb6ed7.html
         2.14.1 set_uid
             2.14.1.1 chmod u=rwxs file_name  //顯示s
             2.14.1.2 chmod u=rws file_name //顯示S
         2.14.2 set_gid
             2.14.2.1 chmod g=rwxs Directory_name
             2.14.2.2 chmod g=rws Directory_name
         2.14.3 sticky_bit  //t表示防刪除位
         2.14.4 擴展
             2.14.3.1 df -h  //以更易讀的方式顯示目前磁盤空間和使用情況
             2.14.3.2 df -i  //以inode模式來顯示磁盤使用情況
    
    2.15 軟鏈接 和 硬鏈接
        2.15.1 軟鏈接
            2.15.1.1 ln -s /tmp/yum.log /root/111/yum.log  //相當於一個快捷方式
            2.15.1.2 案例:
                     cp /boot/aminglinux.log /aming,log
                     rm /boot/aming.log
                     ln -s /aming.log /boot/aming.log
            2.15.1.3 做軟鏈接儘量使用絕對路徑
        2.15.2 硬鏈接
            2.15.2.1 ln 1.txt 1.head.txt
            2.15.2.2 ls -i 1_head.txt  //查看iNode號
            2.15.2.3 注意事項:
                2.15.2.3.1 文件做硬鏈接,不能跨分區;
                2.15.2.3.2 創建了一個文件,和另一個文件的iNode號一樣
                2.15.2.3.3 不能對目錄做硬鏈接
        
    2.16 find命令
        2.16.1 which ls //
        2.16.2 whereis ls //模糊查詢
        2.16.3 locate 123 //yum install -y mlocate ,模糊查詢
        2.16.4 一些常用快捷鍵
            2.16.4.1 ctrl + l //clear screen
            2.16.4.2 ctrl + d //exit/login
            2.16.4.3 ctrl + c //取消本次操作
            2.16.4.4 ctrl + u //往前刪一行
            2.16.4.5 ctrl + e //移動光標到結尾處
        2.16.5 find 路徑 -type f(文件) -mtime +1(一天以上) -o(或者) -name "*.conf"
            2.16.5.1 -mtime :  Modify, 表示更改文件內容的時間(iNode)
            2.16.5.2 -ctime :  Change, 表示權限、語言的改變
            2.16.5.3 -atime :  Access, 表示訪問的時間
            2.16.5.4 -nmin -60(1小時以內)
            2.16.5.5 stat 1.txt //查看文件的具體信息
            2.16.5.6 ln 1_head.txt /tmp/1.txt.bak
                2.16.5.6.1 ls -l 1_head.txt
                2.16.5.6.2 ls -i 1_head.txt
                2.16.5.6.3 find / -inum 33583395 //查找一個文件iNode號爲33583395的硬鏈接
            2.16.5.7 ls -l /root/2.txt
                2.16.5.7.1 date 
                2.16.5.7.2 find /root/ -type -f -nmin -120 -exec ls -l {} \; //-exec 表示顯示後面的命令
                2.16.5.7.3 find /root/ -type f -nmin -150 -exec mv {} {}.bak \; //{}.bak爲文件的格式名
                2.16.5.7.4 -size 10K/M
                
   2.17 文件後綴名
       2.17.1 語言的修改
           2.17.1.1 zh_CN.utf-8 //中文字符集編碼
           2.17.1.2 LANG=en //英文
           2.17.1.3 echo $LANG //打印語言的類型         
    
   2.18 Linux和Windows互傳文件
       2.18.1 可通過ftp, samba
       2.18.2 在Xshell、securecrt環境下,安裝傳輸協議包
           2.18.2.1 yum install -y lrzsz
           2.18.2.2 sz 1.txt  //linux -> windows
           2.18.2.3 rz 1.txt  //windows -> linux  r:remote

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章