linux文件命令基础练习.doc
《linux文件命令基础练习.doc》由会员分享,可在线阅读,更多相关《linux文件命令基础练习.doc(8页珍藏版)》请在冰豆网上搜索。
练习一:
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/newdir
mkdirnewdir
mkdir–p目录名
Ø 删除目录命令:
使用rm命令删除刚才创建的newdir空目录(问题:
如果newdir目录下有文件的话,应该使用什么命令删除这个目录?
rm常用的选项含义是什么?
)
rmnewdir
rm–rfnewdir
2、文件操作命令练习:
在SHELL终端中完成以下操作
Ø 在当前用户主目录下创建Temp目录和Backup目录。
mkdirTemp
mkdirBackup
Ø 在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.bak
lessprofile.bak
Ø 利用head和tail命令查看profile.bak文件前五行和后五行的内容。
head-5profile.bak
tail–5profile.bak
3、扩展练习:
在SHELL终端中练习以下命令(并记录结果,回答所提问题):
Ø 帮助命令man:
使用man命令查看ls命令的帮助手册(问题:
如何使用ls命令将目录下的文件按修改时间排序,按文件大小排序如何做?
)
ls–lt
ls–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-X status -c
none -U time -t
size -S atime -u
time -t access -u
version -v use -u
-t 以文件修改时间排序
-u 配合-lt:
显示访问时间而且依访问时间排序
配合-l:
显示访问时间但根据名称排序,否则,根据访问时间排序
-U 不进行排序;依文件系统原有的次序列出项目
-v