5、Linux下的基本操作--ls,mkdir,cd,cp,mv,rm,touch,ln,tar,man,su,mount,umount,shutdown 经过前面的几番折腾,我们终于可以专心的开始工作了。对于大多数人而言,Linux是一个完全陌生的系统。当我们登录进去以后,接下来该干什么呢?就让我们从最简单的开始吧。以下命令全部基于控制台,至于图形操作,请大家自己摸索,很简单的。
首先,看看我们的主目录下都有些什么。
$ls
testdir
ls是list的缩写,相当于DOS下的dir,它是我们在Linux下最常用到的命令之一。ls有许多的参数,其中常用的有:
ls -l long list文件的详细列表,相当于dir。
ls -a 查看隐藏文件,相当于dir/a。多个参数可以一起使用,比如ls -la,以列表形式查看当前目录下的所有文件(包括隐藏文件)。
需要注意的是,所有的Unix命令,在接参数的时候,命令与参数之间必须有一个空格。因此,ls -a正确,ls-a错误。这一点与MS-DOS是有区别的。ls不带参数,则相当于dir/w。
当目录下的文件太多了,显示太快根本看不清,怎么办?不要紧,我们可以用下面的命令
$ls | more //或者 ls | less 注意空格
这里我们使用了“管道(pipe)”的概念。简单讲,就是利用管道操作符|,将前一个命令的输出作为后一个命令的输入。ls的输出被用作more的输入,这时屏幕将一次显示一屏,然后用户按回车键往下一行行的滚屏(less与more类似,但是可以使用上下键进行滚屏,用起来更自然),退出就按q。
较新版本的Linux发行版中,ls命令的输出结果是彩色的。其中蓝色表示目录,绿色表示可执行文件,白色表示普通文件。这样我们就可以清晰的辨认各种文件了。
接下来,我们新建一个目录。
$mkdir Let_Us_Make_A_New_Directoy //我故意起这么长的名字,有目的的。
$ls
Let_Us_Make_A_New_Directoy testdir
$cd newdir //进入newdir
mkdir命令“人如其名”,没什么好说的;cd命令和MS-DOS下的也很像,但是要注意空格。Linux下的命名原则是,除了有特殊意义的ASCII字符不能用外,其他字符均可用作文件名;文件名区分大小写,不限长度。因此就有像我上面起的那种变态名字。但是在Linux下有个优点,就是有“命令补齐”功能。你只要输入前半部分,然后连按两下TAB键,系统就会将后半部分自动补齐。有多重选择时就会提示用户。这是熟练使用Unix系统的必备技巧。(在这里你甚至只需输入cd L,然后TAB两下就行了。因为当前目录下没有其它L开头的文件名。)
我们现在身处Let_Us_Make_A_New_Directoy这个变态目录中,让我们从testdir里拷个文件到这里。
$cp ../testdir/afile . //拷贝testdir目录里的afile文件到当前目录,也就是Let_Us_Make_A_New_Directoy目录
..指上一级目录,.指当前目录。这里使用的是相对路径,也可以使用绝对路径。
要拷贝整个目录,可以用下面的命令:
$cp -fr ../testdir . //拷贝testdir到当前目录
参数r告诉cp目标是目录,f强制执行。否则会收到testdir is a directory之类的警告。
mv(move)命令移动文件,相当于“剪切&粘贴”它还有一个作用,就是用它来更改文件名--mv oldname newname
要想删除文件,使用rm(remove)命令。
$cd .. //先从Let_Us_Make_A_New_Directoy里出来
$rm -fr Let_Us_Make_A_New_Directoy //删掉这个变态的目录
请特别注意,以上命令都涉及到用户的权限问题。权限制度在Unix中是严格执行的,用户被赋予不同的权限,文件也被设置许多权限。
例如下面的文件
$ls -l text.txt
-rw-rw-r-- 1 yea yea 30 6月 28 22:55 text.txt
文件text.txt的所有者为yea(就是我),所属用户组为yea,大小30字节,创建时间为6月28日22点55分,其权限为-rw-rw-r--。这个标记可以这样理解:-|rw-|rw-|r--,第一节表示类型,-为文件,d为目录,l为链接;后三节表示不同用户的使用权限,分别对应“所有者”,“所有者组群的用户”和“其他用户”,r是读,w是写,x是运行,没有权力就用-表示。因此上面的文件对于我和我同组的用户都有读和写的权力,对其他用户则是只读的。
明白了权限,就要知道,除了root,所有的人都要依权限办事。没有写的权限,就不能执行诸如mkdir,mv,cp,rm之类的命令。
要想新建一个文件,使用touch
$touch newfile
这样我们就建立了一个空文件newfile。给它做个链接。
$ln -s newfile newfile_link
$ls -l newfile*
-rw-rw-r-- 1 yea yea 0 6月 29 19:33 newfile
lrwxrwxrwx 1 yea yea 7 6月 29 19:35 newfile_link -> newfile
链接命令ln我们在前面配置系统的时候就已经接触过了,很容易掌握。这里我就不重复了。
还有tar命令,稍微复习一下。通常我们碰到的都是*.tar.gz文件,这是已经压缩好的文件,我们只要用tar vxzf filename直接解压归档即可。如果是*.tar.bz2,则是tar vxjf filename。两种文件只是压缩方式不同,一个用gzip压的,一个用bzip压的。
最后向大家介绍学习Linux的最直接也最权威的方法--使用系统的手册页man和info。碰到不懂的命令或是想知道某个命令的参数,就“man 命令”或是“info 命令”。
通常情况下,我们是以普通用户身分使用系统的。但是,有时我们需要编辑一些系统文件,或是安装软件,进行系统配置,这时我们就比须使用管理员身分了。而Unix是一个多用户、多进程的操作系统,因此我们不必退出或重启机器,而是直接使用su命令。
$su //升级为root
Password: //root的密码
# //你已经是root了
使用su还可以变成其他人,就是“su username”,然后输入相应的密码。做完工作后,使用exit退出。//你可以试试Ctrl-D
我们在Windows分区下还是有许多东西的,因此有时要把Windows分区挂接到系统上使用。挂接硬盘、分区,使用mount命令。
#mount -vfat /dev/hda5 /fat-d //把我的D盘装到/fat-d目录下。
vfat是指FAT32系统格式,/dev/hda5是我D盘的硬盘分区位置。其中hda指第一块IDE硬盘,1~4是主分区,5以后是逻辑分区。想要挂接USB设备,则是
#mount -vfat /dev/scd0 /mnt/usbdisk
使用完后要将设备卸载,卸载使用umount。特别注意,不是unmount,一字之差的结果就是command not found
#umount /mnt/usbdisk
这时你才能将USB设备从电脑上拔除,否则将损坏Linux的文件系统。//!!!特别强调,对于软盘也是;而光盘,你若不卸载则光驱门都打不开!!!
一般而言,安装卸载设备是需要root权限的。但是我们可以修改/etc/fstab文件,使普通用户也可以安装卸载设备。这里给出我的fstab文件,供大家参考。//请根据自己机器的配置编辑fstab文件,不要照搬我的。
============================My fstab file==============================
LABEL=/ / ext2 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
LABEL=/home /home ext2 defaults 1 2
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hda4 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner, 0 0
/dev/hda5 /fat-d vfat noauto,owner 0 0
============================My fstab file==============================
其中我的D盘、光驱、软驱就可以由我自己安装卸载使用。你可以将owner换成user,一样的。
最后谈谈关机的问题。任何一个系统都不能直接拔电源,这一点就连Windows也不例外。当我们结束工作,想关机退出的时候,应该使用下面的命令:
$shutdown -h now //立刻关机,关闭电源。
或者
$halt -p //效果同上
重启机器则是
$shutdown -r now
或者
$reboot
还可以使用“三指禅”——Ctrl-Alt-Delete
退出当前用户,而使用其他用户则是
$logout //Ctrl-D
学到这里,我们就基本不会在Linux世界里迷路了。大不了关了机器下去找本书看:)
6、Linux下的常用软件--Emacs 有了上面的基础,你已经可以自由的使用Linux的控制台了。但是,光靠这些,你还不能编辑和修改文件,不能归档和压缩(解压缩)文件,不能享受影音娱乐和多媒体。在控制台下,我们确实可以做很多事情,包括听音乐。下面我们来看看控制台下最强大的应用软件
Emacs是Linux下的强大的文本编辑环境,说它是一个单纯的文本编辑器就太小看它了。说出来别被吓到,Emacs可以编辑文件,浏览互联网,访问FTP,收发电子邮件,使用控制台命令,编译和调试程序等等。它简直可以充当一个操作系统了!但是,正是因为它拥有这么多的功能,使得想学习使用它的人必须经过一段痛苦的历程。Emacs实在是太复杂了。
让我们现来见识以下Emacs的庐山真面目吧。
$emacs newtext.txt //启动Emacs,用它来创建一个新文件newtext.txt
如果你是在控制台下开的Emacs,那你可以忽略最上面一行的菜单栏。它在控制台下是没用的。这一点和MS-DOS下的EDIT完全不同。开始的时候我就很不习惯没有Alt-F召唤出的菜单。但是这并不意味Emacs就没有菜单。它有。你按下F10看看(或者Esc-`)