一、Linux 文件

根据上文Linux 文件说明
1.文件的rwx
    d开头表示文件夹,
    -开头的表示文件,
    l开头表示链接文件
    r:read,w:write,x:execute
    三部分分别表示
        文件所有者的权限、所属组的权限、其他人的权限
    
2.链接数
3.所有者
4.所属组
5.文件大小
6.文件的创建或修改时间
7.文件的名称

二、文件处理命令

命令:touch
语法:touch[文件名]
描述:创建一个空文件

命令:mkdir
语法:mkdir [-p] [文件夹名称]
描述:[递归]创建文件夹

命令:cp(copy)
语法:cp [源文件][目标文件]
      cp -r [源目录][目标目录]
描述:复制文件或目录

命令:rm(remove)
语法:rm -f [文件]
      rm -r [目录]
      rm -rf [目录,包含目录下的内容]
描述:删除文件或目录

命令:cat
语法:cat [文件名称]
描述:查看文件内容(内容过多,显示内容可能不全)

命令:more
语法:more [文件名称]
描述:查看文件内容,可完全显示
用法:使用空格进行法爷,回车显示下一行,q退出(或者ctrl+c)

命令:head
语法:head -number [文件名]
描述:查看文件的前多少行

命令:tail
语法:tail -number [文件名]
描述:查看文件的后多少行

mv 1 修改文件名称的功能:mv [源文件名][新文件名]
   2 移动文件位置:mv [源文件名称][新文件位置+新文件名称]

命令:ln(link)
语法:ln -s [源文件][目标文件](硬连接则不需要加-s选项)
描述:创建软连接文件
软连接的特点:权限是所有人都可以访问,并且软连接指向源文件,就类型win的快捷方式
硬链接的特点:cp源文件,两个文件是同步修改的
另外:硬链接是不可以跨文件系统分区的,而软连接可以。

命令:chmod
语法:chmod[{ugo}{+-=}{rwx}][文件或目录]
      chmod[mode=421][文件或目录]
      421分别表示rwx,4+2+1 = 7
描述:改变文件或目录的权限
形如:chmod g+w filename
形如:chmod 761 filename
问题示例:新建一个目录,下面一个文件,用普通用户删除文件
尝试:在root下将文件的权限设置成777然后用普通用户删除文件
尝试:在root下将文件夹的权限设置成777然后用普通用户删除文件
结论:文件夹的写权限表示能否删除文件夹下的文件
      文件的写权限表示能否编辑文件,不代表能否删除文件
      
文件的rwx权限
    r:可执行catch、more等读操作
    w:修改文件的内容等写操作,单不代表可以把这个文件删除
    x:对文件进行执行操作
文件夹的rwx权限
    r:刻度操作,可以列出目录的内容,比如ls命令。
    w:表示可以在目录下创建或者删除文件的权限
    x:表示可以进入这个目录(基本上所有目录都会有rx权限)
      
root用户切换到普通用户是不需要输入密码的
普通用户切换到root要密码
普通用户之间切换要密码

命令:chown
语法:chown user 文件
描述:改变文件的所有者
实例:chown newuser t1.sh
      useradd username 添加用户
      passwd username 为用户设置密码

命令:chgrp
语法:chgrp group 文件
描述:改变文件的所属组
示例:chgrp adm t1.sh
    查看系统默认的权限:umask -S(umask查看权限掩码值022 使用777-022得到真实权限

命令:find
语法:find[搜索方位路径] [文件名] (根据文件名查找)
      find[搜索范围路径] -size [+-文件大小] (根据文件大小查找,大于+小于-)
      find[搜索范围路径] -user (文件所有者)
            [以天为单位] 1 ctime、atime、mtime
            [以分钟为单位] 2 cmin、amin、mmin
            c:表示文件属性发生变更
            a:表示被访问过(比如被查看过)
            m:表示内容被修改过
            如 find /usr -ctime -1 表示24小时以内文件属性发生变化
描述:查找任何文件或者目录
* 匹配任意字符
?匹配一个字符
1k = 2block

find应用的逻辑连接
-a(and的意思,逻辑与)
-o(or的意思,逻辑或)
示例:find -size +12345 -a -size -22345

find查找:根据文件类型查找
-type
f表示二进制文件,l表示软连接文件d表示目录
示例:find /test -type d

命令:which
语法:which [命令名称]
描述:查看命令所在目录位置
在linux中一般只有两种命令,一是所有用户都可使用,二则是指允许管理员使用,还有whereis和which类似
示例:which rm
alias别名的意思,\rm就能使用源命令,而不是别名,也就是不询问直接删除

对找到的文件执行某个命令:find /test -name a.txt -exec rm -f {} \;
{}表示查询到的结果集(-exec换成-ok也可以)

find -inum [i节点号] 根据i节点查找文件,在linux系统中,所有的文件都有一个唯一的标识,方便linux内核去调用,这就是i节点

命令:locate
语法:locate [文件名]
描述:查找文件,根据linux数据库内部的索引(updatedb命令,可以手工更新updatedb数据库,一般和locate配合使用)
注意:locate的查找速度非常快,比find查找快得很多,原因是locate找的是linux系统构建的文件数据库的索引值,所以速度非常快,但是有的时候新创建的文件使用locate命令差查不到,原因是这个文件索引没有马上更新到linux系统文件数据库里。

帮助手册命令

命令:man
语法:man [命令或者配置文件]
描述:帮助命令,非常有用,可以获得命令的帮助文档,如何使用等。

命令:whatis
语法:whatis [命令]
描述:查看命令的描述

命令:--help
语法:[命令]  --help
描述:查看命令的选项用法

压缩解压缩命令

命令:zip
语法:zip 选项[-r][压缩后的文件名称][源文件]
描述:zip格式是window和linux通用的格式,可以压缩文件和目录,压缩目录是需要选项 -r

命令:unzip
语法:unzip [解压缩的文件]
描述:进行解压缩
最后配置加-d 表示文件加压后存放的路径

命令:tar [zcvf|zxvf] [打包文件名.tar.gz] [源文件]
      -c 产生tar打包文件(必选)
      -x 尝试的解压缩文件 (必选)
      -v 显示详细信息
      -f 指定压缩后的文件名
      -z 打包同时压缩
描述:打包目录生成的后缀名.tar.gz,或者进行解压最后配置加-C表示文件解压后配置的路径
file命令可以查看任何文件的类型

关机:shutdown -h now
重启:reboot
ctrl+l 清屏
ctrl+c 退出应用

过滤:grep,可以对指定内容进行过滤然后输出
管道:将一个命令的输出传送给另一个命令,作为另外一个命令的输入,管道可以连接N个命令
ls -l /etc|more (表示将ls -l/etc的输出单做more命令的数据,即more命令浏览的内容是前面命令的输出结果)
ls -l /etc|grep init(表示将ls -l /etc 的输出结果进行过滤,显示为init的结果)
ls -1 /etc|grep init|wc -l(最后进行统计显示的个数)

逻辑与(&&)
    形如:ls&&pwd(第一个命令执行成功,第二个命令才会执行)
逻辑或(||)
    形如 ls || pwd (第一个命令执行成功则第二个不执行;第一个执行失败则执行第二个)

输出重定向
shell对每个进程预定义3个文件描述字(0,1,2)
0(stdin)标准输入 1(stdout)标准输出 2(stderr)标准错误输出
输出重定向:就是把输出的结果显示到一个文件上(>表示输出重定向,>> 表示追加内容)
ls -l /etc > /usr/a.log 覆盖
ls -l /etc >> /usr/a.log 追加
输入重定向:就是把输入的信息重定向,比如吧文件里的内容进行输出
wall < /test/a.log
错误重定向:一般是把程序执行的错误日志信息放到指定的log文件中
ll /adasdfdsf 2> /test/b.log

架构师养成记--24.linux常用命令的更多相关文章

  1. 架构师养成记--25.linux用户管理

    用户管理配置文件用户信息文件:/etc/passwd密码文件:/etc/shadow用户配置文件:/etc/login.defs /etc/default/useradd新用户信息文件:/etc/sk ...

  2. 架构师养成记--37.简单shell编程

    一.HelloWord.sh echo 表示打印,可以在sh文件中写诸如pwd.ls 这样的命令,使用命令的时候尽量使用全路径. #!/bin/sh #this is my first sh echo ...

  3. 架构师养成记--35.redis集群搭建

    前记:redis哨兵经验之谈.哨兵做主从切换可能要花费一两秒,这一两秒可能会丢失很多数据.解决方法之一是在java代码中做控制,try catch 到 链接断开的异常就sleep 一两秒钟再conti ...

  4. 架构师养成记--34.Redis持久化

    ---恢复内容开始--- redis是一个支持持久化的内存数据库,也就是搜redis需要经常将内存中的数据同步到硬盘来保证持久化.redis持久化有两种方式. snapshotting(快照)默认方式 ...

  5. 架构师养成记--33.Redis哨兵、redis简单事务

    Redis哨兵 有了主从复制,如果我想想对主从服务器进行监控,在redis2.6后提供了哨兵机制,2.6有哨兵1.0版本,并不稳定.2.8以后的哨兵功能才稳定起来. 顾名思义,哨兵就是监控Redis系 ...

  6. 架构师养成记--32.Redis高级(安全 主从复制)

    Redis高级命令及特性 keys * 返回满足的所有键值(*表示模糊匹配) exists 是否存在指定的key(返回1表示存在,0表示不存在) expire 设置某个key的过期时间,使用ttl查看 ...

  7. 架构师养成记--30.Redis环境搭建

    Redis的安装 下载地址http://redis.io/download 安装步骤: 首先需要安装gcc,把下载好的redis-3.0.0-rc2.tar.gz 放到 /usr/local 文件夹下 ...

  8. 架构师养成记--29.redis开篇

    主要有从下几点讲解 NOSQL(Redis) 简介.redis安装与部署 Redis基础事件类型详解 Redis高级命令 Redis与java的使用 Redis集群搭建 Redis集群与spring的 ...

  9. 架构师养成记--26.vi/vim相关操作

    vi/vim命令模式插入模式 aio编辑模式 : aio就是vi/vim的插入模式命令    作用a         在光标后附加文本A         在本行末附加文本i         在光标钱插 ...

随机推荐

  1. 18-(unicode error) 'unicodeescape' codec can't decode bytes in position 16-17: truncated \uXXXX escape

    读取文件时碰到问题: 1.(unicode error) 'unicodeescape' codec can't decode bytes in position 16-17: truncated \ ...

  2. Solr分词搜索结果不准确

    Solr的schema.xml默认配置分词后条件取 OR 例如:大众1.6T  系统会自动分词为  [大众] [1.6T](ps:不同分词器分词效果不同)   会搜索出包含 [大众 OR  1.6T] ...

  3. CentOS 7 装好系统一些优化

    1.禁用SELINUX vi /etc/sysconfig/selinux  设置为disabled 2.同步时间*/20 * * * * /usr/sbin/ntpdate pool.ntp.org ...

  4. swift 学习之UISegmentedControl

    //创建分段控件的标题         let titileArray:[String] = ["点评", "哪里逃"]         let segment ...

  5. B-spline Curves 学习之B样条曲线的移动控制点、修改节点分析(7)

    B-spline Curves: Moving Control Points 本博客转自前人的博客的翻译版本,前几章节是原来博主的翻译内容,但是后续章节博主不在提供翻译,后续章节我在完成相关的翻译学习 ...

  6. java和json互转

    在网页中想后台传递多个数据时,有时数据还是多个动态列表,数据很复杂时,JavaScript程序员喜欢把他们作为json串进行处理,后台收到后需要对json字符串进行解析,幸好有JSON-lib,这个J ...

  7. Android-自定义仿QQ列表Item滑动

    效果图: 布局中去指定自定义FrameLayout: <!-- 自定义仿QQ列表Item滑动 --> <view.custom.shangguigucustomview.MyCust ...

  8. .NET Core2使用Azure云上的Iot-Hub服务

    基于工业4.0大背景下的工业物联网是近几年内热门的话题,依靠信息化技术企业可以实现数字化转型,生产可以实现智能化制造,设备可以实现自动化运作.然而,海量的数据采集是整个建设过程的基础环节,如何处理与利 ...

  9. WebApi 插件式构建方案:IOC 容器初始化

    body { border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto; } body .markdown-body ...

  10. mysql 数据库或者表空间使用查询

    直接上语句 查所有数据库占用空间大小 select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data ...