Linux基本命令
Linux系统下的文件类型、权限、所属用户与组
-
文件类型
- (文件)
d(目录) ->类似windows系统下的文件夹
l (链接) ->类似windows系统下的快捷方式 -
文件权限分为三种:
1.可读 r(read)
2.可写 w(write)
3.可执行 x(针对于脚本文件,比如shell脚本)
ps. 特殊字符 - 表示没有任何权限
pps. 还可以用数字表示权限
r w x
22 21 20
4 2 1 -
文件的归属:
1.拥有者(u)
2.属于组(g)
3.其他人(o) -
举例
-rw-rw-r--
十个字符代表不同的含义
- rw- rw- r-- (用数字表示为:664)
拥有者 属于组 其他人
第一个字符 - 表示的是文件的类型
后面九个字符,分为三组,表示此文件针对不同用户的权限关系
beifeng beifeng
↓ ↓
文件拥有者 文件所属组
4096/65
如果是文件,则数字为文件大小 ->65
如果是目录,则数字为目录下文件数量 ->4096
sep 28 12:15
创建时间
权限命令chmod、文件所属用户和组改变命令
- 权限命令chmod
查询命令使用方法
man cmdName
自动补全命令行 【Tab键】
设置文件对不同用户的权限
# chmod (change mode)
eg: -rw-r--r-- 1 zhaozhuang staff 16 Feb 3 21:58 readme.txt
需求:对于同组用户来说,可读可写;对于其他用户来说,既不可读也不可写。
# chmod g+w readme.txt
# chmod o-r readme.txt
数字形式修改会原来的权限:
-rw-rw---- 1 zhaozhuang staff 16 Feb 3 21:58 readme.txt
# chmod 644 readme.txt
如果要针对一个目录设置权限,但目录中有很多文件,且需要同样的权限设置
↓
-R, --recursive 递归
change files and directories recursively
# chmod -R 目录路径
文件拷贝
cp 文件名称 要拷贝到的目录
- 改变文件拥有者和所属组
改变拥有者
# chown 要改变的拥有者用户名 文件所在全路径
改变所属组
# chgrp 要改变的所属组名称 文件所在全路径
同时改变拥有者和所属组,并一条命令解决
# chown 要改变的拥有者用户名:要改变的所属组名 文件所在全路径
文件的两种创建方式、vi常用的快捷键及查看文件常见的几种方式
文件的两种创建方式
$ touch 文件名+后缀
$ vi/vim 文件名+后缀
对文件的内容进行追加
$ echo "追加的内容" >> 追加的文件名
vi常用快捷键
在vi查看模式下
dd:删除光标所在的行的内容
ZZ:保存文件内容
x :删除光标处的字符
o :表示在光标的下一行进行插入
查看文件常见的几种方式
查看文件的全部内容
cat 文件名+后缀 ->(一般文件内容比较少的时候用)
more 文件名+后缀 ->(文件内容比较多的时候用,会对文件内容进行翻页查看)
查看文件末尾的内容
tail [-f] 文件名+后缀 ->(通常与-f连用,适合于查看服务实时动态日志信息)
如果要看指定末尾行数的内容,在f前面加数值即可
eg. tail -200f install.log
查看文件开头的内容
head 文件名+后缀 (适用于查看文件格式、内容模板样式)
文件的拷贝、移动、重命名及删除
创建目录
& mkdir 目录名称
拷贝文件
拷贝一个文件到一个目录中去
$ cp 文件名称 目录名称
拷贝一个文件的内容到一个新文件中去
$ cp 文件名称 新文件名称
拷贝目录
$ cp -r 目录名称 新目录名称
如果不加-r递归的话,就会报cp:omitting directory的错误
移动、重命名文件和目录
重命名 ->(当源文件和目标文件在同一个目录下时)
$ mv 源文件名称 新的名称
eg. $ mv test-dir/ sub-dir
$ mv 源目录名称 新的名称
eg. $ mv test.txt test.log
移动 ->(当源文件和目标文件不再同一个目录下时)
$ mv 源文件名称 要移动的目录
eg. $ mv
$ mv 源文件名称 要移动内容的文件名称 ->>(将源文件中的内容移动到了新的文件中去)
文件的删除
$ rmdir 目录路径 ->(只能删除空的目录)
$ rm -rf 目录名称路径 ->(可以删除不是empty的目录,所以要慎用,一定要确定路径为绝对路径)
-f, --force (强制)
ignore nonexistent files and arguments, never prompt
忽视不存在的文件和参数,不会提示
目录的递归创建和删除以及如何创建软链接和硬链接
创建多级目录
$ mkdir -p 多级目录
-p, --parents
no error if existing, make parent directories as needed
不存在错误时,根据需要创建父级目录
软链接(soft link)
硬连接(hard link)
区别:在删除链接时,是否删除源文件
创建一个软链接
$ ln -s file/dir linkName
eg.ln -s readme.txt rm.txt
lrwxrwxrwx. 1 beifeng beifeng 10 2月 5 13:55 rm.txt -> readme.txt
创建一个硬链接
$ ln file/dir linkName
eg. $ ln www.ibeifeng.access.log bf-log
-rw-rw-r--. 2 beifeng beifeng 0 2月 5 13:59 bf-log
使用场景:
/opt/hadoop/conf /opt/hbase/conf
core-site.xml ln -> core-site.xml
hdfs-site.xml ln -> hdfs-site.xml
当源文件做出修改时 链接文件也会修改
所以链接的作用之一:保持一致性
文件搜索
能记得文件名称时
$ find ~/ -name fileName
模糊记得文件名称
$ find ~/ -name 文件名称开头的几个字母*