欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

linux

Linux中VIM的使用 有大用

普通分类: 

马哥 07_01 _vim编辑器详解 有大用

vim 编辑器

文本编辑器,

ASCII文档,


字处理器

wps,word文档 有xml格式(其中一种修饰吧),作为修饰符,跟文档的内容没有关系,但是是作为有效数据的组成部分


linux  重要的哲学思想之一就是纯文本文件来保存软件的配置信息

一切皆文件


nano,sed


vi:Visual Interface  可视化接口

遵循GPI协定的一款开源软件,体积小.但功能异常强大

vim:VI IMproved,vi的增加版 是在 vi 功能的基础上添加扩展功能的插件而形成的 有着色功能

全屏编辑器,模式化编辑器 在不同的模式中,敲下的键盘理解的意义不一样

敲 d 删除   在插入模式下敲d 就是 d字母


#vim FILENAME

#vim /path/to/somefile   (如果 后面跟多个文件,能够打开的只有一个文件)

(默认情况下,父目录必须得存在)(文件可以存在也可以不存在,分别表示编辑,新建)


普通分类: 

比较两个字符串是否相等的shell代码 有大用 有大大用

比较两个字符串是否相等的办法是: 
if [ "$test"x = "test"x ]; then 

普通分类: 

linux中的glob、grep、正则表达式 有大用

1、glob 文件名称通配

普通分类: 

Redis事件综合分析

0×00前言

普通分类: 

& 与符号 有大用


普通分类: 

Linux下如何让自己的程序在开机时自动启动 自启动 有大用 有大大用

  • Linux下如何让自己的程序在开机时自动启动

  • 2011-07-01      0 个评论      

普通分类: 

linux设置开机启动慎用nohup 开机自启动 有大用

我机器ubuntu9,设置开机启动我的应用程序,这个大家都知道只要在/etc/rc.local中加上一条shell启动命令就可以了。
但我确碰到了一个奇怪的问题:无法启动我的应用程序。
由于我的程序是java写的,一直怀疑是classpath问题,检查多次没发现问题,网上搜了好久也没结果。
我的脚本/usr/local/startapp.sh是这个写的:
普通分类: 

Linux下如何不停止服务,清空nohup.out文件

tips:最近发现有不少人在百度这个问题,当初如易我也是初学者,随便从网上搜了一下,就转过来了,不过为了避免搜索结果同质化,为大家提供更翔实的参考,我将nohup.out相关

普通分类: 

马哥 06_03 bash脚本编程之五 字符串测试及for循环 有大用

image.png

sed练习:


1,删除 /etc/grub.conf文件中行首的空白符

image.png

[root@ebs-22618 ~]# sed -r 's/^[[:space:]]+//' /etc/grub.conf

[root@ebs-22618 ~]# sed  's/^[[:space:]]*//' /etc/grub.conf (好像也行)


普通分类: 

linux cp ./. 请问 ./. 是什么意思 点斜杠点 点号斜杠点号 大佬帮忙解释一下吧

 ls .
ls ..
ls ./.
ls ./..
你就直观感受到了 


普通分类: 

vi 和vim 的区别

它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。

普通分类: 

glob模式

所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。星号(*)匹配零个或多个任意字符;[abc]匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。

普通分类: 

马哥 06_02 _sed命令 有大用

grep , sed(流程辑器), awk(报告文本生成器)


sed基本用法

sed: Stream EDitor

    字处理器和文本编辑器是两码事,sed是文本编辑器

    行编辑器 逐行处理acsii 文本的

    (全屏编辑器: vi 入门很难,学会了后发现功能异常强大,这点与nano不同)

sed 并不处理文本文件本身 它逐行读取,读到内存,在内存中完成编辑,并后把编辑的结果输出到屏幕上来

对sed 而言 这段内存空间称为 模式空间 ,因为sed 并不是每一行都处理的,它可以指定仅处理哪些行,这些行可以像glob一样做模式过滤的,符合模式条件的一律处理,不符合条件就不处理

还有保留空间,回头再说

 sed 在处理每个文件,把符合模式条件的行读进模式空间来作匹配(或者说把每一行读进模式空间,跟我们的模式进行匹配),如果被模式条件匹配到了,就在模式空间中使用后面的编辑命令对其完成编辑,并且将编辑的结果输出到屏幕上来

sed : 模式空间

默认不编辑原文件,仅对模式空间中的数据做处理;而后,处理结束后,默认将模式空间打印到屏幕

普通分类: 

linux之expr命令

普通分类: 

马哥 06_01 _bash脚本编程之四 整数测试及特殊变量 有大用

练习:写一个脚本

判断当前系统上是否有用户的默认shell为bash:

    如果有,就显示其中一个的用户名:否则,就显示没有这类用户


#!/bin/bash


if  grep '\<bash$' /etc/passwd &> /dev/null ; then

#  echo "have bash user"

  echo `grep "\<bash$" /etc/passwd | head -1 | cut -d: -f1`

else

  echo "no bash user"

fi


练习:写一个脚本

给定一个文件,比如 /etc/inittab

判断这个文件中是否有空白行:

如果有,则显示其空白行数,否则,显示没有空白行.


#!/bin/bash

#

FILE=~/space.txt

if grep "^$" $FILE &>/dev/null; then

普通分类: 

马哥 05_04 _bash脚本编程之三 条件判断及算术运算 有大用

