现在的位置: 首页 > 综合 > 正文

鸟哥的私房菜笔记(一)

2013年08月27日 ⁄ 综合 ⁄ 共 13142字 ⁄ 字号 评论关闭
1.Linux 基础指令



  • 显示日期的指令: date
  • 显示日历的指令: cal
  • 简单好用的计算器: bc

    一些按键的说明: 
在 Linux 底下有几个常用的按键,这里要给他说明一下,以方便你未来在文字接口操作的情况下,可以直接按下这些按键来帮你处理事务喔! 

  • Ctrl + c : 在 Linux 底下,如果您输入了错误的指令或参数,有的时候这个指令或程序会在系统底下『跑不停』这个时候怎么办?别担心,如果您想让当前的程序『停掉』的话,可以输入:『Ctrl』+『c』,这个就是中断目前程序的按键啦!
  • : 有很多程序在跑的时候(例如 man 这个指令或 more 这个指令),如果您想跳出来,就按下 q 即可!这个按钮也是很多指令常定义的退出钮
  • [Tab] :会不会觉得打字很疲劳啊!没关系,在 Linux 的预设文字接口 ( 我们称为 BASH Shell ) 当中,有个很棒的功能,叫做是『命令与档案补全』的功能!那就是键盘左边的[Tab]这个按键啦!他有什么好处呢?例如刚刚我们要执行 cal 这个指令对吧,这个时候,你只要输入
    ca[tab][tab] ,也就是输入 ca 之后,再按两次 [tab] 按键,您会发现什么事呢?啊!所以以 ca 为开头的指令都被显示出来啦!很棒吧!另外,如果你输入『 ls -al .bash[tab][tab]』会发生什么事呢?哈哈!在该目录下面所有以 .bash 的文件名称都会被显示出来!所以啰,你就会知道,[tab] 按键是『很棒的功能!』在文字接口底下,要多按
    [tab] 按键,可以避免打错字或下错指令喔

    • 将数据同步写入硬盘中的指令: sync
    • 最正确的关机指令: shutdown
    • 重新开机: reboot
    • 关机啰: halt
  • 我想要知道 2003 年 5 月 2 日是星期几?该怎么做? 
    最简单的方式直接使用 cal 5 2003 即可找出 2003 年 5 月份的月历。
  • 使用 man date 然后找出显示目前的日期与时间的参数,成为类似:2002/10/16-20:03 
    date +%Y/%m/%d-%H:%M
  • 若以 X-Window 为预设的登入方式,那请问如何进入 Virtual console 呢? 
    s可以按下 [Ctrl] + [Alt] + [F1] ~ [F6] 进入 Virtual console ( 共六个 ); 
    而按下 [Ctrl] + [Alt] + [F8] 或 [F7] 可回到 X-Window 的 desktop 中!

2.目录

整个 Linux 的树状目录会制程下图:


请注意,每个目录都是依附在 / 这个根目录底下的,所以我们在安装的时候一定要有一个 / 对应的 partition 才能安装的原因即在于此!这也就是我们俗称的『树状目录』啰! 
  
每个目录的大致内容如下表所示: 
 

