1、復制文件
1. cp : copy的縮寫 相當於windows中的復制粘貼:ctrl c 和ctrl v
2. 格式:cp 參數 被復制的路徑 復制到的新路徑
3. 參數:
-r或-R: 遞歸復制
-p: 把原來目錄的鏈接也一起復制過去(鏈接相當於windows中的快捷方式)
-preserve: 保留原來的屬性
-a 原路徑 新路徑:保證部分屬性不變
# 案例1:將/root目錄下的 1.txt 復制粘貼到/tmp目錄下:
[root@localhost ~]# cp -a 1.txt /tmp
# 案例2:將/root目錄下的test文件夾及其內部的文件復制到/tmp中:
[root@localhost ~]# cp -r /root/test /tmp
# 案例3:將/etc/hosts和/etc/resolv.conf 同時復制到/tmp目錄中
[root@localhost ~]# cp /etc/hosts /etc/resolv.conf /tmp
# 知識補充:
ls -l 等價於 ll (舉例 ll /root)
stat 路徑: 查看該文件屬性
在linux中沒有提示就是最好的結果,因為提示就是報錯
Esc. :直接拿到上一條命令的最后一個元素
2、移動文件
1. mv: 相當於windows中的剪切粘貼: ctrl x 和ctrl v
2. 格式:mv 參數 原路徑 新路徑
3. 參數:
-i: 若存在同名文件,則向用戶詢問是否覆蓋
-f: 覆蓋已有文件時,不進行任何提示
-b: 當文件存在時,覆蓋前為其創建一個備份
-u: 當源文件比目標文件新,或者目標文件不存在時,才執行移動此操作
# 案例1:移動文件:將/root目錄下的1.txt移動到/opt目錄中
[root@localhost ~]# mv /root/1.txt /opt
# 案例2:移動文件夾:把root文件夾下的test文件夾移動到mmt目錄
[root@localhost ~]# mv test/ /mnt/
3、刪除文件
刪除文件有兩種方式:物理刪除和邏輯刪除(把文件隱藏,未直接刪除)
# 物理刪除:直接把文件刪掉(企業中不能隨便用)
1. 格式:rm 參數 路徑: remove的縮寫rm
2. 參數:
-f 路徑: 不提示直接刪除
-i 路徑:提示刪除
-r 路徑: 遞歸刪除文件
-rf 路徑: 不提示直接刪除文件夾(禁止使用刪除根目錄 rm -rf /*)
# 案例1:將/root目錄下的1.txt刪除
[root@localhost ~]# rm 1.txt
[root@localhost ~]# rm -f 1.txt
# 案例2:刪除/root目錄下的test文件夾及其內部所有的文件
[root@localhost ~]# rm -r /root/test/
[root@localhost ~]# rm -rf /root/test/
# 知識補充:
在linux系統中不能直接刪除文件夾,需要用參數r
查看命令的存放路徑:which 命令名 # which rm
怎么解決誤操作rm的問題:修改rm命令的名字
4、系統別名
1. 關鍵字 alias
2. 格式: alias xxx = '命令'
eg : alias abc='rm'
3. alias : 查看系統別名
4. alias rm='xxx' : 設置系統別名
5. 不使用別名在命令前加個斜杠\:
[root@localhost ~]# \rm 1.txt
5、vi、vim編輯器
vim是vi的升級版本編輯器,用於修改配置,寫腳本等。類似於windowns的文本編輯器,比如記事本,word文檔...
1、安裝vim: yum install vim -y
2、打開文本編輯器:vim 文件路徑
vim 1.txt
3、vi編輯器三種操作模式:
命令模式:與輸入模式可以互轉(a,i,o三種模式)、與末行模式可以互轉
編輯模式:與輸入模式可以互轉
末行模式:與輸入模式可以互轉
4、進入編輯模式:
i : 在光標之前輸入
o :在光標處新創建一行
a :在光標之后輸入
5、保存並退出:
①先進入末行模式:按Esc,然后:鍵
②操作:w:保存; q:退出; !:強制
6、解決vim編輯異常(例如正常編輯的文件被刪除了):
①刪除.1.txt.swp
②繼續編輯(-r)
[root@localhost ~]# vim -r 1.txt
③放棄編輯(-n)
[root@localhost ~]# vim -n 1.txt
7、光標快速移動的快捷方式:
快速切換到底行:G
快速跳轉到首行:gg
快速跳轉到行尾:$
快速跳轉到指定行:先進入末行模式,然后輸入數字回車
快速復制文本內容信息:yy,nyy(向下復制n行)
快速粘貼文本內容:p(在光標的下一行粘貼);P(在光標的上一行粘貼)
刪除文本內容:dd(刪除光標所在行); ndd(向下刪除n行)
回撤剛剛的操作:u
撤回回撤:ctrl + r
顯示行號:先進入末行模式,然后輸入set nu,回車
取消行號:先進入末行模式,然后輸入set nonu,回車
搜索內容:先進入命令模式,然后輸入/,輸入需要搜索的內容,回車
n:下一個
N:上一個
:set ic: 忽略大小寫
可視化編輯:ctrl + v,編輯:Shift + i,按 Esc鍵退出即可
# 知識補充:
實時監控文件內容變化:tail -f 要監控的文件
由於Xshell對vim編輯異常有做處理,現在演示出來:
1、查看vim進程
[root@localhost ~]# ps -ef | grep vim
2、殺死vim進程
[root@localhost ~]# kill -9 pid
批量復制:
[root@localhost ~]# while true;do echo "Hello World" >> 1.txt; done



6、小練習
1. vim刪除多行有幾種方法?
方法1:ndd; 方法2:ctrl v進入可視化編輯,選中多行刪除。
2. vim中如何在前10行之前加上#?
方法1:ctrl v進入可視化編輯,利用鍵盤的上下鍵選中需要的行,再進行操作。
方法2:利用正則表達式:先進入末行模式,輸入指定的行數(1,10),再輸入替換的內容(s/被替換的內容/替換的新內容/g)
:1,10 s/\(.*)/# \1/g
3. 知識補充:正則表達式:
* :匹配任意字符的任意個數,除換行符(\n)之外
. : 匹配某一個字符
? :匹配零次或一次前導字符
+ : 匹配一次或多次前導字符
^ : 匹配以某個字符開頭
$ : 以某個字符結尾
\ : 取消轉義
(): 分組
[]: 或者(里面包含的任意一個字符)
| :或者(兩邊的字符整體)
{}:指定匹配個數
{n} : 匹配n次
{n,m} :匹配n到m次
{n,} :匹配至少n
{,m} :匹配最多n次