1.vim的模式下复制与粘贴

视图模式下:
shift+d剪切
shift+p粘贴
shift+y复制

按下D可以整行删除
按delele键,可以逐一字符删除。

2.vim中的几个用法

1.搜索上一个匹配用N下一个匹配用n

2.转换dos格式为unix格式方法为 :set ff=unix

3.显示行号的设置为 :set number on

4.vim中用 . 表示当前行。

5.:co 12                   //vim中把当前行 copy 到行 12 的地方

6.vim命令前面指明范围是 "%",会作用于整个文件。

7.vim v模式下选择文本后用 < > 来调整选择部分的缩进

8.ggVG 全部选择

9.set background=dark   :set backgruond=light                //设置背景亮度:

10. :syntax on //颜色on

11.

s 是最基本的替换命令,象大多数文本操作命令一样,它也可以带一个表示操作范围的前缀。有空了我会给大家讲讲范围前缀的语法和常见的用法。
一个简便的方法是,先在 visual 模式下想办法选中你要操作的范围,然后再输入 s 命令就可以替换了。
比如你要操作一个段落,可以先用 { 或者 [[ 挪到段落的开始处,然后再用 v 进入 visual 模式,然后再用 } 或者 ]] 挪到段落的结尾处,然后再输入 s 命令就可以实现你的目的了。
用view模式选中以后要打":"才成进入替换啊。
它下面就变成 :'<,'>;,你继续输入s就可以了

12.set backspace=0/1/2

可以改变backspace键在vim里的行为。具体请:h 'backspace'注意前后有单引号。

13.在vim中,如果我不小心按错了键,跑到文件头或者文件尾了,怎么能快速回到刚才光标所在的位置?

可以用 Ctrl+o 或者用``就可以回到刚才的位置。

14.ctrl w            //多窗口之间的移动

15.:sp input.file //打开多个文件

3. 小知识

1.grep -v 取不匹配的行

2.grep -i 匹配时忽略大小写

3.压缩空格,用tr -s ' '

4.ssh远程执行命令的方法为 ssh "commond",注意的是,command中的$需要用/$

5./s 匹配所有空白字符,包括回车,换行,制表。

6.模式匹配中 ^表示行首,$表示行尾

7.tar 命令如果要将某个文件或目录排除  tar cvf test.tar.gz  /tmp/test  --exclude=/tmp/test/test2/test1

4.后台与前台执行任务

jobs -l 显示了当前 shell 环境中已启动的作业状态

bg %id 将任务后台执行

fg %id 将任务前台执行

nice 给程序赋予一定的优先级大小

renice 重新赋予程序优先级大小

!$ 刚刚执行得命令

nohup commond & 后台运行commond并且不会因为终端关闭而关闭

5.建立虚拟内存的方法

方法一

--------------------------//分区

fdisk /dev/sda

n

+100

82

w

-----------------------//更新内核分区表

partprobe

-------------------------//设置交换分区

mkswap /dev/sda6

swapon /dev/sda6

------------------------//取消交换分区

swapoff /dev/sda6

------------------------

方法二

------------------------设置交换文件

dd </dev/zero>/tmp/swap bs=4k count=25000

mkswap /tmp/swap

free

swapon /tmp/swap

free

-------------------------取消交换文件

swapoff /tmp/swap

free

--------------------------

6.文件系统相关的命令

dumpe2fs /dev/sda5 //显示超级块信息

lsattr install.log 显示文件属性  A,a,c,D,d,i,j,s,S,e,u

/lib/modules/`uname -r`/kernel/fs //查看linux支持的文件系统
mke2fs -i inodesize
mke2fs -b blocksize
mke2fs -N inodenumber
mke2fs -m number       //number% size to give to root,default is 5%
mke2fs -L label
mke2fs -j                      //make ext3 file system

e2label 查看,创建卷标

fsck -y /dev/sda3 检查ext2文件系统

tun2fs -j /dev/sda3 convert ext2 to ext3

7.挂载相关的命令

/etc/fstab 中的参数

rw,read and write
suid,运行使用suid
dev,允许包括设备文件
exec,允许二进制文件
auto,允许自动判断文件系统类型
nouser,只允许超级用户挂在文件系统
async,异步管理的改变
user   允许一般用户挂载
ro   read only
loop 回环设备挂载
1每天备份 2每2天备份
1是否用fsck检查 0,不检查,1,检查,2,第二个检查的分区。

检查当前挂载的文件系统
1. mount
2. /etc/mtab
3. cat /proc/mounts

8.不常用的命令

uptime                                   查看系统负载

pstree                                    查看进程数

newgrp user                           修改user默认用户组

gpasswd -a jack group

useradd -r user/group            创建系统账户或用户组(1<=uid/gid<=499)

/etc/default/useradd               修改useradd命令的默认群组

usermod -L user                     锁定用户密码
usermod -U user                    释放用户密码
passwd -S user                       查看是否锁定

arp -i eth0 -s xxx.xxx.xxx.xxx(IP) xx.xx.xx.xx.xx(MAC). 修改MAC地址

/etc/sysctl.conf                         修改系统启动时的内核参数

rpm -ql                                   查询软件包安装的所有文件

rpm -qf                                   根据安装的文件查询软件包
ssh 远程执行一条命令,如何退出   在命令的后面加上0</dev/null;1>/dev/null;2>/dev/null; 是输出设备重定向一下

9.手动配置ip,gateway和dns

~$ sudo gedit /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.23.23
netmask 255.255.255.0
gateway 192.168.23.1

