linux随笔2
---恢复内容开始---
2016,12,20

在linux里面不写这些扩展名,也是可以的,但是写这些扩展名是为了个管理员写的,好区分,但是linux本身不依靠扩展名来区分文件类型
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·
对于挂载的理解:就是在linux里面每一个设备都是依仗目录来实行的,那么把某个设备和某一个具体的目录联系起来,就称之为挂载,其实在windows里面也存在这个挂载的概念,只不过 在windows里面,你插入优盘什么的,是系统自动给他分配盘符,而在linux里面是你手动给他放在某一个你设置的目录下。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

完全匹配就是 必须完全一样;
grep的作用是找到和它后面的包含匹配的内容
例如 grep “root” /etc/passwd
只要里面有root的地方,就输出;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·
字符截取

grep的作用是,在文件中提取符合条件的行;
而cut和awk是提取列

比如 你建立了一个文件是 student.txt
内容是;vi student.txt
ID Name gender Mark
1 Liming M 86
2 Sc M 90
3 Gao M 82
注意各个元素间的空隙是用Tab,即制表符敲得,不是空格
然后 cut -f 2 student.txt 表示输出这个文件里面的第二行
cut -f 2,4 student.txt 表示输出这个文件里面的第二行和第四行

注意这个最后一个,这个/etc/passwd是一个以:作为分隔符的内容,所以 在筛选时,就用cut -d “这里是每列所用的分隔符符号” -f 行数 文件名
---恢复内容结束---
2016,12,21

看这个cat这条命令;
他的意思是 找出 /etc/passwd的内容,然后从里面筛选出带有/bin/bash但是不含有root的行
这个 -v就是取反的意思
~~~~~~~~~~~~~~~~~~~~~~~~

这个的作用是:找到/etc/passwd里面的含有/bin/bash但是不含有root的行 ,然后再提取他们的第一行
注意 cut一般和grep一起使用 一般没有单独使用他的
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


常用是 \n \r \t
注意有多个格式符时,要加单引号;;;;;;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~·

注意,在标准的输出里面 ,没有那个print,只有在awk里面才有print
注意这个
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cut不能在以空格作为分隔符的列,只能是具体的分割,如: , 或者制表符等等 如果要是各个列以空格作为分隔符,那么就用awk来提取相应列的内容
只要是 cut能做的 awk都能做
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

大括号外面是条件,大括号里面是动作,
注意这个是单引号
[root@/etc]# awk '{printf $2 "\t" $3 "\n"}' student.txt
里面的转义字符用双引号括起来
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·

这里的printf $5 代表是输出第五行,
用cut是为了把那个%去掉

加了BEGIN的作用是 就是在你后面的命令执行之前,先执行BEGIN后面的内容
注意awk是在文件第一行读入后,然后进行操作,所以 只要你进行了操作,他的第一行是不会按照你的要求来输出的,
为此 我们加一个BEGIN来使,在第一行没读入之前,就开始进行操作

这个FS指定分隔符
[root@/etc]# cat /etc/passwd |grep /bin/bash | awk 'BEGIN {FS=":"} {printf $1"\t" $3"\n"}'
root 0
wang12 500
xiaoyoucai 501
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

就是在所有的命令完成后,在执行END后面的那个命令
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·

其实它的作用相当于vi,但是为什么学习他呢,但是vi只能修改文件,
但是vi不可以把命令的结果进行修改,
如果要是对命令的结果进行修改,那么就得把命令输出的结果保存在文件中,然后在用vi进行修改
但是对于sed不仅可以修改文件,而且可以把命令的结果进行修改,sed支持管道,所以才可以直接对命令的输出结果进行修改
sed 流编辑器

在这里,就是你在用sed时,加了-i这个选项,那么他就会把你原文件的内容也加改变,但是你没有加-i,那么他不会吧你原文件的内容改变,只会在输出时改变(类同于数据库里面的那个视图一样)


注意这个不加-n 那么就会把你要求输出的行多加一次输出,,但是不会输出特定的行
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

这个没有加-i,所以不会对源文件产生干扰
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
排序

一般用的选项就-f,别的很少用

这个指定分隔符的选项和cut的区别
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

一般用的就是中括号扩地这三个,只要知道那三个就行了
~~~~~~~~~~~~~~~~~~~~~~~~~~~
$echo $? 这个$?(dollar 问)就是查看喔的上一条命令是否正确
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

这些都是给程序看的,就是 人可以直接ls就能看到,但是 你写程序时,这个就来判断文件是否存在
~~~~~~~~~~~~~~~~~~~~~~~~~~

[root@/etc]# [ -f /etc/student.txt ] && echo "yes" || echo "no"
这个就是看你的/etc/student.txt是否是文件,如果是,就输出 yes 如果不是 就输出no
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

常用就是前三个,后三个很少用
# [ -w /etc/student.txt ] && echo yes || echo no
这个的作用是,判断 /etc/studnet.txt 是否有w权限,
要是有就输出yes,否则输出no ,注意:只要 你的所有者,所属组和其他人有任意一个有w权限,他都会输出这个yes,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

