shell记录
来源:互联网 发布:检测电脑温度软件 编辑:程序博客网 时间:2024/05/01 15:20
1>.shell文件第一行加上:
#! /bin/sh -
/*----------------------------*/
2>.unix命令行用"空格"或"tab"隔开各组成部分
/*----------------------------*/
3>.命令行选项的开头是一个破折号(减号)
/*----------------------------*/
4>.用#作为注释符
/*----------------------------*/
5>.重定向与管道
< 改变标准输入从文件输入
> 改变标准输出到文件(文件存在就覆盖)
>> 附加到文件, 文件存在就附加到文件结尾
| 建立管道,将 | 前的执行结果作为 | 之后的命令的输入
/*----------------------------*/
6>.在多条命令时可用 分号 或 & 进行间隔。用 & 符号时,shell将在后台执行前面的命令,意味着shell不用等到该命令执行完成,就可执行下一命令。
/*----------------------------*/
7>.使用变量时,需在变量名前加 $
/*----------------------------*/
8>.在给变量赋值时,若值中有空格,需要加上引号
/*----------------------------*/
9>.特殊文件:/dev/null 与 /dev/tty
/dev/null 用于向此文件写入内容的时候数据都将被系统丢掉
/dev/tty 用于向此文件写入内容事自动重定向到一个终端
/*----------------------------*/
10>.输入密码:
printf "Enter new password:"
stty -echo #关闭自动打印输入字符的功能
read pass < /dev/tty#读取密码并赋值给pass
printf "Enter again:"
read pass2 < /dev/tty#再次读取并赋值给pass2
stty echo #打开自动打印输入字符的功能
echo $pass
/*----------------------------*/
11>.用户登录时会执行用户目录下的 .profile 文件, 可以将一些用户的初始化的东西放在这个文件中, 在每次用户登录时进行初始化
例如将用户的 bin 路径加入到 $PATH, 可以在 .profile 中加上 PATH=$PATH:$HOME/bin
/*----------------------------*/
12>.打开简单的执行跟踪功能:有两种方式:
sh -x 脚本名称
或者
在脚本内部需要被跟踪的部分加上
set -x
并在无需跟踪的代码前加上
set +x
/*----------------------------*/
13>.查看文件的后10行:
tail -n 10 hwtrip_access.log
/*----------------------------*/
14>.find 查找
find . -name "*.php"
find / -name passwd # 查找文件名为passwd的文件
find . -perm 0755 # 查找当前目录中文件权限的0755的文件
find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte
/*----------------------------*/
15>.grep 查找文件内容
grep [-acinv] [--color=auto] '查找字符串' filename
-a: 将binary文件以text文件的方式查找数据
-c: 计算找到‘查找字符串’的次数
-i: 忽略大小写的区别,即把大小写视为相同
-v: 反向选择,即显示出没有‘查找字符串’内容的那一行
-n: 显示行号
grep --color=auto 'MANPATH' /etc/man.config
ls -l | grep -i file
find . -name "*.php"|xargs grep "team_member" -n --color=auto
ps -lad|grep "mysql"
grep "hwtrip_orders_products" ./public_html/ -R
/*----------------------------*/
16>.kill 向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号
kill -signal PID
1:SIGHUP,启动被终止的进程
2:SIGINT,相当于输入ctrl+c,中断一个程序的进行
9:SIGKILL,强制中断一个进程的进行
15:SIGTERM,以正常的结束进程方式来终止进程
17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行
/*----------------------------*/
17>.file 判断接在file命令后的文件的基本数据
file filename
file ./test
/*----------------------------*/
18>.tar
-c :新建打包文件
-t :查看打包文件的内容含有哪些文件名
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j :通过bzip2的支持进行压缩/解压缩
-z :通过gzip的支持进行压缩/解压缩
-v :在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename :filename为要处理的文件
-C dir :指定压缩/解压缩的目录dir
压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
查询:tar -jtv -f filename.tar.bz2
解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
/*----------------------------*/
19>.scp 远程复制文件
从 本地 复制到 远程:
scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root
从 远程 复制到 本地:
scp root@172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz
-r : 同时复制文件夹
/*----------------------------*/
/*----------------------------*/
21>.
/*----------------------------*/
22>.
/*----------------------------*/
23>.
/*----------------------------*/
24>.
/*----------------------------*/
25>.
/*----------------------------*/
26>.
/*----------------------------*/
27>.
/*----------------------------*/
28>.
/*----------------------------*/
29>.
/*----------------------------*/
30>.
/*----------------------------*/
31>.
/*----------------------------*/
32>.
/*----------------------------*/
33>.
/*----------------------------*/
34>.
/*----------------------------*/
35>.
/*----------------------------*/
36>.
/*----------------------------*/
37>.
/*----------------------------*/
38>.
/*----------------------------*/
39>.
/*----------------------------*/
40>.
/*----------------------------*/
1>.
/*----------------------------*/
2>.
/*----------------------------*/
3>.
/*----------------------------*/
4>.
/*----------------------------*/
5>.
/*----------------------------*/
6>.
/*----------------------------*/
7>.
/*----------------------------*/
8>.
/*----------------------------*/
9>.
/*----------------------------*/
10>.
/*----------------------------*/
#! /bin/sh -
/*----------------------------*/
2>.unix命令行用"空格"或"tab"隔开各组成部分
/*----------------------------*/
3>.命令行选项的开头是一个破折号(减号)
/*----------------------------*/
4>.用#作为注释符
/*----------------------------*/
5>.重定向与管道
< 改变标准输入从文件输入
> 改变标准输出到文件(文件存在就覆盖)
>> 附加到文件, 文件存在就附加到文件结尾
| 建立管道,将 | 前的执行结果作为 | 之后的命令的输入
/*----------------------------*/
6>.在多条命令时可用 分号 或 & 进行间隔。用 & 符号时,shell将在后台执行前面的命令,意味着shell不用等到该命令执行完成,就可执行下一命令。
/*----------------------------*/
7>.使用变量时,需在变量名前加 $
/*----------------------------*/
8>.在给变量赋值时,若值中有空格,需要加上引号
/*----------------------------*/
9>.特殊文件:/dev/null 与 /dev/tty
/dev/null 用于向此文件写入内容的时候数据都将被系统丢掉
/dev/tty 用于向此文件写入内容事自动重定向到一个终端
/*----------------------------*/
10>.输入密码:
printf "Enter new password:"
stty -echo #关闭自动打印输入字符的功能
read pass < /dev/tty#读取密码并赋值给pass
printf "Enter again:"
read pass2 < /dev/tty#再次读取并赋值给pass2
stty echo #打开自动打印输入字符的功能
echo $pass
/*----------------------------*/
11>.用户登录时会执行用户目录下的 .profile 文件, 可以将一些用户的初始化的东西放在这个文件中, 在每次用户登录时进行初始化
例如将用户的 bin 路径加入到 $PATH, 可以在 .profile 中加上 PATH=$PATH:$HOME/bin
/*----------------------------*/
12>.打开简单的执行跟踪功能:有两种方式:
sh -x 脚本名称
或者
在脚本内部需要被跟踪的部分加上
set -x
并在无需跟踪的代码前加上
set +x
/*----------------------------*/
13>.查看文件的后10行:
tail -n 10 hwtrip_access.log
/*----------------------------*/
14>.find 查找
find . -name "*.php"
find / -name passwd # 查找文件名为passwd的文件
find . -perm 0755 # 查找当前目录中文件权限的0755的文件
find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte
/*----------------------------*/
15>.grep 查找文件内容
grep [-acinv] [--color=auto] '查找字符串' filename
-a: 将binary文件以text文件的方式查找数据
-c: 计算找到‘查找字符串’的次数
-i: 忽略大小写的区别,即把大小写视为相同
-v: 反向选择,即显示出没有‘查找字符串’内容的那一行
-n: 显示行号
grep --color=auto 'MANPATH' /etc/man.config
ls -l | grep -i file
find . -name "*.php"|xargs grep "team_member" -n --color=auto
ps -lad|grep "mysql"
grep "hwtrip_orders_products" ./public_html/ -R
/*----------------------------*/
16>.kill 向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号
kill -signal PID
1:SIGHUP,启动被终止的进程
2:SIGINT,相当于输入ctrl+c,中断一个程序的进行
9:SIGKILL,强制中断一个进程的进行
15:SIGTERM,以正常的结束进程方式来终止进程
17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行
/*----------------------------*/
17>.file 判断接在file命令后的文件的基本数据
file filename
file ./test
/*----------------------------*/
18>.tar
-c :新建打包文件
-t :查看打包文件的内容含有哪些文件名
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j :通过bzip2的支持进行压缩/解压缩
-z :通过gzip的支持进行压缩/解压缩
-v :在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename :filename为要处理的文件
-C dir :指定压缩/解压缩的目录dir
压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
查询:tar -jtv -f filename.tar.bz2
解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
/*----------------------------*/
19>.scp 远程复制文件
从 本地 复制到 远程:
scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root
从 远程 复制到 本地:
scp root@172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz
-r : 同时复制文件夹
/*----------------------------*/
20>.文件或目录的大小
du -s
du -sh /home
/*----------------------------*/
21>.
/*----------------------------*/
22>.
/*----------------------------*/
23>.
/*----------------------------*/
24>.
/*----------------------------*/
25>.
/*----------------------------*/
26>.
/*----------------------------*/
27>.
/*----------------------------*/
28>.
/*----------------------------*/
29>.
/*----------------------------*/
30>.
/*----------------------------*/
31>.
/*----------------------------*/
32>.
/*----------------------------*/
33>.
/*----------------------------*/
34>.
/*----------------------------*/
35>.
/*----------------------------*/
36>.
/*----------------------------*/
37>.
/*----------------------------*/
38>.
/*----------------------------*/
39>.
/*----------------------------*/
40>.
/*----------------------------*/
1>.
/*----------------------------*/
2>.
/*----------------------------*/
3>.
/*----------------------------*/
4>.
/*----------------------------*/
5>.
/*----------------------------*/
6>.
/*----------------------------*/
7>.
/*----------------------------*/
8>.
/*----------------------------*/
9>.
/*----------------------------*/
10>.
/*----------------------------*/
0 0
- shell 记录
- shell记录
- shell记录
- shell记录
- shell记录
- shell记录
- shell处理字符串记录
- shell记录时间
- shell常错记录
- shell的一些记录
- 记录拆花上shell
- shell学习记录---1
- shell学习记录---3
- shell学习记录---4
- shell学习记录---5
- shell学习记录---6
- shell学习记录---7
- shell使用记录
- sparkstreaming消费kafka中的数据
- 02、Android 开发环境搭建
- iOS 将字典 数组 转换成 NSdata 或者 NSString
- 大数据告诉你,中国哪里出美女
- Ajax之三 Ajax服务器端控件
- shell记录
- NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
- 前端常见术语
- 测试之路——记一次解决问题的过程
- 详解五大排序算法
- 多么痛的领悟!!!
- javascript 中document的用法
- 北漂兼独处的境界
- PCB(进程控制块)以及Linux下的进程控制块task_struct