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 //长格式查看该文件夹下的文档,若为文件夹,则右面后/标示,那么此文件夹 //下包含有两个文件夹
总计 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]# 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 ~]# ls
anaconda-ks.cfg Desktop install.log install.log.syslog
[root@localhost ~]# mkdir a
[root@localhost ~]# ls
a anaconda-ks.cfg Desktop install.log install.log.syslog
[root@localhost ~]# mkdir a
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
a anaconda-ks.cfg Desktop install.log install.log.syslog
[root@localhost ~]# ls -R
.:
a anaconda-ks.cfg Desktop install.log install.log.syslog
./a:
aa
./a/aa:
aaa
./a/aa/aaa:
./Desktop:
[root@localhost ~]#
第三个:创建链接文件之ln
1,不加参数的时候为创建硬链接,不可跨分区
[root@localhost ~]# ln /etc/passwd ./passwd //在root家目录创建/etc/passwd的硬链接
ln: 正在创建指向“/etc/passwd”的硬链接“./passwd”: 文件已存在
[root@localhost ~]# ll
总计 60
drwxr-xr-x 3 root root 4096 02-12 00:08 a
-rw------- 1 root root 1009 02-10 21:03 anaconda-ks.cfg
drwxr-xr-x 3 root root 4096 02-12 00:25 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
lrwxrwxrwx 1 root root 11 02-12 00:11 passwd -> /etc/passwd
[root@localhost ~]# ls
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
[root@localhost ~]# ll
总计 60
drwxr-xr-x 3 root root 4096 02-12 00:08 a
-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
lrwxrwxrwx 1 root root 11 02-12 00:11 passwd -> /etc/passwd
[root@localhost ~]#
第四个:复制之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 ~]# ls
a anaconda-ks.cfg Desktop install.log install.log.syslog passwd
[root@localhost ~]# touch file1
[root@localhost ~]# mv file1 file2 //将file1的名字改为file2
[root@localhost ~]# ls
a anaconda-ks.cfg Desktop file2 install.log install.log.syslog passwd
[root@localhost ~]# mv file2 Desktop/ //将file2移动到该目录下的Desktop目录下
[root@localhost ~]# ls Desktop/
file2 grub host.conf
[root@localhost ~]#
第六个:删除之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/
rm:是否进入目录 “grub/”?
//输入y一个一个删除,每一步都需要提示是否确认,这时加上-f参数取消提醒
[root@localhost Desktop]# rm -rf grub/ //-rf删除目录不带提醒的,强制递归删除
[root@localhost Desktop]# ls //grub目录被删除了
file2 host.conf
[root@localhost Desktop]#
rmdir只能删除一个空的目录,所以不需要使用了,知道rm -rf就能删除任何目录了,但是很危险
简单的命令我会记住,但是参数我却常常忘记,以此小记!