天天看點

alias 指令的用法/相對路徑和絕對路徑/cd指令/rmdir,mkdir 建立和删除指令/rm指令

alias 指令的用法/相對路徑和絕對路徑/cd指令/rmdir,mkdir  建立和删除指令/rm指令 

alias是用做别名用   如下:

[root@alex ~]# alias

alias cp='cp -i'

alias egrep='egrep --color=auto'

alias fgrep='fgrep --color=auto'

alias grep='grep --color=auto'

alias l.='ls -d .* --color=auto'

alias ll='ls -l --color=auto'

alias ls='ls --color=auto'

alias mv='mv -i'

alias rm='rm -i'

alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

如何做别名如下:

[root@alex ~]# alias Alex='ls -l -lhad'    别名的寫法

[root@alex ~]# Alex

dr-xr-x---. 7 root root 4.0K Oct 18 08:46 . 

which指令用于查找并顯示給定指令的絕對路徑,環境變量PATH中儲存了查找指令時需要周遊的目錄。which指令會在環境變量$PATH設定的目錄裡查找符合條件的檔案。也就是說,使用which指令,就可以看到某個系統指令是否存在,以及執行的到底是哪一個位置的指令。

[root@alex ~]# which pwd

/usr/bin/pwd 

絕對路徑

[root@alex ~]# ls /etc/passwd

/etc/passwd

[root@alex ~]# ls /etc/sysconfig/network-scripts    

從根開始的都是絕對路徑 

linux 從/開始的都是絕對路徑   

絕對路徑是從/(也被稱為根目錄)開始的,比如/usr、/etc/如果一個路徑是從/開始的,它一定是絕對路徑,這樣就好了解了。 

[root@alex ~]# pwd     檢視目前使用者的位置   

/root

相對路徑  是指相對目前所在的路徑  如下圖   :

[root@alex ~]# cd /usr/local/src

[root@alex src]# cd

cd 的用法   

cd 進入使用者主目錄

cd ~ 進入使用者主目錄 

cd - 傳回進入此目錄之前所在的目錄 

cd .. 傳回上級目錄(若目前目錄為“/“,則執行完後還在“/";".."為上級目錄的意思);

cd ../.. 傳回上兩級目錄

cd !$ 把上個指令的參數作為cd參數使用。

[root@alex ~]# cd /etc/sysconfig

[root@alex sysconfig]# cd -

[root@alex sysconfig]# cd -       cd - 是交替的用法   

[root@alex ~]# cd -

/etc/sysconfig

[root@alex sysconfig]# cd ~   和使用者的家目錄是一樣的

[root@alex ~]# pwd

[root@alex ~]# cd ..    進入上一級目錄  

[root@alex /]#

[root@alex /]# cd /etc/sysconfig/network-scripts  

[root@alex network-scripts]# pwd

/etc/sysconfig/network-scripts

建立和删除目錄  

mkdir  是建立目錄用的   

[root@alex network-scripts]# date  

Tue Oct 24 08:48:47 CST 2017

[root@alex network-scripts]# mkdir /tmp/alex      建立  目錄的用法   

[root@alex network-scripts]# ls -l /tmp/

total 8

srwxr-xr-x. 1 root root    0 Oct 21 10:47 Aegis-<Guid(5A2C30A2-A87D-490A-9281-6765EDAD7CBA)>

drwxr-xr-x. 2 root root 4096 Oct 24 08:49 alex

drwx------. 3 root root 4096 Oct 21 10:47 systemd-private-2b74b96d2c354f119f60360cbd9383fa-ntpd.service-0DdvFj

mkdir  常用的選項   

 -m, --mode=模式,設定權限<模式> (類似 chmod),而不是 rwxrwxrwx 減 umask

 -p, --parents  可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統将自動建立好那些尚不存在的目錄,即一次可以建立多個目錄;

 -v, --verbose  每次建立新目錄都顯示信

 --help   顯示此幫助資訊并退出

 --version  輸出版本資訊并退出

[root@alex network-scripts]# mkdir /tmp/alex/1/2/3        tmp下沒有1無法建立   

mkdir: cannot create directory ‘/tmp/alex/1/2/3’: No such file or directory

drwxr-xr-x. 3 root root 4096 Oct 24 09:09 alex

[root@alex network-scripts]# tree /tmp/

/tmp/

├── Aegis-<Guid(5A2C30A2-A87D-490A-9281-6765EDAD7CBA)>

├── alex

│   └── 1

│       └── 2

│           └── 3

└── systemd-private-2b74b96d2c354f119f60360cbd9383fa-ntpd.service-0DdvFj

    └── tmp

6 directories, 1 file

[root@alex network-scripts]# mkdir -pv /tmp/alex/1/2/3/4    加上v是可視   可以看到建立的過程  

rmdir  

[root@alex ~]# rmdir /tmp/alex/1/2/3                              可以删除目錄前提目錄是空的  ,不可以删除非空目錄 

rmdir: failed to remove ‘/tmp/alex/1/2/3’: Directory not empty

-p或--parents:删除指定目錄後,若該目錄的上層目錄已變成空目錄,則将其一并删除;

 -v或-verboes:顯示指令的詳細執行過程;

[root@alex ~]# rmdir -p /tmp/alex/1/2/3/4    

rmdir: failed to remove directory ‘/tmp’: Device or resource busy

[root@alex ~]# tree /tmp      已經删除   

/tmp

rm指令

-d:直接把欲删除的目錄的硬連接配接資料删除成0,删除該目錄; 

-f:強制删除檔案或目錄; -i:删除已有檔案或目錄之前先詢問使用者;

-r或-R:遞歸處理,将指定目錄下的所有檔案與子目錄一并處理; 

--preserve-root:不對根目錄進行遞歸操作; 

-v:顯示指令的詳細執行過程。

[root@alex ~]# rm -f /tmp/alex/1/2/3/4/*

[root@alex ~]# rm -fv /tmp/alex/1/2/3/4/*

[root@alex ~]# rm -fv /tmp/alex/1/2/3/4/^C

[root@alex ~]# tree /tmp

│               └── 4

[root@alex ~]# mkdir -v zx            建立可視      告知已經建立  

mkdir: created directory ‘zx’

[root@alex ~]# rm -riv zx p         交換删除目錄下的檔案  

rm: descend into directory ‘zx’? n

rm: descend into directory ‘p’? y

rm: remove regular empty file ‘p/1.txt’? y

removed ‘p/1.txt’

rm: remove directory ‘p’? n

[root@alex ~]# history     指令曆史     

可以列出所有敲過的指令

也可以 !tree    

rm  -f   是強制的删除  

rm -r    一連的把目錄删除掉  

rm  -rfv     什麼都不提示     直接删除   

[root@alex ~]# rm -rfv /tmp/alex/1/2/3/

removed directory: ‘/tmp/alex/1/2/3/’

[root@alex ~]# rm -rfv /tmp/alex/1/2

removed directory: ‘/tmp/alex/1/2’

本文轉自 amenging 51CTO部落格,原文連結:http://blog.51cto.com/11335852/1975451

繼續閱讀