Linux文件类别
普通文件,目录文件,链接文件,设备文件,管道文件
Linux目录结构
Linux系统以目录的方式来组织和管理系统中的所有文件。
文件系统为一个倒转的单根树状结构。
pwd
显示当前目录的绝对路径
su – root
切换用户,不加“-”,不会切换家目录
./ 当前目录
第二周
ls命令显示
1、ls
缺点:不能显示隐藏文件
2、ls –a
显示所有文件
注意:隐藏文件以“.”开头
3、ls –l
特点:显示文件的详细信息
4、ls –al
思考:改命令的作用
5、ls –ld
d选项的特点:可以查看目录本身的信息,如不加d选项,则是查看目录包含的文件信息。
6、ls –hl
h选项的作用:human,以人性化方式显示文件大小
cd命令切换目录
1、cd ..
作用:返回上级目录,“..”之前必须有空格!
“..”作用:表示上级目录
思考:什么是上级目录?
2、cd /tmp
tmp目录:该目录为linux的临时目录,用于存放临时文件。
思考:/boot为linux的什么目录?启动Linux核心文件
3、cd /root
思考:如果当前登录用户为普通用户,能否切换到root用户的家目录,为什么?
不能,权限不够
查看/root的权限,并理解各种群体拥有的权限。
结论:用户需要拥有对该目录的执行和读的权限,才能使用cd命令。
mkdir命令创建目录
-p 递归创建
1、cd /tmp
因为tmp为linux的临时目录,所以在该目录下的操作对linux的安全性影响较小,推荐练习时使用。
2、mkdir mulu1
注意:此时参数使用了相对路径
3、mkdir mulu2/mulu21
思考:改命令有没有报错?原因?如何解决?
报错,没有事先创建mulu2
解决方法:mkdir -p mulu2/mulu21 递归创建
4、mkdir mulu3 mulu4
该命令的特点:同时创建mulu3和mulu4两个目录,所以命令的参数可以有多个,但是多个参数之间需要用空格分隔开。
综合:1-4的命令在tmp中建立了多个子目录,请画出所有新建目录的“目录结构”,从tmp开始。
tmp/mulu1
tmp/mulu2/mulu21
tmp/mulu3
tmp/mulu4
rmdir命令删除目录
-p 递归删除
前提:在mkdir命令建立的“目录结构”基础上完成下列操作。
1、rmdir mulu1
要求:查看mulu1有无被删除。已删除
2、rmdir mulu2
思考:mulu2有无被删除?原因?
没有被删除,目录非空,只可以删除空目录
3、思考:以下两组命令的功能有何区别?
rmdir mulu2/mulu21 只删除mulu21
rmdir -p mulu2/mulu21 递归删除两个目录
综合:请总结删除mulu2/mulu21有哪些方法?
touch命令创建文件
1、cd /tmp
因为tmp为linux的临时目录,所以在该目录下的操作对linux的安全性影响较小,推荐练习时使用。
2、touch testfile
3、touch test file
4、touch “test file”
要求:依次执行2-4处的touch命令,观察结果“每次创建文件个数?文件名是什么?”
第一次1个为testfile
第二次2个分别为 test 和 file
第三次1个为test file
结论:若文件名中包含空格,则整个文件名需要用双引号引起来。
rm命令删除文件
-r 删除目录
-f 强制执行
-i 交互式删除
注意事项:linux没有回收站对象,使用删除命令需要谨慎,建议使用询问式删除。
前提:在前面touch命令建立的文件基础上完成下列操作。
1、rm -i test
特点:询问式删除,推荐使用
2、建立“/tmp/mulu1/mulu11”的目录结构
1)rmdir mulu1 思考:能否删除mulu1?原因?
不能,目录非空
2)rm mulu1 思考:能否删除mulu1?原因?
不能,删除目录要加 -r
3)rmdir -ir mulu1 思考:能否删除mulu1?-r选项的作用?
可以删除,-r 删除目录
小结:rmdir 命令比rm -r命令更加安全。为什么?
rm -r 删除后不可恢复
cp复制命令
-r 复制目录
-l 交互式复制
-p 保留文件属性
前提:/tmp目录中包含普通文件(test、file、test file、testfile1)和空目录文件(mulu1、mulu2)。
1、cd /tmp
cp test mulu1
要求:查看“原始test文件”及“mulu1中的test文件”的最近访问时间。
思考:如何在文件复制后访问时间不变,即保留原先属性。
解决方法:cp -p test mulu1
2、cp mulu1 mulu2
思考:cp命令能否执行?原因?
不能,默认复制文件,复制目录加-r
解决方法:cp -r mulu1 mulu2
3、cp test mulu1/newtest
思考:改命令的功能。复制的同时重命名
结论:linux可以在文件复制的同时对文件进行更名。
与windows的区别:windows复制过程不能对文件更名。
4、mkdir mulu3(在tmp目录中建立目录文件mulu3)
cp test file mulu2 mulu3
思考:该命令功能?
略过mulu2 将两个文件复制到mulu3
综合练习:
分析cp命令源参数和目标参数的所有可能状况?
mv移动命令
-i 交互式移动
前提:删除/tmp中的多余文件,使得该目录中包含普通文件(test、file、test file、testfile1)和空目录文件(mulu1、mulu2、mulu3)。
1、mv file mulu1
2、mv testfile1 mulu1/newtestfile1
思考:该命令的作用?移动的同时重命名
结论:mv命令可以对文件进行更名。
3、mv mulu3 mulu2 将mulu3移动到mulu2
mv mulu2 newmulu2 给mulu2重命名
思考:比较上述两条命令的区别
结论:mv命令可以进行目录和普通文件的更名。
综合练习:
分析mv命令源参数和目标参数的所有可能状况?
建议:
建议使用rm、cp、mv命令时,使用-i选项。
第三周
cat查看文件
-n 显示行号
前提:操作对象/ect/issue和/etc/services。(etc目录用于放置配置文件)
1、cat /etc/issue
2、cat -n /etc/issue
3、cat -n /etc/services
思考:长文件用cat命令浏览是否方便?不方便
more查看文件
4、more /etc/services
思考:more命令用于显示长文件,翻页、换行和结束浏览命令是什么?
空格翻页,回车换行,结束Q或q
缺点:more只能向下翻页,不能向上翻页。
less查看文件
5、less /etc/services
思考:less命令用于显示长文件,翻页、换行和结束浏览命令是什么?
上下键翻页(鼠标滚轮),回车换行,结束Q或q
优点:
1)less可以上下翻页。
2)less命令可以检索信息 /关键字
head查看文件
-n 指定显示行数(前几行)
6、head –n 10 /etc/services
head –n10 /etc/services
head –10 /etc/services
tail查看文件
-n 指定显示行数(后几行)
7、tail –n 20 /etc/services
tail –n 20 /etc/services
tail –20 /etc/services
注意: -n选项的使用。
grep命令查找字符串
在文件中搜寻字符串汽配的行并输出
-i 不区分大小写
-v 排除指定字符串
-n 加行号
1、
1)more /etc/inittab
注意:etc目录放置的是系统的配置文件。
2)grep multiuser /etc/inittab
思考:本次查找结果有什么特点?
只显示小写的
3)grep -i multiuser /etc/inittab
-i不区分大小写查找
注意:linux严格区分大小写!!
2、
1)more /etc/inittab
观察:#开头的行的作用?注释
2)grep -v “#” /etc/inittab
grep -v ^# /etc/inittab
比较:上述两个命令在查找时的区别?
没区别,功能一样
wc统计命令
-c 统计字节数
-l 统计行数
-w 统计字数
要求:创建文件,录入内容,并统计信息。
1、cd /tmp
2、touch testwc
3、echo “this is a testfile” 回车
显示>this is a testfile
echo “this is a testfile” >>testwc 回车
“ ” 添加的内容 >>指向添加到的文件
4、cat testwc
显示>this is a testfile
5、wc –l test
wc –w test
wc –c test
ln链接命令
-s 创建软链接
前提:将issue文件复制到tmp目录,再执行以下操作。
1、cd /tmp
要求:创建issue文件的硬链接文件issue.hard和软链接文件issue.soft,并查看三个文件的属性。
1) ln issue issue.hard
2) ln -s issue issue.soft
3) ls -l issue issue.hard issue.soft
2、touch test
要求:创建test文件的硬链接文件test.hard,向test文件录入内容,并浏览test和test.hard的内容。
1) ln test test.hard
2) echo “original file” >> test
3) cat test
4) cat test.hard
5) echo “hardlinkfile” >>test.hard
6) cat test
7) cat test.hard
8) ls -i test
9) ls -i test.hard
结论:原始文件和硬链接文件具有相同的i结点。
要求:创建test的软链接文件test.soft,删除test,浏览test.hard和test.soft文件的内容。
1) ln -s test test.soft
2) rm test
3) cat test.soft
4) cat test.hard
软连接 ln -s 源文件 目标文件
可以对普通文件、目录、不存在的文件名进行连接
类似于Windows的快捷方式 比较小
软连接文件的权限都是 777的
源文件删除 访问软连接文件会出现错误提示
硬链接 ln 源文件 目标文件
硬链接的文件属性和源文件一样
硬链接文件是对源文件的复制 并且同时更新
不能对目录进行连接
源文件删除 硬链接文件依然存在 并且可以访问
第四周
chmod、umask、chown命令
r-4 w-2 x-1
1、1)cd /tmp
2)touch test
3)mkdir mulu1
4)ls -l test
5)ls -ld mulu1
思考:新建立的文件和文件夹的默认权限(针对所有者、所属组、其他人)775
6)umask 查看默认权限
7)umask -S
8)umask 777
9)touch testtest
4)ls -l testtest
注意:linux默认权限可以修改,但是一般不要修改!!
2、chmod命令的权限设置方法:一是文字设定法;二是数字设定法。
思考:什么人可以修改权限?普通用户和root用户
1)chmod u+x,g+x test
2)ls -l test
3)chmod 777 test
4)ls -l test
自由练习:用文字设定法和数字设定法任意更改test文件的权限。
本部分内容要求:1)知道如何查看各类文件的权限;2)知道如何修改各类文件的权限;3)明白各种权限的含义
3、以root用户身份登录
1)mkdir mulu2
2)chmod 000 mulu2
3)ls mulu2
4)chmod 005 mulu2
思考:ls命令能否执行?原因?
能执行,因为root无视任何权限
切换用户身份,以xxgc身份登录
4)ls mulu2
5)cd mulu2
6)touch mulu2/testfile
思考:4)—–6)命令是否可以执行?原因?
4)可以执行,其他用户有x权限
5)可以执行,其他用户有r权限
6)不可以执行,权限不够,其他用户没有写权限
4、ls -l /tmp
要求:找出所有者为root的文件1,和所有者为xxgc的文件2,进行如下操作。
chown root 文件2 改命令能否执行?不能
chown xxgc 文件1 改命令能否执行?不能
只能在root用户下使用该命令
gzip命令
1、1)mkdir /tmp/mulu1
2)touch /tmp/test
3)gzip /tmp/mulu1
思考:改命令能否执行?原因?
不能,该命令只能压缩文件,不能压缩目录
4)gzip /tmp/test
思考:思考:改命令能否执行?原因?
可以执行,test是普通文件
5)ls /tmp
思考:gzip命令的特点?(只能压缩文件,不能压缩目录;自动生成.gz格式的压缩文件;源文件被删除)
6)gunzip test.gz
7)ls /tmp
思考:gunzip命令的特点?(自动解压文件,源文件被删除)
bzip2命令
1、cp /etc/services /tmp
2、mkdir mulu1
3、bzip2 –k services
4、bzip2 -k mulu1 不能执行
5、gzip services
6、ls /tmp
7、ls -l /etc/services services.gz services.bz2
思考:bzip2命令的特点(只能压缩文件,不能压缩目录;自动生成.bz2格式的压缩文件;k选项可以保留源文件;bzip2比gzip压缩比率高)
8、bunzip2 services.bz2
9、ls /tmp
思考:bunzip2命令的特点?(自动解压文件,不加k选项源文件被删除)
tar命令
1、1)mkdir /tmp/mulu1
2)cp /etc/services /tmp/mulu1
3)tar -cvf mulu1.tar mulu1 只归档mulu1
4)ls -l /tmp/mulu1.tar
5)gzip mulu1.tar 压缩归档文件mulu1.tar
6)rm mulu1.tar.gz
7)tar -zcvf mulu1.tar.gz mulu1 直接归档并压缩
8)rm -r mulu1
9)tar -zxvf mulu1.tar.gz
思考:tar解压命令保留源文件。
10)touch /tmp/test1 /tmp/test2 /tmp/test3
11)tar -cvzf yasuo.tar.gz /tmp/test1 /tmp/test2 /tmp/test3
思考:tar可以压缩目录,也可以压缩文件。
zip命令
1、mkdir /tmp/mulu1
touch /tmp/test
cp /ect/services /tmp
2、zip /tmp/mulu1.zip /tmp/mulu1
思考:改命令能否执行?原因?
不能执行,压缩目录要加-r
3、zip -r /tmp/mulu1.zip /tmp/mulu1
4、zip /tmp/services.zip /tmp/services
5、ls /tmp
6、gzip services
7、ls -l services.zip services.gz
对比:两类压缩文件的压缩比,总结zip的特点?(可以压缩文件,也可以压缩目录;压缩后保留源文件;但是压缩比不如gzip)

