鸟哥linux读书笔记三

第十章vim编辑器
常用命令
[Ctrl]+f               向下翻页,相当于[page Down]
[Ctrl]+b               向上翻页,相当于[Page Up]
0                      数字0,光标移动到这一行最前面的字符处
$                      光标移动到这一行最后面的字符处
G                      光标移动到该文件最后一行
gg/1G                  光标移动到该文件第一行 
15G                    移动到该文件的第15行
n<Enter>               光标下移n行
/word                  光标所在处向下查找为word的字符串
n                      下一个
N                      向上查找,下一个
:n1,n2s/word1/word2/g  在第n1与n2行之间寻找word1,并将该字符串替换为word2
:1,$s/word1/word2/g    从第一行到最后一行寻找word1,并替换为word2
:1,$s/word1/word2/gc   替换前向用户确认(confirm)
x/X                    向后/向前删除一个字符
15x                    表示删除光标所在位置的后面15个字符
dd                     删除光标所在行
ndd                    删除光标所在行向下n行
yy                     复制光标所在行
nyy                    复制光标所在行向下n行
nyw                    复制n个单词
p/P                    小写p,将已复制的数据在光标的下一行贴上,大写P则贴在光标上一行。 
cw                     更改光标所在处的单词到单词结尾处
3cw                    从光标开始处计算,更改3个单词(也就是删除3个单词)                   
u                      复原前一个动作
[ctrl]+r               重做上一动作,通常与u配合使用
J                      清除光标所在行与上一行之间的空格,把光标行和上一行连在一起。
o/O                    小写o,在光标所在行的下一行处插入一新行
i/I                    从光标所在处插入
a/A                    从光标所在处的下一字符处插入
r/R                    替换光标所在的字符。R替换直到按下[ESC]
:w                     保存文件
:w!                    强制保存文件
:q                     离开vi
:wq/:wq!               保存后离开
:set nu                设置显示行号
:set nonu              取消行号
           
第十一章常用shell
1.变量的定义:
  PATH=$PATH:/home/dmtsai/bin
  PATH="$PATH":/home/dmtsai/bin
  PATH=${PATH}:/home/dmtsai/bin
  通常采用后2中方式,如:name="$name"yes 或name=${name}yes
2.环境变量
  env查看环境变量
  PATH=$PATH:/home/dmtsai/bin  重新定义环境变量PATH当前窗口有效
  export PATH=${PATH}:/home/dmtsai/bin 新定义环境变量PATH,系统重启失效
  修改/etc/profile,或/home/myuser/.bash_profile文件,环境变量永久生效,需要重启
  如果不想重启,可用source /etc/profile或  source /home/myuser/.bash_profile
 
  注:如果是root用户登陆,修改/etc/profile,对应的home中没有.bash_profile

  java环境变量,在/etc/profile最后添加
  export JAVA_HOME=/user/java/jdk1.6.0_26
  export PATH=$JAVA_HOME/bin:$PATH
  export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
            
3 history  查看历史命令
     !66 执行第66笔指令
     !!  执行上一指令
     !al 执行最近以al为头的指令
4.配置别名
  A alias rm='rm -i'
  B 修改/etc/bashrc或~/.bashrc,修改完后需要重启,可用source命令(不用重启)source ~/.bash_rc  
5.标准输入/标准输出/标准错误输出(分别对应0/1/2)
  例如
      /dev/null 黑洞装置
      find /home -name .bashrc 2> /dev/null     只在屏幕输出正确信息,错误信息被丢掉
      find /home -name .bashrc >> list_right 2>&1 正确与错误信息都记录在同一文件中
      find /home -name .bashrc >> list_right 2>> list_error  追加记录正确信息和错误信息
6.wc查看文件多少行,多少词,多少字符
  wc -lwm /etc/manconfig

  第十二章正规表示法与文件格式化处理


第十三章学习shell Scripts
  1.根据日期和用户输入的名称自动创建文件
   autoCreateFile.sh
    PATH=/bin:/sbin
    export PATH
   read -p "input your filename:" filename
date1=$(date +%Y%m%d)
date2=$(date --date='2 days ago' +%Y%m%d)
file1=${filename}${date1}
file2=${filename}${date2}
touch ${file1}
touch ${file2}
执行sh autoCreateFile.sh
其他略

第十四章 账号管理
1.每个系统文件都有所谓的拥有者ID与拥有者群组,当我们要显示文件属性时候,系统会根据/etc/passwd与/ect/group的内容,
  找到UID/GID对应的帐户与组名,再显示出来。(/etc/shadow中记录用户加密后的密码)
