Linux入门学习——文件的查看与移动
一,Linux的系统结构
linux是一个倒树结构
linux中所有的东西都是文件
这些文件都在系统顶级目录“/” /就是根目录
/目录以下为二级目录这些目录都是系统装机时系统自动建立的
二级目录的作用
/bin 二进制可执行文件也就是系统命令
/sbin 系统管理命令存放位置
/boot 启动分区,负责系统启动
/dev 设备管理文件
/etc 大多数系统管理文件
/home 普通用户的家目录
/lib 32位系统库文件存放位置
/lib64 64位系统库文件存放位置
/media 系统临时设备挂载点
/mnt 系统临时设备挂载点
/run 系统临时设备挂载点
/opt 第三方软件安装位置
/proc 系统信息
/root 超级用户家目录
/srv,/var 系统数据
/sys 系统管理,主要是关于内核的
/tmp 系统临时文件存放位置
/usr 系统用户相关信息数据及用户自定义软件存放位置
二,文件的寻址
绝对路径
文件在系统的真实位置,文件名字以“/”开头
相对路径
文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值
三,文件的管理
#####1.touch 建立文件或修改文件时间戳(这个修改文件的时间戳是比较重要的,要记忆一下他的用法)####
touch file ##创建文件
##### 2.mkdir 建立目录 ####
mkdir directory ##创建目录
-p ##上级目录不存在自动建立(也叫递归创建)
#### 3.rm 删除 ####
rm -f ##强行删除不提示
-r ##删除目录
#### 4.cat|head|tail 查看文件内
cat|head|tail ##文件内容查看命令
#### 5.vim 文本方式编辑文件 ####
vim filename 进入到命令模式除目录或文件 ####
命令模式不能编辑文件,如果要编辑文件要进入插入模式
按"i"进入插入模式
如果完成编辑,按”esc“推出插入模式,输入”:wq“ 保存退出
vim filename 如果文件名字不存在,会自动创建
vim 没有操作对象直接打开,编辑文件后要 :wq filename
vim这个命令会比较重要,因为他存在一个容错性,之后基本所有的文件修改都会用到这个命令。
######## 6.cd 切换工作目录 ############
cd directory ##切换工作目录到指定目录
cd - ##切换工作目录到之前所在目录
cd ~ ##切换到自己的家目录
cd ~usernmae ##切换到指定用户家目录
cd .. ##进入到当前目录的上级目录
cd命令没什么好说的,记下吧,很有用的。
######## 7.ls 列出目录或文件信息 ######
ls ##如果后面没有目标那么默认目标为当前目录
ls direcory|filename ##列出文件或目录内容
ls -d direcotry ##列出目录本身
ls -l filename|dorectory ##列出文件或目录里面内容的属性
ls -ld directory ##列出目录本身属性
ls -a ##显示目录中的所有内容,包括以"."开头的隐藏文件
ls -R ##第归显示目录中的内容
这里头比较重要的应该就算是列出隐藏文件和列出文件或目录里面内容的属性了,因为到后面我们会学到修改文件的读写以及可执行的属性,所以记录一下
#### 8.cp 文件复制 ####
cp是新建文件的过程
cp file file1 file2 ... directory ###把file file1 file2 复制到 directory中
cp file test ###建立test文件模板为file
cp -r directory direcotry1 ###复制目录
#### 9.mv 移动或重命名 ####
相同磁盘的mv是重命名,不同磁盘的mv是复制删除过程
mv file file1 direcotry ##移动file file1到directory中
mv 存在文件 不存在文件 ##重命名文件
mv westos/linux . ##把westos中的linux移动到当前目录 .代表当前目录
mv与cp的用法相近,这里不做演示,但是mv和cp有一个很大的差别,这也是以后要用到的,就是mv改变文件并不会改变文件的时间戳,而cp则会改变,我一直都非常强调时间戳的重要性,所以在以后的学习中也会时刻关注时间戳对这个文件的影响。
四,正则表达式
* ###匹配0到任意字符
? ###匹配单个字符
[[:alpha:]] ###匹配单个字母
[[:lower:]] ###匹配单个小写字母
[[:upper:]] ###匹配单个大写字母
[[:digit:]] ###匹配单个数字
[[:alnum:]] ###匹配单个数字或字母
[[:punct:]] ###匹配单个符号
[[:space:]] ###匹配单个空格
{}表示不存在的或者存在的
{1..9} ###1-9
{a..f} ###a-f
{1,3,5} ###135
{a,c,e} ###a c e
{1..3}{a..c} ###1a 2a 3a 2a 2b 2c 3a 3b 3c
[]表示存在的
[a-C] ###aA bB cC
[a-c] ###aA或者bB或者c
[1-3] ###1或者2或者3
[145] ###1或者4或者5
[^abc]|[!abc] ###除了a并且除了b并且除了c
~ ###当前用户家目录
~username ###指定的用户家目录
~+ ###当前目录
~- ###当前目录之前所在目录
. ###当前目录
.. ###当前目录的上一级
正则表达式算是一种通配符,就像一提到英文单词就是abcd,一提到阿拉伯数字就是1234,通配符在任何一个需要的地方都可以使用,就像上边提到的cd切换至家目录,你同样可以cd后跟~username,这样就可以切换到指定用户的家目录中去,这样讲也是为了方便理解。