/bin 这是放例如: ls, mv, rm, mkdir, rmdir, gzip, tar, telnet, 及 ftp 等等常用的执行档的地方(这些执行档的执行方法会在后面提到),有时候这个目录的内容与 /usr/bin 是一样的(有时候甚至会使用连结档哩),是给一般使用者使用的执行程序放置的所在!
/boot 没错,这里就是放置你 Linux 核心与开机相关档案的地方,这个目录底下的 vmlinuz-xxx 就是 Linux 的 Kernel 啦!粉重要的东西!而如果你的开机管理程序选择 grub 的话,那么这个目录内还有 /boot/grub 这个次目录呦!
/dev 摆放一些与装置有关的档案。基本上 Unix 或 Linux 系统均把装置当成是一个档案来看待,例如 /dev/fd0 代表软盘,亦即 Windows 系统下的 A 槽,而 /dev/cdrom 则代表光盘,等等!而如上所述,在这个目录底下的档案型态通常分为两种喔,分别是管理磁盘 Input/Output 的 Block 档案与周边的 Character 档案。
/etc 系统在开机过程中需要读取的档案均在这个目录中,例如 Lilo 的参数、人员的账号与密码、系统的主要设定、http 架站的参数内容、你所要开启的服务项目等等都在这个目录中,所以在这个目录下工作的时候,请记得一定要备份,否则档案被改掉了可是很麻烦的!
/etc/rc.d 这个路径主要在记录一些开关机过程中的 scripts 档案, scripts 有点像是 DOS 下的批次档(.bat檔名)
/etc/rc.d/init.d 所以服务预设的启动 scripts 都是放在这里的,例如要启动与关闭 iptables 的话,可以:  
/etc/rc.d/init.d/iptables start 
/etc/rc.d/init.d/iptables stop
/etc/xinetd.d 这个路径在较新的 Linux distribution 当中才有,由于早期的版本用来开启服务的档案是 inetd.conf ,但是在较新的版本中,开启服务的项目已经变成使用 xinetd.conf 这个档案,因此,你若需要启动一些额外的服务的话,在 Mandrake 9.0 或者是 Red Hat 7.0 以后就要到 /etc/xinetd.d 这个目录下了。
/etc/X11 这是与 X windows 有关的设定文件所在的目录,尤其里面的 XF86Config-4 更是重要呢!
/home 基本上,这是系统预设的使用者的家目录( home directory ),在你新增一般使用者账号的时候,预设的使用者家目录都在这里设定好啰!
/lib 在 Linux 执行或编译一些程序的时候,均会使用到一些函式库(library),就在这个目录下
/lost+fount 系统不正常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。例如你加装一棵硬盘于 /disk 中,那在这个目录下就会自动产生一个这样的目录 /disk/lost+found
/mnt 这是软盘与光盘预设挂载点的地方;通常软盘挂在 /mnt/floppy 下,而光盘挂在 /mnt/cdrom 下,不过也不一定啦!只要你高兴,随便找一个地方来挂载也可以呀!
/proc 系统核心与执行程序的一些信息。例如你的网络状态的问题啦!这个目录将在启动 Linux 的时候自动的被挂上,而且该目录底下不会占去硬盘空间!因为里面都是『内存』内的数据啦
/root 系统管理员的家目录
/sbin 放置一些系统管理常用的程序,例如: fdisk, mke2fs, fsck, mkswap, mount 等等。与 /bin 不太一样的地方,这个目录下的程序通常是给 root 等系统管理员使用的程序喔!
/tmp 这是让一般使用者暂时存放档案的地方,例如你在安装 Linux 下的软件时,可能软件预设的工作目录就是 /tmp ,所以你要定期的清理一下,当然,重要数据最好不要放在这里!
/usr 这是最重要的一个目录了,里面含有相当多的系统信息,内有许多目录,用来存放程序与指令等等。这个目录有点像是 Windows 底下的『Program Files』那个目录说~
/usr/bin 放置可执行程序,如前所说,这个目录的档案与 /bin 几乎是相同的。
/usr/include 一些套件的header檔。基本上,当我们在以 tarball 方式( *.tar.gz 的方式安装软件)安装某些数据时,会使用到的一些函式库都在这个目录底下喔!
/usr/lib 内含许多程序与子程序所需的函式库。
/usr/local 在你安装完了 Linux 之后,基本上所有的配备你都有了,但是软件总是可以升级的,例如你要升级你的 proxy 服务,则通常软件预设的安装地方就是在 /usr/local 中( local 是『当地』的意思),同时,安装完毕之后所得到的执行文件,为了与系统原先的执行文件有分别,因此升级后的执行档通常摆在 /usr/local/bin 这个地方。 

给个建议啦,通常 VBird 都会将后来才安装上去的软件放置在这里,因为便于管理呦!

