一,命令
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 <diff11-4.patch --11.txt的内容现在和4.txt一样了。
head与tail--打印文件的前10行和后10行
1,head 3.log --打印前10行
2,head -n 5 3.log --打印前5行
3,head -n -100 3.log --打印除了最后100行之外的所有行
4,tail 11.txt --打印最后10行 (同cat 11.txt | tail)
5,ls -d */ --列出当前路径下的目录。同 ls -F | grep "/$"; ls -l | grep '^d'; find . -type d -maxdepth 1 -print
pushed和popd快速定位
1,cd - --退回上一次所在目录(适用于两个位置的切换)
2,pushd /var/www(当前路径) ,
3,dirs 查看栈内容(从左至右,从0到n计数)。pushd +3 将栈进行翻转并切换到栈中id为3的位置。popd +0 --移除最近压入的路径并切换到下一个目录
统计文件行数,单词数,字符数
1,wc -l 11.txt --统计行数,同 cat 11.txt | wc -l
2,wc -w 11.txt -- 统计单词数,同 cat 11.txt | wc -w
3,wc -c 11.txt -- 统计字符数,同 cat 11.txt | wc -c
4,wc 11.txt --打印出文件的行数,单词数,字符数,彼此之间用制表符分隔
5,wc 11.txt -L --最长行的长度
6,tree shell --打印shell目录的树形结构
7,tree shell -P *.sh --重点标记匹配某种样式的文件
8,tree shell -I *.sh --标记除符合某种形式之外的那些文件
9,tree h --同时打印文件和目录的大小
grep
1,grep 'text' . -R -n --当前目录下递归查找含有‘text’ 的源码,并在输出时显示行号
2,cat 1.txt | grep 'uniq' -A 3 --打印匹配某个结果之后的3行 (-B 之前的,-C 之前以及之后的3行)
3,cat 1.txt | grep -E 'is|uniq' --多个匹配,匹配 is 与 uniq字符串
四:一团乱麻
1,wget url --下载 wget -c url --断点续传 [用于文件下载的命令行工具]
2,wget --limit-rate 20k url ---下载限速20k
3,wget -Q 100m url --指定最大下载配额
4,lynx 以格式化纯文本形式下载网页
5,curl 支持包括HTTP,HTTPS,FTP等众多协议,post,cookie,认证,从指定偏移处下载,参照页,用户代理字符串,扩展头部,限速,文件大小限制,进度条等特性。
五,B计划
用tar归档
1,-c 创建文件 (creat file)
-f 指定文件名 (specify filename)
-v 列出归档内容及更多细节 (verbose)
-r 向tar文件中再添加文件
-x 提取 (exact)
-A 合并多个tar文件
-u 通过检查时间戳来更新归档文件中的内容
config,host,route,ping,lsof,netstat
1,ifconfig eth0 --查看单个网络接口的信息
HWaddr : 硬件地址(MAC地址) inet addr :IP地址 Bcast : 广播地址 Mask:子网掩码
2,ifconfig eth0 192.168.0.61 --更改ip地址 (sudo)
3,ifconfig etho 192.168.0.60 netmask 255.255.252.0 --更改子网掩码地址
4,ifconfig eth0 hw ether 00:24:1d:d6:fe:d3 -- 更改硬件地址
5,route -n --显示路由表信息
6,ping www.baidu.com -c 2 --发送2个echo分组后停止发送
7,lsof -i --列出开放端口及服务 同 netstat -tnp
六,管家
1,du 11.txt ---某个文件或多个文件占用的磁盘空间 【du,df是linux中用于统计磁盘使用情况的重要命令】
2,du -a directory --递归输出指定目录中所有文件的统计结果
3,who,w--获取当前登录用户的相关信息
4,users --登录主机的用户列表
5,uptime --查看系统通电运行了多长时间
6,last --提供登录会话信息 last reboot --获取重启会话信息
7,head ~/.bash_history --打印最近10条命令历史记录
8,ps --收集进程信息
9,top --默认输出占用CPU最多的进程列表
10,ps -eLf --sort -nlwp | head --线程数最多的10个进程
11,kill -l --列出所有可用的信号
12,kill -s SIGKILL process_id 或者 kill -9 process_id --强行杀死进程
13,killall process_name --通过命令名终止进程
14,which --找出某个命令的位置
15,whereis --与which类似,但还能打印出其对应的命令手册的位置以及命令源代码的路径
16,file --确定文件的类型
17,whatis --输出作为参数的命令的简短描述信息
18,cron --安排脚本在某个时间或每隔一段时间来运行
windows 下用vritualbox 创建ubuntu系统,设置共享文件夹后,ubuntu中提示
“您没有查看“***”的内容所需的权限。”
vboxsf.
执行下列命令:(username)为ubuntu用户名
sudo usermod -a -G vboxsf username
四
1.tail -f filename 查看文件实时更新内容
2.tail -f filename | grep -E 'key1|key2|key3' 查看文件更新并过滤
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 <diff11-4.patch --11.txt的内容现在和4.txt一样了。
head与tail--打印文件的前10行和后10行
1,head 3.log --打印前10行
2,head -n 5 3.log --打印前5行
3,head -n -100 3.log --打印除了最后100行之外的所有行
4,tail 11.txt --打印最后10行 (同cat 11.txt | tail)
5,ls -d */ --列出当前路径下的目录。同 ls -F | grep "/$"; ls -l | grep '^d'; find . -type d -maxdepth 1 -print
pushed和popd快速定位
1,cd - --退回上一次所在目录(适用于两个位置的切换)
2,pushd /var/www(当前路径) ,
3,dirs 查看栈内容(从左至右,从0到n计数)。pushd +3 将栈进行翻转并切换到栈中id为3的位置。popd +0 --移除最近压入的路径并切换到下一个目录
统计文件行数,单词数,字符数
1,wc -l 11.txt --统计行数,同 cat 11.txt | wc -l
2,wc -w 11.txt -- 统计单词数,同 cat 11.txt | wc -w
3,wc -c 11.txt -- 统计字符数,同 cat 11.txt | wc -c
4,wc 11.txt --打印出文件的行数,单词数,字符数,彼此之间用制表符分隔
5,wc 11.txt -L --最长行的长度
6,tree shell --打印shell目录的树形结构
7,tree shell -P *.sh --重点标记匹配某种样式的文件
8,tree shell -I *.sh --标记除符合某种形式之外的那些文件
9,tree h --同时打印文件和目录的大小
grep
1,grep 'text' . -R -n --当前目录下递归查找含有‘text’ 的源码,并在输出时显示行号
2,cat 1.txt | grep 'uniq' -A 3 --打印匹配某个结果之后的3行 (-B 之前的,-C 之前以及之后的3行)
3,cat 1.txt | grep -E 'is|uniq' --多个匹配,匹配 is 与 uniq字符串
四:一团乱麻
1,wget url --下载 wget -c url --断点续传 [用于文件下载的命令行工具]
2,wget --limit-rate 20k url ---下载限速20k
3,wget -Q 100m url --指定最大下载配额
4,lynx 以格式化纯文本形式下载网页
5,curl 支持包括HTTP,HTTPS,FTP等众多协议,post,cookie,认证,从指定偏移处下载,参照页,用户代理字符串,扩展头部,限速,文件大小限制,进度条等特性。
五,B计划
用tar归档
1,-c 创建文件 (creat file)
-f 指定文件名 (specify filename)
-v 列出归档内容及更多细节 (verbose)
-r 向tar文件中再添加文件
-x 提取 (exact)
-A 合并多个tar文件
-u 通过检查时间戳来更新归档文件中的内容
config,host,route,ping,lsof,netstat
1,ifconfig eth0 --查看单个网络接口的信息
HWaddr : 硬件地址(MAC地址) inet addr :IP地址 Bcast : 广播地址 Mask:子网掩码
2,ifconfig eth0 192.168.0.61 --更改ip地址 (sudo)
3,ifconfig etho 192.168.0.60 netmask 255.255.252.0 --更改子网掩码地址
4,ifconfig eth0 hw ether 00:24:1d:d6:fe:d3 -- 更改硬件地址
5,route -n --显示路由表信息
6,ping www.baidu.com -c 2 --发送2个echo分组后停止发送
7,lsof -i --列出开放端口及服务 同 netstat -tnp
六,管家
1,du 11.txt ---某个文件或多个文件占用的磁盘空间 【du,df是linux中用于统计磁盘使用情况的重要命令】
2,du -a directory --递归输出指定目录中所有文件的统计结果
3,who,w--获取当前登录用户的相关信息
4,users --登录主机的用户列表
5,uptime --查看系统通电运行了多长时间
6,last --提供登录会话信息 last reboot --获取重启会话信息
7,head ~/.bash_history --打印最近10条命令历史记录
8,ps --收集进程信息
9,top --默认输出占用CPU最多的进程列表
10,ps -eLf --sort -nlwp | head --线程数最多的10个进程
11,kill -l --列出所有可用的信号
12,kill -s SIGKILL process_id 或者 kill -9 process_id --强行杀死进程
13,killall process_name --通过命令名终止进程
14,which --找出某个命令的位置
15,whereis --与which类似,但还能打印出其对应的命令手册的位置以及命令源代码的路径
16,file --确定文件的类型
17,whatis --输出作为参数的命令的简短描述信息
18,cron --安排脚本在某个时间或每隔一段时间来运行
windows 下用vritualbox 创建ubuntu系统,设置共享文件夹后,ubuntu中提示
“您没有查看“***”的内容所需的权限。”
vboxsf.
执行下列命令:(username)为ubuntu用户名
sudo usermod -a -G vboxsf username
四
1.tail -f filename 查看文件实时更新内容
2.tail -f filename | grep -E 'key1|key2|key3' 查看文件更新并过滤