练习一:Shell基础命令(1)一、练习目的1、掌握目录和文件操作的常用命令。二、练习内容1、目录操作命令练习:在SHELL终端中练习以下命令(并记录结果,回答所提问题):假设当前用户是zsc,查看当前目录命令:pwd(问题:当前的路径是什么?绝对路径与相对路径区别是什么?命令提示符由哪几部分组成?)/home/zsc命令提示符组成部分:用户名、z主机名、当前路径[root@localhost~]查看目录内容命令:ls-al(问题:隐藏文件有何特点?显示文件属性的每一行信息各部分的含义是什么?,怎样查看目录自身属性信息?)隐藏文件名的前面有个小数点每一条信息各部分含义分别是:文件类型、文件权限、硬链接文件个数、文件所有者、文件所属组、文件实际大小、最后修改时间、文件名称Ls–dl·dwxr-x----16root409603-2422:55(1)·-一般文件·d目录文件·l符号链接文件·b块设备文件·c字符型设备文件(2)r表示读权限W表示写权限x表示执行权限(3)数字(如16)代表文件链接切换目录命令:使用cd命令从当前目录切换到上一层目录(问题:上一层目录是什么?使用绝对路径的方式切换到上层目录,命令应该写什么?使用相对路径的方式切换到上层目录,命令应该写什么?“..”表示什么意思?“.”表示什么意思?)上一层目录是:/home使用绝对路径的方式切换到上层目录:cd/home使用相对路径的方式切换到上层目录:cd..(1)”.”表示当前目录(2)”..”表示上级目录(3)”../..”表示上一级目录创建目录命令:使用mkdir命令在当前用户主目录下创建一个newdir目录(问题:分别使用绝对路径和相对路径的方式创建,命令分别是什么?如果想一次创建多级目录,应该使用什么命令选项?)mkdir/home/zsc/newdirmkdirnewdirmkdir–p目录名删除目录命令:使用rm命令删除刚才创建的newdir空目录(问题:如果newdir目录下有文件的话,应该使用什么命令删除这个目录?rm常用的选项含义是什么?)rmnewdirrm–rfnewdir2、文件操作命令练习:在SHELL终端中完成以下操作在当前用户主目录下创建Temp目录和Backup目录。mkdirTempmkdirBackup在Temp目录下创建一个新的空文件,文件名为newfile.txt。touchnewfile.txt将系统文件/etc/profile复制到Backup目录下,并改名为profile.bak。如果存在就备份原来文件。cp–b/etc/profileBackup/profile.bak将Temp目录复制到Backup目录下,cp–rTempBackup利用cat命令查看profile.bak文件的内容。catprofile.bak利用more和less命令查看profile.bak文件的内容。提示:q键退出查看模式。(more与less的区别是什么?)moreprofile.baklessprofile.bak利用head和tail命令查看profile.bak文件前五行和后五行的内容。head-5profile.baktail–5profile.bak3、扩展练习:在SHELL终端中练习以下命令(并记录结果,回答所提问题):帮助命令man:使用man命令查看ls命令的帮助手册(问题:如何使用ls命令将目录下的文件按修改时间排序,按文件大小排序如何做?)ls–ltls–S(-S与-s区别是什么?)-s-size以块大小为单位列出所有文件的大小-S根据文件大小排序使用ls–l命令查看/home目录的权限(问题:用户zsc能在/home目录下直接使用mkdir命令创建目录吗?为什么?不能,因为用户zsc和所属组没有权限在/home下创建目录使用命令touchHello.java在用户主目录下创建一个Java源程序文件(问题:Hello.java的所有者和所属组分别是什么?zsc用户对此文件具有哪些权限?试一试zsc用户能执行这个文件吗?)文件file1的所有者和所属组是zsc,zsc用户对文件file1有读写权限,zsc用户不能执行这个文件,。在root用户主目录下使用命令mkdirrootdir创建一个目录(问题:zsc用户对rootdir目录具有哪些权限?)zsc用户对rootdir目录有读取和执行的权限附录(linux系统ls命令详解):ls命令是linux下最常用的命令。ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。通过ls命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等,ls命令在日常的linux操作中用的很多,在此给大家介绍一下ls命令的使用方法。一、ls命令使用介绍ls命令格式:ls[选项][目录名]。ls命令功能:列出目标目录中所有的子目录和文件。ls命令的参数选项说明:-a,–all列出目录下的所有文件,包括以.开头的隐含文件。-A,–almost-all列出除了.及..以外的任何项目–author印出每个文件的作者-b,–escape把文件名中不可输出的字符用反斜杠加字符编号的形式列出。–block-size=大小块以指定大小的字节为单位-B,–ignore-backups不列出任何以~字符结束的项目-c输出文件的ctime(文件状态最后更改的时间),并根据ctime排序。-C每栏由上至下列出项目–color[=WHEN]控制是否使用色彩分辨文件。WHEN可以是‘never’、‘always’或‘auto’其中之一-d,–directory将目录象文件一样显示,而不是显示其下的文件。-D,–dired产生适合Emacs的dired模式使用的结果-f对输出的文件不进行排序,-aU选项生效,-lst选项失效-F,–classify加上file.html'target='_blank'文件类型的指示符号(*/=@|其中一个)–format=关键字across-x,commas-m,horizontal-x,long-l,single-column-1,verbose-l,vertical-C–full-time即-l–time-style=full-iso-g类似-l,但不列出所有者-G,–no-group不列出任何有关组的信息-h,–human-readable以容易理解的格式列出文件大小(例如1K234M2G)–si类似-h,但文件大小取1000的次方而不是1024-H,–dereference-command-line使用命令列中的符号链接指示的真正目的地–indicator-style=方式指定在每个项目名称后加上指示符号方式:none(默认),classify(-F),file-type(-p)-i,–inode印出每个文件的inode号-I,–ignore=样式不印出任何符合shell万用字符样式的项目-k即–block-size=1K,以k字节的形式表示文件的大小。-l列出文件的详细信息。-L,–dereference当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息-m所有项目以逗号分隔,并填满整行行宽-n,–numeric-uid-gid类似-l,用数字的UID,GID代替名称。-N,–literal印出未经处理的项目名称(例如不特别处理控制字符)-o类似-l,显示文件的除组信息外的详细信息。-p,-F在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。-q,–hide-control-chars以?字符代替无法打印的字符–show-control-chars直接显示无法打印的字符(这是默认方式,除非调用的程序名称是‘ls’而且是在终端机画面输出结果)-Q,–quote-name将项目名称括上双引号–quoting-style=方式使用指定的quoting方式显示项目的名称:literal、locale、shell、shell-always、c、escape-r,–reverse依相反次序排列-R,–recursive同时列出所有子目录层-s,–size以块大小为单位列出所有文件的大小-S根据文件大小排序–sort=WORD以下是可选用的WORD和它们代表的相应选项:extension-Xstatus-cnone-Utime-tsize-Satime-utime-taccess-uversion-vuse-u-t以文件修改时间排序-u配合-lt:显示访问时间而且依访问时间排序配合-l:显示访问时间但根据名称排序,否则,根据访问时间排序-U不进行排序;依文件系统原有的次序列出项目-v根据版本进行排序-w,–width=COLS自行指定屏幕宽度而不使用目前的数值-x逐行列出项目而不是逐栏列出-X根据扩展名排序-1每行只列出一个文件–help显示此帮助信息并离开–version显示版本信息并离开下面来举几个例子来说明Linuxls命令如何使用。二、ls命令使用举例1列出/linux/ls-file文件夹下的所有文件和目录的详细资料。[linux~]$ls-l-R/linux/ls-file输入上面的命令回车后,就会显示目录下所有文件的详细信息在使用ls命令时要注意命令的格式:在命令提示符后,首先是命令的关键字,接下来是命令参数,在命令参数之前要有一短横线“-”,所有的命令参数都有特定的作用,自己可以根据需要选用一个或者多个参数,在命令参数的后面是命令的操作对象。在以上这条命令“”ls-l-R/linux/ls-file”中,”ls”是命令关键字,”-l-R”是参数,”/linux/ls-file”是命令的操作对象。在这条命令中,使用到了两个参数,分别为”l”和”R”,你也可以把他们放在一起使用,如下所示:[linux~]$ls-lR/linux/ls-file这种形式和上面的命令形式执行的结果是完全一样的。2只列出子目录1.ls-F|grep/$2.ls-l|grep“^d”3列出目前工作目录下所有名称是s开头的档案,愈新的排愈后面,可以使用如下命令:ls-ltrs*4将/linux目录以下所有目录及档案详细资料列出:ls-lR/linux5列出目前工作目录下所有档案及目录;目录于名称后加”/”,可执行档于名称后加”*”:ls-AF用ls-l命令查看某一个目录会得到一个9个字段的列表.第1行显示的信息:总用量(total)—这个数值是该目录下所有文件及目录列表第5个字段的和(以k为单位),也就是该目录的大小.linux-david:~#ls--helpUsage:ls[OPTION]...[FILE]...ListinformationabouttheFILEs(thecurrentdirectorybydefault).Sortentriesalphabeticallyifnoneof-cftuvSUXnor--sort.Mandatoryargumentstolongoptionsaremandatoryforshortoptionstoo.-a,--alldonotignoreentriesstartingwith.-A,--almost-alldonotlistimplied.and..--authorwith-l,printtheauthorofeachfile-b,--escapeprintC-styleescapesfornongraphiccharacters--block-size=SIZEscalesizesbySIZEbeforeprintingthem.E.g.,`--block-size=M'printssizesinunits