/usr/sbin 放置管理者使用程序,与 /sbin 类似的功能
/usr/share/doc 放置一些系统说明文件的地方,例如你安装了 lilo 了,那么在该目录底下找一找,就可以查到 lilo 的说明文件了!很是便利!
/usr/share/man 放置一些程序的说明文件的地方,那是什么?呵呵!就是你使用 man 的时候,会去查询的路径呀!例如你使用 man ls 这个指令时,就会查出 /usr/share/man/man1/ls.1.bz2 这个说明档的内容啰!
/usr/src 这是放置核心原始码的预设目录,未来我们要编译核心的时候,就必须到这个目录底下呦!
/usr/X11R6 X Window System存放相关档案的目录
/var 这个目录可就重要了!所有服务的登录文件或错误讯息档案(log files)都在 /var/log 里面,此外,一些数据库如 MySQL 的数据库则在 /var/lib 里头,此外,使用者未读邮件邮件的预设放置地点为 /var/spool/mail !呵呵!你说重不重要呀!?

 

2.档案与目录管理

  • 绝对路径:路径的写法『一定由根目录 / 写起』,例如: /usr/share/doc 这个目录。
  • 相对路径:路径的写法『不是由 / 写起』,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:『cd ../man』这就是相对路径的写法啦!

    目录与路径的几个常用的指令:

      • cd     变换目录
      • pwd    显示目前的目录
      • mkdir 建立一个新目录
      • rmdir 删除一个里面是空的空目录  
        .     代表此层目录 
        ..    代表上层目录 
        ~     代表自己的家目录 
        ~user 代表到 user 这个人的家目录

  • cd 
    语法
    [root @test /root ]# cd [相对路径或绝对路径]  
    参数说明: 
    路径有『相对路径』与『绝对路径』的分别,请千万小心啰! 
    范例: 
    [root @test /root]# cd ..       <==回到上一层目录 
    [root @test /root]# cd ../home     <==相对路径的写法 
    [root @test /root]# cd /var/www/html  <==绝对路径的写法 
    [root @test /etc]# cd         <==回到使用者的家目录 
    [root @test /etc]# cd ~         <==回到使用者的家目录! 
    [root @test /etc]# cd ~test      <==回到 test 这个使用者的家目录

    说明: 
    cd 是 change directory 的缩写,这是用来变换工作路径的指令。注意,路径与 cd 指令之间存在一个空格!一登入 Linux 系统后,root 会在 root 的家目录,亦即 /root 下,至于使用者会在预设的 /home/username 底下,例如鸟哥的 ID 为 vbird ,则以 vbird 的身份登入后,会到 /home/vbird 这个路径下。OK!那回到上一层可以用『 cd .. 』而到相对路径可到『 cd ../bird』,至于绝对路径则是 cd /usr/sbin !注意喔,在前面的提示字符会改变路径名称!此外,家目录还有一个代码,那就是『
    ~ 』符号
    !例如上面的例子可以发现,使用『 cd ~ 』可以回到个人的家目录里头去呢!此外,如果你的 Linux 主机当中有个 testing 的账号,你要到他的家目录去,可以下达『 cd ~testing』立刻去到 testing 的家目录啰! 
      


  • pwd 
    语法
    [root @test /root ]# pwd  
    范例: 
    [root @test root]# cd /home/test 
    [root @test test]# pwd  
    /home/test             <==显示目前你所在的目录呦!

    说明: 
    pwd 是 print working directory 的缩写,也就是显示目前所在目录的指令,例如在上个表格最后的目录是 /home/test 这个目录,但是提示字符仅显示 test ,如果你想要知道目前所在的目录,可以输入 pwd 即可:

  • mkdir 与 rmdir 管理目录: 
    那么要如何建立删除目录呢?很简单呀!就用 mkdir 与 rmdir ,看出来了吗?没错啦!就是 make/remove directory 的缩写说!看要怎么用吧! 
     
  • mkdir 
    语法
    [root @test /root ]# mkdir [-mp] [目录名称] 
    参数说明: 
    -m :设定档案的权限喔!直接设定,不需要看 umask 这个内容的脸色! 
    -p :帮助你直接将上面的目录递归建立起来! 
    范例: 
    [root @test /root]# cd tmp 
    [root @test /tmp]# mkdir test<==建立名称为 test 的目录 
    [root @test /tmp]# mkdir -p test1/test2/test3/test4 <==直接建立 test2...等上层目录 
    [root @test /tmp]# mkdir -m 711 testqq  <==建立权限为 711 的目录! 
    [root @test /tmp]# ll test* 
    drwxrwxr-x    2 test    test        4096 Feb  6 20:47 test/ 
    drwxrwxr-x    3 test    test        4096 Feb  6 20:48 test1/ 
    drwx--x--x    2 test    test        4096 Feb  6 20:48 testqq/

    说明: 
    如果想要建立新的目录的话,那么就使用 mkdir 吧! 不过,请注意呦!在预设的情况下,你所需要的目录得一层一层的建立才行!例如:假如你要建立一个目录为 /home/bird/testing/test1,那么首先必须要有 /home 然后 /home/bird ,再来 /home/bird/testing 都必须要存在,才可以建立 test1 这个目录!假如没有 /home/bird/testing 时,就没有办法建立 test1 的目录啰!不过,现在有个更简单有效的方法啦!那就是加上 -p 这个参数喔!你可以直接下达:『 mkdir
    -p /home/bird/testing
    』则系统会自动的帮你将 /home, /home/bird, /home/bird/testing 依序的建立起目录!并且,如果该目录本来就已经存在时,系统也不会显示错误讯息喔!挺快乐的吧! ^_^ 
      


  • rmdir 
    语法
    [root @test /root ]# rmdir [-p] [目录名称] 
    参数说明: 
    -p :将上层的目录也删除吧! 
    范例: 
    [root @test /root]# rmdir test<==删除名称为 test 的目录 
    [root @test tmp]# ll 
    drwxrwxr-x    3 test    test        4096 Feb  6 20:48 test1/ 
    [root @test tmp]# rmdir test1 
    rmdir: `test1': Directory not empty 
    [root @test tmp]# rmdir -p test1/test2/test3/test4 
    [root @test tmp]$ ll

    说明: 
    如果想要建立删除旧有的目录时,就使用 rmdir 吧!例如将刚刚建立的 test 杀掉,使用 rmdir test 即可!请注意呦!目录需要一层一层的删除才行!而且被删除的目录里面必定不能还有其它的目录或档案!那如果要将所有目录下的东西都杀掉呢?!这个时候就必须使用 rm -rf test 啰!不过,还是使用 rmdir 比较不危险!不过,你也可以尝试以 -p 的参数加入,来删除上层的目录喔!

    ls 显示文件名称、属性等 
    cp 拷贝档案或目录 
    rm 删除档案或目录 
    mv 移动档案或目录 

    ls 
    语法

    [root @test /root ]# ls [-ailS] 
    参数说明: 
    -a       :全部的档案都列出(连同隐藏档) 
    -i       :印出 inode 的值 
    -l       :长的列出,连同档案大小的数据等等 
    -S       :以档案大小排序 
    --color=never     :不要显示颜色 
    --color=always    :均显示颜色 
    --color=auto      :由系统自行判断! 
    范例: 
    [root @test /root]# ls -al 
    total 48 
    drwxr-x---    4 root     root         4096 Mar 10 00:37 . 
    drwxr-xr-x   21 root     root         4096 Mar 10 20:16 .. 
    -rw-------    1 root     root          524 Mar 10 00:40 .bash_history 
    -rw-r--r--    1 root     root           24 Jun 11  2000 .bash_logout 
    -rw-r--r--    1 root     root          266 Jun 11  2000 .bash_profile 
    -rw-r--r--    1 root     root          249 Mar  6 20:50 .bashrc 
    -rw-r--r--    1 root     root          210 Jun 11  2000 .cshrc 
    drwx------    2 root     root         4096 Mar  9 11:06 .gnupg 
    -rw-------    1 root     root          524 Jan 16 14:37 .mysql_history 
    drwx------    2 root     root         4096 Mar  9 11:06 .ssh 
    -rw-r--r--    1 root     root          196 Jul 11  2000 .tcshrc 
    -rw-r--r--    1 root     root         1126 Aug 24  1995 .Xresources 
    [root @test /]# ls 
    bin   dev    etc   lib         misc  opt   root  tftpboot  usr 
    boot  disk1  home  lost+found  mnt   proc  sbin  tmp       var 
    [root @test /]# ls --color=never 
    bin   dev    etc   lib         misc  opt   root  tftpboot  usr 
    boot  disk1  home  lost+found  mnt   proc  sbin  tmp       var 
    [root @test /]# ls -al|

    ls='ls --color=never'这样就可以把颜色去到了

    cp 
    语法

    [root @test /root ]# cp [-drsu] [来源档] [目的档] 
    参数说明: 
    -d     :在进行 copy 的时候,如果是 copy 到 link 档案,若不加任何参数,则预设情况中会将 link 到的源文件 
           copy 到目的地,若加 -d 时,则 link 档案可原封不动的将 link 这个快捷方式其拷贝到目的地! 
    -r     :可以进行目录的 copy 呦! 
    -s          :做成连结档,而不 copy 之意!与 ln 指令相同功能! 
    -u, --update:如果来源档比较新,或者是没有目的档,那么才会进行 copy 的动作!可用于备份的动作中! 
    范例: 
    [root @test /root]# cp    .bashrc bashrc      <==将 .bashrc 拷贝成 bashrc 这个档案! 
    [root @test /root]# cp -r /bin /tmp/bin        <==这个功能就好玩啦!这是用来
    copy 整个目录的参数!
     
    [root @test /root]# cp -s .bashrc bashrc         <==将
    .bashrc 建立一个连结档,档名为 bashrc
     
    [root @test /root]# cp -u /home/.bashrc .bashrc  <==先检查 /home/.bashrc
    是否与 .bashrc 不同,如果不同的话就开始 copy 一份!如果相同则不做任何动作!

    说明: 
    这个指令会常用到的呦!因为我们得常常需要 copy 资料呀!所以需要了解一下喔!如果你有些很大档案的需要备份,偏偏这个档案的更新率很低,那么每次备份都需要在 copy 一份吗?看来是不需要了!你可以使用『cp -u 来源档 目的档』来备份呦!如此一来,当档案被改变过后,才会进行 copy 的动作!

    rm 
    语法

    [root @test /root ]# rm [-fir] [檔名] 
    参数说明: 
    -i     :提供使用者确认(这是默认值) 
    -r     :循环,就是一直杀掉,直到没有东西为止的意思 
    -f     :force ,就是强力杀掉啦! 
    范例: 
    [root @test /root]# cp .bashrc bashrc<==建立一个新档案, bashrc 
    [root @test /root]# rm bashrc          
    <==会显示如下的提示:
     
    rm: remove `bashrc'? 
    [root @test /root]# mkdir testing 
    [root @test /root]# cp .bashrc testing 
    [root @test /root]# rmdir testing 
    rmdir: `testing': Directory not empty   <==由于 testing 里面有 .bashrc ,所以砍不掉! 
    [root @test /root]# rm -rf testing      <==持续删除该目录下的所有档案与目录

    说明: 
    这是移除的指令,相当于 dos 下的 del 指令!这里要注意的是,通常在 Linux 系统下,为了怕档案被误杀,所以都已经有 -i 这个参数, -i 是指每个档案被杀掉之前都会让使用者确认一次,以预防误杀档案!而如果要连目录下的东西都一起杀掉的话,例如子目录里面还有子目录时,那就要使用 -rf 这个参数了!不过,使用『 rm -rf 』这个指令之前,请千万注意了,因为,该目录或档案『肯定』会被
    root 杀掉
    !因为系统不会再次询问你是否要砍掉呦! 所以那是个超级严重的指令下达呦!得特别注意!不过,如果你确定该目录不要了,那么使用 rm -rf 来循环杀掉是不错的方式! 
    mv 
    语法

    [root @test /root ]# mv [-u] [来源档] [目的档] 
    参数说明: 
    -u   :同样的,为 update 的简写,当来源档比目的档还新的时后才会动作! 
    范例: 
    [root @test /root]# cp .bashrc bashrc 
    [root @test /root]# mv bashrc bashrc.old 
    [root @test /root]# mv bashrc bashrc2 /tmp<==将 bashrc 与 bashrc2 移动到 /tmp 这个目录下!请注意,最后一个才是最终的目标,其它的都是 SOURCE

    说明: 
    这是搬移的意思!当你要移动档案或目录的时后,呵呵!这个指令就很重要啦!同样的,你也可以使用 -u ( update )才测试新旧档案,看看是否需要搬移啰!另外一个用途就是『变更档名!』,我们可以很轻易的使用 mv 来变更一的档案的档名呢! 

  • basename 
    语法
    [root @test /root ]# basename [目录] 
    参数说明: 
    范例: 
    [root @test /root]# basename /usr/local/etc 
    etc 
    这个指令会将后面的[目录]仅撷取出最后面的那个目录或档案, 
    以上面的例子来看, /usr/local/etc 不论 etc 是目录或档案, 
    他都会被撷取出来,因为他是最后一个出现的咚咚!

    说明: 
    这个指令颇有点意思~他可以将一个目录或档案的最后一个咚咚秀出来!所以,未来如果你有要使用变量,并且取出最后一个数据(不论是档案还是目录),那么使用这个玩意儿就对啦! ^_^ 
      


  • dirname 
    语法
    [root @test /root ]# dirname [目录] 
    参数说明: 
    范例: 
    [root @test /root]# dirname /usr/local/etc 
    /usr/local 
    恰恰与 basename 相反,他仅是秀出来前面的『目录』部分喔!

    说明: 
    这个指令恰恰与 basename 相反的啦!呵呵!很好玩吧!这部份也最常用在我们第三部分要讲的 Shell 的学习中喔!用最多的地方应该是 scripts 啦!用这两个宝贝蛋来撷取部分数据的内容!有用的很!

    cat  由第一行开始显示档案内容 
    tac  从最后一行开始显示,可以看出 tac 是 cat 的倒着写! 
    more 一页一页的显示档案内容 
    less 与 more 类似,但是比 more 更好的是,他可以往前翻页! 
    head 只看头几行 
    tail 只看尾巴几行 
    nl   显示的时候,顺道输出 行号! 
    od   以二进制的方式读取档案内容!

  • cat 
    语法
    [root @test /root ]# cat [-nAE] 
    参数说明: 
    -n:   显示时,连行号印出屏幕上。 
    -A:   将 DOS 下的 <tab> 与断行字符都列出来! 
    -E:   将 DOS 编辑的文件中,仅列出 断行字符出来! 
    范例: 
    [root @test /root]# cat ~/.bashrc         <==显示 .bashrc 这个档案 
    # .bashrc

    # User specific aliases and functions 
    PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH" 
    alias rm='rm -i' 
    alias cp='cp -i' 
    alias mv='mv -i' 
    alias ll='ls -l --color=never'

    [root @test /root]# cat ~/.bashrc -n      <==显示 .bashrc
    并且加上行号!
     
         1  # .bashrc 
         2 
         3  # User specific aliases and functions 
         4  PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH" 
         6  alias rm='rm -i' 
         7  alias cp='cp -i' 
         8  alias mv='mv -i' 
         9  alias ll='ls -l --color=never'

    [root @test /root]# cat -A regexp.txt 
    This is a cat, however, I need a dog.^M$ 
    I want to "Happy" and <Happy> and /Happy/ here.^M$ 
    OK! ^Ieverythins is OK^M$ 
    Now, I will eat my food^M$ 
    are you ^Ifinished your work^M$ 
    what do you 123 goto where^M$ 
    显示出 DOS 档案的几个特殊符号,以上面档案为例, 
    可发现 ^M 为断行符号,而每行的 $ 为行尾符号, 
    至于 ^I 则是 <tab> 按键啦! 

    说明: 
    嘿嘿! Linux 里面有『猫』?!喔!不是的, cat 是 Concatenate (连续)的简写,主要的功能是将一个档案的内容连续的印出在屏幕上面!例如上面的例子中,我们将重要的参数档 .bashrc 印出来!如果加上 -n 的话,则每一行前面还会加上行号呦!cat 比较少用!毕竟当你的档案内容的行数超过 40 行以上,嘿嘿!根本来不及看!所以,配合 more 或者是 |more 来执行比较好!此外,如果是一般的 DOS 档案时,就需要特别留意一些奇奇怪怪的符号了,例如断行与<tab>等,要显示出来,就得加入
    -A 之类的参数了!。 
      


  • tac 
    语法
    [root @test /root ]# tac [檔名] 
    参数说明: 
    范例: 
    [root @test /root]# tac ~/.bashrc <==发现了没?反向印出呦! 
    fi 
            . /etc/bashrc 
    if [ -f /etc/bashrc ]; then 
    # Source global definitions

    alias h='history' 
    alias lm='ls -al|more' 
    alias ll='ls -l' 
    # alias ll='ls -l --color=never' 
    alias mv='mv -i' 
    alias cp='cp -i' 
    alias rm='rm -i'

    export PATH 
    PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH" 
    # User specific aliases and functions

    # .bashrc

    说明: 
    tac 这个好玩了!怎么说呢?详细的看一下, cat 与 tac ,有没有发现呀!对啦! tac 刚好是将 cat 反写过来,所以他的功能就跟 cat 相反啦, cat 是由『第一行到最后一行连续显示在屏幕上』,而 tac 则是『由最后一行到第一行反向在屏幕上显示出来』,很好玩吧! 
      


  • more 
    语法
    [root @test /root ]# more [檔名] 
    参数说明: 
    范例: 
    [root @test /root]# more ~/.bashrc  <==一页一页的显示档案内容
    [root @test /]# ls -al | more  <==一页一页的将 ls 的内容显示出来

    说明: 
    more 真是个很有用的指令!我好喜欢呦!当你的档案太大的时后,那么使用 cat 将没有办法看清楚!这个时候你可以使用 more 来做动作!more 也可以用来做为管线的同时执行之用!例如你在执行 find 这个寻找的指令时,可以同时使用 |more ,则搜寻结果可以一页一页的列出呦!关于管线( pipe )的用法我们在 bash shell 的地方再来谈! 
      


  • less 
    语法
    [root @test /root ]# less [檔名]  
    参数说明:  
    范例:  
    [root @test /root]# less ~/.bashrc 

    说明: 
    less 的用法比起 more 又更加的有弹性,怎么说呢?在 more 的时候,我们并没有办法向前面翻,只能往后面看,但若使用了 less 时,呵呵!就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,您瞧,是不是更容易使用来观看一个档案的内容了呢!? 
      
    more 与 less 的用途与用法真的是很广啦!首先,你可以在 more 与 less 的画面中进行『搜寻』的工作!如何进行呢?我们以 less 来说明好了,如果你想要知道 /etc/man.config 这个档案里面有没有一个叫做 GER 的大写字眼,那么可以: 
     

    [root @test /root ]# less /etc/man.config  
    按键说明: 
    /word:在 /etc/man.config 这个档案中搜寻 word 这个字符串的所在 
    q    :离开 less 的画面

      
    然后在输入 / 之后,光标会移动到最左下角等待输入,这个时候您只要输入你的字符串之后,就会自动的帮你找出来该关键词啰! 
      


  • head 
    语法
    [root @test /root ]# head [-n number] [檔名] 
    参数说明: 
    -n :显示 number 行 
    范例: 
    [root @test /root]# head ~/.bashrc  <==预设情况下,显示头十行
    [root @test /root]# head -n 20 ~/.bashrc<==显示头二十行!

    说明: 
    head 的英文意思就是『头』啦,那么这个东西的用法自然就是显示出一个档案的前几行啰!没错!就是这样!若没有加上 -n 这个参数时,预设只显示十行,若只要一行呢?那就加入『 head -n 1 filename 』即可! 
      


  • tail 
    语法
    [root @test /root ]# tail [-n number] [檔名] 
    参数说明: 
    -n :显示 number 行 
    范例: 
    [root @test /root]# tail ~/.bashrc 
    [root @test /root]# tail -n 5 ~/.bashrc <==只显示最后面五行!

    说明: 
    那么有 head 自然就有 tail ( 尾巴 ) 啰!没错!这个 tail 的用法跟 head 的用法差不多类似,只是显示的是后面几行就是了!预设也是显示十行,若要显示非十行,就加 -n number 的参数! 
     

    例题一:假如我想要显示 ~/.bashrc 的第 11 到第 20 行呢? 
    答:

    这个应该不算难,想一想,在第 11 到第 20 行,那么我取前 20 行,再取后十行,所以结果就是:『 

    抱歉!评论已关闭.