【Linux基础总结】Linux基本命令
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 文件名称开头的几个字母\*
【Linux基础总结】Linux基本命令的更多相关文章
- Linux基础之常用基本命令备忘
Linux基础之常用基本命令备忘 PWD 查询当前所在Linux上的位置 / 根目录 CD(change directory)切换目录 语法 CD /(注意添加空格) LS ...
- Linux基础与Linux下C语言编程基础
Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ...
- SLAM+语音机器人DIY系列:(一)Linux基础——1.Linux简介
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...
- SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...
- 【转】Linux基础与Linux下C语言编程基础
原文:https://www.cnblogs.com/huyufeng/p/4841232.html ------------------------------------------------- ...
- Linux基础-兄弟连Linux
Linux基础增强与辅助知识梳理... ------------ Linux学习基础需要学习那些知识 学习Linux对于程序开发的好处 怎样开始学习Linux Linux的学习方法参考 Linux系统 ...
- Linux基础:Linux环境下安装JDK
title: Linux基础:JDK的及环境变量配置 author: Enjoyitlife.top date: 2019-10-09 20:50:36 tags: Linux JDK categor ...
- Linux基础系列—Linux体系结构和Linux内核结构
/** ****************************************************************************** * @author 暴走的小 ...
- 【Linux基础】Linux常用命令汇总
3-1文件目录操作命令(cd pwd mkdir rmdir rm) 绝对路径:由根目录(/)开始写起的文件名或目录名称, 例如 /home/dmtsai/.bashrc: 相对路径:相对于目前路径的 ...
- Linux基础之Linux简介
Linux(英语发音:/ˈlɪnəks/ lin-əks)是一种自由和开放源代码的类UNIX操作系统. Linux简介 Linux(英语发音:/ˈlɪnəks/ lin-əks)是一种自由和开放源代码 ...
随机推荐
- Labyrinth 树的直径加DFS
The northern part of the Pyramid contains a very large and complicated labyrinth. The labyrinth is d ...
- notepad++批量每行加字符
移动光标到头 选择正则 输入^ 下面输入需要加的文本. 点替换
- PHP函数:get_class()
get_class() -返回对象的类名 说明: get_class ([ object $object = NULL ] ) : string 参数: object:要测试的对象.如果在类里,此参 ...
- Springboot:第一个Springboot程序(一)
1.创建Springboot项目 选择创建Springboot项目: 填写项目基本信息: 选择Springboot版本以及web依赖(内嵌tomcat): 创建完成: 创建完成后 等待构建maven项 ...
- DEV gridview 合并单元格
private void gv_docargo_CellMerge(object sender, DevExpress.XtraGrid.Views.Grid.CellMergeEventArgs e ...
- pytorch中的前项计算和反向传播
前项计算1 import torch # (3*(x+2)^2)/4 #grad_fn 保留计算的过程 x = torch.ones([2,2],requires_grad=True) print(x ...
- Java 理解类加载过程 -- 自定义加载器
类加载器可以看下我的收藏: https://www.cnblogs.com/dongguacai/p/5879931.html 现在准备一个字节码文件: 自定义加载器: package com.xzl ...
- python学习07列表
'''列表''''''列表:是可变的序列,也是一种可以存储各种数据类型的集合 用[]中括号表示列表的开始和结束:元素之间用,逗号隔开 '''l1=[] #空列表print(len(l1))l2=[&q ...
- 【JAVA基础】04 Java语言基础:方法
1. 方法概述和格式说明 为什么要有方法 提高代码的复用性 什么是方法 完成特定功能的代码块. 方法的格式 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) { 方法 ...
- 工具 在 Nuget 发布自己的包
MSDN : https://docs.microsoft.com/zh-cn/nuget/quickstart/create-and-publish-a-package-using-visual-s ...