>

必发88手机版Shell的一些使用小技巧收集,部分参

- 编辑:www.bifa688.com -

必发88手机版Shell的一些使用小技巧收集,部分参

Python C#
datetime.datetime.strftime(datetime.datetime.now(), '%Y%m%d%H%M%S') DateTime.Now.ToString("yyyyMMddHHmmss")
random.choice('123456789') random.Next(1, 9).ToString()
struct.pack('>I', int(time.time())) TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
byte[] timeSpanBytes = BitConverter.GetBytes(Convert.ToUInt32(ts));
if (BitConverter.IsLittleEndian)
{
Array.Reverse(timeSpanBytes);
}
binascii.hexlify(ab) BitConverter.ToString(timeSpanBytes)
random.randint(0, 100000000)) Random random = new Random(DateTime.Now.Millisecond);
random.Next(0, 100000000)
myhmac = hmac.new("d6fc3a4a06adbde89223bvefedc24fecde188aaa9161",digestmod=hashlib.sha1)
myhmac.update(binascii.unhexlify('57b47f0a1b8a35a00300fbe94bcf'))
encode=base64.b64encode(myhmac.digest())
string hexData = "57b47f0a1b8a35a00300fbe94bcf";
if(hexvalue.Length % 2 != 0)
{
hexvalue = "0" hexvalue;
}
int len = hexvalue.Length / 2;
byte[] bytes = new byte[len];
for (int i = 0; i < len; i )
{
string byteString = hexvalue.Substring(2 * i, 2);
bytes[i] = Convert.ToByte(byteString, 16);
}

string str = "d6fc3a4a06adbde89223bvefedc24fecde188aaa9161";
ASCIIEncoding encoder = new ASCIIEncoding();
Byte[] code = encoder.GetBytes(str);
HMACSHA1 hmSha1 = new HMACSHA1(code);
Byte[] hmBytes = hmSha1.ComputeHash(bytes);
string encode = Convert.ToBase64String(hmBytes);
bytes=binascii.unhexlify(hexvalue) if (hexvalue.Length % 2 != 0)
{
hexvalue = "0" hexvalue;
}
int len = hexvalue.Length / 2;
byte[] bytes = new byte[len];
for (int i = 0; i < len; i )
{
string byteString = hexvalue.Substring(2 * i, 2);
bytes[i] = Convert.ToByte(byteString, 16);
}
return bytes;
var hmac=hashlib.md5('F%s%s' % (time_str, device_no)).hexdigest() var md5 = new MD5CryptoServiceProvider();
byte[] m =md5.ComputeHash(Encoding.UTF8.GetBytes($"F{timeSpan}{deviceNO}"));
var hmac = BitConverter.ToString(m).Replace("-", "").ToLower();
buf_size = 0x1000
raw_memory = bytearray(buf_size)
ctypes_raw_type = (ctypes.c_char * buf_size)
ctypes_raw_memory=ctypes_raw_type.from_buffer(raw_memory)
encLen = Objdll.encode(byref(ctypes_raw_memory),buf_size,inputCode,len(inputCode))#Objdll.encode为c 调用#
return raw_memory[:encLen]
IntPtr data = Marshal.StringToHGlobalAnsi(inputCode);
byte[] aaab = new byte[4096]; int aa = encode(aaab, 4096, data, inputCode.Length);byte[] byteNew = new byte[aa];
for (int i = 0; i < aa; i )
{
byteNew[i] = aaab[i];
}
return byteNew;
szPara = create_string_buffer('/0'*buf_size)
decLen = Objdll.decode(byref(szPara), buf_size,decodeInput,len(decodeInput))
#Objdll.encode为c 调用#
return szPara.value[:decLen]
byte[] outsting = new byte[0x1000];
int encLen = decode(outsting, outsting.Length, inputCode, inputCode.Length);
String ret = Encoding.UTF8.GetString(outsting, 0, encLen);
return ret;
json.loads(test) JsonConvert.DeserializeObject(test)

创建 war 文件:

  

 

代码块分类: 1.普通代码块 2.构造代码块 3.静态代码块 4.同步代码块 代码块不能独立运行,须要依赖于其他配置,格式...

 

