1. 創建目錄
mkdir
在當前路徑創建一級目錄
mkdir test
在當前路徑創建多級目錄
mkdir -p mytest/test1/test1_1
在創建目錄的同時給新建的目錄賦權限
mkdir -m 777 testmod
這樣任何人對此目錄都有任何權限
2. 復制文件與文件夾
cp
復制指定目錄的文件到當前目錄,并重命名
cp 1.txt 2.txt
強制復制指定目錄的文件到當前目錄,而不管當前目錄是否含有該文件
cp -f 1.txt 2.txt
復制指定目錄到當前目錄
cp-r/root/test .
復制指定目錄的文件到指定目錄
cp a/1.txt b
在復制時將源文件的全部屬性也復制過來。若不指定參數,則目標文件與源文件屬性可能不一致。
cp-aa/1.txt b/2.txt
若源文件比目標文件更新才拷貝更新
cp -u a/1.txt b
關于此的更多內容請參考《linux cp命令詳解》
3. 建立鏈接文件,包括硬鏈接與軟鏈接
ln
建立類似于 Windows 的快捷方式
ln -s test.txt test.txt_slnk
當想備份一個文件,但空間又不夠,則可以為該文件建立一個硬連接。這樣,就算原文件刪除了,只要該
鏈接文件沒被刪除,則在存儲空間里還是沒有被刪除。
ln -l test.txt test.txt_hlnk
關于此的更多內容請參閱《linux中軟連接PK硬連接》
4. 刪除文件
rm
刪除當前目錄的文件
rm test.txt
強制刪除當前目錄的文件,不彈出提示
rm -f test.txt
強制刪除整個目錄,包括目錄與文件全部刪除,需要管理員權限
rm -rf test
5. 刪除文件夾
rmdir
刪除一個空目錄
rmdir emptydir
刪除多級空目錄
rmdir -p emptydir/d1/d11
6. 掛載文件系統與卸載文件系統
mount/umount
掛載光驅
mount -t iso9660 /dev/cdrom /mnt/cdrom
掛載光驅,支持中文
mount -t iso9660 -o codepage=936,iocharset=cp936 /dev/cdrom /mnt/cdrom
掛載 Windows 分區,FAT文件系統
mount -t vfat /dev/hda3 /mnt/cdrom
掛載 Windows 分區,NTFS文件系統
mount -t ntfs -o iocharset=cp936 /dev/hda7 /mnt/had7
掛載 ISO 文件
mount -o loop /abc.iso /mnt/cdrom
掛載 軟驅
mount /dev/fd0 /mnt/floppy
掛載閃盤
mount /dev/sda1 /mnt/cdrom
掛載 Windows 操作系統共享的文件夾
mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom
顯示掛載的文件系統
mount
cat /etc/fstab ? ? ? ?顯示系統啟動自動加載的文件系統
cat /etc/mtab ? ? ? ?顯示當前加載的文件系統
7. 檢查磁盤空間
df
該命令默認以頁為單顯示的空間大小。
顯示所有存儲系統空間使用情況.
df
顯示所有存儲系統空間使用情況,同時顯示存儲系統的文件系統類型。
df -aT
顯示指定文件系統的空間使用情況
df -t ext3
以字節為單位顯示各存儲空間大小
df -ah
有時候掛載了網絡文件系統,若只想看本機的文件系統用如下命令
df -ahlT
查看某個文件系統所屬的磁盤使用情況
df -h /dev/cdrom
8. 檢查目錄空間大小
du
查看當前文件夾大小
du -sh
遞歸顯示當前文件及文件中包含的子文件夾所有大小
du -ch
查看文件的大小
du -h 1.txt
同時查看多個文件的大小
du -h 1.txt 2.txt
9. 磁盤碎片整理
linux 下基本上不用碎片整理,它每隔一段時間會自動整理
10. 創建/改變文件系統
創建文件系統類型
umount /dev/sdb1
mkfs -t ext3 /dev/db1
mount /dev/sdb1 /practice
11. 改變文件或文件夾權限
chmod
將自己的筆記設為只有自己才能看
chmod go-rwx test.txt或chmod 700 test.txt
同時修改多個文件的權限
chmod 700 test1.txt test2.txt
修改一個目錄的權限,包括其子目錄及文件
chmod 700 -R test
12. 改變文件或文件夾擁有者
chown
該命令只有 root 才能使用
更改某個文件的擁有者
chown jim:usergroup test.txt
更改某個目錄的擁有者,并包含子目錄
chown jim:usergroup -R test
13. 查看文本文件內容
cat
查看文件內容,并在每行前面加上行號
cat -n test.txt
查看文件內容,在不是空行的前面加上行號
cat -b test.txt
合并兩個文件的內容
cat test1.txt test2.txt > test_new.txt
全并兩具文件的內容,并追回到一個文件
cat test1.txt test2.txt >> test_total.txt
清空某個文件的內容
cat /dev/null > test.txt
創建一個新的文件,并進行錄入,然后按 CTRL + C 結束錄入
cat > new.txt
14. 編輯文件文件
vi
新建檔案文件
vi newfile.txt
修改檔案文件
vi test.txt ? test.txt 已存在
vi 的兩種工作模式:命令模式,編輯模式
進入 vi 后為命令模式,按Insrt鍵進入編輯模式
在編輯模式,按ESC鍵 進入命令模式,在命令模式不能編輯,只能輸入命令
命令模式常用命令
:w 保存當前文檔
:q 直接退出 vi
:wq 先保存后退出
關于vi編輯器的更多內容請參考《vi編輯器》
15. 路徑操作
pwd和cd
首先需要注意Linux沒盤符的概念,絕對路徑是以"/"開始的的,比如home目錄應該表示為"/home"
顯示當前路徑
pwd
返回用戶主目錄
cd
改變到其它路徑
cd /etc
返回到上一級目錄
cd ..
返回到根目錄
cd /
另外可以通過PWD變量取得當前目錄的路徑。
關于獲得當前目錄名的方法請參考《Linux中獲得當前目錄名稱的4種方法》
16. 查詢文件或文件夾
find
在當前目錄下搜索文件名為f1的文件
find.-name f1
在當前目錄下,搜索包含特定字符串的文件
find.-name "*.java" | xargs grep 'AsyncTask'
查找當前用戶主目錄下的所有文件
find ~
讓當前目錄中文件屬主具有讀、寫權限,并且文件所屬組的用戶和其他用戶具有讀權限的文件;
find . -perm 644 -exec ls -l {} \;
為了查找系統中所有文件長度為0的普通文件,并列出它們的完整路徑;
find / size 0 -type f -exec ls -l {} \;
查找/var/logs目錄中更改時間在7日以前的普通文件,并在刪除之前詢問它們;
find /var/logs -mtime +7 -type f -ok rm -i {} \;
為/找系統中所有屬于root組的文件;
find / -group root -exec ls -l {} \;
find命令將刪除當目錄中訪問時間在7日以來、含有數字后綴的admin.log文件
find . -name "admin.log[0-9][0-9][0-9]" -atime -7 -ok rm { } \;
為了查找當前文件系統中的所有目錄并排序
find . -type d | sort
為了查找系統中所有的rmt磁帶設備
find /dev/rmt
17. 顯示文件/文件夾清單
ls和dir
顯示所有文件,包括以.開頭的隱含文件
ls -a
顯示文件的詳細信息
ls -l
顯示當前目錄及所有子目錄信息
ls -Rl
以時間排序顯示目錄,這在找最新文件有用
ls -tl
以文件大小排序
ls -Sl
顯示文件大小,并按大小排序
ls -s -l -S
18. 移動或更改文件/文件夾名稱
mv
若移動目標文件已存在,要在移動之前,先備份原來的目錄文件
mv -b test.txt test2/
這樣在 test2 下將有兩個文件 test.txt 及 text.txt~
其中 test.txt~ 是備份文件,test.txt是新的文件
若移動目標文件已存在,但不想彈出是否覆蓋的提示,直接覆蓋
mv -f test.txt test2/
當源與目標都擁有同一個文件,若源文件比目標新則移動,否則不移動
mv -u test.txt test2/
更改文件名稱
mv test.txt test2.txt
更改目錄名稱
mv /test2 /test2_2