接下来添加DNS
~$ cat /etc/resolv.conf
# Generated by NetworkManager // 需要删除改行,否则每次重启ubuntu之后,/etc/resolv.conf将被清空
~$ sudo gedit /etc/resolv.conf
nameserver 202.106.0.20
~$ sudo /etc/init.d/networking restart
或者
~$ sudo service networking restart
如果配置失败,可以使用手工配置方法:
~$ sudo ifconfig eth0 192.168.23.23 netmask 255.255.255.0 up
~$ sudo route add default gw 192.168.23.1 eth0

10 .一些shell特性

(ls;pwd;date) > tmp.txt

在当前shell中执行
source test.sh
. test.sh
{test.sh}
eval '. test.sh'
在子shell中执行
test.sh
/bin/bash test.sh
(. test.sh;)
exec test.sh

${variable:-word} 若variable已被设置或非空,则带入原来的值,否则带入word
${variable:=word} 若variable已被设置或非空,则带入原来的值,否则将variable设置为word
${variable:+word} 若variable已被设置或非空,则带入word,否则什么都不带入
${variable:?word} 若variable已被设置或非空,则带入原来的值,否则输出word并从shell推出
${variable:offset} 获得变量variable值中位置从offset开始的字串
${variable:offset:length} 获得变量variable值中位置从offset开始长度为length的字串

readonly variable

变量扩展
${var:pos}
${var:pos:len}
${var/Pattern/Replacement}
${var//Pattern/Replacement}

var="what is your name"
echo ${var:3}

declare -r var= readonly var
declare -i number
declare -a  数组
declare -f  函数
declare -x  export

command <&- 关闭标准输入
command >& m 把标准输出重定向到文件描述符m中
command <& 把标准输入重新定向到文件描述如m中
command >filename 2>&1 把标准输出和标准错误一起重新定向到一个文件中

Bash Shell学习笔记五相关推荐

  1. Bash Shell学习笔记四

    1. 几个常用命令和基本知识. set $(commond)          将位置参数设置为后面的命令输出 shell命令中 在-- 后面的语句将会不再解释后面的 - cal 万年历 bc 计算器 ...

  2. bash linux .ee,Linux下Bash shell学习笔记.md

    ### 1.shell下没有变量类型和定义的概念. >1. 变量直接使用不用定义 >2. 所有值都视为字符串. >3. 在对变量取值都需要加$ >4. 行注释为 # + ### ...

  3. Bash shell学习笔记(五)

    课程目标 掌握常用的正则表达式元字符含义 掌握sed的删除行操作 掌握sed的打印行操作 掌握sed的增加行操作 掌握sed的修改替换操作 正则表达式 正则表达式介绍 正则表达式(Regular Ex ...

  4. Bash Shell学习笔记二

    1.||.&& 和&.|的区别 ||和&&的执行是从左到右,而&和|的执行是两边到中间的(未实际测试,只能确认它不是按顺序执行的) ||和&&a ...

  5. Bash Shell学习笔记三

    1.eval的含义 eval实际上是对后面的算式或者表达式执行两次解释. 例如 a=sc bsc=feiye echo $a eval echo "$"b$a 最后一句实际上是执行 ...

  6. Bash Shell学习笔记一

    1. 在Linux中执行脚本文件时 以 ./执行的 或者普通方式(输入文件名)执行时是启动子shell执行的,所以,一切环境变量设置在推出后失效 因此在脚本中设置$PATH将失效,如果一定要以脚本方式 ...

  7. Bash shell 学习笔记六

    vim中统计单词的个数 统计hello单词的个数 :%s/hello/&/g 或 :%s+hello+&+g sed 的一个用法 echo 135.0.1.4|sed 's//./*( ...

  8. 【AngularJs学习笔记五】AngularJS从构建项目开始

    为什么80%的码农都做不了架构师?>>>    #0 系列目录# AngularJs学习笔记 [AngularJs学习笔记一]Bower解决js的依赖管理 [AngularJs学习笔 ...

  9. 华清远见fs4412开发板学习笔记(五)

    fs4412开发板学习笔记(五) 作业1: 输入10个整数,按从小到大的顺序输出(选择排序) 每轮排序在未排序的集合中找到(最小/最大),将找到的数与未排序的 第一个数交换位置. 5 4 3 2 1 ...

最新文章

  1. JavaScript实现私有属性
  2. pytorch学习笔记(二):gradien
  3. PCA主成分分析以及Python实现(阅读笔记)
  4. IDA64 Fatal error before kernel init
  5. HTML 表单 存为EXCEL文件时 中文显示乱码
  6. oracle 截取字指定的字符串
  7. 独立磁盘冗余阵列:RAID
  8. python根据相关系数绘制热力图
  9. python的knn算法list_【风马一族_Python】 实施kNN算法
  10. 站在悬崖边上,金立手机的生死较量
  11. oracle卸载客户端,oracle11g客户端如何完全卸载
  12. 下载站源码 php,thinkphp开发素材资源源码下载站整站源代码
  13. 13、threshold函数
  14. 如何将pdf压缩到最小?怎么将pdf文档压缩至更小?
  15. 3D游戏里的男女性角色模型是这样建模出来的
  16. ADB logcat 过滤方法
  17. 12月编程语言排行榜公布啦~
  18. C++虚函数实现机制
  19. 语音怎么在线转文字,语音转文字的小技巧
  20. 快速傅里叶和离散傅里叶的区别?

热门文章

  1. Spring Cloud微服务实战(五)-应用通信
  2. git 提示 error setting certificate verify locations !解决
  3. linux集群系列(4) --- LVS之负载均衡集群 --- 持久连接
  4. 字符串分割 函数实现
  5. 你好,C++(2)1.3 C++世界版图1.4 如何学好C++
  6. Gigabit Ethernet复制数据会异常的缓慢
  7. javascript 中的innerHTML的用法
  8. LINQ 中的 select
  9. Ubuntu16.04 php7.0+mysql5.7+apache2环境搭配
  10. Shell 命令大全Xhell入门