SlackwareLinux实战手记之操作篇

发表于:2007-07-04来源:作者:点击数: 标签:
5、Linux下的基本操作--ls,mkdir,cd,cp,mv,rm,touch,ln,tar,man,su,mount,umount,shu td own 经过前面的几番折腾,我们终于可以专心的开始工作了。对于大多数人而言,Linux是一个完全陌生的系统。当我们登录进去以后,接下来该干什么呢?就让我们从最简单

  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-`)。那就是它的菜单。你可以按照它的提示使用。退出菜单用Ctrl-g或者连按三下ESC(这是退出一切Emacs命令的通用方法)。
  我们已经新建了一个文件,你现在可以直接输入文字了。这和普通的文本编辑器没区别。
  保存文件的方法是“Ctrl-x Ctrl-s”;文件另存为是“Ctrl-x Ctrl-w”;打开新文件是“Crtl-x Ctrl-f”;退出Emacs是“Ctrl-x Ctrl-c”。还是那句老话——晕头转向了就退出,没什么可怕的。
  在Emacs里有很多向上面的使用组合键的命令。这也是Emacs的复杂之处,需要背的命令太多。记不住了,你可以使用它的菜单。在X下你可以使用鼠标和它的菜单栏(菜单栏这时才有用)。
  Emacs是支持多文本多窗口同时编辑的。因此你可以打开多个文件,然后在不同的“窗口”中切换。——注意,Emacs中用Buffer(缓冲区)表示我们平常概念中的窗口,你就当它是一块内存区域。我们用菜单查看现存的Buffer:Esc-` b
  看到现有的各个Buffer了吗?你可以用提示你的按键切换到那个Buffer中。
  我说过,Emacs是一个集成的编辑环境,它可以运行Shell,这就是它的伟大之处,也是世界上顶尖黑客喜爱它的缘故。让我们试试。
  Alt-x shell
  Emacs就会乖乖的打开一个新Buffer,而你的控制台提示符就在你眼前。还不试试前面学的各种命令。不过用完了要记得exit退出(这里不能用Ctrl-D)。

原文转自:http://www.ltesting.net