2.用户组管理
   新增 groupadd idcgroup
   删除 groupdel idcgroup
3.添加用户
   新增 useradd -g idcgroup zhangsan
   修改 usermod -G idcgroup zhangsan
   删除用户userdel zhangsan/ userdel -r zhangsan(加r参数,用户的家目录会被删除)
           useradd -d /home/up -s /bin/bash -m up UP为用户名
           useradd -m zhangsan  -m 使用者目录如不存在则自动建立
4.修改用户密码passwd zhangsan (如后面不加用户名,则修改当前登陆用户)
5.切换登陆用户su zhangsan/su root

  第十六章 例行工作
crontab [-u username][-l|-r|-l]
        -u 只有root用户才可以执行,给指定用户创建crontab
        -e 编辑crontab
        -l 查看crontab
        -r 移除crontab中所有内容
        50 *  *  *  * sh /root/zhanghntest/hello.sh >> /root/zhanghntest/log.txt
30 16 *  *  5 mail [email protected] < /home/friend.txt
        六部分代表意义
         分钟 0-59
        小时 0-23
        日期 1-31
        月份 1-12
        周   0-7   0 7都表示星期天
          年   可选
        特殊字符:
          逗号,: 10 3,6  * * * command    每日的3:10 6:10执行
          见好-: 20 8-12 * * * command   每日8点到12点之间的每消失的20分都执行一次命令
          斜线/:  符号前表示开始时间,符号后表示每次递增的值
                 */5 * * * * command     每5分钟执行一次,
              1/5 * * * * command     在1分、6分、11分。。。执行一次。

          *    表示所有值;
          ?    表示未说明的值,即不关心它为何值,一般用在周和年字段上,且一个使 用问号,另外一个将不再使用问号


  第十七章 程序管理
  1. &把程序丢到后台执行
tar -zcvf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 &
  2. 把目前工作丢到背景中暂停,如vi log.txt,进入vi,然后按ctrl -z,将这个任务丢到背景中
  3. jobs 查看背景中的工作
      +表示最近放到背景中的工作号码
      -表示最近最后第二个放置在背景中的工作号码
      其他无+-号标识
  4. fg把背景中的工作拿到前台执行,fg默认把标识+的拿到前台运行,fg %1,把指定编号的任务拿到前台运行。
  5. 把背景中暂停状态的任务,变为运行状态。 bg 或bg %4
  6. 结束一个任务kill
     -1 重新读取一次参数的配置文件,类似reload
     -9 立即强制删除一个工作
     -15 以正常程序方式结束一个工作,默认为此值。
     例:kill -9 PID/背景任务编号(如%3)

 

附:
1.在Linux上面至少有两种常见的管理软件,分别为RPM 与Debian的dpkg
2.RPM (RedHat Package Manager)
   SRPM 由于RPM安装的环境必须与打包时的环境一致,如Rea Hat的RPM通常无法在SuSE上面安装。SRPM解决以上问题,其扩展名为*.src.rpm。
   *.rpm       经过编译且包装完成的rpm档案
   *.src.rpm   包含未编译的原始码信息
3.安装 rpm -ivh package_name --test
    -i install的意思
    -v 查看详细安装信息
    -h 显示安装进度
    例:mount /dev/cdrom /mycdrom
        rmp -ivh *.rpm --test(测试安装)
        rmp -ivh *.rpm
        umount /dev/cdrom
4. rpm -qa 查看系统已安装的软件
    rpm -qa | grep tomcat*
5. 卸载软件
    rpm -qa | grep mysql*
    rpm -e mysql-server

6. 配置jdk,
  /etc/profile,文件的最后一行
JAVA_HOME=/home/csm/jdk1.6.0_29
JRE_HOME=$JAVA_HOME/jre
CLASSPATH=.:$JRE_HOME/lib:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME JRE_HOME CLASSPATH PATH

  

裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的字符设备。它由应用程序负责对它进行读写操作。不经过文件系统的缓冲。
在Unix的/dev 目录下,有许多文件,其中有两个大类:字符设备文件和块设备文件。
字符设备:对字符设备的读写不需要通过OS的buffer。它不可被文件系统mount。
块设备:对块设备的读写需要通过OS的buffer,它可以被mount到文件系统中。
使用裸设备的好处:因为使用裸设备避免了再经过Unix操作系统这一层,数据直接从Disk到Oracle进行传输,所以使用裸设备对于读写频繁的数据库应用来说,可以极大地提高数据库系统的性能。当然,这是以磁盘的I/O 非常大.

猜你喜欢

转载自fxtt1041.iteye.com/blog/1750525