Linux 124課程 2、從命令行管理文件

  1. 文件目錄
    Linux 124課程 2、從命令行管理文件

/ 代表根目錄 整個系統全部在根目錄中
/boot 存放啓動配置文件 建議,單獨做成一個分區
/dev 設備文件目錄 比如:光盤、硬盤
/etc 存放所有的配置文件
/home 普通用戶的家目錄文件
/root 管理所在的家目錄
/run 存放動態文件(不持久運行的應用程序數據),關機就清空文件
/tmp 存放臨時文件,一個星期以後可能就沒有了
/var 存放動態數據文件 比如 :/var/log/messages 日誌文件
/usr 存放已安裝的軟件程序和庫文件
/usr/bin 存放普通用戶的命令
/usr/sbin 存放管理員的命令
/usr/local 存放自定義軟件

which mkdir
/usr/bin/mkdir
Which usesradd
/usr/sbin/mkdir

/proc 存放內核參數以及硬件參數 比如:cpu 、內存相關信息
cat /proc/cupinfo 查看CPU信息
cat /proc/meminfo 查看CPU信息

2.pwd 查看所在目錄
cd / 切換到根目錄下

如何查看所在的目錄路徑
  pwd 查看目錄
  whatis pwd
  
3.cd切換目錄
  cd 目錄
  
  相對路徑:路徑是以當前路徑爲起點
  . 表示當前目錄下
  .. 表示上一級目錄
  ~ 表示返回自己的家目錄 相當於輸入cd
  絕對路徑:永遠以根作爲路徑起點
  
比如: cd /home/student 以根爲起點,這是一個絕對路徑
cd ../home/student 相對路徑

*** cd ./student 進入當前目錄下的/student目錄 “./” 可以省略,直接輸入student進入

  1. ls 列出當前目錄下的所有內容
    -l 以長格式顯示
    -a 顯示所有文件包括隱藏文件和. 以及.. 包括. /. ./.bash 隱藏文件
    -A 顯示所有文件包括隱藏文件
    -d 顯示所有目錄文件,一般和-l 結合使用
    ls -ld 顯示當前目錄的長文件格式
    -h 以K/M/G爲單位顯示信息 一般和-l 結合使用
    -R 遞歸顯示

  2. touch 創建空文件(可以刷新文件的時間戳)
      touch file1 創建file1文件
      
      echo 123 echo hello world > file1
      cat file1 查看file1中的內容
      
      ls -l file1 可以看見時間
      touch file1 時間戳會修改,文件中的內容不會修改
      touch file1 file2 file3 創建多個文件
      touch file{5..9 }

  3. mkdir 創建一個空目錄
    -p 創建多級目錄 如果之前沒有目錄也可以創建
      mkdir dir1 dir2 dir3
      mkdir dir{5..9}
      
      mkdir -p a/b/c 創建c目錄,如果沒有b,就先創建b
      
      *** ls -R a ls遞歸查看
      
  4. mv 移動文件、目錄/重命名(路徑相同的移動)
      (移動文件時,默認保留原文件的權限)
      mv file1 dir1/
      mv ../file2 ../dir2
      mv file5 file5.old
      mv file9 dir9 /file99
      mv a dir1/
      
  5. cp 複製
      ( cp也可以重命名,相同目標下做複製,可以重命名 )
      
      -i 覆蓋複製時有提示信息
      -f 強制覆蓋
      -r 遞歸複製
      -p 保留原屬性
      

  前提: dir1 中存在文件和多級目錄
  cp dir1 dir2/ 無法複製
  cp -r dir1 dir2/ 遞歸複製

  cp 命令在系統中默認添加-i選項,所以會自動提醒是否覆蓋原文件
  alias 查看系統當中的命令別名

  cp -rfp dir1 dir2/

  1. rm/rmdir 刪除目錄、文件 rm 一定要慎用
      rmdir 刪除空目錄
      
      rm 刪除文件或目錄
    -i 覆蓋複製時有提示信息
      -f 強制覆蓋
      -r 遞歸複製

    rm dir1
      rm file4
      rm -f file6 不需要詢問是否刪除
      rm -f -r dir1 強制遞歸刪除文件和目錄
      rm -r dir2 提示是否刪除

  rm -rf / root/dir2

  1. 文件通配: 路徑名擴展
    mkdir dira
    dir1,dir2,dir3,dir4,dir5,file7,file8,dira
    需要將dir1,dir2,dir3 這些數字的文件夾顯示出來,這時需要藉助特殊字符來實現
      
      特殊字符分類:
    (1)元字符 (後面介紹)
      重定向 > >>
      管道符 |

(2)通配符
  * 匹配0個或多個字符
  ? 匹配任意一個字符
  [ list] 匹配list中的任意一個字符
  [ !list] 匹配除list以外的的任意一個字符
  {string1,string2,string3, ...} 匹配字符串
  ——————————————————————————————————
  [[:digit:]] [ [] ]外面表示匹配一個字符,裏面表示匹配一個數字
  [[:lower:]] 表示匹配小寫字母
  [[:upper:]] 表示匹配大寫字母
  [[:alum:]] 表示匹配數字或下劃線
  [[:space:]] 表示匹配空格
  [[:punct:]] 表示”.”
  
例子:

ls -ld dir* 匹配所有dir的文件夾

ls -ld dir? 匹配dir後面一個字符的文件夾

ls -ld dir[0-9] 0-9中的一個字符匹配出來

mkdir dir{b..f} 創建b-f的文件夾

ls -ld dir[a-z] a-z中的字符匹配出來

ls -ld dir[!a-z] 除了a-z中的字符匹配出來

touch file{aa,bb,cc,dd,ee,ff}
ll file {aa,bb,cc,ff}
———————————————————————————————————————

ls -ld dir[[:digit:]] 顯示數字 等同於 ls -ld dir[0-9]

touch file{A..E}
touch file{a..e}

ls -ld dir[[:lower:]] 等同於 ls -ld dir[A-Z]
ls -ld dir[[:upper:]] 等同於 ls -ld dir[a-z]

(3)轉義符:
  ‘’ 硬轉義
  “” 軟轉義
  \ 轉義
  
例子:
  touch xx yy
  touch “xx yy”
  touch’ yy zz’
  
  a=1 定義變量
  echo a 輸出a
  echo $a 輸出變量a
  echo “$a” 1 “” 如果出現了特殊符號,當做特殊字符輸出
  echo ‘$a’ $a ‘’ 如果出現了特殊符號,當做普通字符輸出
  echo “\$a” $a \的作用是將$a當做普通字符輸出
  echo ‘\$a’ \$a ‘’當做普通字符輸出
  touch aa\ bb 將空格當做普通字符來處理

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