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基本命令的更多相关文章

  1. Linux基础之常用基本命令备忘

    Linux基础之常用基本命令备忘 PWD   查询当前所在Linux上的位置 /         根目录 CD(change directory)切换目录  语法 CD /(注意添加空格)   LS ...

  2. Linux基础与Linux下C语言编程基础

    Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ...

  3. SLAM+语音机器人DIY系列:(一)Linux基础——1.Linux简介

    摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...

  4. SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作

    摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...

  5. 【转】Linux基础与Linux下C语言编程基础

    原文:https://www.cnblogs.com/huyufeng/p/4841232.html ------------------------------------------------- ...

  6. Linux基础-兄弟连Linux

    Linux基础增强与辅助知识梳理... ------------ Linux学习基础需要学习那些知识 学习Linux对于程序开发的好处 怎样开始学习Linux Linux的学习方法参考 Linux系统 ...

  7. Linux基础:Linux环境下安装JDK

    title: Linux基础:JDK的及环境变量配置 author: Enjoyitlife.top date: 2019-10-09 20:50:36 tags: Linux JDK categor ...

  8. Linux基础系列—Linux体系结构和Linux内核结构

    /** ****************************************************************************** * @author    暴走的小 ...

  9. 【Linux基础】Linux常用命令汇总

    3-1文件目录操作命令(cd pwd mkdir rmdir rm) 绝对路径:由根目录(/)开始写起的文件名或目录名称, 例如 /home/dmtsai/.bashrc: 相对路径:相对于目前路径的 ...

  10. Linux基础之Linux简介

    Linux(英语发音:/ˈlɪnəks/ lin-əks)是一种自由和开放源代码的类UNIX操作系统. Linux简介 Linux(英语发音:/ˈlɪnəks/ lin-əks)是一种自由和开放源代码 ...

随机推荐

  1. Python—一个简单搜索引擎索引库

    因为课业要求,搭建一个简单的搜索引擎,找了一些相关资料并进行了部分优化(坑有点多) 一.数据 数据是网络上爬取的旅游相关的攻略页面 这个是travels表,在索引中主要用到id和url两个字段. 页面 ...

  2. C#中分布式事务的超时处理问题

    事务是个很精妙的存在,我们在数据层.服务层.业务逻辑层等多处地方都会使用到. 在这里我只说下TransactionScope这个微软推荐使用的隐式事务.它是从Framework 2.0开始引入的一个事 ...

  3. 怎么用python 3 开发钉钉群机器人

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:Python绿色通道 PS:如有需要Python学习资料的小伙伴可以加 ...

  4. Cobalt Stike使用教程

    目录: 安装与连接 监听器Listner 基本使用方法--Cobalt Strike生成后门 Beacon详解 菜单栏与视图 文件管理与进程管理 浏览器代理 Cobalt Strike扩展 提权 横向 ...

  5. ELK(日志审计系统)

    ELk简介及工作流程 ELK即(Elasticsearch + Logstash + Kibana) 下载安装包 系统环境:Contos7.0 Java环境:Portal(这是历史下载地址,我的是 j ...

  6. C语言 贪吃蛇

    贪吃蛇(单人版): 本人先来介绍一个函数 -- bioskey函数: int bioskey (int cmd) 参数 (cmd) 基本功能 0 返回下一个从键盘键入的值(若不键入任何值,则将等下一个 ...

  7. 如何将dotnet core webapi发布到docker中…

    如何将dotnet core webapi发布到docker中 今天想起来撸一下docker,中途还是遇到些问题,但是这些问题都是由于路径什么的导致不正确,在这儿还是记录下操作过程,今天是基于wind ...

  8. python 基础篇 模块化

    在做项目的时候,虽然你不可能把全世界的代码都放到一个文件夹下,但是类似模块化的思想还是要有的--那就是以项目的根目录作为最基本的目录,所有的模块调用,都要通过根目录一层层向下索引的方式来 import ...

  9. Scapy的基本使用

    关于Scapy Scapy是一个可以让用户发送.侦听和解析并伪装网络报文的Python程序.这些功能可以用于制作侦测.扫描和攻击网络的工具. 换言之,Scapy 是一个强大的操纵报文的交互程序.它可以 ...

  10. JDBC 中的事务和批处理 batch

    JDBC事务处理: 事务处理一般在事务开始前把事务提交设置为false 所有DML语句执行完成后提交事务 demo: package com.xzlf.jdbc; import java.sql.Co ...