Patience is a mark of confidence!
阿新 • • 發佈:2018-12-31
cp
命令的使用,結合萬用字元號的使用
cp - copy files and directories
-i, --interactive 互動式提醒功能
prompt before overwrite (overrides a
previous -n option)
-R, -r, --recursive
copy directories recursively 將資料夾下的子資料夾一起拷貝
-f --force 強制複製
-a 作用等價於dpr選項的組合
-p 除複製原始檔外,還將把其修改時間和訪問許可權也複製到檔案中
-d 拷貝時保留連結
-l 不做拷貝,只是連結
複製檔案的時候不需要接-r
複製目錄的時候,需要接-r,因為目錄下有子資料夾
[[email protected] hubei]# cp -r kangkang wuhan
使用/bin/cp複製singer資料夾到xienana,不給予覆蓋提醒
[[email protected] haiquan]# cp singer xienana -r 不使用/bin會給予提醒
cp:是否覆蓋"xienana/singer/qiqin"? y
cp:是否覆蓋"xienana/singer/linzhixuan"? y
cp:是否覆蓋"xienana/singer/yangzongwei"? y
[[email protected] haiquan]# /bin/cp singer xienana -r 使用不予提醒
[[email protected] haiquan]#
如果是資料夾複製到資料夾,而前面那個資料夾又沒有”檔案“則不會提覆蓋提醒
將/etc/hosts檔案複製到jindafu目錄下叫huojianhua的檔案
複製——》貼上——》重新命名(檔案--》檔案則是重新命名)
[[email protected] jindafu]# cp /etc/hosts /jindafu/huojianhua
將/home/目錄下的所有檔案和資料夾複製到/jindafu目錄下
[[email protected] jindafu]# cp /home/* /jindafu -rf
1.複製檔案的時候,如何後面接的目的地是資料夾,就是將檔案複製後存放到後面目的地的目錄下
如果後面是檔案,則重新命名
[[email protected] 211]# cp hosts a
[[email protected] 211]# ls
a hosts passwd shadow
2.複製資料夾時候若後面的目的資料夾原來不存在,則也是重新命名
[[email protected] jitong]# ls
211
[[email protected] jitong]# cp -r 211 bak
[[email protected] jitong]# ls
211 bak
[[email protected] vnc]# cp /etc/a{passwd,shadow}b ./
cp: cannot stat `/etc/apasswdb': No such file or directory
cp: cannot stat `/etc/ashadowb': No such file or directory
alias
[[email protected] jindafu]# which cp 查詢cp命令存放在系統裡位置
alias cp='cp -i'
/bin/cp cp命令存放的路徑
[[email protected] jindafu]#
alias 別名功能
[[email protected] jindafu]# alias c=clear 定義c等於clear這個命令的別名,使用效果和clear一樣,別名的名字可以自己定義,
clear是系統的命令,這種方式定義的別名,重新啟動後失效
[[email protected] jindafu]# alias 檢視系統裡定義的別名
alias c='clear'
alias cp='cp -i'
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'
[[email protected] jindafu]#
[[email protected] jindafu]# alias mm='ls -l' 定義別名mm的效果是ls -l
[[email protected] jindafu]# mm
total 12
dr-xr-xr-x 5 root root 4096 Mar 30 10:59 boot
-rw-r--r-- 1 root root 199 Mar 30 11:02 hosts
drwxr-xr-x 3 root root 4096 Mar 30 11:00 liufu
[[email protected] jindafu]#
[[email protected] jindafu]# unalias mm 取消mm的別名功能
************************************************************************************************
mv的使用方法:
mv - move (rename) files
當後面接的目的地檔案存在的時候就是移動,不存在的時候就是改名(重新命名快捷鍵 F2,同windows)
[[email protected] jindafu]# ls 檢視內容
xiaochen xiaohou xiaoli
[[email protected] jindafu]# mv xiaoli xiaohou 將xiaoli移動到xiaohou目錄
[[email protected] jindafu]# ls
xiaochen xiaohou
[[email protected] jindafu]# ls xiaohou 檢視效果
xiaoli
[[email protected] jindafu]#
[[email protected] jindafu]# ls
xiaochen xiaohou
[[email protected] jindafu]# mv xiaochen dachen 將xiaochen改名為dachen
[[email protected] jindafu]# ls
dachen xiaohou
[[email protected] jindafu]#
[[email protected] jindafu]# ls
alibaba dachen xiaohou
[[email protected] jindafu]# mv alibaba alimama 將alibaba改名為alimama
[[email protected] jindafu]# ls
alimama dachen xiaohou
[[email protected] jindafu]#
************************************************************************************************
cat head tail less more tac
cat 不能分頁顯示,可以顯示行號
more、less 分頁顯示
head、tail可以顯示行首和行尾的內容
======
cat 命令
cat主要有三大功能:
#cat filename 顯示整個檔案
#cat > filename 從鍵盤建立一個檔案到當前資料夾下,只能建立不能編輯(touch 也是建立檔案)
#cat file1 file2 >file合併兩個檔案
#cat -n file1 >file2 把file1加上行號後輸入file2這個檔案裡,原來file1檔案裡內容還在,但是file2的被覆蓋
#cat -n file1 file2 >file3 把file1 file2都加上行號再併入file3中
>符號是重定向,經常用來重建檔案(覆蓋)
>>追加輸出重定向,跟>用法一樣,但是不覆蓋裡面原有的內容
重定向後面接的檔案如果不存在會自動建立
cat 檢視檔案裡的內容(按行顯示)
[[email protected] lianxi]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
[[email protected] lianxi]#
[[email protected] lianxi]# cp /var/log/messages ./
[[email protected] lianxi]#
[[email protected] lianxi]# cat -n messages 檢視檔案的時候,顯示行號(可以幫助知道有多少行)
-n, --number 顯示行號(兩個一樣的)number all output lines
[[email protected] sxjy]# cat >qiwufeiyang <<eof 在當前目錄下建立檔案並可以編輯內容,以eof結束
> fhsd
> nfdsj
> ff
> gg
> eof
[[email protected] sxjy]# ls
huhu qiwufeiyang shadow1 ss xx
[[email protected] sxjy]#
[[email protected] sxjy]# cat qiwufeiyang
fhsd
nfdsj
ff
gg
[[email protected] sxjy]#
======
cat的拓展:
[[email protected] lianxi]# cat -n hosts >1.txt 檢視當前目錄下hosts檔案裡的內容,然後重定向到當前目錄下的1.txt檔案裡
> 輸出重定向,把本來應該在螢幕上輸出的內容轉移到後面接的檔案裡(乾坤大挪移),會覆蓋原來檔案裡的內容
>> 追加輸出重定向,不會覆蓋原來檔案裡的內容
重定向後面接的檔案如果不存在會自動建立
[[email protected] lianxi]# cat aa
aaaaaaaaaaaaaaaaaaaa
[[email protected] lianxi]# cat aa >1.txt
[[email protected] lianxi]# cat 1.txt
aaaaaaaaaaaaaaaaaaaa
[[email protected] lianxi]# cat -n hosts >>1.txt 不覆蓋
[[email protected] lianxi]# cat 1.txt
aaaaaaaaaaaaaaaaaaaa
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3 10.0.0.253 teacher.sxkeji.com teacher
[[email protected] lianxi]#
===
document here
[[email protected] lianxi]# cat >qiwufeiyang <<EOF 在當前目錄下產生一個qiwufeiyang的檔案,等待你輸入,當你輸入EOF這個字串的時候就停止(可以是其他的字元)
> jazz
> du pi wu
> qia qia wu
> pi li wu
> zombi wu
> eof
> EOF
[[email protected] lianxi]#
[[email protected] lianxi]# cat >hunantv <<EOF
> happy base
> day day up
> have a date
> i am a singer
> qiwufeiyang
> EOF
[[email protected] lianxi]# cat hunantv
happy base
day day up
have a date
i am a singer
qiwufeiyang
[[email protected] lianxi]#
[[email protected] lianxi]# cat hunantv.sh 檢視指令碼的內容
cat >hunantv.zhuchi <<EOF
hejiong
wanghan
xiena
wudan
lixiang
EOF
[[email protected] lianxi]#
[[email protected] lianxi]# bash hunantv.sh 執行指令碼
[[email protected] lianxi]# ls
1.txt chongqin hunantv messages uu.txt
aa hosts hunantv.sh qiwufeiyang zhaoshiguer.txt
china hubei hunantv.zhuchi shangdong
[[email protected] lianxi]# cat hunantv.zhuchi 產生的檔案和內容(腳本里指定的)
hejiong
wanghan
xiena
wudan
lixiang
======
動態的監控
動態的監控檔案的變化,一旦有變化在螢幕上輸出
-f, --follow[={name|descriptor}]
output appended data as the file grows;
tail -f 檔名
檢視secure這個日誌檔案,該檔案和系統的安全有關,凡是遠端登入系統,新建使用者和設定密碼都會記錄到此檔案
[[email protected] lianxi]# tail -f /var/log/secure
按ctrl+c 退出
配合下面命令的使用,看效果
[[email protected] lianxi]# useradd chenzhou 新建使用者chenzhou
[[email protected] lianxi]# passwd chenzhou 給chenzhou設定密碼
[[email protected] lianxi]# ssh 10.0.0.253 遠端連線10.0.0.253機器
[[email protected] lianxi]#
======
more 顯示檔案裡的內容 (分頁顯示)
more命令
用途:全屏方式分頁顯示檔案內容
[[email protected] zhaoshi]# more +2 tan1 從第二行開始顯示
2 fsdkghjkfd
3 sggfdh
4 root:x:0:0:root:/root:/bin/bash
5 bin:x:1:1:bin:/bin:/sbin/nologin
6 daemon:x:2:2:daemon:/sbin:/sbin/nologin
7 adm:x:3:4:adm:/var/adm:/sbin/nologin
[[email protected] zhaoshi]# more -2 tan1 顯示2行,若回車可以繼續向下顯示
1 hhhhhh
2 fsdkghjkfd
互動操作方法:
按Enter鍵向下逐行滾動
按空格鍵向下翻一屏、按b鍵向上翻一屏
按q鍵退出
[[email protected] lianxi]# cat messages |more -n more一般這樣用,n可以取值,也可不加-n
| 管道符號 作用:將前面一個命令的輸出送給後面一個命令作為輸入的內容
(借花獻佛)
======
less命令
用途:與more命令相同,但擴充套件功能更多,more是以百分比的方式分頁顯示,提示給使用者已經顯示了多少頁,less沒有百分比提示
互動操作方法:
與more命令基本類似,但個別操作會有些出入
【page down】【page up】上翻下翻頁
head命令
用途:檢視檔案開頭的一部分內容(預設為10行)
格式:head -n 檔名
[[email protected] lianxi]# vim hosts vim編輯器的使用
1. 3yy複製3行,可以使用上下方向鍵移動到末尾,按p貼上
2.按esc鍵,輸入shift+; 最後輸入wq 退出儲存
[[email protected] lianxi]# gedit hosts & 開啟gedit影象檔案編輯工具(記事本)再後臺執行(&)
[3] 4011
[[email protected] lianxi]#
[[email protected] lianxi]# head -3 hosts 顯示前3行的內容(預設顯示前10行)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
[[email protected] lianxi]# head -n 3 hosts 顯示前3行的內容
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
[[email protected] lianxi]#
[[email protected]her lianxi]# cat -n hosts 檢視檔案裡的內容顯示行號,同時也知道檔案有多少行
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3 10.0.0.253 teacher.sxkeji.com teacher
4 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
5 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
6 10.0.0.253 teacher.sxkeji.com teacher
7 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
8 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
9 10.0.0.253 teacher.sxkeji.com teacher
10 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
11 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
12 10.0.0.253 teacher.sxkeji.com teacher
tail命令
用途:檢視檔案結尾的少部分內容(預設為10行)
[[email protected] lianxi]# tail -5 hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
[[email protected] lianxi]# tail -2 hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
[[email protected] lianxi]#
[[email protected] lianxi]# head -3 hosts |tail -1 顯示第3行的內容
10.0.0.253 teacher.sxkeji.com teacher
[[email protected] lianxi]#
tail 的高階問題:
題目圖片。。。。。。。。。。。
以上題目的操作:
[[email protected] ~]# mkdir sxjy/ss
mkdir: 無法建立目錄"sxjy/ss": 沒有那個檔案或目錄
[[email protected] ~]# mkdir sxjy/ss -p
[[email protected] ~]# mkdir sxjy/xx
[[email protected] ~]# cp /etc/passwd /sxjy/ss
cp: 無法建立普通檔案"/sxjy/ss": 沒有那個檔案或目錄
[[email protected] sxjy]# cp /etc/passwd /ss
[[email protected] sxjy]# cd ss
[[email protected] ss]# ls 沒有copy過去但是不會出錯
[[email protected] ~]# cp /etc/passwd ./sxjy/ss 相對路徑
[[email protected] ~]# cd sxjy
[[email protected] sxjy]# cd ss
[[email protected] ss]# ls
passwd
[[email protected] ss]# cp /etc/passwd /root/sxjy/ss 絕對路徑
cp:是否覆蓋"/root/sxjy/ss/passwd"? y
[[email protected] ss]#
[[email protected] xx]# cp /etc/shadow ./
[[email protected] xx]# ls
shadow
[[email protected] xx]#
mv命令來改名:
[[email protected] sxjy]# tree
.
├── haha
├── ss
│ └── shadow
└── xx
└── shadow
[[email protected] sxjy]# mv haha huhu
[[email protected] sxjy]# ls
huhu ss xx
[[email protected] sxjy]# mv shadow shadow1
mv: 無法獲取"shadow" 的檔案狀態(stat): 沒有那個檔案或目錄
[[email protected] sxjy]# mv shadow shadow1 -rf
mv:無效選項 -- r
請嘗試執行"mv --help"來獲取更多資訊。
[[email protected] sxjy]# mv ./xx/shadow shadow1
[[email protected] sxjy]# tree
.
├── huhu
├── shadow1 連資料夾xx一起刪除了,只剩下檔案shadow1
├── ss
│ └── shadow
└── xx
tail和head命令高階用法
格式:tail -n 數字 檔名
數字:數字前有 +(加號),從檔案開頭指定的單元 數開始輸出;數字前有 -(減號),從檔案末尾指定的單元 數開始輸出;沒有 +或 -,從檔案末尾指定的單元 數開始輸出。
例如:
tail -n +3 /etc/passwd 從第三行開始顯示 *
tail -n -3 /etc/passwd 顯示最後三行
head -n -3 /etc/passwd 不顯示最後三行 *
head -n +3 /etc/passwd 顯示前三行
[[email protected] lianxi]# tail -n +5 zhaoshiguer.txt |head -n -3
顯示從第5行開始到去掉末尾3行之間的內容
zhao suo
tu an gu
tu an wu jiang
xiang ling
cao er
hou chao
wu juan
zhao wei
[[email protected] lianxi]#
tac命令
用途:從最後一行倒著顯示出檔案的全部內容
[[email protected] lianxi]# tac zhaoshiguer.txt
huang hui liang
liu yang
zhao wei
wu juan
hou chao
cao er
xiang ling
tu an wu jiang
tu an gu
zhao suo
zhao wu
cheng ying
liudehua
[[email protected] lianxi]#
ln建立連結
語法:ln 【選項】目標 【連結名】
連結有兩種,一種被稱為硬連結(hard link),另一種被稱為符號連結(Symblic link)。
建立硬連結時,連結檔案和被連結檔案必須位於同一個檔案系統中,並且不能建立指向目錄的硬連結,而對於符號連結則不存在這個問題。
給ln命令加上-s選項,則建立符號連結,也叫軟連結
這裡link1是軟連結,link2是硬連結
軟連結刪除目標後,連結不生效,硬連結只要inode不變則一直在
windows中的桌面快捷方式就是軟連結
ln 建立符號連結檔案(快捷方式)也叫軟連結,建立符號連結檔案(目錄和檔案都可以)
ln - make links between files
-s, --symbolic
[[email protected] Desktop]# ln -s /usr/bin/notecase /root/Desktop/notecase
將/usr/bin/notecase建立連結檔案到/root/Desktop/notecase
好處就是可以在桌面雙擊開啟notecase
[[email protected] Desktop]# ll
-rw-r--r-- 1 root root 1538 Apr 15 09:48 lixueyuan.txt
lrwxrwxrwx 1 root root 17 Apr 20 15:24 notecase -> /usr/bin/notecase
在桌面建立一個連線檔案叫var 連結到/var目錄
ln -s /var /root/Desktop/var
原始檔 目的檔案
=====================================
which、whereis、locate、find
which命令
用途:查詢可執行檔案(命令)並顯示所在的位置
[[email protected] lianxi]# which mkdir
/bin/mkdir
[[email protected] lianxi]# which touch
/bin/touch
[[email protected] lianxi]# which ifconfig
/sbin/ifconfig
[[email protected] lianxi]#
[[email protected] lianxi]# which pwd
/bin/pwd
[[email protected] lianxi]# which tree
/usr/bin/tree
[[email protected] lianxi]#
[[email protected] lianxi]# shuaige=liuxiangyang 定義變數
[[email protected] lianxi]# echo $shuaige ni hao 引用變數(前面加$)
liuxiangyang ni hao
[[email protected] lianxi]#
[[email protected] lianxi]# echo $PATH 輸出當前使用者的查詢命令的路徑變數(環境變數中的一個變數)
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
各個路徑使用冒號隔開,檢視命令的時候就到上面的路徑(目錄)下查詢
[[email protected] lianxi]# which tree
/usr/bin/tree
[[email protected] lianxi]# mv /usr/bin/tree / 將tree命令移走
[[email protected] lianxi]# which tree 找不了,因為PATH變數的路徑裡沒有了
/usr/bin/which: no tree in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin)
[[email protected] lianxi]# tree
bash: /usr/bin/tree: No such file or directory
[[email protected] lianxi]# /tree 使用絕對路徑可以使用
[[email protected] lianxi]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
[[email protected] lianxi]# PATH=$PATH:/china 修改PATH變數的值
[[email protected] lianxi]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/china
[[email protected] lianxi]#
[[email protected] lianxi]# ifconfig eth0 檢視ip地址
eth0 Link encap:Ethernet HWaddr 00:30:67:F2:10:CF
inet addr:10.0.0.253 Bcast:10.0.255.255 Mask:255.255.0.0
inet6 addr: fe80::230:67ff:fef2:10cf/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5462933 errors:0 dropped:0 overruns:0 frame:0
TX packets:8529612 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:392231592 (374.0 MiB) TX bytes:4083812614 (3.8 GiB)
Interrupt:29 Base address:0x4000
[[email protected] lianxi]#
[[email protected] ~]# touch ipconfig 新建一個空檔案
[[email protected] ~]# chmod +x ipconfig 授予可執行許可權
[[email protected] ~]# cp ipconfig /sbin 複製到/sbin目錄下
[[email protected] ~]# ipc 按tab鍵補齊,可以查詢到,因為ipconfig在PATH變數目錄下
ipcalc ipcmk ipconfig ipcrm ipcs
[[email protected] ~]# ipconfig
[[email protected] ~]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/china
[[email protected] ~]#
whereis命令
用途:查詢檔案的路徑、該檔案的幫助檔案路徑,原理和which類似
查詢命令的時候還是會檢視PATH變數的值
[[email protected] ~]# whereis mkdir
mkdir: /bin/mkdir /usr/share/man/man1p/mkdir.1p.gz /usr/share/man/man3p/mkdir.3p.gz /usr/share/man/man2/mkdir.2.gz /usr/share/man/man1/mkdir.1.gz
[[email protected] ~]#
====
[[email protected] ~]# touch alading
[[email protected] ~]# which alading
/usr/bin/which: no alading in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/china)
[[email protected] ~]# whereis alading
alading:
[[email protected] ~]# cp alading /bin
[[email protected] ~]# which alading
/usr/bin/which: no alading in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/china)
[[email protected] ~]# whereis alading 沒有可執行許可權也可以找到
alading: /bin/alading
[[email protected] ~]#
[[email protected] ~]# chmod +x /bin/alading
[[email protected] ~]# which alading
/bin/alading
[[email protected] ~]#
====
which和whereis的異同:
都是在PATH變數的路徑下查詢命令
但是whereis可以檢視命令的man手冊檔案的路徑,同時不要求命令具有可執行許可權
====
[[email protected] ~]# locate alading
[[email protected] ~]# locate mkdir 在根目錄下查找出所有的mkdir檔案
/bin/mkdir
/image/bin/mkdir
/image123/bin/mkdir
/test/bin/mkdir
/usr/bin/gnomevfs-mkdir
/usr/bin/gvfs-mkdir
/usr/lib/perl5/auto/POSIX/mkdir.al
/usr/share/aclocal-1.11/mkdirp.m4
/usr/share/man/man1/mkdir.1.gz
/usr/share/man/man1p/mkdir.1p.gz
/usr/share/man/man2/mkdir.2.gz
/usr/share/man/man2/mkdirat.2.gz
/usr/share/man/man3p/mkdir.3p.gz
[[email protected] ~]# updatedb 新建的檔案locate不一定能找到,需要更新資料庫
[[email protected] ~]# locate alading
/bin/alading
/root/alading
[[email protected] ~]#
===
三者區別:
locate :在整個根目錄下查詢,比較適合查詢檔案
which :在PATH變數值路徑下查詢,比較適合查詢命令,用於顯示查詢可執行檔案的完全路徑,有別名的也顯示別名,無許可權則會報錯,沒有時也會報錯
whereis :在PATH變數值路徑下查詢,比較適合查詢命令,用於查詢檔案的路徑,該檔案的幫助檔案(man)路徑,該檔案的相關原程式的路徑,無執行許可權也可檢視,沒有時不報錯
mount掛載映象命令:
[[email protected] /]# mount -o loop /Software/rhel6.3.iso /mnt 掛載點/mnt
掛載映象檔案的步驟
[[email protected] bak]# find / -name rhel*.iso 查詢iso映象檔案
/var/ftp/software/iso/rhel6.3.x86.iso
mount -o loop /var/ftp/software/iso/rhel6.3.x86.iso /mnt 掛載映象檔案
[[email protected] bak]# df -Th 檢視磁碟分割槽的使用情況(檢視c、d盤的使用情況)
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 321G 88G 218G 29% /
tmpfs tmpfs 1.9G 320K 1.9G 1% /dev/shm
/dev/sda1 ext4 92G 233M 87G 1% /boot
/var/ftp/software/iso/rhel6.3.x86.iso
iso9660 2.9G 2.9G 0 100% /mnt
[[email protected] bak]# cd /mnt 進入掛載點,可以檢視目錄裡的內容
[[email protected] mnt]#
[[email protected] /]# df -TH
檔案系統 型別 容量 已用 可用 已用%% 掛載點
/dev/sda2 ext4 259G 47G 199G 19% /
tmpfs tmpfs 2.1G 635k 2.1G 1% /dev/shm
/dev/sda1 ext4 204M 146M 47M 76% /boot
/dev/sda3 ext4 104G 4.5G 94G 5% /usr
/dev/sda5 ext4 21G 17G 3.0G 85% /Software
/Software/rhel6.3.iso
iso9660 3.2G 3.2G 0 100% /mnt
[[email protected] /]# df -Th
檔案系統 型別 容量 已用 可用 已用%% 掛載點
/dev/sda2 ext4 241G 44G 186G 19% /
tmpfs tmpfs 1.9G 620K 1.9G 1% /dev/shm
/dev/sda1 ext4 194M 139M 45M 76% /boot
/dev/sda3 ext4 97G 4.2G 88G 5% /usr
/dev/sda5 ext4 20G 16G 2.8G 85% /Software
/Software/rhel6.3.iso
iso9660 2.9G 2.9G 0 100% /mnt
兩者不同:
-H
cp - copy files and directories
-i, --interactive 互動式提醒功能
prompt before overwrite (overrides a
previous -n option)
-R, -r, --recursive
copy directories recursively 將資料夾下的子資料夾一起拷貝
-f --force 強制複製
-a 作用等價於dpr選項的組合
-p 除複製原始檔外,還將把其修改時間和訪問許可權也複製到檔案中
-d 拷貝時保留連結
-l 不做拷貝,只是連結
複製檔案的時候不需要接-r
複製目錄的時候,需要接-r,因為目錄下有子資料夾
[[email protected] hubei]# cp -r kangkang wuhan
使用/bin/cp複製singer資料夾到xienana,不給予覆蓋提醒
[[email protected] haiquan]# cp singer xienana -r 不使用/bin會給予提醒
cp:是否覆蓋"xienana/singer/qiqin"? y
cp:是否覆蓋"xienana/singer/linzhixuan"? y
cp:是否覆蓋"xienana/singer/yangzongwei"? y
[[email protected] haiquan]# /bin/cp singer xienana -r 使用不予提醒
[[email protected] haiquan]#
如果是資料夾複製到資料夾,而前面那個資料夾又沒有”檔案“則不會提覆蓋提醒
將/etc/hosts檔案複製到jindafu目錄下叫huojianhua的檔案
複製——》貼上——》重新命名(檔案--》檔案則是重新命名)
[[email protected] jindafu]# cp /etc/hosts /jindafu/huojianhua
將/home/目錄下的所有檔案和資料夾複製到/jindafu目錄下
[[email protected]
1.複製檔案的時候,如何後面接的目的地是資料夾,就是將檔案複製後存放到後面目的地的目錄下
如果後面是檔案,則重新命名
[[email protected] 211]# cp hosts a
[[email protected] 211]# ls
a hosts passwd shadow
2.複製資料夾時候若後面的目的資料夾原來不存在,則也是重新命名
[[email protected] jitong]# ls
211
[[email protected] jitong]# cp -r 211 bak
[[email protected] jitong]# ls
211 bak
[[email protected] vnc]# cp /etc/a{passwd,shadow}b ./
cp: cannot stat `/etc/apasswdb': No such file or directory
cp: cannot stat `/etc/ashadowb': No such file or directory
alias
[[email protected] jindafu]# which cp 查詢cp命令存放在系統裡位置
alias cp='cp -i'
/bin/cp cp命令存放的路徑
[[email protected] jindafu]#
alias 別名功能
[[email protected] jindafu]# alias c=clear 定義c等於clear這個命令的別名,使用效果和clear一樣,別名的名字可以自己定義,
clear是系統的命令,這種方式定義的別名,重新啟動後失效
[[email protected] jindafu]# alias 檢視系統裡定義的別名
alias c='clear'
alias cp='cp -i'
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'
[[email protected] jindafu]#
[[email protected] jindafu]# alias mm='ls -l' 定義別名mm的效果是ls -l
[[email protected] jindafu]# mm
total 12
dr-xr-xr-x 5 root root 4096 Mar 30 10:59 boot
-rw-r--r-- 1 root root 199 Mar 30 11:02 hosts
drwxr-xr-x 3 root root 4096 Mar 30 11:00 liufu
[[email protected] jindafu]#
[[email protected] jindafu]# unalias mm 取消mm的別名功能
************************************************************************************************
mv的使用方法:
mv - move (rename) files
當後面接的目的地檔案存在的時候就是移動,不存在的時候就是改名(重新命名快捷鍵 F2,同windows)
[[email protected] jindafu]# ls 檢視內容
xiaochen xiaohou xiaoli
[[email protected] jindafu]# mv xiaoli xiaohou 將xiaoli移動到xiaohou目錄
[[email protected] jindafu]# ls
xiaochen xiaohou
[[email protected] jindafu]# ls xiaohou 檢視效果
xiaoli
[[email protected] jindafu]#
[[email protected] jindafu]# ls
xiaochen xiaohou
[[email protected] jindafu]# mv xiaochen dachen 將xiaochen改名為dachen
[[email protected] jindafu]# ls
dachen xiaohou
[[email protected] jindafu]#
[[email protected] jindafu]# ls
alibaba dachen xiaohou
[[email protected] jindafu]# mv alibaba alimama 將alibaba改名為alimama
[[email protected] jindafu]# ls
alimama dachen xiaohou
[[email protected] jindafu]#
************************************************************************************************
cat head tail less more tac
cat 不能分頁顯示,可以顯示行號
more、less 分頁顯示
head、tail可以顯示行首和行尾的內容
======
cat 命令
cat主要有三大功能:
#cat filename 顯示整個檔案
#cat > filename 從鍵盤建立一個檔案到當前資料夾下,只能建立不能編輯(touch 也是建立檔案)
#cat file1 file2 >file合併兩個檔案
#cat -n file1 >file2 把file1加上行號後輸入file2這個檔案裡,原來file1檔案裡內容還在,但是file2的被覆蓋
#cat -n file1 file2 >file3 把file1 file2都加上行號再併入file3中
>符號是重定向,經常用來重建檔案(覆蓋)
>>追加輸出重定向,跟>用法一樣,但是不覆蓋裡面原有的內容
重定向後面接的檔案如果不存在會自動建立
cat 檢視檔案裡的內容(按行顯示)
[[email protected] lianxi]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
[[email protected] lianxi]#
[[email protected] lianxi]# cp /var/log/messages ./
[[email protected] lianxi]#
[[email protected] lianxi]# cat -n messages 檢視檔案的時候,顯示行號(可以幫助知道有多少行)
-n, --number 顯示行號(兩個一樣的)number all output lines
[[email protected] sxjy]# cat >qiwufeiyang <<eof 在當前目錄下建立檔案並可以編輯內容,以eof結束
> fhsd
> nfdsj
> ff
> gg
> eof
[[email protected] sxjy]# ls
huhu qiwufeiyang shadow1 ss xx
[[email protected] sxjy]#
[[email protected] sxjy]# cat qiwufeiyang
fhsd
nfdsj
ff
gg
[[email protected] sxjy]#
======
cat的拓展:
[[email protected] lianxi]# cat -n hosts >1.txt 檢視當前目錄下hosts檔案裡的內容,然後重定向到當前目錄下的1.txt檔案裡
> 輸出重定向,把本來應該在螢幕上輸出的內容轉移到後面接的檔案裡(乾坤大挪移),會覆蓋原來檔案裡的內容
>> 追加輸出重定向,不會覆蓋原來檔案裡的內容
重定向後面接的檔案如果不存在會自動建立
[[email protected] lianxi]# cat aa
aaaaaaaaaaaaaaaaaaaa
[[email protected] lianxi]# cat aa >1.txt
[[email protected] lianxi]# cat 1.txt
aaaaaaaaaaaaaaaaaaaa
[[email protected] lianxi]# cat -n hosts >>1.txt 不覆蓋
[[email protected] lianxi]# cat 1.txt
aaaaaaaaaaaaaaaaaaaa
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3 10.0.0.253 teacher.sxkeji.com teacher
[[email protected] lianxi]#
===
document here
[[email protected] lianxi]# cat >qiwufeiyang <<EOF 在當前目錄下產生一個qiwufeiyang的檔案,等待你輸入,當你輸入EOF這個字串的時候就停止(可以是其他的字元)
> jazz
> du pi wu
> qia qia wu
> pi li wu
> zombi wu
> eof
> EOF
[[email protected] lianxi]#
[[email protected] lianxi]# cat >hunantv <<EOF
> happy base
> day day up
> have a date
> i am a singer
> qiwufeiyang
> EOF
[[email protected] lianxi]# cat hunantv
happy base
day day up
have a date
i am a singer
qiwufeiyang
[[email protected] lianxi]#
[[email protected] lianxi]# cat hunantv.sh 檢視指令碼的內容
cat >hunantv.zhuchi <<EOF
hejiong
wanghan
xiena
wudan
lixiang
EOF
[[email protected] lianxi]#
[[email protected] lianxi]# bash hunantv.sh 執行指令碼
[[email protected] lianxi]# ls
1.txt chongqin hunantv messages uu.txt
aa hosts hunantv.sh qiwufeiyang zhaoshiguer.txt
china hubei hunantv.zhuchi shangdong
[[email protected] lianxi]# cat hunantv.zhuchi 產生的檔案和內容(腳本里指定的)
hejiong
wanghan
xiena
wudan
lixiang
======
動態的監控
動態的監控檔案的變化,一旦有變化在螢幕上輸出
-f, --follow[={name|descriptor}]
output appended data as the file grows;
tail -f 檔名
檢視secure這個日誌檔案,該檔案和系統的安全有關,凡是遠端登入系統,新建使用者和設定密碼都會記錄到此檔案
[[email protected] lianxi]# tail -f /var/log/secure
按ctrl+c 退出
配合下面命令的使用,看效果
[[email protected] lianxi]# useradd chenzhou 新建使用者chenzhou
[[email protected] lianxi]# passwd chenzhou 給chenzhou設定密碼
[[email protected] lianxi]# ssh 10.0.0.253 遠端連線10.0.0.253機器
[[email protected] lianxi]#
======
more 顯示檔案裡的內容 (分頁顯示)
more命令
用途:全屏方式分頁顯示檔案內容
[[email protected] zhaoshi]# more +2 tan1 從第二行開始顯示
2 fsdkghjkfd
3 sggfdh
4 root:x:0:0:root:/root:/bin/bash
5 bin:x:1:1:bin:/bin:/sbin/nologin
6 daemon:x:2:2:daemon:/sbin:/sbin/nologin
7 adm:x:3:4:adm:/var/adm:/sbin/nologin
[[email protected] zhaoshi]# more -2 tan1 顯示2行,若回車可以繼續向下顯示
1 hhhhhh
2 fsdkghjkfd
互動操作方法:
按Enter鍵向下逐行滾動
按空格鍵向下翻一屏、按b鍵向上翻一屏
按q鍵退出
[[email protected] lianxi]# cat messages |more -n more一般這樣用,n可以取值,也可不加-n
| 管道符號 作用:將前面一個命令的輸出送給後面一個命令作為輸入的內容
(借花獻佛)
======
less命令
用途:與more命令相同,但擴充套件功能更多,more是以百分比的方式分頁顯示,提示給使用者已經顯示了多少頁,less沒有百分比提示
互動操作方法:
與more命令基本類似,但個別操作會有些出入
【page down】【page up】上翻下翻頁
head命令
用途:檢視檔案開頭的一部分內容(預設為10行)
格式:head -n 檔名
[[email protected] lianxi]# vim hosts vim編輯器的使用
1. 3yy複製3行,可以使用上下方向鍵移動到末尾,按p貼上
2.按esc鍵,輸入shift+; 最後輸入wq 退出儲存
[[email protected] lianxi]# gedit hosts & 開啟gedit影象檔案編輯工具(記事本)再後臺執行(&)
[3] 4011
[[email protected] lianxi]#
[[email protected] lianxi]# head -3 hosts 顯示前3行的內容(預設顯示前10行)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
[[email protected] lianxi]# head -n 3 hosts 顯示前3行的內容
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
[[email protected] lianxi]#
[[email protected]her lianxi]# cat -n hosts 檢視檔案裡的內容顯示行號,同時也知道檔案有多少行
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3 10.0.0.253 teacher.sxkeji.com teacher
4 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
5 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
6 10.0.0.253 teacher.sxkeji.com teacher
7 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
8 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
9 10.0.0.253 teacher.sxkeji.com teacher
10 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
11 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
12 10.0.0.253 teacher.sxkeji.com teacher
tail命令
用途:檢視檔案結尾的少部分內容(預設為10行)
[[email protected] lianxi]# tail -5 hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
[[email protected] lianxi]# tail -2 hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.253 teacher.sxkeji.com teacher
[[email protected] lianxi]#
[[email protected] lianxi]# head -3 hosts |tail -1 顯示第3行的內容
10.0.0.253 teacher.sxkeji.com teacher
[[email protected] lianxi]#
tail 的高階問題:
題目圖片。。。。。。。。。。。
以上題目的操作:
[[email protected] ~]# mkdir sxjy/ss
mkdir: 無法建立目錄"sxjy/ss": 沒有那個檔案或目錄
[[email protected] ~]# mkdir sxjy/ss -p
[[email protected] ~]# mkdir sxjy/xx
[[email protected] ~]# cp /etc/passwd /sxjy/ss
cp: 無法建立普通檔案"/sxjy/ss": 沒有那個檔案或目錄
[[email protected] sxjy]# cp /etc/passwd /ss
[[email protected] sxjy]# cd ss
[[email protected] ss]# ls 沒有copy過去但是不會出錯
[[email protected] ~]# cp /etc/passwd ./sxjy/ss 相對路徑
[[email protected] ~]# cd sxjy
[[email protected] sxjy]# cd ss
[[email protected] ss]# ls
passwd
[[email protected] ss]# cp /etc/passwd /root/sxjy/ss 絕對路徑
cp:是否覆蓋"/root/sxjy/ss/passwd"? y
[[email protected] ss]#
[[email protected] xx]# cp /etc/shadow ./
[[email protected] xx]# ls
shadow
[[email protected] xx]#
mv命令來改名:
[[email protected] sxjy]# tree
.
├── haha
├── ss
│ └── shadow
└── xx
└── shadow
[[email protected] sxjy]# mv haha huhu
[[email protected] sxjy]# ls
huhu ss xx
[[email protected] sxjy]# mv shadow shadow1
mv: 無法獲取"shadow" 的檔案狀態(stat): 沒有那個檔案或目錄
[[email protected] sxjy]# mv shadow shadow1 -rf
mv:無效選項 -- r
請嘗試執行"mv --help"來獲取更多資訊。
[[email protected] sxjy]# mv ./xx/shadow shadow1
[[email protected] sxjy]# tree
.
├── huhu
├── shadow1 連資料夾xx一起刪除了,只剩下檔案shadow1
├── ss
│ └── shadow
└── xx
tail和head命令高階用法
格式:tail -n 數字 檔名
數字:數字前有 +(加號),從檔案開頭指定的單元 數開始輸出;數字前有 -(減號),從檔案末尾指定的單元 數開始輸出;沒有 +或 -,從檔案末尾指定的單元 數開始輸出。
例如:
tail -n +3 /etc/passwd 從第三行開始顯示 *
tail -n -3 /etc/passwd 顯示最後三行
head -n -3 /etc/passwd 不顯示最後三行 *
head -n +3 /etc/passwd 顯示前三行
[[email protected] lianxi]# tail -n +5 zhaoshiguer.txt |head -n -3
顯示從第5行開始到去掉末尾3行之間的內容
zhao suo
tu an gu
tu an wu jiang
xiang ling
cao er
hou chao
wu juan
zhao wei
[[email protected] lianxi]#
tac命令
用途:從最後一行倒著顯示出檔案的全部內容
[[email protected] lianxi]# tac zhaoshiguer.txt
huang hui liang
liu yang
zhao wei
wu juan
hou chao
cao er
xiang ling
tu an wu jiang
tu an gu
zhao suo
zhao wu
cheng ying
liudehua
[[email protected] lianxi]#
ln建立連結
語法:ln 【選項】目標 【連結名】
連結有兩種,一種被稱為硬連結(hard link),另一種被稱為符號連結(Symblic link)。
建立硬連結時,連結檔案和被連結檔案必須位於同一個檔案系統中,並且不能建立指向目錄的硬連結,而對於符號連結則不存在這個問題。
給ln命令加上-s選項,則建立符號連結,也叫軟連結
這裡link1是軟連結,link2是硬連結
軟連結刪除目標後,連結不生效,硬連結只要inode不變則一直在
windows中的桌面快捷方式就是軟連結
ln 建立符號連結檔案(快捷方式)也叫軟連結,建立符號連結檔案(目錄和檔案都可以)
ln - make links between files
-s, --symbolic
[[email protected] Desktop]# ln -s /usr/bin/notecase /root/Desktop/notecase
將/usr/bin/notecase建立連結檔案到/root/Desktop/notecase
好處就是可以在桌面雙擊開啟notecase
[[email protected] Desktop]# ll
-rw-r--r-- 1 root root 1538 Apr 15 09:48 lixueyuan.txt
lrwxrwxrwx 1 root root 17 Apr 20 15:24 notecase -> /usr/bin/notecase
在桌面建立一個連線檔案叫var 連結到/var目錄
ln -s /var /root/Desktop/var
原始檔 目的檔案
=====================================
which、whereis、locate、find
which命令
用途:查詢可執行檔案(命令)並顯示所在的位置
[[email protected] lianxi]# which mkdir
/bin/mkdir
[[email protected] lianxi]# which touch
/bin/touch
[[email protected] lianxi]# which ifconfig
/sbin/ifconfig
[[email protected] lianxi]#
[[email protected] lianxi]# which pwd
/bin/pwd
[[email protected] lianxi]# which tree
/usr/bin/tree
[[email protected] lianxi]#
[[email protected] lianxi]# shuaige=liuxiangyang 定義變數
[[email protected] lianxi]# echo $shuaige ni hao 引用變數(前面加$)
liuxiangyang ni hao
[[email protected] lianxi]#
[[email protected] lianxi]# echo $PATH 輸出當前使用者的查詢命令的路徑變數(環境變數中的一個變數)
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
各個路徑使用冒號隔開,檢視命令的時候就到上面的路徑(目錄)下查詢
[[email protected] lianxi]# which tree
/usr/bin/tree
[[email protected] lianxi]# mv /usr/bin/tree / 將tree命令移走
[[email protected] lianxi]# which tree 找不了,因為PATH變數的路徑裡沒有了
/usr/bin/which: no tree in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin)
[[email protected] lianxi]# tree
bash: /usr/bin/tree: No such file or directory
[[email protected] lianxi]# /tree 使用絕對路徑可以使用
[[email protected] lianxi]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
[[email protected] lianxi]# PATH=$PATH:/china 修改PATH變數的值
[[email protected] lianxi]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/china
[[email protected] lianxi]#
[[email protected] lianxi]# ifconfig eth0 檢視ip地址
eth0 Link encap:Ethernet HWaddr 00:30:67:F2:10:CF
inet addr:10.0.0.253 Bcast:10.0.255.255 Mask:255.255.0.0
inet6 addr: fe80::230:67ff:fef2:10cf/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5462933 errors:0 dropped:0 overruns:0 frame:0
TX packets:8529612 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:392231592 (374.0 MiB) TX bytes:4083812614 (3.8 GiB)
Interrupt:29 Base address:0x4000
[[email protected] lianxi]#
[[email protected] ~]# touch ipconfig 新建一個空檔案
[[email protected] ~]# chmod +x ipconfig 授予可執行許可權
[[email protected] ~]# cp ipconfig /sbin 複製到/sbin目錄下
[[email protected] ~]# ipc 按tab鍵補齊,可以查詢到,因為ipconfig在PATH變數目錄下
ipcalc ipcmk ipconfig ipcrm ipcs
[[email protected] ~]# ipconfig
[[email protected] ~]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/china
[[email protected] ~]#
whereis命令
用途:查詢檔案的路徑、該檔案的幫助檔案路徑,原理和which類似
查詢命令的時候還是會檢視PATH變數的值
[[email protected] ~]# whereis mkdir
mkdir: /bin/mkdir /usr/share/man/man1p/mkdir.1p.gz /usr/share/man/man3p/mkdir.3p.gz /usr/share/man/man2/mkdir.2.gz /usr/share/man/man1/mkdir.1.gz
[[email protected] ~]#
====
[[email protected] ~]# touch alading
[[email protected] ~]# which alading
/usr/bin/which: no alading in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/china)
[[email protected] ~]# whereis alading
alading:
[[email protected] ~]# cp alading /bin
[[email protected] ~]# which alading
/usr/bin/which: no alading in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/china)
[[email protected] ~]# whereis alading 沒有可執行許可權也可以找到
alading: /bin/alading
[[email protected] ~]#
[[email protected] ~]# chmod +x /bin/alading
[[email protected] ~]# which alading
/bin/alading
[[email protected] ~]#
====
which和whereis的異同:
都是在PATH變數的路徑下查詢命令
但是whereis可以檢視命令的man手冊檔案的路徑,同時不要求命令具有可執行許可權
====
[[email protected] ~]# locate alading
[[email protected] ~]# locate mkdir 在根目錄下查找出所有的mkdir檔案
/bin/mkdir
/image/bin/mkdir
/image123/bin/mkdir
/test/bin/mkdir
/usr/bin/gnomevfs-mkdir
/usr/bin/gvfs-mkdir
/usr/lib/perl5/auto/POSIX/mkdir.al
/usr/share/aclocal-1.11/mkdirp.m4
/usr/share/man/man1/mkdir.1.gz
/usr/share/man/man1p/mkdir.1p.gz
/usr/share/man/man2/mkdir.2.gz
/usr/share/man/man2/mkdirat.2.gz
/usr/share/man/man3p/mkdir.3p.gz
[[email protected] ~]# updatedb 新建的檔案locate不一定能找到,需要更新資料庫
[[email protected] ~]# locate alading
/bin/alading
/root/alading
[[email protected] ~]#
===
三者區別:
locate :在整個根目錄下查詢,比較適合查詢檔案
which :在PATH變數值路徑下查詢,比較適合查詢命令,用於顯示查詢可執行檔案的完全路徑,有別名的也顯示別名,無許可權則會報錯,沒有時也會報錯
whereis :在PATH變數值路徑下查詢,比較適合查詢命令,用於查詢檔案的路徑,該檔案的幫助檔案(man)路徑,該檔案的相關原程式的路徑,無執行許可權也可檢視,沒有時不報錯
mount掛載映象命令:
[[email protected] /]# mount -o loop /Software/rhel6.3.iso /mnt 掛載點/mnt
掛載映象檔案的步驟
[[email protected] bak]# find / -name rhel*.iso 查詢iso映象檔案
/var/ftp/software/iso/rhel6.3.x86.iso
mount -o loop /var/ftp/software/iso/rhel6.3.x86.iso /mnt 掛載映象檔案
[[email protected] bak]# df -Th 檢視磁碟分割槽的使用情況(檢視c、d盤的使用情況)
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 321G 88G 218G 29% /
tmpfs tmpfs 1.9G 320K 1.9G 1% /dev/shm
/dev/sda1 ext4 92G 233M 87G 1% /boot
/var/ftp/software/iso/rhel6.3.x86.iso
iso9660 2.9G 2.9G 0 100% /mnt
[[email protected] bak]# cd /mnt 進入掛載點,可以檢視目錄裡的內容
[[email protected] mnt]#
[[email protected] /]# df -TH
檔案系統 型別 容量 已用 可用 已用%% 掛載點
/dev/sda2 ext4 259G 47G 199G 19% /
tmpfs tmpfs 2.1G 635k 2.1G 1% /dev/shm
/dev/sda1 ext4 204M 146M 47M 76% /boot
/dev/sda3 ext4 104G 4.5G 94G 5% /usr
/dev/sda5 ext4 21G 17G 3.0G 85% /Software
/Software/rhel6.3.iso
iso9660 3.2G 3.2G 0 100% /mnt
[[email protected] /]# df -Th
檔案系統 型別 容量 已用 可用 已用%% 掛載點
/dev/sda2 ext4 241G 44G 186G 19% /
tmpfs tmpfs 1.9G 620K 1.9G 1% /dev/shm
/dev/sda1 ext4 194M 139M 45M 76% /boot
/dev/sda3 ext4 97G 4.2G 88G 5% /usr
/dev/sda5 ext4 20G 16G 2.8G 85% /Software
/Software/rhel6.3.iso
iso9660 2.9G 2.9G 0 100% /mnt
兩者不同:
-H