1.相對路徑和絕對路徑
路徑(PATH)
相對路徑 - 從根目錄寫起 cd /usr/share/doc
絕對路徑 - 從目前工作目錄寫起 cd ../man
- shell scripts 下使用絕對路徑
2.目錄的相關(guān)操作
特殊的目錄
.該層目錄
..上層目錄
-上一個(gè)工作目錄
~ 當(dāng)前用戶主文件夾
~Leathy Leathy用戶主文件夾cd Change Directory
pwd Print Working Directory
mkdir Make Directory
mkdir /home/leathy/testing/test1 ->在/home/leathy/testing/下創(chuàng)建test1這個(gè)目錄
假如沒有這個(gè)目錄 就會報(bào)錯(cuò):
mkdir: cannot create directory ‘/test/test1/test3’: No such file or directory
[-p]
-p, --parents
no error if existing, make parent directories as needed
[-m]
-m, --mode=MODE
set file mode (as in chmod), not a=rwx - umask
強(qiáng)制設(shè)置目錄權(quán)限
- rmdir ReMove Directory (只能刪除空的目錄)
[-p]
-p, --parents
remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar
被刪除的目錄不能有其他目錄和文件
如果有,且需要一并刪除 使用:
- rm -r
[-r]
-r, -R, --recursive
remove directories and their contents recursively
[-f]
-f, --force
ignore nonexistent files and arguments, never prompt
- 執(zhí)行文件路徑的變量 $PATH
無論是root用戶還是普通用戶 echo $PATH 出的目錄飘言,都包含了 ls 這條命令 所屬的 目錄 所以即使在任何目錄都可以使用ls這個(gè)內(nèi)置命令
- whereis
which命令的作用是,在PATH變量指定的路徑中,搜索某個(gè)系統(tǒng)命令的位置冯挎,并且返回第一個(gè)搜索結(jié)果。也就是說,使用which命令肄满,就可以看到某個(gè)系統(tǒng)命令是否存在脱吱,以及執(zhí)行的到底是哪一個(gè)位置的命令智政。
五個(gè)查找命令 from 阮一峰
http://www.ruanyifeng.com/blog/2009/10/5_ways_to_search_for_files_using_the_terminal.html
當(dāng)我們執(zhí)行命令時(shí),系統(tǒng)會依照PATH的設(shè)置去每一個(gè)PATH定義的目錄查詢文件名為 該命令 如ls 的可執(zhí)行文件執(zhí)行箱蝠,如果有多個(gè)续捂,則先查詢到的同名命令先執(zhí)行。
echo $PATH
su leathy
Tips
1.不同的身份用戶默認(rèn)的PATH不同宦搬,默認(rèn)能夠隨意執(zhí)行的命令也不同(leathy下 ifconfig eth0會顯示command not found)
2.PATH是可以修改的牙瓢,所以一般用戶還是可以通過修改PATH來執(zhí)行某些位于/sbin或/usr/sbin下的命令來查詢
4.查看文件與目錄:ls
ls (list directory contents)
[-a]
-a, --all
do not ignore entries starting with .
[-d]
-d, --directory
list directories themselves, not their contents
和-l連用 查看當(dāng)前目錄的詳細(xì)信息
[-l]
-l use a long listing format
alias ll ls -l 的別名 ll
5.復(fù)制、刪除與移動:cp, rm, mvcp (copy files and directories)
[-a] = [-pdr]
-a, --archive
same as -dR --preserve=all
[-p] preserve 維持
連同文件屬性一起復(fù)制過去
[-d]
若源文件為鏈接文件的屬性间校,則復(fù)制鏈接文件屬性而非文件本身
[-i]
-i, --interactive
prompt before overwrite (overrides a previous -n option
[-r]
-R, -r, --recursive
copy directories recursively
目錄不可以直接的復(fù)制矾克,要 -r 遞歸復(fù)制,但權(quán)限仍有可能被改變
只有取得read權(quán)限的文件才可以cp
在默認(rèn)情況下憔足,cp 后文件owner是命令操作者
注意 當(dāng)前用戶 和文件權(quán)限
[-l] link 硬連接(下一章講)
-l, --link
hard link files instead of copying
[-s] 軟連接 (下一章講)
-s, --symbolic-link
make symbolic links instead of copying
[-u] update
-u, --update
copy only when the SOURCE file is newer than the destination file or when the destination file is missing
可以將多個(gè)數(shù)據(jù)一次性復(fù)制到同一個(gè)目錄
cp /test1 /test2 /tmp (最后一個(gè)一定得是目錄)
當(dāng)前用戶無法修改的文件權(quán)限胁附,即使使用了 -a 參數(shù)也無法完整復(fù)制權(quán)限
當(dāng)你使用 cp 時(shí) 考慮這四個(gè)問題
1.是否需要完整的保留來源文件的信息
使用 -a 或-pdr 完整拷貝 -p 拷貝屬性 -d 拷貝連接文件屬性而非本身
-r 遞歸拷貝
2.源文件是否為軟連接文件
直接cp 會拷貝成源文件
3.源文件是否特殊的文件 如FIFO 、socket等滓彰?
Review p#151
套接字 Socket 數(shù)據(jù)接口文件
用于在網(wǎng)絡(luò)上的數(shù)據(jù)連接
啟動一個(gè)程序來監(jiān)聽客戶端的請求控妻,而客戶端通過socket進(jìn)行數(shù)據(jù)的通訊
第一個(gè)屬性為[s]
通常可以在/var/run看到socket文件
管道 FIFO(first in first out) pipe
第一個(gè)屬性為[p]
與 process 有關(guān) 簡單理解為快捷方式
4.源文件是否為目錄揭绑?
使用 -r 遞歸拷貝目錄 弓候,但權(quán)限仍然可能變化
rm
[-f]
[-i]
[-r]mv (Move or Rename)
[-f] force
[-i] interactive 交互
[-u] update
5.取得路徑的文件名與目錄名稱
basename /etc/sysconfig/network (取得目錄名)
dirname /etc/sysconfig/network (取得文件名)