2.5.1用户主目录
可能在网上查阅资料的时候会出现用户主目录这么一个名词,那他是什么呢???
前面已经说了,我们的Linux是多用户的网络系统!所以,我们可以在Linux下创建多个用户,每个用户都会有自己专属的空间。
- 所以,在创建用户时,系统管理员会给每个用户建立一个主目录,通常在
/home/
目录下 - 比如:用户osmond的主目录为:
/home/osmond
用户对自己主目录的文件拥有所有权,可以在自己的主目录下进行相关操作。
三、常用的命令
上面说了一堆的基础概念,这是给我们敲命令之前打了一点基础,在敲命令的同时也会遇到一些比较重要的知识点的。那就到时候再说说了~~~
3.1常用的文件、目录操作命令
这是我们使用得最多的命令了,Linux最基础的命令!
- 可用
pwd
命令查看用户的当前目录 - 可用
cd
命令来切换目录 .
表示当前目录..
表示当前目录的上一级目录(父目录)-
表示用 cd 命令切换目录前所在的目录~
表示用户主目录的绝对路径名
绝对路径:
- 以斜线(/)开头 ,描述到文件位置的完整说明 ,任何时候你想指定文件名的时候都可以使用
相对路径 :
- 不以斜线(/)开头 ,指定相对于你的当前工作目录而言的位置 ,可以被用作指定文件名的简捷方式
tips:输入命令的时候要常用tab键来补全
ls
:显示文件或目录信息mkdir
:当前目录下创建一个空目录rmdir
:要求目录为空touch
:生成一个空文件或更改文件的时间cp
:复制文件或目录mv
:移动文件或目录、文件或目录改名rm
:删除文件或目录ln
:建立链接文件find
:查找文件file/stat
:查看文件类型或文件属性信息cat:
查看文本文件内容more:
可以分页看less:
不仅可以分页,还可以方便地搜索,回翻等操作tail -10
: 查看文件的尾部的10行head -20
:查看文件的头部20行echo
:把内容重定向到指定的文件中 ,有则打开,无则创建管道命令 |
:将前面的结果给后面的命令,例如:ls -la | wc
,将ls的结果加油wc命令来统计字数重定向 > 是覆盖模式,>> 是追加模式
,例如:echo "Java3y,zhen de hen xihuan ni" > qingshu.txt
把左边的输出放到右边的文件里去
学了这些命令我们能干嘛?其实就是在Windows下复制文件、粘贴文件、创建文件、查看文件这几种~~~
3.1.1常用的文件、目录操作练习题
巩固一下基础,来做做题目:
- (1)Linux的shell程序默认是
bash 程序
; - (2)Linux命令格式包含三个部分,分别是:
命令
、选项
、参数
; - (3)Linux命令选项前为单个减号(-),后面一般为
单字符
,选项前为双减号(--),后面一般为单词
; - (4)Linux命令中使用的通配符有
? * []
; - (5)命令 ls /usr/bin/w* 的效果是
列出指定目录下的所有以w开头的文件或目录
; - (6)命令 ls /usr/bin/w?? 的效果是
列出指定目录下的以w开头名称长度为3的所有文件或目录
; - (7)命令 ls /usr/bin/[xyz]* 的效果是
列出指定目录下的文件名以x或y或z开头的所有文件或目录
; - (8)命令 ls /usr/bin/[!a-h]* 的效果是
列出指定目录下的文件名不以a到h区间字母开头的所有文件或目录
; - (9)目录操作时,“.” 表示
当前目录
; - (10)目录操作时,“..” 表示
上一级目录
; - (11)目录操作时,“-” 表示
上一次工作目录
; - (12)目录操作时,“~” 表示
用户主目录
; - (13)命令ln可以建立文件链接,这种链接分为:
硬链接
和软链接
; - (14)命令touch可以改变文件的三种时间,分别是:
access time
、modify time
、change time
;
进入/tmp目录,建立一个文件,goldXX(XX为学号的末两位),查看文件的时间
在账户的主目录中,建立一个dog目录,进入dog目录后,建立一个catXX(XX为学号的末两位)目录,进入catXX目录,显示当前目录;然后返回上一级目录,删除catXX目录;
复制/etc/passwd文件到账户主目录,修改账户主目录下passwd为passwdXX(XX为学号的末两位)
查找文件名叫做zcat的文件;复制该文件到/tmp目录;用长格式列出该文件;然后删除/tmp目录下的所有文件,并检查文件是否已被删除
复制/etc/hosts文件到账户主目录下;在账户主目录中建立一个硬链接文件(文件名为hostsYYY(YYY为学生姓名拼音缩写)),链接到主目录下的hosts文件;分别查看hosts和hostsYYY的文件的inode信息
复制/usr/bin/vdir文件到账户主目录下;在账户主目录中建立一个软链接文件(文件名为newdir),链接到主目录下的vdir文件;分别查看vdir和newdir的文件的inode信息
用长格式列出目录/usr/bin目录下的所有文件,输出重新定向到文件outXX(XX为学生学号末两位),检查结果;用长格式列出目录/etc目录下的所有文件,输出结果补充到文件outXX末尾
用长格式列出/usr/bin目录下的所有文件,通过管道与more命令连接,实现对文件列表的浏览
>和>>
有何区别?
答:>
是覆盖方式重定向到新的文件;>>
是以补充方式,添加到原文件的末尾。
通过管道和more命令,浏览文件列表方便在哪里?
答:对于文件列表超出一个屏幕显示的情况,这种方式可以分屏浏览,比较方便。
3.2文件打包和压缩命令
在Windows操作系统下,我们会使用WinRAR或者快压等等的压缩软件来进行压缩或者解压。
在Linux下当然也存在压缩或解压的操作咯,下面我们就来学习一下在Linux下是怎么压缩和解压的!
压缩的方式也是有好几种,我们常用的有下面这三种:
- gzip
- bzip2
- tar
常用的压缩的命令就有:
gzip filename
bzip2 filename
tar -czvf filename
常用的解压命令有:
gzip -d filename.gz
bzip2 -d filename.bz2
tar -xzvf filename.tar.gz
3.3正则表达式+grep
上面我们已经学过了cat、more、less、tail
这些查看文本文件的命令了,但是我想快速查看这个文本文件下的某些关键字是否存在,那怎么办???
在Windows下就比较简单的,几乎所有的文本编辑器(记事本)都支持CTRL+F
,往里面输入关键字就可查找出来:
那在Linux下,没有图形界面,没有CTRL+F
的情况下,如果不懂一些命令的话,那还真是难找对应的字符出来。下面我就来说说如何快速查找一个文本文件下的某些字符。
3.3.1正则表达式
首先我们就来说说正则表达式,如果接触过的同学就知道:这玩意并不好记。一旦不用就很容易就忘记了,所以只能在用的时候查查了~~~所以下面我就直接给出一些规则了,不多说啦。