Bash Shell学习笔记五
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学习笔记五相关推荐
- Bash Shell学习笔记四
1. 几个常用命令和基本知识. set $(commond) 将位置参数设置为后面的命令输出 shell命令中 在-- 后面的语句将会不再解释后面的 - cal 万年历 bc 计算器 ...
- bash linux .ee,Linux下Bash shell学习笔记.md
### 1.shell下没有变量类型和定义的概念. >1. 变量直接使用不用定义 >2. 所有值都视为字符串. >3. 在对变量取值都需要加$ >4. 行注释为 # + ### ...
- Bash shell学习笔记(五)
课程目标 掌握常用的正则表达式元字符含义 掌握sed的删除行操作 掌握sed的打印行操作 掌握sed的增加行操作 掌握sed的修改替换操作 正则表达式 正则表达式介绍 正则表达式(Regular Ex ...
- Bash Shell学习笔记二
1.||.&& 和&.|的区别 ||和&&的执行是从左到右,而&和|的执行是两边到中间的(未实际测试,只能确认它不是按顺序执行的) ||和&&a ...
- Bash Shell学习笔记三
1.eval的含义 eval实际上是对后面的算式或者表达式执行两次解释. 例如 a=sc bsc=feiye echo $a eval echo "$"b$a 最后一句实际上是执行 ...
- Bash Shell学习笔记一
1. 在Linux中执行脚本文件时 以 ./执行的 或者普通方式(输入文件名)执行时是启动子shell执行的,所以,一切环境变量设置在推出后失效 因此在脚本中设置$PATH将失效,如果一定要以脚本方式 ...
- Bash shell 学习笔记六
vim中统计单词的个数 统计hello单词的个数 :%s/hello/&/g 或 :%s+hello+&+g sed 的一个用法 echo 135.0.1.4|sed 's//./*( ...
- 【AngularJs学习笔记五】AngularJS从构建项目开始
为什么80%的码农都做不了架构师?>>> #0 系列目录# AngularJs学习笔记 [AngularJs学习笔记一]Bower解决js的依赖管理 [AngularJs学习笔 ...
- 华清远见fs4412开发板学习笔记(五)
fs4412开发板学习笔记(五) 作业1: 输入10个整数,按从小到大的顺序输出(选择排序) 每轮排序在未排序的集合中找到(最小/最大),将找到的数与未排序的 第一个数交换位置. 5 4 3 2 1 ...
最新文章
- JavaScript实现私有属性
- pytorch学习笔记(二):gradien
- PCA主成分分析以及Python实现(阅读笔记)
- IDA64 Fatal error before kernel init
- HTML 表单 存为EXCEL文件时 中文显示乱码
- oracle 截取字指定的字符串
- 独立磁盘冗余阵列:RAID
- python根据相关系数绘制热力图
- python的knn算法list_【风马一族_Python】 实施kNN算法
- 站在悬崖边上,金立手机的生死较量
- oracle卸载客户端,oracle11g客户端如何完全卸载
- 下载站源码 php,thinkphp开发素材资源源码下载站整站源代码
- 13、threshold函数
- 如何将pdf压缩到最小?怎么将pdf文档压缩至更小?
- 3D游戏里的男女性角色模型是这样建模出来的
- ADB logcat 过滤方法
- 12月编程语言排行榜公布啦~
- C++虚函数实现机制
- 语音怎么在线转文字,语音转文字的小技巧
- 快速傅里叶和离散傅里叶的区别?
热门文章
- Spring Cloud微服务实战(五)-应用通信
- git 提示 error setting certificate verify locations !解决
- linux集群系列(4) --- LVS之负载均衡集群 --- 持久连接
- 字符串分割 函数实现
- 你好,C++(2)1.3 C++世界版图1.4 如何学好C++
- Gigabit Ethernet复制数据会异常的缓慢
- javascript 中的innerHTML的用法
- LINQ 中的 select
- Ubuntu16.04 php7.0+mysql5.7+apache2环境搭配
- Shell 命令大全Xhell入门