Linux 基礎之文件操作命令


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. :直接拿到上一條命令的最后一個元素

image-20211210150004270

image-20211210151124141

image-20211210101041520

image-20211210152034613

image-20211210152428392

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/

image-20211210153442366

image-20211210153829867

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命令的名字

image-20211210155241476

image-20211210102948292

image-20211210104155748

image-20211210103954460
image

4、系統別名

1. 關鍵字 alias
2. 格式: alias xxx = '命令'
  eg : alias abc='rm'
3. alias  : 查看系統別名
4. alias rm='xxx' : 設置系統別名
    
5. 不使用別名在命令前加個斜杠\:
  [root@localhost ~]# \rm 1.txt

image-20211210163624301

image-20211210175322410

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
		


![image-20211210165120122](https://s2.loli.net/2021/12/10/8qSNuloZEV4wb6L.png)

![image-20211210165241103](https://s2.loli.net/2021/12/10/yWDJ1mp68rHNL2o.png)

![image-20211210170437904](https://s2.loli.net/2021/12/10/c4A23RlZOvB1sou.png)


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次


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM