一、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. mybatis框架中的输入映射

    mybatis.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心. 输入类型: 1.传递简单类型 可以参考我之前的对于数据库增删改查的博文. ...

  2. Greeplum 系列(七) 权限管理

    Greeplum 系列(七) 权限管理 一.角色管理 Role 分为用户(User)和组(Group),用户有 login 权限,组用来管理用户,一般不会有 login 权限.初始化 gp 时创建了一 ...

  3. 【美食技术】家庭自制DIY鸡蛋饼和疙瘩汤早餐视频教程

    鸡蛋饼制作方法 食材准备面粉 150g鸡蛋饼  鸡蛋饼鸡蛋 2个盐 适量水 适量(约300ml)油 20g荵花适量也可根据自己喜好准备一些调味料. 做法 鸡蛋饼是一种家常点心,做法很多,这里提供3种. ...

  4. JavaScript 操作对象属性(设置属性, setter/getter, 序列化)

    参考自<<JavaScript权威指南 第6版>>, 文字太多反而不易理清其中的关系, 直接上代码和注释 /* * 对象的setter和getter属性: * 定义为一个或者两 ...

  5. swoole1.8.0+版本异步redis安装(本实例为swoole1.8.10版本)详解

    Swoole-1.8.0+版本增加了对异步Redis客户端的支持,基于redis官方提供的hiredis库实现.Swoole提供了__call魔术方法,来映射绝大部分Redis指令(本次安装实例为sw ...

  6. mongodb3 设置用户名密码 ,linux

    --29T09:: I CONTROL [initandlisten] ** WARNING: You are running on a NUMA machine. --29T09:: I CONTR ...

  7. python signal

    在了解了Linux的信号基础之 后,Python标准库中的signal包就很容易学习和理解.signal包负责在Python程序内部处理信号,典型的操作包括预设信号处理函数,暂 停并等待信号,以及定时 ...

  8. 使用Array.prototype.indexOf()的几点注意

    对应indexOf这个方法,在日常开发中比较常见的应该是String.prototype.indexOf()方法,Array.prototype.indexOf()方法和其有很大的相似性,本文不想去描 ...

  9. Solr相似度算法一:Lucene TF-IDF 相关性算分公式

    Lucene在进行关键词查询的时候,默认用TF-IDF算法来计算关键词和文档的相关性,用这个数据排序 TF:词频,IDF:逆向文档频率,TF-IDF是一种统计方法,或者被称为向量空间模型,名字听起来很 ...

  10. jenkins修改时区

    查看jenkins目前的时区 访问http://your-jenkins/systemInfo,查看user.timezone变量的值 默认是纽约时间 修改时区 查https://wiki.jenki ...