8、rm -r /tmp/mulu1
rm /tmp/services
9、unzip mulu1.zip
unzip services.zip

第五周
passwd文件
1、ls -l /etc/passwd
查看:passwd文件的权限、所有者、所属组信息?
2、思考:使用什么命令查看passwd文件的内容?
cat、 less、 more、vim
3、思考:针对passwd文件,使用什么命令可以统计linux用户信息?
wc –l passwd

shadow文件
1、ls -l /etc/shadow
查看:shadow文件的权限、所有者、所属组信息?

2、思考:时间戳计算方法?

把时间戳换算成时间:

把时间换算成时间戳:

group文件
1、ls -l /etc/group
查看:group文件的权限、所有者、所属组信息?

2、思考:如何查看group文件中某个组名对应的初始用户?
1)vim /etc/group
在group文件中找到要查找的组名

2)vim /etc/passwd
在passwd文件中找到该组名对应的用户即为初始用户

gshadow文件
1、ls -l /etc/gshadow
查看:gshadow文件的权限、所有者、所属组信息?

useradd命令
添加用户后创建的文件

1、useradd user1
查看:passwd文件、shadow文件、group文件和gshadow文件的新增信息?
passwd文件

shadow文件

group文件

gshadow

2、尝试:能否以user1身份登录?原因?
不能,没有设置用户密码
3、思考以下命令的功能?
1) useradd -c “xxgc student” user2
-c用户说明:手动指定用户的说明
2) useradd -G user1 user3
-G组名:指定用户的附加组
passwd命令
1、以root用户身份登录
1)passwd user1
2)passwd root
注意:root用户可以更改自己的密码,也可以更改其他用户的密码。
2、现在能否以user1用户身份登录?(如果可以执行如下命令)
1)passwd user1

2)passwd root
思考:以上命令能否执行?原因?

可以执行,root拥有最高权限
注意:普通用户只能够更改自己的密码。
3、分析一下两个命令的功能?
1)passwd -l user1

查看shadow文件user1行的密码信息。

2)passwd -u user1

查看shadow文件user1行的密码信息。

userdel命令
由于篇幅太长,为了提高访问速度,剩余部分需评论查看
echo $name

评论前必须登录!
注册