shell学习笔记
2016-01-13 13:37
477 查看
一,命令
cat:
1,cat -n 1.txt –显示行号
2,cat -s 1.txt –压缩空白行
3,cat 1.txt | tr -s ‘\n’ –tr移除空白行
4,录制和回放 script scriptreplay
find:
1,find . -print –打印文件和目录的文件
2,find . -name “example*” -print –根据文件名查找 不去分大小写
3,find . ! -name “*.txt” -print –查找非txt文件
4,find . -maxdepth(-mindepth) 2 -type f -print –查找深度为2 的文件 [-type f(文件), l(符号链接), d(目录),]
5,find . -type f -atime (+-)7 -print –查找 (超过 之内)7天访问过的文件 根据文件时间检索
6,find . -type f -size 2k –文件大小
xargs:
1,cat 1.txt | xargs –单行输出
2,cat 2.txt | xargs -n 3 –每行3字符串输出
3,cat 1.txt | xargs -d ‘xx’ –以‘xx’ 分隔
查找包含某个字符串的文件,并替换
Example
grep -rl ‘windows’ ./ | xargs sed -i ‘s/windows/linux/g’
This will search for the string ‘windows’ in all files relative to the current directory and replace ‘windows’ with ‘linux’ for each occurrence of the string in each file.
tr: 转换,文本替换工具
1,echo “ABCDEFG” | tr ‘A-Z’ ‘a-z’ –转化为小写
2,echo 123543 | tr ‘0-9’ ‘123456’ –加密
3,echo 789654 | tr ‘123456’ ‘0-9’ –解密
4,ROT13算法 加解密
5,echo ‘Hello 123 world 7998’ | tr -d ‘0-9’ –删除数字并打印
md5sum :校验与核实
1,md5sum 1.txt –查看1.txt的MD5 36个字符的16进制串
2,md5sum 1.txt > 1.md5 –将1.txt文件的MD5信息保存在1.md5文件中 (文件名可为多个)
3,md5sum -c 1.md5 –校验当前文件夹下是否有与1.md5中md5信息匹配的文件
4,md5deep -rl shell > shel.md5 –查看shell文件夹md5,-r 使用递归方式 -l 使用相对路径
sort 排序,单一与重复
1,sort 1.txt –输出排序后的信息
2,sort 1.txt | uniq –排序并去除重复的行
3,sort -n 1.txt –按数字排序
4,sort -r 1.txt –逆序排序
5,sort -M 1.txt –按月份排序
6,sort -n -r -k 1 1.txt –按数字,逆序,第1列,排序(-nrk)
7,sort -k 2 1.txt –按第2列排序
8,sort 1.txt | uniq -u –只显示唯一行(查看没有出现重复的行)
9,sort 1.txt | uniq -c –统计各行在文件中出现的次数
10,sort 1.txt | uniq -d –找出文件中出现重复的行
dd,split,rename 分隔文件和数据
1,dd if=3.log bs=100k count=1 of=data.file –以3.log为模板,分隔出1块大小为100k的文件data.file (count=2 则文件大小为200k)
2,split -b 10k data.file –将data.file按每份10k的大小分隔出多个文件
3,split -l 100 data.file –将data.file分隔成多个文件,每个文件100行
4,split -l 200 3.log -d -a 4 zhongdui –每个文件200行,文件分别为zhongdui0000,zhongdui0001,zhongdui0002
批量重命名和移动
1,重命名.jpg .png
rename.sh
count=1;
二,以文件之名
chmod权限
1,ls -l 查看文件权限如下
drwxrwxr-x 2 kongdexing kongdexing 4096 Dec 31 15:35 ./
drwxrwxr-x 11 kongdexing kongdexing 4096 Dec 31 10:29 ../
-rw-rw-r– 1 kongdexing kongdexing 66 Dec 31 13:08 11.txt
-rw-rw-r– 1 kongdexing kongdexing 107 Dec 31 14:04 1.txt
-rw-rw-r– 1 kongdexing kongdexing 103 Dec 31 13:57 2.txt
-rw-rw-r– 1 kongdexing kongdexing 174147 Dec 31 14:29 3.log
-rw-rw-r– 1 kongdexing kongdexing 55 Dec 31 12:05 4.txt
-rw-rw-r– 1 kongdexing kongdexing 17814 Nov 27 16:45 abc.jpg
-rwxrwxrwx 1 kongdexing kongdexing 11 Dec 31 11:38 cecho.sh*
-rw-rw-r– 1 kongdexing kongdexing 67922 Nov 27 16:18 danza.jpg
-rw-rw-r– 1 kongdexing kongdexing 102400 Dec 31 14:33 data.file
-rw-rw-r– 1 kongdexing kongdexing 102400 Dec 31 15:35 junk.data
-rwxrwxrwx 1 kongdexing kongdexing 173 Dec 31 15:23 rename.sh*
-rw-rw-r– 1 kongdexing kongdexing 120 Dec 31 12:05 tr.md5
-rw-rw-r– 1 kongdexing kongdexing 18 Dec 31 12:02 tr.txt
第一列输出明确了后面的输出,其中第一个字母对应关系
- 普通文件,d 目录,c 字符设备,b 块设备,l 符号链接,s 套接字,p 管道
剩下的部分划分三个组,每组3个字符(—),分别对应用户权限,用户组权限,其他用户权限。这9个字符中的每一个字符指明是否设置了某种权限。如果设置了权限,对应位置上会出现一个字符,否则就以一个‘-’表明没有设置对应的权限。
r 可读,w 可写,x 可执行
2,权限修改
u -用户,g-用户组,o-其他实体权限,a-所有
chmod a+x 1.txt – 给所有类别添加可执行权限
chmod u-rw 1.txt –删除用户可读可写权限
8进制设置权限:r– = 4, -w- = 2, –x = 1; 所以 rwx = 7,chmod 777 1.txt 设置全部权限可用
3,chmod 777 . -R –递归方式修改当前目录下的所有文件和子目录的权限
三 让文件飞
chatter,touch,生成iso文件及混合iso,diff
1,sudo chatter +i 1.txt –文件设置为不可修改
2,touch 112.txt – 创建112.txt文件(若文件存在,将该文件相关的所有时间戳更改为当前时间)
3,touch -a 112.txt –若文件存在,只更改文件访问时间
4,touch -m 112.txt –文件存在,更改文件内容修改时间
5,cat 11.txt > image.iso –用cat创建iso镜像算是小技巧
6,diff 11.txt 4.txt – 非一体化(non-unified)形式的diff输出
7,diff -u 11.txt 4.txt –一体化形式的diff输出
8,diff -u 11.txt 4.txt > diff11-4.patch –将diff的输出重定向到一个文件
9,patch -p1 11.txt
cat:
1,cat -n 1.txt –显示行号
2,cat -s 1.txt –压缩空白行
3,cat 1.txt | tr -s ‘\n’ –tr移除空白行
4,录制和回放 script scriptreplay
find:
1,find . -print –打印文件和目录的文件
2,find . -name “example*” -print –根据文件名查找 不去分大小写
3,find . ! -name “*.txt” -print –查找非txt文件
4,find . -maxdepth(-mindepth) 2 -type f -print –查找深度为2 的文件 [-type f(文件), l(符号链接), d(目录),]
5,find . -type f -atime (+-)7 -print –查找 (超过 之内)7天访问过的文件 根据文件时间检索
6,find . -type f -size 2k –文件大小
xargs:
1,cat 1.txt | xargs –单行输出
2,cat 2.txt | xargs -n 3 –每行3字符串输出
3,cat 1.txt | xargs -d ‘xx’ –以‘xx’ 分隔
查找包含某个字符串的文件,并替换
Example
grep -rl ‘windows’ ./ | xargs sed -i ‘s/windows/linux/g’
This will search for the string ‘windows’ in all files relative to the current directory and replace ‘windows’ with ‘linux’ for each occurrence of the string in each file.
tr: 转换,文本替换工具
1,echo “ABCDEFG” | tr ‘A-Z’ ‘a-z’ –转化为小写
2,echo 123543 | tr ‘0-9’ ‘123456’ –加密
3,echo 789654 | tr ‘123456’ ‘0-9’ –解密
4,ROT13算法 加解密
5,echo ‘Hello 123 world 7998’ | tr -d ‘0-9’ –删除数字并打印
md5sum :校验与核实
1,md5sum 1.txt –查看1.txt的MD5 36个字符的16进制串
2,md5sum 1.txt > 1.md5 –将1.txt文件的MD5信息保存在1.md5文件中 (文件名可为多个)
3,md5sum -c 1.md5 –校验当前文件夹下是否有与1.md5中md5信息匹配的文件
4,md5deep -rl shell > shel.md5 –查看shell文件夹md5,-r 使用递归方式 -l 使用相对路径
sort 排序,单一与重复
1,sort 1.txt –输出排序后的信息
2,sort 1.txt | uniq –排序并去除重复的行
3,sort -n 1.txt –按数字排序
4,sort -r 1.txt –逆序排序
5,sort -M 1.txt –按月份排序
6,sort -n -r -k 1 1.txt –按数字,逆序,第1列,排序(-nrk)
7,sort -k 2 1.txt –按第2列排序
8,sort 1.txt | uniq -u –只显示唯一行(查看没有出现重复的行)
9,sort 1.txt | uniq -c –统计各行在文件中出现的次数
10,sort 1.txt | uniq -d –找出文件中出现重复的行
dd,split,rename 分隔文件和数据
1,dd if=3.log bs=100k count=1 of=data.file –以3.log为模板,分隔出1块大小为100k的文件data.file (count=2 则文件大小为200k)
2,split -b 10k data.file –将data.file按每份10k的大小分隔出多个文件
3,split -l 100 data.file –将data.file分隔成多个文件,每个文件100行
4,split -l 200 3.log -d -a 4 zhongdui –每个文件200行,文件分别为zhongdui0000,zhongdui0001,zhongdui0002
批量重命名和移动
1,重命名.jpg .png
rename.sh
count=1;
二,以文件之名
chmod权限
1,ls -l 查看文件权限如下
drwxrwxr-x 2 kongdexing kongdexing 4096 Dec 31 15:35 ./
drwxrwxr-x 11 kongdexing kongdexing 4096 Dec 31 10:29 ../
-rw-rw-r– 1 kongdexing kongdexing 66 Dec 31 13:08 11.txt
-rw-rw-r– 1 kongdexing kongdexing 107 Dec 31 14:04 1.txt
-rw-rw-r– 1 kongdexing kongdexing 103 Dec 31 13:57 2.txt
-rw-rw-r– 1 kongdexing kongdexing 174147 Dec 31 14:29 3.log
-rw-rw-r– 1 kongdexing kongdexing 55 Dec 31 12:05 4.txt
-rw-rw-r– 1 kongdexing kongdexing 17814 Nov 27 16:45 abc.jpg
-rwxrwxrwx 1 kongdexing kongdexing 11 Dec 31 11:38 cecho.sh*
-rw-rw-r– 1 kongdexing kongdexing 67922 Nov 27 16:18 danza.jpg
-rw-rw-r– 1 kongdexing kongdexing 102400 Dec 31 14:33 data.file
-rw-rw-r– 1 kongdexing kongdexing 102400 Dec 31 15:35 junk.data
-rwxrwxrwx 1 kongdexing kongdexing 173 Dec 31 15:23 rename.sh*
-rw-rw-r– 1 kongdexing kongdexing 120 Dec 31 12:05 tr.md5
-rw-rw-r– 1 kongdexing kongdexing 18 Dec 31 12:02 tr.txt
第一列输出明确了后面的输出,其中第一个字母对应关系
- 普通文件,d 目录,c 字符设备,b 块设备,l 符号链接,s 套接字,p 管道
剩下的部分划分三个组,每组3个字符(—),分别对应用户权限,用户组权限,其他用户权限。这9个字符中的每一个字符指明是否设置了某种权限。如果设置了权限,对应位置上会出现一个字符,否则就以一个‘-’表明没有设置对应的权限。
r 可读,w 可写,x 可执行
2,权限修改
u -用户,g-用户组,o-其他实体权限,a-所有
chmod a+x 1.txt – 给所有类别添加可执行权限
chmod u-rw 1.txt –删除用户可读可写权限
8进制设置权限:r– = 4, -w- = 2, –x = 1; 所以 rwx = 7,chmod 777 1.txt 设置全部权限可用
3,chmod 777 . -R –递归方式修改当前目录下的所有文件和子目录的权限
三 让文件飞
chatter,touch,生成iso文件及混合iso,diff
1,sudo chatter +i 1.txt –文件设置为不可修改
2,touch 112.txt – 创建112.txt文件(若文件存在,将该文件相关的所有时间戳更改为当前时间)
3,touch -a 112.txt –若文件存在,只更改文件访问时间
4,touch -m 112.txt –文件存在,更改文件内容修改时间
5,cat 11.txt > image.iso –用cat创建iso镜像算是小技巧
6,diff 11.txt 4.txt – 非一体化(non-unified)形式的diff输出
7,diff -u 11.txt 4.txt –一体化形式的diff输出
8,diff -u 11.txt 4.txt > diff11-4.patch –将diff的输出重定向到一个文件
9,patch -p1 11.txt
相关文章推荐
- 在高性能平台上用脚本执行程序
- Android adb shell启动应用程序的方法
- bash/shell编程学习(2)
- shell脚本中单引号和双引号的区别
- powershell对txt文件的服务器进行ping操作
- Shell_NotifyIcon 系统托盘
- shell---practice3
- Linux Shell的第一个小程序
- bash编程之五 字符串测试以及for循环
- shell脚本编程之函数
- Shell中各种括号的用法
- xshell密钥登录
- Shell脚本文件中常用的操作语句
- Shell中一键添加作者,版权信息
- Linux 每日一练习:Login Shell 与Non-login Shell
- shell脚本一键安装MySQL5.5
- 第二章 Shell编程之变量
- shell脚本手动执行成功,定时任务调用失败的解决方法。
- shell中的括号(小括号,中括号,大括号/花括号)
- shells