linux基礎常用之顯示,建立,複制,移動,删除
第一個顯示:相關指令ls,pwd
ls指令很強大,很常用,但也很難記
1-1,對于非内部指令(如ls、rm、mkdir等),無法使用help來檢視幫助
1-2,ll = ls -l //以長格式顯示
[root@localhost ~]# ls
anaconda-ks.cfg Desktop install.log install.log.syslog
[root@localhost ~]# ll
總計 56
-rw------- 1 root root 1009 02-10 21:03 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 02-10 21:35 Desktop
-rw-r--r-- 1 root root 32036 02-10 21:02 install.log
-rw-r--r-- 1 root root 3645 02-10 20:59 install.log.syslog
[root@localhost ~]#
1-3,ls的選項:
-d(顯示目錄)
-l(長格式顯示)
-F(如果為檔案夾,則有/标示)
-R(遞歸檢視目錄)
-A(顯示除了該目錄和上級目錄之外這兩個檔案夾之外的所有檔案,包括隐藏檔案)
-a(顯示所有檔案,包括隐藏檔案以及該目錄和上級目錄這兩個檔案夾)
-h(以容易讀取的方式來顯示該檔案或者檔案夾(如果顯示檔案夾,則需要和-d參數搭配用)的大小)
1-4,經典執行個體
[root@localhost data]# ll -hd //hd搭配,長格式顯示目前檔案夾的屬性
drwxr-xr-x 4 root root 4.0K 02-10 21:49 .
[root@localhost data]# ll //僅長格式顯示該目錄下的内容,可以看到兩個檔案夾,下面ll //-F更能顯示為檔案夾,後面有/标示
總計 20
drwx------ 2 root root 16384 02-11 04:45 lost+found
drwxr-xr-x 3 root root 4096 02-10 21:50 VMtools
[root@localhost data]# ll -F //長格式檢視該檔案夾下的文檔,若為檔案夾,則右面後/标示,那麼此檔案夾 //下包含有兩個檔案夾
drwx------ 2 root root 16384 02-11 04:45 lost+found/
drwxr-xr-x 3 root root 4096 02-10 21:50 VMtools/
[root@localhost data]# cd VMtools/ //進入到VMtools檔案夾
[root@localhost VMtools]# ll //不加-h和下面加了-h的差別,加粗字型。。。
總計 60668
-r-xr-xr-x 1 root root 1961 02-10 21:50 manifest.txt
-r--r--r-- 1 root root 1847 02-10 21:50 run_upgrader.sh
-r--r--r-- 1 root root 60638465 02-10 21:50 VMwareTools-9.6.1-1378637.tar.gz
drwxr-xr-x 7 root root 4096 10-18 09:26 vmware-tools-distrib
-r-xr-xr-x 1 root root 689456 02-10 21:50 vmware-tools-upgrader-32
-r-xr-xr-x 1 root root 702472 02-10 21:50 vmware-tools-upgrader-64
[root@localhost VMtools]# ll -h //檢視該檔案夾下的檔案大小,-h參數為易懂格式顯示大小,加粗字型 //為差別
總計 60M
-r-xr-xr-x 1 root root 2.0K 02-10 21:50 manifest.txt
-r--r--r-- 1 root root 1.9K 02-10 21:50 run_upgrader.sh
-r--r--r-- 1 root root 58M 02-10 21:50 VMwareTools-9.6.1-1378637.tar.gz
drwxr-xr-x 7 root root 4.0K 10-18 09:26 vmware-tools-distrib
-r-xr-xr-x 1 root root 674K 02-10 21:50 vmware-tools-upgrader-32
-r-xr-xr-x 1 root root 687K 02-10 21:50 vmware-tools-upgrader-64
[root@localhost ~]# ls -R /boot/ //-R參數表示遞歸顯示/boot目錄
/boot/:
config-2.6.18-348.el5 lost+found vmlinuz-2.6.18-348.el5
grub symvers-2.6.18-348.el5.gz
initrd-2.6.18-348.el5.img System.map-2.6.18-348.el5
/boot/grub:
device.map grub.conf minix_stage1_5 stage2
e2fs_stage1_5 iso9660_stage1_5 reiserfs_stage1_5 ufs2_stage1_5
fat_stage1_5 jfs_stage1_5 splash.xpm.gz vstafs_stage1_5
ffs_stage1_5 menu.lst stage1 xfs_stage1_5
/boot/lost+found:
2,pwd指令
單純的顯示目前所在的路徑
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# cd ..
[root@localhost sysconfig]# pwd
/etc/sysconfig
[root@localhost sysconfig]#
第二個:建立之mkdir
用法:mkdir [選項] 目錄...
若目錄不存在則建立目錄。
長選項必須用的參數在使用短選項時也是必須的。
-m, --mode=模式設定權限<模式> (類似 chmod),而不是rwxrwxrwx 減 umask
-p, --parents 需要時建立上層目錄,如目錄早已存在則不當作錯誤
-v, --verbose 每次建立新目錄都顯示資訊
--help 顯示此幫助資訊并退出
--version輸出版本資訊并退出
加上-p之後就不會提示什麼錯誤了,不論你是重複履歷了相同的目錄還是你建立了目錄下的兩一個目錄:
[root@localhost ~]# mkdir a
a anaconda-ks.cfg Desktop install.log install.log.syslog
mkdir: 無法建立目錄 “a”: 檔案已存在
[root@localhost ~]# mkdir -p a
[root@localhost ~]# mkdir a/aa/aaa
mkdir: 無法建立目錄 “a/aa/aaa”: 沒有那個檔案或目錄
[root@localhost ~]# mkdir -p a/aa/aaa
[root@localhost ~]# ls -R
.:
./a:
aa
./a/aa:
aaa
./a/aa/aaa:
./Desktop:
第三個:建立連結檔案之ln
1,不加參數的時候為建立硬連結,不可跨分區
[root@localhost ~]# ln /etc/passwd ./passwd //在root家目錄建立/etc/passwd的硬連結
ln: 正在建立指向“/etc/passwd”的硬連結“./passwd”: 檔案已存在
總計 60
drwxr-xr-x 3 root root 4096 02-12 00:08 a
drwxr-xr-x 3 root root 4096 02-12 00:25 Desktop
lrwxrwxrwx 1 root root 11 02-12 00:11 passwd -> /etc/passwd
a anaconda-ks.cfg Desktop install.log install.log.syslog passwd
[root@localhost ~]# cd /boot //到boot目錄下
[root@localhost boot]# ln /etc/passwd ./passwd //在boot目錄下建立/etc/passwd的硬連結,是不能被 //建立的,我在分區的時候,挂在到/boot目錄下的那個磁盤 //空間為獨立劃分出來的磁盤空間,硬連結無法跨裝置連接配接,是以無法建立。
ln: 正在建立指向“/etc/passwd”的硬連結“./passwd”: 無效的跨裝置連接配接
[root@localhost boot]# ln -s /etc/passwd ./passwd //可以看到,ln -s建立的軟連接配接是可以跨分區的
[root@localhost boot]# ll
總計 6333
-rw-r--r-- 1 root root 67857 2012-11-29 config-2.6.18-348.el5
drwxr-xr-x 2 root root 1024 02-10 21:03 grub
-rw------- 1 root root 2837626 02-10 21:54 initrd-2.6.18-348.el5.img
drwx------ 2 root root 12288 02-11 04:45 lost+found
lrwxrwxrwx 1 root root 11 02-12 12:44 passwd -> /etc/passwd
-rw-r--r-- 1 root root 118626 2012-11-29 symvers-2.6.18-348.el5.gz
-rw-r--r-- 1 root root 1282424 2012-11-29 System.map-2.6.18-348.el5
-rw-r--r-- 1 root root 2125660 2012-11-29 vmlinuz-2.6.18-348.el5
[root@localhost boot]#
2,-s參數表示建立一個快捷方式(軟連接配接)
[root@localhost ~]# ln -s /etc/passwd passwd
第四個:複制之cp
常用指令選項:
-i:當有相同檔案存在時,提示是否覆寫
-r:遞歸複制整個目錄(複制一個目錄的時候需要加上r參數)
-f:強制覆寫,不提示(與-i相對)
-p:保持源檔案的屬性不變
注:在使用cp的時候,可以先檢視一下alias指令,cp指令預設的為cp –i,也就是在使用cp過程中,實際上是用的cp –i,即在有覆寫的時間提醒,那麼,現在如果想用cp –f取消提示,就必須先取消cp=cp –i;或者是加上一個轉義符#\cp –f file1.txt /host/test/
常用的指令有:
[root@localhost ~]# cp -r /boot/grub/ /etc/host.conf Desktop/ //将grub目錄和host.conf檔案複制到 //Desktop目錄
[root@localhost ~]# ls Desktop/
grub host.conf
[root@localhost ~]# cp -rf /boot/grub/ /etc/host.conf Desktop/ //這時候不會提醒覆 //蓋,若不加f參數,将會一個一個提醒
[root@localhost ~]# ls -F Desktop/
grub/ host.conf
[root@localhost ~]
第五個:移動和重命名之mv
[root@localhost ~]# touch file1
[root@localhost ~]# mv file1 file2 //将file1的名字改為file2
a anaconda-ks.cfg Desktop file2 install.log install.log.syslog passwd
[root@localhost ~]# mv file2 Desktop/ //将file2移動到該目錄下的Desktop目錄下
file2 grub host.conf
第六個:删除之rm和rmdir
rm參數和cp參數相似,主要為r和f
-f為不提醒
-r為遞歸删除一個目錄(加上-r才能删除目錄)
[root@localhost Desktop]# rm -r grub/ //加-r參數,為遞歸删除一個目錄
rm:是否進入目錄 “grub/”?
[root@localhost Desktop]# rm grub/ //不加-r參數是無法删除目錄的
rm: 無法删除目錄“grub/”: 是一個目錄
[root@localhost Desktop]# rm -r grub/
//輸入y一個一個删除,每一步都需要提示是否确認,這時加上-f參數取消提醒
[root@localhost Desktop]# rm -rf grub/ //-rf删除目錄不帶提醒的,強制遞歸删除
[root@localhost Desktop]# ls //grub目錄被删除了
file2 host.conf
[root@localhost Desktop]#
rmdir隻能删除一個空的目錄,是以不需要使用了,知道rm -rf就能删除任何目錄了,但是很危險
簡單的指令我會記住,但是參數我卻常常忘記,以此小記!
本文轉自 murongqingqqq 51CTO部落格,原文連結:http://blog.51cto.com/murongqingqqq/1358385