其实这个比较大小主要是来写脚本的,要是你想呈现给人看 不是这样写,但是 你要给计算机看,那么你就得就得这样写
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

这个两个==判断字符。,
而上面的那个eq是判断两个数值是否相等,
一个=是用来个变量赋值

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
多重判断

这个-a是逻辑与
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·

这个du -sh是测试后面文件的大小;
比如 这个 du -sh /var/lib/mnysql
就是测试后面这个文件即/var/lib/mysql的文件大小


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
for循环

例如

还比如

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二种


批量处理用户

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
linux随笔2的更多相关文章
- Linux随笔-鸟哥Linux基础篇学习总结(全)
Linux随笔-鸟哥Linux基础篇学习总结(全) 修改Linux系统语系:LANG-en_US,如果我们想让系统默认的语系变成英文的话我们可以修改系统配置文件:/etc/sysconfig/i18n ...
- 我的Linux随笔目录
现在整理博客的时间少了,大多是在用为知笔记收藏和整理,一次集中发点Linux相关随笔整理和一个目录,是按时间顺序来的.每一篇都是自己用过之后整理的,应用场景已经尽可能的说明了,不明白的可以Q我,上班时 ...
- Linux随笔之——./configure、make、make install(转)
原文连接:http://www.linuxidc.com/Linux/2011-02/32211.htm 这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. ./con ...
- Linux 随笔1
使用fork()系统调用产生的子进程对父进程中数据的修改不会影响到父进程,因为fork()采用的是写时复制机制,就是在fork产生的子进程没有修改父进程的值时,父子进程共享同一块内存,包括栈区.当子进 ...
- Linux随笔
列表:ls -l(显示详细属性)long -a(显示全部文件包括隐藏文件)all -h(字节转换) -d(显示当前目录本身不显示目录下) -i(显示I节点) df -h 人性化查看磁盘占用率 serv ...
- Linux随笔(安装ftp,安装jdk,安装 tomcat,安装redis,安装MySQL)
su: authentication failure 解决办法:sudo passwd root 更改密码即可 确认虚拟机用到的联网方式是桥接模式,不然Windows是ping不通Linux的,确保 ...
- Linux随笔---tar命令
一.解压 语法:tar [主选项+辅选项] 文件或者目录 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用. 主选项:c:create:v:verbose: ...
- linux 随笔
LINUX环境下的批处理文件的扩展名是.sh,而在windows环境的批处理文件名是.bat
- Linux随笔(安装ftp,安装jdk,安装 tomcat,安装redis,安装MySQL,安装svn)
su: authentication failure 解决办法:sudo passwd root 更改密码即可 确认虚拟机用到的联网方式是桥接模式,不然Windows是ping不通Linux的,确保 ...
随机推荐
- 整整十年 - Agent Framework for TypeScript 2.0
十年前,我发布了 Agent Framework for .NET 2.0 今天,Agent 又开始了新的旅程, 这次支持的语言是 TypeScript 2.0 上需求:init函数只能被调用一次 废 ...
- gtest学习一:在vs2013中搭建gtest环境
gtest版本:1.7.0,在哪里下载源码就不说了,网上太多了~ 配置过程: 1.下载解压后,进入googletest/msvc目录,直接打开gtest.sln,发现有四个工程:gtest.gtest ...
- Unity5中的MetaPass
前些天烘焙lightmap的时候发现用自己写的Shader的模型在烘焙时候不会烘焙效果不对,它不会产生对周围物体的间接光照,但是我放到了unity4.x中就是没问题的.查了一番,发现Unity5中加了 ...
- SDRAM控制器的Verilog建模之一
前言:作为经典存储器的三剑客中的flash和sram已经建模测试过了,虽然现在都已经ddr2,ddr3,667MHZ.1333MHZ的天下了,但是接下这周来准备写一下sdram的controller. ...
- python 核心编程课后练习(chapter 2)
2-4 #2-4(a) print "enter a string" inputstring = raw_input() print"the string is: &qu ...
- Capture Current Soft Screen
Bitmap memoryImage; private void CaptureScreen() { Graphics myGraphics = this.CreateGraphics(); Size ...
- 对restful的理解
最近在学习web api,从而涉及到了restful风格,我的理解是restful风格,每个链接都会对资源进行相应的操作(CRUD),如果一个链接不包含资源,则可能不符合restful风格,借此想请教 ...
- JAVA 通过LDAP获取AD域用户及组织信息
因为工作需求近期做过一个从客户AD域获取数据实现单点登录的功能,在此整理分享. 前提:用户可能有很多系统的情况下,为了方便账号的统一管理使用AD域验证登录,所以不需要我们的系统登录,就需要获取用户的A ...
- 监控数据库运行 - MS SQL 日常维护管理常用脚本(二)
查看数据库登录名信息 use mastergoSELECT name AS LoginName , dbname AS DefaultDB , createdate AS CreateDate, up ...
- 项目中遇到的各种bug和踩过的坑
zepto 赋值时单位转换问题 zepto 的 animate 方法移动某个元素的位置时,例如修改某个绝对定位的元素的 left 值,要与修改前的值单位一致,修改前如果是像素值,修改后也要是像素值,否 ...