用”=”打印出横线:

3.静态代码块

静态代码块:static修饰并用"{}括起来的代码块。

特点:用来初始化静态成员变量,最先执行(随着类的加载而加载),只执行一次。

package cn.com.daimakuai;
/**
 * Staticdaimakuai
 *@author:hushaoyu
 *2017-2-13上午10:45:49
 *@描述:静态代码块
 */
public class Staticdaimakuai {
 public static void main(String[] args) {
  System.out.println("main方法执行-------");
  System.out.println("***创建第1个对象***");
  new Staticdaimakuai();
  System.out.println("***创建第2个对象***");
  new Staticdaimakuai();
  System.out.println("***创建第3个对象***");
  new Staticdaimakuai();
 }
 //静态代码块
 static{
  System.out.println("静态代码块执行-------");
 }
 //构造方法
 Staticdaimakuai(){
  System.out.println("构造方法执行------");
 }
 //构造代码块
 {
  System.out.println("构造代码块执行------");
 }

 /**  结果输出:
   静态代码块执行-------
   main方法执行-------
   ***创建第1个对象***
   构造代码块执行------
   构造方法执行------
   ***创建第2个对象***
   构造代码块执行------
   构造方法执行------
   ***创建第3个对象***
   构造代码块执行------
   构造方法执行------
 */

}

Python | C#

Git 删除远程分支

代码块,java代码块

代码块分类:

1.普通代码块

2.构造代码块

3.静态代码块

4.同步代码块

