linux培訓筆記--文件和目錄的管理
1、linux下的常用命令
(1)ls 查看(列出)目錄下的內容
-l 查看文件詳細信息
drwxr-xr-x. 23 root root 4096 5月 31 15:06 var
文件類型和權限 文件鏈接數 文件所屬用戶 文件所屬組 文件大小 文件創建時間 文件名稱
-h 帶單位顯示文件大小
drwxr-xr-x. 2 root root 4.0K 5月 31 15:34 yum.repos.d
-R 遞歸顯示目錄內容
(2)cd 改變(切換)當前工作目錄
#cd /etc/httpd/conf
絕對路徑:從根目錄開始的路徑,絕對路徑只有一條
相對路徑:從當前目錄開始的路徑,相對路徑會有多條
. 表示當前目錄
.. 表示上一級目錄
#pwd
/etc/httpd/conf
例、當前路徑為/etc/httpd/conf,分別使用絕對路徑和相對路徑進入/etc/httpd目錄。
#cd /etc/httpd
#cd ..
例:使用絕對路徑和相對路徑進入/var/log目錄
cd - 切換回上次的目錄
cd ~ 進入用戶家目錄(主目錄)
(3)pwd 顯示當前工作目錄
(4)tree 顯示當前目錄樹
#tree /
ctrl+c 結束當前程序
(5)mkdir
#mkdir -p /myfile/music
-p 當上級目錄不存在時自動創建
(6)du 顯示目錄所占磁盤空間
#du -sh /etc
#du -ah /var/log
文件操作命令
(7)touch 創建一個大小為0的文件
#touch 文件名
(8)cp 復制文件
#cp [-r] 源文件或目錄 目標目錄
例:把/etc目錄下文件名為yp.conf的文件復制到/myfile/dest目錄下
#cp /etc/yp.conf /myfile/dest
例:將/etc目錄下所有擴展名為conf的文件復制到/myfile/source目錄下
通配符
* 代表0-n個字符
? 代表任意一個字符
#cp -r /etc/*.conf /myfile/source
例:將/etc目錄下以a或b或c開頭,文件名共四個字符,擴展名為conf的文件復制到/myfile/dest目錄
#cp -r /etc/[abc]???.conf /myfile/dest
(9)mv 移動(剪切)文件或目錄
#mv 源文件 目標目錄
#mv yp.conf my.conf
(10)file 檢測文件類型
#file /dev/sda1
(11)rm 刪除文件或目錄
#rm 文件名
#rm yp.conf
-f 不提示,直接刪除文件
-r 刪除目錄
#rm -fr *
(12)ln 創建鏈接文件
軟鏈接(符號鏈接)
#ln -s 源文件 鏈接目標
#ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 /ifcfg-eth0
硬鏈接
#ln 源文件 鏈接目標
不能創建目錄的硬鏈接
不能跨分區創建硬鏈接
會增加文件的鏈接計數
#ln /myfile/yp.conf /test/yp.conf
2、linux下文件內容查看操作
(1)cat 從前往後查看文件內容
(2)more 分頁查看文件內容
(3)less 可控制的分頁查看文件內容
(4)head 顯示文件前n行,默認10行
(5)tail 顯示文件後n行,默認10行
(6)tac 倒序顯示文件內容
| 管道符,用於鏈接兩個命令,將前一個命令的輸出作為後一個命令的輸入
例:顯示文件httpd.conf的第100行到120行的內容
#head -120 httpd.conf | tail -21
綜合練習:
(1)創建如下目錄結構(帶擴展名的為文件,其余為目錄)
/zhlx
|
____________________|______________
| | | | |
軟件 程序 電影 音樂 資料
| | ____|_____
___|____ ______|______ | |
| | | | | 數學 英語
辦公軟件 繪圖軟件 武俠 文藝 紀錄 | |
| 練習.txt 口語.mp3
_____|______
| |
誅仙.txt 天龍八部.txt
(2)將/etc下所有以a或c或y或z開頭,以conf為擴展名的文件復制到"程序"目錄下
(3)將/var/log目錄下的所有內容復制到辦公軟件目錄下
(3)將"辦公軟件"目錄改名為"系統日志"
(4)將/etc/httpd/conf/httpd.conf文件復制到音樂目錄下並改名為web.conf
(5)將web.conf文件創建軟鏈接到繪圖軟件目錄下的sweb.conf
(6)將web.conf文件創建硬鏈接到繪圖軟件目錄下的hweb.conf
(7)刪除"程序"目錄下所有中間包含"h"字符的文件
3、linux下的查找命令
(1)which 用於搜索可執行文件的路徑及其別名定義
附加內容:linux命令別名定義
#alias 查看別名定義
#alias dir='ls -l' 定義別名
#unalias dir 取消別名
(2)whereis 用於搜索可執行文件的路徑及其幫助文件所在路徑
#whereis mv
環境變量:保存系統環境的值
#export 顯示或定義環境變量
#echo $PATH 查看環境變量PATH的值
內部命令:直接寫在shell裡面的命令
外部命令:保存在磁盤上面的可執行程序
(3)locate 根據目錄數據庫進行模糊查找
#updatedb 生成目錄數據庫
(4)find 根據文件屬性進行查找
文件的屬性:
文件類型 -type
f 普通文件
d 目錄文件
l 鏈接文件
b 塊設備文件
c 字符設備文件
文件所屬用戶 -user -nouser
文件所屬組 -group -nogroup
文件大小 -size
文件創建時間 -ctime
文件名稱 -name
文件權限 -perm
find的使用格式
#find <指定目錄> <文件屬性>
例:查找系統中擴展名為iso的文件
#find / -name "*.iso"
例:查找/etc目錄下所有以a或c或y或z開頭,以conf為擴展名的文件
#find /etc -name "[acyz]*.conf"
多條件進行查找
-o 或 -or :邏輯或,只要滿足其中一個條件即匹配
-a 或 -and :邏輯與,要同時滿足所有條件才匹配
-not :邏輯非
例:查找/etc目錄下屬於root用戶的所有鏈接文件。
#find /etc -user root -type l
#find /etc -user root -type l -exec ls -l {} \; 顯示找到結果的詳細信息
#find /etc \( -user root -or -type l \) -exec ls -l {} \;
例:查找/var/log目錄下屬於root用戶的大於10k的普通文件。
#find /var/log -user root -type f -size +100k -exec ls -l {} \;
怎樣獲取命令幫助
#help 命令名 或#命令名 --help 或#命令名 -h
#man 命令名
#info 命令名
練習:1、設定環境變量PATH的值為/sbin,/bin,/usr/sbin,/usr/bin,/usr/local/sbin,/usr/local/bin
2、快速找出系統中所有包含httpd字符的文件
3、查找系統中屬於root用戶,並且大於500M的普通文件
4、linux下的文件壓縮和歸檔(打包)命令
(1)zip和unzip命令壓縮和解壓縮
#zip test1.zip file1
#unzip test1.zip
(2)gzip和gunzip命令進行壓縮和解壓縮
#gzip file2
#gunzip file2.gz
#zcat file2.gz
(3)bzip2和bunzip2命令進行壓縮和解壓縮
#bzip2 file3
#bunzip2 file3.bz2
#bzcat file3.bz2
(4)tar 打包和壓縮
-c 創建包
-x 解包
-v 顯示信息
-f 指定文件名
-z 打包時使用gzip進行壓縮
-j 打包時使用bzip2進行壓縮
-t 查看壓縮包的內容但不實際解包
-C 指定解包後的文件存放目錄
#tar cvf etc.tar /etc
#tar xvf etc.tar -C /tmp
#tar czvf /myfile/test.tar.gz /etc /var/log
#tar cjvf /myfile/test.tar.bz2 /etc /var/log
練習:將/etc,/var/log,/boot三個目錄分別打包成test.tar.gz和test.tar.bz2文件並存放到/myfile目錄下。
#tar czvf test.tar.gz /etc /var/log /boot
#tar cjvf test.tar.bz2 /etc /var/log /boot
第六章 vim編輯器的使用
1、怎樣進入vi
#vim 文件名
2、vim的工作模式
(1)命令模式,vim啟動時默認進入命令模式,在命令模式下所有輸入都解釋為命令
(2)末行模式,在命令模式下按"shift+:"進入末行模式
(3)插入模式,在命令下輸入i,I,o,O,a,A,s,S進入插入模式
末行模式
————按Esc鍵—————> 命令模式
插入模式
3、命令模式下的文件編輯
(1)刪除操作
x 刪除當前光標的字符
nx 刪除從當前光標開始的n字符
dw 刪除當前光標後的一個單詞
dd 刪除當前光標所在行
(2)光標移動操作
nG 將光標移到第n行
G 將光標移到最末行
(3)復制操作
yw 復制一個單詞
yy 復制當前光標所在行
p 粘貼復制的內容到當前光標下
(4)文本查找
/str 從文件開頭向後查找字符串str
?str 從文件末尾向前查找字符串str
n,N 重復查找
(5)撤銷編輯
u 撤銷上一步的操作
U 撤銷當前行的所有操作
ctrl+r 往回撤銷
. 重復執行上次的操作命令
rstr 替換當前字符str
4、末行模式下的操作
(1)文件的保存退出操作
:wq 保存文件並退出vi
:w 文件名及路徑 文件另存為
:q! 不保存退出
:q 退出
:r 文件名及路徑 讀入指定文件的內容到當前光標下
:e 文件名及路徑 不退出vi編輯其他文件
練習:1、將/etc/httpd/conf/httpd.conf復制到/myfile目錄下
2、刪除httpd.conf文件的第100-400行
3、復制httpd.conf文件的第10至20行,並粘貼到文件的末尾
4、查找httpd.conf文件中的所有conf字符串
5、將文件另存為/myfile/web.conf
6、不保存退出vi