提示:"引用"一个命令的执行结果,要使用命令引用,比如 RESAULTS=`wc -l /etc/passwd | cut -d' ' -f1`;

使用一个命令的执行状态结果,要直接执行此命令,一定不能引用: 比如: if id user1 一句中的id命令就一定不能加反引号;

如果想把一个命令的执行结果赋值给某变量,要使用命令引用,比如 USERID=`id -u user1`;

如果想把一个命令的执行状态结果保存下来,并作为命令执行成功与否的判断条件,则需要先执行此命令,而后引用其状态结果,如

    id -u user1

    RETVAL=$?        (如果使用了 给状态 赋值的话,那么,就只能使用 if [ $RETVAL -eq 0 ]  不能使用 if $RETVAL )

    此句绝对不可以写为 RETVAL=`id -u user1`


练习:写一个脚本

判断当前系统上是否有用户的默认shell为bash:

    如果有,就显示有多少个这类用户,否则就显示没有这类用户:

普通分类: 

马哥 05_03 _bash脚本编程之二 条件判断-【攻城狮论坛の免费分享】有大用

练习: 写一个脚本,完成以下任务


1,添加5个用户, user1,........user5


2,每个用户的密码同用户名,而且要求,添加密码完成后不显示passwd命令的执行结果信息 


3,每个用户添加完成后,都要显示用户某某已经成功添加

useradd user1

echo "user1" | passwd --stdin user1 &> /dev/null

echo "Add user1 successfully."



条件判断:

    如果用户不存在,

        添加用户,给密码并显示添加成功:

    否则

        显示用户已经存在,不进行添加:


#!/bin/bash

U=user101

普通分类: 

Linux下" >/dev/null 2>&1 "相关知识说明 黑洞 Linux命令中>/dev/null 2>&1的含义 有大用 有大大用

 

普通分类: 

linux 注释crontab文件

原来,在Linux下写了很多crontab,来定时执行某些任务,

普通分类: 

遇到的问题---mysql 启动错误-server PID file could not be found

[root@centos var]# service mysqld stop

MySQL manager or server PID file could not be found!       [FAILED]

解决办法:

首先查看一下进程

[root@irxpert-test/]# ps aux |grep mysq*

root    10274  0.0  0.0  68160  1336 ?        S    13:43   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/irxpert-test.pid

普通分类: 

西数数码 mysql data 目录

/home/wddata/mysql_data/

普通分类: 

备份所有网站的 crontab 文件 cron 有大用 有大大用

下面是cron文件里的内容  每有的1号15号的2点20分执行这个cron

20 2 1,15 * * /bin/bash /www/wdlinux/wdcp/shell/sitebackup_my.sh

下面是cron执行的bash文件 sitebackup_my.sh



#!/bin/bash

#print the directory and file


for file in /home/wwwroot/*

do

if [ -d "$file" ]

then

#   echo "tar zcPvf /home/backup/site${file##*/}-`date  '+%Y-%m-%d'`.tar.gz" $file

  tar zcPvf "/home/backup/site/${file##*/}-`date  '+%Y-%m-%d'`.tar.gz" $file

fi

done

~


普通分类: 

Shell脚本8种字符串截取方法总结 井号 百分号 有大用 有大大用

  1. 假设有变量 var=http://www.aaa.com/123.htm

普通分类: 

/bin/tar: 从成员名中删除开头的“/”

今天在使用tar进行打包时,发现报了‘从成员名中删除开头的“/”’的错误。我使用的打包语句如下:

普通分类: 

pstree命令

pstree命令以树状图的方式展现进程之间的派生关系,显示效果比较直观。

普通分类: 

shell脚本 for循环实现文件和目录遍历 有大用

#!/bin/bash 
#print the directory and file 

for file in /home/hustyangju/*  

do 
if [ -d "$file" ] 
then   
  echo "$file is directory" 
elif [ -f "$file" ] 
then 
  echo "$file is file" 
fi 
done 


普通分类: 

马哥 linux 培训 有大用

马哥 05_02 _bash脚本编程之一 变量、变量类型等 有大用

http://mageedu.blog.51cto.com/


grep egrep  grep检索的时候会浪费大量的cpu时钟周期,是相当消耗时间的,速度比较慢

fgrep : fast grep 不支持正则表达式 太简单 不举例了 (用法与  grep 一样 )


shell 编程:

编译器,解释器

编程语言: 机器语言,汇编语言,高级语言


静态语言:编译型语言

    强类型(变量)

    关键字

    事先转换成可执行格式

    C,C++,JAVA,C#

    (不需要任何解释器,自我独立运行)


动态语言:解释型语言 on the fly

    弱类型(变量) (一般是弱类型,也可以为强类型)

    关键字

    边解释边执行

普通分类: 

马哥 05_01 _egrep及扩展正则表达式 有大用

image.png

5,显示 /boot/grub/grub.conf文件中以一个或多个空白字符开头的行:

grep '^[[:space:]]\{1,\}' /boot/grub/grub.conf

6,显示/etc/inittab文件中以一个数字开头并以一个与开头数字相同的数字结尾的行:

grep '^\([0-9]\).*\1$' /etc/inittab



练习:

1, 找出某文件中的1位数或2位数

grep '[0-9]\{1,2\}' /proc/cpuinfo

grep --color '\<[0-9]\{1,2\}\>' /proc/cpuinfo

2,找出ifconfig命令结果中的1-255之间的整数  

    \<[1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]\>

普通分类: 

页面

Subscribe to RSS - linux