代码块不能独立运行,须要依赖于其他配置,格式是:{ //代码块 }。

1.普通代码块

普通代码块,在方法名后(或方法体内)用一对"{}"括起来的数据块,并通过方法调用。

package cn.com.daimakuai;
/**
 * PuTongDaiMaiKuai
 *@author:hushaoyu
 *2017-2-13上午9:27:02
 *@描述:普通代码块
 */
public class PuTongDaiMaiKuai {
 public static void main(String[] args) {
  /**"{}"括起来的普通代码块;这里的变量x=100作用范围从"{"开始"}"结束,所以与下面的变量x=200互不影响,
   * 如果将下面的变量放在普通代码前面将编译错误,因为main的代码块范围比较大
   */
  {
   int x = 100;
   System.out.println("普通代码块:" x);
  }

  int x = 200;
  System.out.println("main方法:" x);
 }

 /**
  *  结果输出:
  普通代码块:100
  main方法:200
  */
}

 

复制代码 代码如下:

 2.构造代码块

 

git clone git@github.com:name/app.git -b master

同步代码块:运用在多线程方面。

 

最近在做一部分Pyhton代码转c#代码的工作,以下案例亲自都测试过,现整理出来希望对有帮助的同学提供参考:

SSH debug 模式:

4.同步代码块

 

Git 删除分支(myfeature):

构造代码块:在类中直接定义的,没有任何前缀、后缀以及修饰符的代码块。

构造代码块和构造方法一样都是在对象生成时被调用,但调用时机比构造方法早,所以构造代码块可以用来初始化成员变量。如果一个类中有多个构造方法,这些构造方法都需要初始化成员变量,那么可以把每个构造方法中相同的代码部分抽取出来,集中一起放在构造代码块中,利用构造代码块来初始化共有的成员变量,减少重复代码。

package cn.com.daimakuai;

/**
 * ConstroctDaimakuai
 * @author:hushaoyu 
 * @2017-2-13上午10:02:55
 * @描述:构造代码块
 */
public class ConstroctDaimakuai {

 public static void main(String[] args) {
  Person p1 = new Person();
  System.out.println("*******************");
  Person p2 = new Person("hushaoyu");
 }
}

// Person类
class Person {

 private int x;
 private String name;

 // 构造代码块
 {
  System.out.println("构造代码块执行-------");
  // 对类的成员变量x进行初始化,如果不放置在代码块中,要达到同样效果,需要分别出现在2个构造方法中。
  x = 100;
 }

 // 无参构造方法
 Person() {
  System.out.println("构造方法执行-------");
  name = "huyuyu";
  show();
 }

 // 有参构造方法
 Person(String name) {
  System.out.println("构造方法执行-------");
  this.name = name;
  show();
 }

 /**
  * show方法
  */
 private void show() {
  System.out.println("welcome!"   name);
  System.out.println("x="   x);
 }

 /**结果输出:
 构造代码块执行-------
 构造方法执行-------
 welcome!huyuyu
 x=100
 *******************
 构造代码块执行-------
 构造方法执行-------
 welcome!hushaoyu
 x=100
 */
}

 

复制代码 代码如下:

 

touch -t 0712250000 file

unzip package_name.zip -d dir_name

git push -u origin mynewfeature

用netstat显示所有tcp4监听端口:

ps axwef

创建临时RAM文件系统 – ramdisk (先创建/tmpram目录):

所有用户列表:

find . -type f -exec egrep -l $'t' {} ;

重复运行文件,显示其输出(缺省是2秒一次):

!cat:p

echo -n "text" | md5sum

复制代码 代码如下:

打印历史记录中最后一次cat命令:

复制代码 代码如下:

echo >/dev/tcp/8.8.8.8/53 && echo "open"

git config --global user.email "me@example.com"

检查xml格式:

复制代码 代码如下:

使用curl获取HTTP status code:

复制代码 代码如下:

运行历史记录里最后一次cat命令:

动态更新DNS server:

Mount root in read/write mode:

xmllint --noout file.xml

访问Windows共享目录:

Grep whole words:

复制代码 代码如下:

block设备列表:

当Ctrl c不好使时:

复制代码 代码如下:

复制代码 代码如下:

source /home/user/file.name

获取文件owner:

curl -sL -w "%{http_code}\n" www.example.com -o /dev/null

复制代码 代码如下:

find -iname "*txt*" -exec mv -v {} /home/user ;

curl -I

输入多行文字(CTRL d 退出):

netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*'

复制代码 代码如下:

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img

free -m | grep cache | awk '/[0-9]/{ print $4" MB" }'

复制代码 代码如下:

ntpdate ntp.ubuntu.com

复制代码 代码如下:

复制代码 代码如下:

复制代码 代码如下:

printf '0sn' | tr ' ' =

复制代码 代码如下:

挂载一个目录(这是不能使用链接的情况):

< test.txt sed -n '50,60p'

复制代码 代码如下:

Git 切换到其它分支(develop):

将进程转到前台:

复制代码 代码如下:

测试硬盘写入速度:

nsupdate < <EOF
update add $HOST 86400 A $IP
send
EOF

tar zxvf package.tar.gz -C new_dir

复制代码 代码如下:

mount --bind /source /destination

将文件按行并列显示:

fg

复制代码 代码如下:

复制代码 代码如下:

复制代码 代码如下:

与Ubuntu NTP server同步时间:

将tabs转换成空格:

复制代码 代码如下:

复制代码 代码如下:

cd -

设置root密码,强化MySQL安全安装:

hdparm -Tt /dev/sda

find /home/user -maxdepth 1 -type d -empty

Ctrl z

复制代码 代码如下:

复制代码 代码如下:

让进程转入后台:

git push origin :branchName

复制代码 代码如下:

复制代码 代码如下:

paste test.txt test1.txt

一次创建多个目录:

nmap -p 8081 172.20.0.0/16

To sync with master if you have unpublished commits:

cp some_file_name{,.bkp}

wget -m ftp://username:password@hostname

stat -c %U file.txt

!100

复制代码 代码如下:

递归grep所有目录:

复制代码 代码如下:

产生随机的十六进制数,其中n是字符数:

/usr/bin/mysql_secure_installation

ssh user@ip_address -i key.pem

sudo !!

grep -r "some_text" /path/to/dir

git checkout develop

复制代码 代码如下:

复制代码 代码如下:

使用netcat将数据发送到Graphite server:

git branch -d myfeature

创建空文件或清空一个现有文件:

复制代码 代码如下:

复制代码 代码如下:

找出文件名结尾有空格的文件:

复制代码 代码如下:

复制代码 代码如下:

修改文件或目录的时间戳(YYMMDDhhmm):

复制代码 代码如下:

复制代码 代码如下:

复制代码 代码如下:

拆分大体积的tar.gz文件(每个100MB),然后合并回去:

将tar.gz提取到新目录里:

Skip bash history:

获取文本的md5 hash:

mount -t tmpfs tmpfs /tmpram -o size=512m

快速备份一个文件:

smbclient -U "DOMAINuser" //dc.domain.com/share/test/dir

watch ps -ef

lsblk -f

复制代码 代码如下:

echo "some text" | sudo tee -a /path/file

复制代码 代码如下:

复制代码 代码如下:

在需要提升权限的情况下往一个文件里追加文本:

复制代码 代码如下:

复制代码 代码如下:

用wget抓取完整的网站目录结构,存放到本地目录中:

检查远程端口是否对bash开放:

测试硬盘读取速度:

复制代码 代码如下:

复制代码 代码如下:

mkdir -p /home/user/{test,test1,test2}

显示剩余内存(MB):

echo "hosts.sampleHost 10 `date %s`" | nc 192.168.200.2 3000

kill -9 $$

设置git email:

列出前10个最大的文件:

复制代码 代码如下:

复制代码 代码如下:

复制代码 代码如下:

lsof / | awk '{ if($7 > 1048576) print $7/1048576 "MB "$9 }' | sort -n -u | tail

qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img
                                 precise-server-cloudimg-amd64-disk1.raw

SSH with pem key:

截取前5个字符:

复制代码 代码如下:

ssh -vvv user@ip_address

您可能感兴趣的文章:

  • Linux中执行shell脚本的4种方法总结
  • Linux Shell中的特殊符号和含义简明总结(包含了绝大部份)
  • Linux中使用Shell脚本查看Java线程的CPU使用情况
  • 分享shell编程中的几个小技巧
  • shell grep 查找进程的小技巧

find . -type f -exec egrep -l " $" {} ;

运行最后一个命令(如果最后一个命令是mkdir /root/test, 下面将会运行: sudo mkdir /root/test):

解压:

复制代码 代码如下:

复制代码 代码如下:

Ctrl

pv data.log

shell里的进度条:

openssl rand -hex n

复制代码 代码如下:

复制代码 代码如下:

mount -o remount,rw /

${variable:0:5}

Git 克隆指定分支(master):

split –b 100m /path/to/large/archive /path/to/output/files
cat files* > archive

复制代码 代码如下:

复制代码 代码如下:

LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;

复制代码 代码如下:

cat > test.txt

< space >cmd

扫描网络寻找开放的端口:

复制代码 代码如下:

jar -cvf name.war file

生成随机密码(例子里是16个字符长):

getent passwd

复制代码 代码如下:

grep -w "name" test.txt

复制代码 代码如下:

列出包括子进程的进程树:

复制代码 代码如下:

在bash历史记录里禁止记录最后一次会话:

git pull --rebase origin master

kill -l

> test.txt

复制代码 代码如下:

执行历史记录里的命令(这里是第100行):

用wget命令执行ftp下载:

找出文件名有tab缩进符的文件

复制代码 代码如下:

必发88手机版,将所有文件名中含有”txt”的文件移入/home/user目录:

复制代码 代码如下:

找出/home/user下所有空子目录:

复制代码 代码如下:

复制代码 代码如下:

expand test.txt > test1.txt

!cat

去之前的工作目录:

打开Vim并跳到文件末:

vim some_file_name

使用curl获取HTTP头信息:

Git 将新分支推送到远程服务器:

列出所有kill signal参数:

获取test.txt文件中第50-60行内容:

qcow2镜像文件转换:

wget -r --no-parent --reject "index.html*" -P /home/user/dirs

在当前shell里执行一个文件里的命令:

复制代码 代码如下:

复制代码 代码如下:

复制代码 代码如下:

复制代码 代码如下:

复制代码 代码如下:

复制代码 代码如下:

复制代码 代码如下:

本文由必发88手机版发布,转载请注明来源:必发88手机版Shell的一些使用小技巧收集,部分参