第二章Linux终端操作课件.ppt
第二章Linux磁盘文件管理2.0Linux终端操作l终端:是一种字符型设备,类似于windows下的MS-DOS方式,可以执行Linux的shell命令。lshell作为操作系统的外壳,为用户提供使用操作系统的接口,是命令语言、命令解释程序及程序设计语言的统称。lshell种类:Bourneshell(sh)Cshell(csh)Kornshell(ksh)BourneAgainshell(Bash)Linux默认的ShellLinuxShell命令的特点1l命令行历史l命令补齐l别名扩展LinuxShell命令的特点2l命令输入输出可以重定向:输出重定向:输出重定向(追加)l命令输出可以被管道使用管道符号:|例如ls-l|grep“myfile”0:标准输入1:标准输出2:标准出错如何获取终端命令的帮助?lmancommandlinfocommandlcommand-help*其中command为需要帮助的shell命令2.1FileSystemlext2,ext3lswaplvfatlNFSlISO96602.2Directoryl目录结构的特点:单根的树状结构没有盘符的概念,例如c盘等系统的目录有特殊的意义,不能随便更改系统的大多设置在/etc目录下每个用户都有自己的主目录,一般为/home/username常见的目录结构主要目录的描述/bin该目录中存放Linux的常用命令。/boot该目录下存放的都是系统启动时要用到的程序/dev该目录包含了Linux系统中使用的所有外部设备/etc该目录存放了系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文件、设备配置信息、设置用户信息等。/sbin该目录用来存放系统管理员的系统管理程序。/home如果建立一个名为“xx”的用户,那么在/home目录下就有一个对应的“/home/xx”路径,用来存放该用户的主目录。/mnt该目录一般是空的,可以将别的文件系统挂在该目录下。/proc可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的/root如果你是以超级用户的身份登录的,这个就是超级用户的主目录/tmp用来存放不同程序执行时产生的临时文件/usr用户的很多应用程序和文件都存放在该目录下2.3Linux文件类型l普通文件,目录文件,链接文件,特殊文件(管道文件,设备文件等)l可以使用file命令查看文件类型文件属性文件数拥有者组文件大小建档日期文件名 drwx-2Guest users1024 Nov 21 21:05Mail-rwx-x-x1root root 89080 Nov 7 22:41tar-rwxr-xr-x1root bin5013 Aug 159:32uname lrwxrwxrwx1 root root4 Nov 2419:30zcat-gzip-rwxr-xr-x1root bin308364 Nov 297:43zsh -rwsr-x-1root bin9853 Aug 155:46su-:普通文件 d:目录文件 l:链接文件 p:管道文件 c:字符设备文件 b:块设备文件目录文件的基本操作命令l察看目录l建立/删除/改变目录l显示文件内容l查找文件或目录l安装/卸载文件系统l文件/目录的权限修改察看目录lslls-l以长格式显示文件lls-a显示所有文件,包括隐含文件lls-d显示目录的内容vbirdtsai/$ls-l vbirdtsai/$ls-l total 153 total 153 drwxr-xr-xdrwxr-xr-x2 root2 root root root 4096 Feb 10 02:06 4096 Feb 10 02:06 binbin drwxr-xr-xdrwxr-xr-x3 root3 root root root 4096 Feb 4096 Feb9 22:05 9 22:05 mntmnt drwx-drwx-4 root4 root root root 4096 Feb 16 15:25 4096 Feb 16 15:25 rootroot drwxr-xr-xdrwxr-xr-x 16 root 16 root root root 4096 Feb 10 01:28 4096 Feb 10 01:28 usrusr-rwx-x-x-rwx-x-x 1 root 1 root root root14226 Feb 10 01:28 14226 Feb 10 01:28 hellohello-rw-r-r-rw-r-r-1 root 1 root root root34342 Feb 10 01:28 readme34342 Feb 10 01:28 readme显示文件内容catvbirdtsai/$catfile1显示file1的内容1111111111111111111111111vbirdtsai/$catfile2 显示file2的内容2222222222222222222222222vbirdtsai/$catfile1file2file3把file1和file2合并到file3中vbirdtsai/$catfile3显示file3的内容11111111111111111111111112222222222222222222222222vbirdtsai/$head-1file3显示file3的内容1111111111111111111111111vbirdtsai/$tail-1file3显示file3的内容2222222222222222222222222显示文件内容head/taillheadnfilename:显示文件前面的n行ltail+n/-nfilename:从文件开头结尾第n行开始显示文件的内容#head3testthisisline1thisisline2thisisline3#tail-4testthisisline5thisisline6thisisline7thisisline8文件test:thisisline1thisisline2thisisline3thisisline4thisisline5thisisline6thisisline7thisisline8显示文件内容more/lessl分页显示文件l都可以前后翻页lless具有更多的功能,例如搜索等#lessfilename#morefilename文件内容查询grepl按指定的模式搜索文件,在文件中查找指定的字符串,并打印出文件名和匹配的行命令格式:grep选项查找模式文件名列表#grepscheduleschedule.c#grep-ntask_structschedule.c#grepTrueFFS./*_*类似的程序还有egrep,fgrepdiff:文件比较$difffile1file2_*通常使用diff命令制作程序的补丁*通常使用patch命令打补丁文件内容统计wcl统计文件中单词的个数lwc选项文件名l选项:-c:字符数-l:行数-w:字数#wc-lcwREADME303226514242README文件或目录的查找findlfind目录选项l选项:-namefilename-sizexk:-userusername-atimen-typex(d,l,f)-execcommand;#find./-nameaa#find/bin-atime+10#find.-typef-execls-l;-rw-r-r-1rootroot349282003-02-25./conf/httpd.conf-rw-r-r-1rootroot129592003-02-25./conf/magic-rw-r-r-1rootroot1802003-02-25./conf.d/READMEmount/umount:文件系统安装和卸载lmount:挂接一个文件系统lumount:卸载一个文件系统#mkdir/mnt/c/*挂接第一个硬盘的第一分区内的文件系统到目录/mnt/c下。*/#mount/dev/hda1/mnt/c.#umount/dev/hda1orumount/mnt/c/*卸载*/文件复制、移动和删除lcpsrcdstlmvsrcdstlrmfilenametouch:更新文件的访问时间和修改时间$toucha如果制定的文件不存在,则自动生成一个空的文件ln:创建链接文件$ln-smyfilenewfile软链接文件:符号链接链接文件newfile的内容为myfile文件的路径,删除符号链接文件,不影响源文件$lnmyfilenewfile硬链接文件:和源文件指向同一文件,删除硬链接文件,会删除源文件文件/目录的权限修改l使用方式:chmod-cfvRmodefile.mode:权限设定字串ugoa.+-=rwx,其中:u表示拥有者,g表示组,o表示其他用户,a表示所有。+表示增加权限、-表示取消权限、=表示设定r表示可读取,w表示可写入,x表示可执行。chmod举例l设置file1.txt设为所有人皆可读取:chmodugo+rfile1.txt或者chmoda+rfile1.txtl将档案file1.txt与file2.txt设为该文件主和组内可写,其他用户不可写:chmodug+w,o-wfile1.txtfile2.txtl将ex1.py设定为只有文件主可以执行:chmodu+xex1.pyl将目录下的所有文件与子目录皆设为任何人可读取:chmod-Ra+r*chmodl此外也可以用三个数字来分别表示文件主、组和其它用户的权限。usergroupotherrwx rwxrwx-每一个可以取值0/1如果要表示user可以读写,不能执行,则为(110)2=6如果要表示group可以写,不能写和执行,则为(100)2=4如果要表示other不能读写和执行,则为(000)2=0设置以上权限的命令为:chmod640file_*chmoda=rwxfile和chmod777file效果相同*chmodug=rwx,o=xfile和chmod771file效果相同改变文件的属主和组别lchownuser:groupfilenamerootminiroko#mkdir-p/opt/ora9/product/9.2rootminiroko#mkdir/var/opt/oraclerootminiroko#chownoracle/var/opt/oraclerootminiroko#chown-Roracle:dba/opt/ora9lchgrpgroupnamefilename只修改组rootminiroko#chgrp-Rroot/opt/test目录操作mkdirrmdirpwdcdlmkdirlrmdirlpwdlcd2.4系统管理命令l系统当前用户l进程运行状态l中止进程l系统使用状态l网络状态l路由跟踪l用户消息发送基本命令lunameldf:已安装文件系统的使用情况ldu:目录及其子目录下文件的大小lfree:内存的使用情况luptime:系统已运行的时间su普通用户临时切换到root身份$suPassword:*#user_command#exit$_$:普通用户提示符#:超级用户提示符shutdown:关机rootFedoraroot#shutdownr0rootFedoraroot#shutdownrnowrootFedoraroot#shutdownr+20“Bye”rootFedoraroot#shutdownh0rootFedoraroot#shutdownh12:00who:查看系统当前用户lwho命令:该命令主要用于查看当前在线上的用户情况。系统管理员可以使用who命令监视每个登录的用户此时此刻的所作所为。lw命令:该命令也用于显示登录到系统的用户情况,但是与who不同的是,w命令功能更加强大,它不但可以显示有谁登录到系统,还可以显示出这些用户当前正在进行的工作,w命令是who命令的一个增强版who-l#who-lroot +tty1 Oct 7 16:19 .3506 LOGIN tty2 Oct 7 16:19 3507 id=2 wyg +tty3 Oct 7 16:19 00:03 3508 LOGIN tty4 Oct 7 16:19 3509 id=4 LOGIN tty5 Oct 7 16:19 3510 id=5 lhua +tty6 Oct 7 16:20 00:03 3511 w-l#w-l 16:25:25 up 6 min,3 users,load average:0.07,0.07,0.04USER TTY FROM LOGIN IDLE JCPU PCPU WHATroot tty1 -4:19pm 0.00s 0.10s 0.00s w-l wyg tty3 -4:19pm 5:31 0.02s 0.02s -bash lhua tty6 -4:20pm 5:24 0.02s 0.02s -bash#w-f16:26:14 up 7 min,3 users,load average:0.03,0.06,0.04USER TTY LOGIN IDLE JCPU PCPU WHATroot tty1 4:19pm 0.00s 0.13s 0.01s w-f wyg tty3 4:19pm 6:20 0.02s 0.02s -bash lhua tty6 4:20pm 6:13 0.02s 0.02s -bashps:进程运行状态#ps-aux USER PID%CPU%MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.6 0.1 1368 468?S 16:18 0:04 init 3 root 3 0.0 0.0 0 0?SW 16:18 0:00 kapmdroot 3508 0.0 0.4 2356 1216?S 16:19 0:00 loginroot 3511 0.0 0.4 2272 1124?S 16:19 0:00 loginroot 3512 0.0 0.5 5624 1472 tty1 S 16:19 0:00-bashwyg 3582 0.0 0.5 5552 1388 tty3 S 16:19 0:00-bashlhua 3617 0.0 0.5 5552 1376 tty6 S 16:20 0:00-bashwyg 3746 0.0 0.2 2632 684 tty3 R 16:29 0:00 ps-auxkill:中止进程#ps-u wyg PID TTY TIME CMD 3582 tty3 00:00:00 bash 3781 tty3 00:00:00 find#kill 3781#ps-u wyg PID TTY TIME CMD 3582 tty3 00:00:00 bashkill所能发送的信号与版本有关#kill-l1)SIGHUP2)SIGINT3)SIGQUIT4)SIGILL5)SIGTRAP6)SIGABRT7)SIGBUS8)SIGFPE9)SIGKILL10)SIGUSR111)SIGSEGV12)SIGUSR213)SIGPIPE14)SIGALRM15)SIGTERM17)SIGCHLD18)SIGCONT19)SIGSTOP20)SIGTSTP21)SIGTTIN22)SIGTTOU23)SIGURG24)SIGXCPU25)SIGXFSZ26)SIGVTALRM27)SIGPROF28)SIGWINCH 29)SIGIO30)SIGPWR31)SIGSYS33)SIGRTMIN#kill-93781/给3781号进程发送信号SIGKILLtop:系统使用状态top-I1m16:33:29up14min,3users,loadaverage:0.37,0.14,0.0555processes:54sleeping,1running,0zombie,0stoppedCPUstates:0.6%user1.1%system0.0%nice0.0%iowait98.2%idleMem:255264kav,106012kused,149252kfree,0kshrd,46644kbuff76196kactv,152kin_d,316kin_cSwap:273064kav,0kused,273064kfree22440kcachedPIDUSERPRINISIZERSSSHARESTAT%CPU%MEMTIMECPUCOMMAND3790wyg150792792640D0.90.30:000find3791root19010401040844R0.00.40:000topnetstat:网络状态显示路由表Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface192.168.1.0 *255.255.255.0 U 0 0 0 eth0169.254.0.0 *255.255.0.0 U 0 0 0 eth0127.0.0.0 *255.0.0.0 U 0 0 0 lodefault remote1 0.0.0.0 UG 0 0 0 eth0网络相关的主要命令lifconfiglnetstatltraceroutelroute网络接口配置命令:ifconfigifconfigifconfigeth0ifconfigeth0202.117.130.74ifconfigeth0netmask255.255.255.0broadcast202.117.130.255ifconfigeth0upifconfig结果分析Ifconfigeth0/显示网络接口eth0的信息eth0Linkencap:EthernetHWaddr00:A0:CC:60:B7:G4inetaddr:192.168.100.5Bcast:192.168.100.255Mask:255.255.255.0UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1RXpackets:161930errors:1dropped:0overruns:0frame:0TXpackets:244570errors:0dropped:0overruns:0carrier:0collisions:475txqueuelen:100RXbytes:55075551(52.5Mb)TXbytes:178108895(169.8Mb)Interrupt:10Baseaddress:0 x9000网关设置命令:routerouteadd/deldefaultgw10.65.0.2routeadd/del0.0.0.0gateway10.65.0.2route显示路由信息route结果分析KernelIProutingtableDestinationGatewayGenmaskFlagsMetricRefUseIface202.117.13.0*255.255.255.0 U0049eth0192.168.1.0*255.255.255.0U 00655eth1127.0.0.0*255.0.0.0 U 0013lodefaultdefault 202.117.13.1202.117.13.1 0.0.0.00.0.0.0UGUG1104834eth004834eth0netstat显示tcp状态netstat-tActiveInternetconnections(w/oservers)ProtoRecv-QSend-QLocalAddressForeignAddressStatetcp01192.168.1.102:32779webmail.xiyou.ed:telnetSYN_SENTtcp00192.168.1.102:32780webmail.xiyou.edu.:pop3ESTABLISHED显示udp状态netstat-u显示网络接口状态netstat-IKernelInterfacetableIfaceMTUMetRX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFlgeth01500031300019000BMRUlo1643606800068000LRUtraceroute:路由跟踪ltraceroute用户消息发送lwalllwriteuserttynameltalkuserttyname2.4.6文本编辑器vilvi是Unix世界里最为常用的文本编辑器lvi有两种工作状态:命令状态:commandmode输入状态:inputmodecommandmodeinputmodei,a,o,insert键等ESC键插入命令(注意字母大小写)li在光标前插入文本lI在此行开始插入文本la在光标后插入文本lA在此行未插入文本lo在当前行下面加一空行并进入输入方式lO在当前行上面加一空行并进入输入方式*使用插入命令后,vi从commandmode进入inputmode删除、复制、移动命令lx删除当前字符ld$删除当前行中从光标往后的所有字符ld0删除当前行中从光标往前的所有字符ldd删除当前行lndd删除光标所在位置之下的n行l:n1,n2d删除n1行到n2行(在最后一行状态)lyy将当前行复制到缓冲区lnyy将光标所在位置之下的n行文本复制到缓冲区lp将上一次删除或复制的文本复制到光标的下方lP将上一次删除或复制的文本复制到光标的上方查找字符命令l/要查找的字符串(回车):查找光标位置之后的字符串l?要查找的字符串(回车):查找光标位置之前的字符串ln继续向同一方向查找匹配的字符串lN继续进行反方向查找匹配的字符串l在查找的字符串中可使用通配符*和?常用功能选项的设置l:set显示与缺省不同的设置l:setall显示所有设置l:setai/noai自动/不自动缩进l:setnu/nonu显示/不显示行号l:setlist/nolist显示/不显示不可打印字符l:setshowmode/noshowmode显示/不显示当前操作模式l:setts=4设置键为4个空格l:setic/noic忽略/不忽略大小写文件的读写和退出l:w将缓冲区内容写入原文件l:wfile2将缓冲区内容写入文件file2l:wfile2将缓冲区内容附加到文件file2的后面l:q退出vil:q!强行退出vi,不改写文件l:rfile2将file2中的内容读入到缓冲区当前行后l:wq存盘退出l:!shell执行shell命令l:!退出shell命令2.5建立与使用文件系统l创建分区l建立文件系统l挂载文件系统fdisk:创建分区#fdisk/dev/had#fdisk-lmkfs:建立文件系统l使用不同的文件系统格式化/dev/sda1:#mkfs.ext2/dev/sda1#mkfs.ext3/dev/sda1#mkfs.reiserfs/dev/sda1l设置卷标:#ellabel/dev/sda1my-usbl查找文件系统名称:#findfsLABEL=my-usbl文件系统检查:#e2fsck/dev/hda1mount/umount:挂载/卸载文件系统lhttp:/ftp.gnu.org/gnu/lhttp:/ 中文中文man手册手册