linux中 關於目錄 有幾個重要概念 一個是 / 根目錄 還有一個當前用戶的家目錄 比如 root用戶的家目錄是 /root 普通用戶的家目錄是/home/xxx 下 root登錄 預設家目錄 是root 我們這裡先用 cd .. 進入 / 根目錄 [root@localhost ~]# cd . ...
linux中 關於目錄 有幾個重要概念
一個是 / 根目錄 還有一個當前用戶的家目錄 比如 root用戶的家目錄是 /root 普通用戶的家目錄是/home/xxx 下
root登錄 預設家目錄 是root 我們這裡先用 cd .. 進入 / 根目錄
[root@localhost ~]# cd ..
[root@localhost /]#
然後我們看下 根目錄 / 下有哪些目錄
[root@localhost /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@localhost /]#
我們用 cd 回到家目錄
[root@localhost /]# cd
[root@localhost ~]#
創建目錄命令 mkdir (make directories)
比如在/root 下建一個 書籍目錄
[root@localhost ~]# mkdir 書籍
[root@localhost ~]# ls
anaconda-ks.cfg 書籍
[root@localhost ~]#
假如我們要遞歸創建目錄和文件
[root@localhost ~]# mkdir 書籍2/java編程思想
mkdir: 無法創建目錄"書籍2/java編程思想": 沒有那個文件或目錄
發現失敗了 預設不准遞歸創建 要遞歸創建的話 家-p
[root@localhost ~]# mkdir -p 書籍2/java編程思想
[root@localhost ~]# ls
anaconda-ks.cfg 書籍 書籍2
[root@localhost ~]# ls /root/書籍2/
java編程思想
[root@localhost ~]#
切換所在目錄,cd (change directory)
簡化操作
cd ~ 進行當前用戶的家目錄
cd
cd - 進入上次目錄
cd .. 進入上一級目錄
cd . 進入當前目錄
我們先進入 /root/書籍2/ 目錄
然後cd ~ 回到家目錄 /root/
然後 cd - 進入上次目錄 也就是 /root/書籍2/ 目錄
再cd.. 進入 /root/目錄
cd .沒啥意義(註意cd後面要加個空格);
[root@localhost ~]# cd /root/書籍2/
[root@localhost 書籍2]# cd ~
[root@localhost ~]# cd -
/root/書籍2
[root@localhost 書籍2]# cd ..
[root@localhost ~]# cd.
-bash: cd.: 未找到命令
[root@localhost ~]# cd .
[root@localhost ~]#
目錄補全以及命名補全 tag鍵
比如 切換目錄 /usr 假如記不清楚 直接 /u 然後 tag鍵,則自動補全;
[root@localhost ~]# cd .
[root@localhost ~]# cd /usr/
[root@localhost usr]#
比如要輸入一些命令 useradd 假如記不清出了
直接輸入 user 然後tab鍵
[root@localhost ~]# user
useradd userdel usermod usernetctl users
[root@localhost ~]# useradd
會把所有user開頭的命令都顯示出來;
pwd命令(print working directory)列印工作目錄
就是列印當前位置
[root@localhost ~]# pwd
/root
[root@localhost ~]#
刪除空目錄: rmdir (remove empty directories)
rmdir [目錄名]
我們刪除root下的空目錄 書籍 試下
[root@localhost ~]# ls
anaconda-ks.cfg 書籍 書籍2
[root@localhost ~]# rmdir 書籍/
[root@localhost ~]# ls
anaconda-ks.cfg 書籍2
[root@localhost ~]#
發現沒問題
我們刪除 書籍2目錄時,
[root@localhost ~]# rmdir 書籍2/
rmdir: 刪除 "書籍2/" 失敗: 目錄非空
[root@localhost ~]#
報錯了,因為 書籍2 目錄 非空;
這裡的話 假如要刪除 書籍2 目錄 我們需要先把書籍2裡面的文件或者目錄先刪除,然後才能刪除書籍2目錄,
這個是非常不現實的,所以 rmdir命令瞭解即可,以後基本不用的。
刪除文件或目錄:rm (remove)
rm -rf [文件或目錄]
選項:
-r 刪除目錄
-f 強制
我們用 touch命令新建一個空文件
然後用rm命令刪除
[root@localhost ~]# touch java牛
[root@localhost ~]# ls
anaconda-ks.cfg java牛 書籍2
[root@localhost ~]# rm java牛
rm:是否刪除普通空文件 "java牛"?n
[root@localhost ~]# ls
anaconda-ks.cfg java牛 書籍2
[root@localhost ~]# rm java牛
rm:是否刪除普通空文件 "java牛"?y
[root@localhost ~]# ls
anaconda-ks.cfg 書籍2
[root@localhost ~]#
刪除文件會提醒是否刪除,輸入n 不刪除 輸入y 刪除;
假如我們刪除 書籍2 目錄
[root@localhost ~]# rm 書籍2/
rm: 無法刪除"書籍2/": 是一個目錄
報錯,假如要用rm刪除目錄,必須 加 -r
[root@localhost ~]# rm -r 書籍2/
rm:是否進入目錄"書籍2/"? y
rm:是否刪除目錄 "書籍2/java編程思想"?y
rm:是否刪除目錄 "書籍2/"?y
[root@localhost ~]# ls
anaconda-ks.cfg
依然提示我們是否要刪除,假如有一萬個文件 那得輸入y到手麻;
我們用 mk -rf 來強制刪除 無需提醒
[root@localhost ~]# mkdir -p 書籍2/java編程思想
[root@localhost ~]# ls
anaconda-ks.cfg 書籍2
[root@localhost ~]# rm -rf 書籍2/
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]#
這樣方便很多 直截了當;以後用刪除 就用 rm -rf 命令即可;
複製命令:cp (copy)
cp [選項] [源文件或目錄] [目標目錄]
選項:
-r 複製目錄
-p 連帶文件屬性複製
-d 若源文件是鏈接文件,則複製鏈接屬性
-a 相當於 -pdr
我們複製下文件
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# cp anaconda-ks.cfg /tmp/abc
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# ls /tmp/
abc
ks-script-p0Ci4J
systemd-private-12ece3aaa1eb44678dbf684dbccbc32f-vmtoolsd.service-xjTV7r
systemd-private-3588b18d27f94b80849d22621ef2defb-vmtoolsd.service-wmk7Jt
systemd-private-90f54554da784e52aeb890d207e41094-vmtoolsd.service-I8F1Yy
systemd-private-d5f08625d54e4ed3a0faa9b9fb944db5-vmtoolsd.service-4rHPpX
systemd-private-f68c251a6a6c46ac94b4c1e73090ef59-vmtoolsd.service-S6J6U0
systemd-private-f7cb736915b24ef2b72faee1ec860c6d-vmtoolsd.service-ldpfcl
yum.log
把 root下的anaconda-ks.cfg複製到了 tmp下 並且重名為 abc
假如 cp anaconda-ks.cfg /tmp/abc 不加文件名 則新文件名稱不變
[root@localhost ~]# cp anaconda-ks.cfg /tmp/
[root@localhost ~]# ls /tmp/
abc
anaconda-ks.cfg
ks-script-p0Ci4J
systemd-private-12ece3aaa1eb44678dbf684dbccbc32f-vmtoolsd.service-xjTV7r
systemd-private-3588b18d27f94b80849d22621ef2defb-vmtoolsd.service-wmk7Jt
systemd-private-90f54554da784e52aeb890d207e41094-vmtoolsd.service-I8F1Yy
systemd-private-d5f08625d54e4ed3a0faa9b9fb944db5-vmtoolsd.service-4rHPpX
systemd-private-f68c251a6a6c46ac94b4c1e73090ef59-vmtoolsd.service-S6J6U0
systemd-private-f7cb736915b24ef2b72faee1ec860c6d-vmtoolsd.service-ldpfcl
yum.log
假如複製目錄:
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# mkdir -p 書籍2/java編程思想
[root@localhost ~]# ls
anaconda-ks.cfg 書籍2
[root@localhost ~]# cp 書籍2/ /tmp/
cp: 略過目錄"書籍2/"
我們需要加 -r
[root@localhost ~]# cp -r 書籍2/ /tmp/
[root@localhost ~]# ls /tmp/
abc
anaconda-ks.cfg
ks-script-p0Ci4J
systemd-private-12ece3aaa1eb44678dbf684dbccbc32f-vmtoolsd.service-xjTV7r
systemd-private-3588b18d27f94b80849d22621ef2defb-vmtoolsd.service-wmk7Jt
systemd-private-90f54554da784e52aeb890d207e41094-vmtoolsd.service-I8F1Yy
systemd-private-d5f08625d54e4ed3a0faa9b9fb944db5-vmtoolsd.service-4rHPpX
systemd-private-f68c251a6a6c46ac94b4c1e73090ef59-vmtoolsd.service-S6J6U0
systemd-private-f7cb736915b24ef2b72faee1ec860c6d-vmtoolsd.service-ldpfcl
yum.log
書籍2
這裡我們用 ls -l 或者縮寫命令 ll 來看下 文件的詳細信息:
時間不一樣;第二個是複製文件的當前時間;
假如我們需要把目錄或者文件的屬性一起複制 我們加 -a命名;
剪切或改名命令:mv (move)
mv [原文件或目錄] [目標目錄]
我們把 root下的 書籍2 剪切到 tmp 下 並且重命名
[root@localhost ~]# ls
anaconda-ks.cfg 書籍2
[root@localhost ~]# mv 書籍2 /tmp/書籍2哈哈
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# ls /tmp/
abc
anaconda-ks.cfg
ks-script-p0Ci4J
systemd-private-12ece3aaa1eb44678dbf684dbccbc32f-vmtoolsd.service-xjTV7r
systemd-private-3588b18d27f94b80849d22621ef2defb-vmtoolsd.service-wmk7Jt
systemd-private-90f54554da784e52aeb890d207e41094-vmtoolsd.service-I8F1Yy
systemd-private-d5f08625d54e4ed3a0faa9b9fb944db5-vmtoolsd.service-4rHPpX
systemd-private-f68c251a6a6c46ac94b4c1e73090ef59-vmtoolsd.service-S6J6U0
systemd-private-f7cb736915b24ef2b72faee1ec860c6d-vmtoolsd.service-ldpfcl
yum.log
書籍2
書籍2哈哈
假如在同一個目錄 那就是重新命令操作了
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# mkdir -p 書籍2/java.pdf
[root@localhost ~]# ls
anaconda-ks.cfg 書籍2
[root@localhost ~]# mv 書籍2/ 牛逼/
[root@localhost ~]# ls
anaconda-ks.cfg 牛逼
[root@localhost ~]# ls 牛逼/
java.pdf
博客轉載於:http://blog.java1234.com/blog/articles/295.html