精华内容
参与话题
问答
  • 9个好玩但有点危险的Bash Shell命令

    千次阅读 多人点赞 2019-12-11 11:09:40
    前言 前段时间重感冒,状态...回归正题,今天无意中看到一篇有趣的文章《9 Evil Bash Commands Explained 》,突然想到每年都频发的多起“删库跑路事件“”,有的命令虽然好玩,但异常危险!千万不要让你的好奇心...

    前言

    前段时间重感冒,状态低迷,各项任务进度拖延严重,Blog更新更是非常滞后。

    一个感悟:生病时人会有种无力感,想要做但真的很容易放弃。

    所以,身体很重要,要花时间锻炼身体,花时间休息非常有必要。

    回归正题,今天无意中看到一篇有趣的文章《9 Evil Bash Commands Explained 》,突然想到每年都频发的多起“删库跑路事件“”,有的命令虽然好玩,但异常危险!千万不要让你的好奇心变成潜在危险。

    1.

    alias cd='rm -rf'
    

    这里发生了什么?

    • alias:是声明bash命令的别名/快捷方式。
    • cd:是指定的别名的名称。
    • rm -rf:是实际运行的命令。不用说我们都知道是干什么的。

    终于明白,为什么每一家公司都会强制要求离职时要格式化电脑,因为不知道是不是就有这样的别名设置。

    2.

    :(){:|: &};:
    

    这里发生了什么?

    简单说就是,无终止的条件递归。如果执行此操作,它将快速复制自己,从而消耗完所有的内存和CPU资源(也称为fork bomb)。它可以冻结您的整个系统,因此是拒绝服务攻击的一个示例。令人惊讶的是,仅用12个字节的命令就能执行这种攻击!
    翻看耗子叔的文章时发现,他介绍过这个经典的命令:FORK 系统炸弹

    3.

    dd if=/dev/zero of=/dev/sda
    

    这里发生了什么?

    • dd:是将数据从一个文件设备复制到另一文件设备的命令。
    • if=指定源:/dev/zero 是零字节的无限源。
    • of=指定目标:/dev/sda 是磁盘驱动器。

    dd 常用来做磁盘读写测试,但同时也是擦除磁盘的危险命令。

    我曾经就犯过这样的错误,当时是刚装完一台Oracle RAC的新Linux系统,没有业务数据,想着插入USB后格式化,usb本来应该是sdc,而我看成了sdb,dd后就后悔了,reboot后,果然系统就起不来了,只能边骂自己边重装。

    4.

    for i in {1..10};do dd if=/dev/urandom of=/dev/sda;done
    

    这里发生了什么?

    这里是上面dd命令的变种,使用随机字节十次覆盖整个磁盘。

    5.

    git reset --hard
    

    这里发生了什么?

    • git reset:是将git代码库的当前HEAD重置为最后一个提交(或指定)状态。
    • --hard:是重置索引和工作树。自上次提交以来,对工作树中跟踪文件的任何更改都将被丢弃。

    换句话说,命令会丢弃所有未提交的更改。由于这些不是git跟踪的,因此无法还原它们。

    6.

    tar -czvf /path/to/file archive.tgz
    # 替换为
    tar -czvf archive.tgz /path/to/file
    

    这里发生了什么?

    • tar -czvf:c是创建新文档,z是使用gzip,v是现实执行过程,f是指定到文件。
    • archive.tgz:要创建的压缩文件的名称。
    • /path/to/file:要压缩的文件的路径。

    这里的文件顺序至关重要!!!如果第一个文件是你要压缩的文件,则它会被完全销毁,因为它tar是通过覆盖第一个给定文件开始创建存档的,直到事后才意识到第二个给定文件不存在。如果要备份文件并使用错误的参数顺序,崩溃只在一瞬间。

    7.

    chmod -R 777 /
    # 替换为
    chmod -R 777 ./
    

    这里发生了什么?

    • chmod -R:递归应用文件权限
    • 777:设置权限模式(允许所有内容)
    • ./:应更改的目录或文件

    如果您不注意要定位的目录,而无意中选择了根目录而不是当前目录的娿,那么你将弄乱整个系统的所有权限,从而无法使用。

    8.

    chown -R root:root /
    # 替换为
    chown -R root:root ./
    

    这里发生了什么?

    • chown -R:递归地应用新所有者
    • root:root owner:要设置的组
    • ./ 应更改的目录或文件

    这将以最可能需要重新安装系统的类似方式弄乱所有文件权限。

    9.

    fsck -y /dev/sda
    

    这里发生了什么?

    • fsck:是知执行文件系统的检查,而-y 始终尝试自动修复任何检测到的文件系统损坏的标志。
    • /dev/sda:是要检查的卷。

    这通常是一件好事,但您的卷已加密。在这种情况下,fsck修复它的尝试将完全破坏它。文件系统只有在解锁后才能检查。

    小结

    看来,作者写文章的目的真的只是闲来无事而已,不过,倒是给我们提了醒:

    • 通过输入一个简单的命令,就能很容易的销毁一个系统的数据。
    • 输入bash命令尤其要检查是否有拼写错误,比如,rm -rf *你敢乱写吗?!
    • 永远不要只会复制和粘贴代码,别人很可能给你埋了一个雷。
    • 大多数错误都是在root权限下犯的,小心使得万年船!

    所以,一定要记住:手握系统权限操作越大,责任也就越大。

    最后

    如果你知道其他好玩但危险的命令,欢迎留言分享。

    免责声明:对于你通过尝试上述命令对系统造成任何的损害,我不承担任何责任。请使用虚拟机等安全环境进行测试。

    展开全文
  • 使用adb命令冻结/解冻安卓后台进程

    千次阅读 2020-05-29 10:30:32
    冻结方法: adb shell cmd appops set <package_name> RUN_IN_BACKGROUND ignore 解冻方法: appops set <package_name> RUN_IN_BACKGROUND allow 详细信息可以看这里

    冻结方法:

    adb shell
    cmd appops set <package_name> RUN_IN_BACKGROUND ignore
    

    解冻方法:

    appops set <package_name> RUN_IN_BACKGROUND allow
    

    详细信息可以看这里

    展开全文
  • linux命令大全https://man.linuxde.net/ pwd pwd #查看当前工作文件夹路径 nodejs node.js安装后要执行的操作:ln -s /usr/local/myapp/nodejs/bin/npm /usr/local/bin/ gedit gedit #打开一个文本框来编辑文本 ...

    附录
    linux命令大全https://man.linuxde.net/

    搭建临时的http服务器

    python3 -m http.server 9999 #搭建服务器,访问端口为9999

    mv

    mv命令一般有两个用法,第一个是更改文件名:
    mv 1.txt 1.html #将1.txt改为1.html
    第二个用法,移动文件
    mv 1.txt /root/desktop/ #将1.txt移动到桌面

    nl

    每一行之前加一个行号并输出
    在这里插入图片描述

    sed

    对文本进行替换,支持正则表达式,下面例子是将文档中对3转化为1。
    在这里插入图片描述

    pwd

    pwd #查看当前工作文件夹路径

    tar

    tar -zxvf file_name #解压文件
    tar -cvf log.tar fileA #将fileA打包成log.tar,不进行压缩
    tar -zcvf log.tar.gz fileA #将fileA打包并且以gzip命令压缩为log.tat.gz文件
    tar -jcvf log.tar.bz2 fileA #将fileA打包并且以bzip2命令压缩为log.tat.bz2文件

    mount

    mount命令用于加载文件系统到指定的加载点。此命令的最常用于挂载cdrom,使我们可以访问cdrom中的数据,因为你将光盘插入cdrom中,Linux并不会自动挂载,必须使用Linux mount命令来手动完成挂载。

    mount /dev/vda1 /nuoyan
    将/edv/vda1 挂在到当前目录下的nuoyan,这样子的话修改nuoyan就相当于修改/edv/vda1。

    nc

    -w 1 #设置连接超时时间为1

    -v 显示命令运行过程与结果

    -l 999 #监听端口为999

    传送文件

    发送方:nc -l 999 < 1.txt

    接收方:nc 发送方ip 999 >1.txt

    端口扫描

    nc -v -w 1 ip 1-10 #查看指定ip的1-100端口开放情况
    在这里插入图片描述

    zip

    #将/home/Blinux/html/这个目录下所有文件和文件夹打包为当前目录下的html.zip
    dzip -q -r html.zip /home/Blinux/html

    #上面的命令操作是将绝对地址的文件及文件夹进行压缩,以下给出压缩相对路径目录,比如目前在Bliux这个目录下,执行以下操作可以达到以上同样的效果:
    zip -q -r html.zip html

    #比如现在我的html目录下,我操作的zip压缩命令是:
    zip -q -r html.zip *

    nodejs

    node.js安装后要执行的操作:ln -s /usr/local/myapp/nodejs/bin/npm /usr/local/bin/

    gedit

    gedit #打开一个文本框来编辑文本

    setsid

    setsid nohup python3 test.py & #代表这个脚本不会随着命令行等关闭而关闭,会一直在后台运行

    ls

    ls -alht #查看当前目录下所有文件大小,-t是按修改时间排序
    ls -la #查看所有文件权限

    -rwx rwx rwx
    d开头代表是文件夹,-开头代表普通文件,剩下九个字母分为三组,分别对应拥有者权限,拥有者用户的组内其他用户的权限,其他用户的权限

    awk

    awk -F: ‘$3==0{print $1}’ /etc/passwd
    #以 ':'为分隔符读取/etc/passwd的数据,当第三个部分等于0的时候,输出第一个部分。
    -F fs fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:
    -v var=value 赋值一个用户定义变量,将外部变量传递给awk
    -f scripfile 从脚本文件中读取awk命令
    -m[fr] val 对val值设置内在限制,-mf选项限制分配给val的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。

    $n 当前记录的第n个字段,比如n为1表示第一个字段,n为2表示第二个字段。
    $0 这个变量包含执行过程中当前行的文本内容。
    [N] ARGC 命令行参数的数目。
    [G] ARGIND 命令行中当前文件的位置(从0开始算)。
    [N] ARGV 包含命令行参数的数组。
    [G] CONVFMT 数字转换格式(默认值为%.6g)。
    [P] ENVIRON 环境变量关联数组。
    [N] ERRNO 最后一个系统错误的描述。
    [G] FIELDWIDTHS 字段宽度列表(用空格键分隔)。
    [A] FILENAME 当前输入文件的名。
    [P] FNR 同NR,但相对于当前文件。
    [A] FS 字段分隔符(默认是任何空格)。
    [G] IGNORECASE 如果为真,则进行忽略大小写的匹配。
    [A] NF 表示字段数,在执行过程中对应于当前的字段数。
    [A] NR 表示记录数,在执行过程中对应于当前的行号。
    [A] OFMT 数字的输出格式(默认值是%.6g)。
    [A] OFS 输出字段分隔符(默认值是一个空格)。
    [A] ORS 输出记录分隔符(默认值是一个换行符)。
    [A] RS 记录分隔符(默认是一个换行符)。
    [N] RSTART 由match函数所匹配的字符串的第一个位置。
    [N] RLENGTH 由match函数所匹配的字符串的长度。
    [N] SUBSEP 数组下标分隔符(默认值是34)。

    rm

    rm 1.txt #删除1.txt
    rm -rf ~/Desktop/demo #强制删除demo文件夹

    nohup

    nohup ./teamserver 47.x.x.x password c2.profile &
    #将./teamserver 47.x.x.x password c2.profile这条命令放在后台执行

    jobs

    jobs -l #查看后台任务列表,并显示任务号

    fg

    fg %1 #将任务号为1的任务放在前台执行

    control +z/c

    control + z # 暂停当前任务并放到后台
    control + c #终止当前任务

    bg

    bg %1 #将任务号为1的后台任务在后台继续执行,一般在使用了control+z命令后使用

    cp

    cp mota.py ~/Desktop #将mota.py文件复制到桌面

    wget

    wget https://download.oracle.com/test.txt #将文件下载到当前目录

    rdesktop

    rdesktop 192.168.123.12:3389 #kali上使用这个命令可以进行rdp连接指定的windows电脑

    ps

    ps aux 查看目前运行的所有程序 回显有user 跟 pid
    a:显示现行终端机下的所有程序,包括其他用户的程序。
    u:以用户为主的格式来显示程序状况。
    x:显示所有程序,不以终端机来区分。
    f: 显示更详细的进程信息
    在这里插入图片描述

    netstat

    netstat -anplt
    netstat -ntlp #显示当前开启端口
    -a或–all:显示所有连线中的Socket;
    -n或–numeric:直接使用ip地址,而不通过域名服务器;
    -p或–programs:显示正在使用Socket的程序识别码和程序名称;
    -l或–listening:显示监控中的服务器的Socket;
    -t或–tcp:显示TCP传输协议的连线状况;
    -o或–times:显示计时器
    在这里插入图片描述

    lsof

    常用参数:
    lsof -p <进程号>:列出指定进程号所打开的文件;
    lsof -i<条件>:列出符合条件的进程。(4、6、协议、:端口、 @ip )

    curl

    curl ifconfig.me #查看本机的外网ip

    SCP命令

    scp是安全的文件拷贝,基于ssh的登录

    假定你想把本地计算机/home下的一个名为a.tar.tz的文件拷贝到远程服务器192.168.0.2上的/home/tmp。而且你在远程服务器 上的帐号名为root。可以用这个命令:
    scp /home/a.tar.tz root@192.168.0.2:/home/tmp/

    如果把文件从远程机器拷贝到本机当前目录用这个命令:
    scp root@192.168.0.2: /home/a.tar.tz

    拷贝远程机器的整个目录下的文件
    scp -r root@192.168.0.2:/home/* ./

    拷贝远程机器的整个目录到本机的指定文件夹内
    scp -r root@120.55.194.145:/root/123 C:\Users\Admin\Desktop\csdn_increase_vister-master

    last

    显示用户最近登陆情况
    在这里插入图片描述

    w

    显示当前登陆用户的列表
    在这里插入图片描述

    top

    top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。

    top - 09:44:56 up 16 days, 21:23, 1 user, load average: 9.59, 4.75, 1.92
    Tasks: 145 total, 2 running, 143 sleeping, 0 stopped, 0 zombie
    Cpu(s): 99.8%us, 0.1%sy, 0.0%ni, 0.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Mem: 4147888k total, 2493092k used, 1654796k free, 158188k buffers
    Swap: 5144568k total, 56k used, 5144512k free, 2013180k cached

    解释:

    top - 09:44:56[当前系统时间],
    16 days[系统已经运行了16天],
    1 user[个用户当前登录],
    load average: 9.59, 4.75, 1.92[系统负载,即任务队列的平均长度]
    Tasks: 145 total[总进程数],
    2 running[正在运行的进程数],
    143 sleeping[睡眠的进程数],
    0 stopped[停止的进程数],
    0 zombie[冻结进程数],
    Cpu(s): 99.8%us[用户空间占用CPU百分比],
    0.1%sy[内核空间占用CPU百分比],
    0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比],
    0.2%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比],
    0.0%hi[],
    0.0%st[],
    Mem: 4147888k total[物理内存总量],
    2493092k used[使用的物理内存总量],
    1654796k free[空闲内存总量],
    158188k buffers[用作内核缓存的内存量]
    Swap: 5144568k total[交换区总量],
    56k used[使用的交换区总量],
    5144512k free[空闲交换区总量],
    2013180k cached[缓冲的交换区总量],

    lastlog

    lastlog命令用于显示系统中所有用户最近一次登录信息。
    在这里插入图片描述

    用户添加与删除

    先创建用户再加入组:
    useradd testuser #创建用户testuser
    passwd testuser #给已创建的用户testuser设置密码
    说明:新创建的用户会在/home下创建一个用户目录testuser
    userdel testuser #删除用户testuser
    rm -rf testuser #删除用户testuser所在目录
    gpasswd -A root test #将root用户指定为test组的管理员
    gpasswd -a zhangsan test#将zhangsan加到test组,并且同时zhangsan也属于以前的组
    gpasswd -d zhangsan test #将zhangsan从test中移出

    新建用户直接加入组:
    groupadd developers #添加一个用户组
    useradd -g developers testuser
    useradd -G admins,ftp,www,developers cnzhx
    #指定用户所属的附加群组
    usermod -a -g developers testuser 将用户不从自己原组中移出来并且添加到deve组中,若不加-a选项,则是将用户从原组中移动到新组。

    arp

    探测arp列表确定内网主机分布
    在这里插入图片描述

    其他

    nautilus #打开图形化文件夹

    find / -type f -name ‘*.txt’ | xargs grep “123” #全局查找内容含有123的txt文件

    nslookup -type=mx baidu.com 8.8.8.8
    #指定dns服务器为8.8.8.8来查询百度的mx记录

    /etc/init.d/apache2 start #启动apache2服务
    java -XstartOnFirstThread -jar Behinder.jar #启动冰蝎

    重启网卡 /etc/init.d/networking restart
    查看网关 route -n

    echo -n “fff” | base64 #将fff用base64编码进行转换并输出结果

    附录:linux中/etc/passwd文件简述
    在Linux /etc/passwd文件中每个用户都有一个对应的记录行,它记录了这个用户的一些基本属性。系统管理员经常会接触到这个文件的修改以完成对用户的管理工作。这个文件对所有用户都是可读的。但是Linux /etc/passwd文件中都有些什么内容呢?

       root:x:0:0:root:/root:/bin/bash
    
      bin:x:1:1:bin:/bin:/sbin/nologin
    
      daemon:x:2:2:daemon:/sbin:/sbin/nologin
    
      desktop:x:80:80:desktop:/var/lib/menu/kde:/sbin/nologin
    
      mengqc:x:500:500:mengqc:/home/mengqc:/bin/bash
    

    从上面的例子我们可以看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:
      用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

    用户名(login_name):是代表用户账号的字符串。通常长度不超过8个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号(😃,因为冒号在这里是分隔符。为了兼容起见,登录名中最好不要包含点字符(.),并且不使用连字符(-)和加号(+)打头。

    口令(passwd):一些系统中,存放着加密后的用户口令字。虽然这个字段存放的只是用户口令的加密串,不是明文,但是由于/etc/passwd文件对所有用户都可读,所以这仍是一个安全隐患。因此,现在许多Linux系统(如SVR4)都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或者“*”。

    用户标识号(UID):是一个整数,系统内部用它来标识用户。一般情况下它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。取值范围是0-65535。0是超级用户root的标识号,1-99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。

    组标识号(GID):字段记录的是用户所属的用户组。它对应着/etc/group文件中的一条记录。

    注释性描述(users):字段记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。在不同的Linux系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。

    主目录(home_directory):也就是用户的起始工作目录,它是用户在登录到系统之后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名。各用户对自己的主目录有读、写、执行(搜索)权限,其他用户对此目录的访问权限则根据具体情况设置。

    登录Shell(Shell):用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。Shell是用户与Linux系统之间的接口。Linux的Shell有许多种,每种都有不同的特点。常用的有sh(BourneShell),csh(CShell),ksh(KornShell),tcsh(TENEX/TOPS-20typeCShell),bash(BourneAgainShell)等。系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。如果不指定Shell,那么系统使用sh为默认的登录Shell,即这个字段的值为/bin/sh。
    参考:/etc/passwd详解

    linux拒绝root登陆的解决方案

    1.查看ssh服务状态
    ssh status
    2.修改配置文件
    #vim /etc/ssh/sshd_config

    #PermitRootLogin prohibit-password
    PermitRootLogin yes

    #PasswordAuthentication yes
    PasswordAuthentication yes

    3.启动ssh服务
    ssh start


    展开全文
  • 背景: 我妈的手机饱受系统应用广告推送之苦,每天都能在通知栏里收到好几条广告。为了给她个清净,本篇博文应运而生。 目标: 卸载安卓系统应用 所用工具: 硬件:我妈的手机(魅蓝5) PC端:Minimal ADB and ...

    背景:
    我妈的手机饱受系统应用广告推送之苦,每天都能在通知栏里收到好几条广告。为了给她个清净,本篇博文应运而生。

    目标:
    卸载安卓系统应用

    所用工具:
    硬件:我妈的手机(魅蓝5)
    PC端:Minimal ADB and Fastboot 1.4.3
    Android端:ES文件浏览器

    操作流程:
    0.下载所需工具
    网上都能找到,略过
    1.安装手机驱动
    不同手机方法不一,所以不统一讲了。这里给出魅族品牌手机的安装方法:魅族Flyme手机无法连接电脑ADB调试
    2.手机连接电脑
    首先开启手机的USB调试功能,不同手机方法不一,请自行百度。
    魅族5的方法是设置–关于手机–版本号。连击版本号十次左右,会提醒开启开发者选项。此时可以打开设置–辅助功能–开发者选项–USB调试。
    3.启动ADB连接
    对于魅族系手机,此时需要在C:\Users\你的用户名.android\下创建一个adb_usb.ini文件,文件内容为0x2a45这六个字符。
    再打开Minimal ADB and Fastboot中的cmd-here程序,依次输入以下命令:

    adb kill-server
    adb devices
    
    • 如果提示“由于目标计算机积极拒绝,无法连接。 (10061)”,就输入下面这条命令:
      adb tcpip 5555
      成功的话应该会看到* daemon started successfully和其他的信息。
      此时手机上可能还会弹出一个窗口请求授权,点击确定。然后重新执行上面的两条命令。

    4.使用ADB命令冻结与卸载系统应用
    想要用ADB卸载一个应用,首先要知道它的包名。这里我们借助ES文件浏览器进行查看。打开ES文件浏览器–应用–系统应用,此时单击一个应用即可查看它的包名。长按一个应用即可备份安装包。

    会用到的ADB命令列表:
    查看当前正在运行应用的包名:
    adb shell dumpsys activity | findstr mFocusedActivity
    卸载应用:
    adb shell pm uninstall --user 0 应用名
    将系统所有应用以txt文件列出在adb文件夹下:
    adb shell pm list packages -s >系统应用.txt
    将系统已启用的应用以txt文件列出在adb文件夹下:
    adb shell pm list packages -s -e>启用的应用.txt
    将系统已停用的应用以txt文件列出在adb文件夹下:
    adb shell pm list packages -s -d>停用的应用.txt
    停用应用:
    adb shell pm disable-user 应用名
    启用应用:
    adb shell pm enable 应用名

    我们以魅族手机自带的“音乐”为例,先用ES文件浏览器查看它的包名:

    可以看到它的包名为com.meizu.media.music

    然后在ADB中输入adb shell pm disable-user com.meizu.media.music命令尝试停用它,结果提示失败Permission Denial
    既然无法冻结停用,那就直接卸载吧。
    我们先用ES对该应用进行备份,备份完成后应用会变绿,安装包可在提示的路径里找到。
    备份完成后进行卸载,执行adb shell pm uninstall --user 0 com.meizu.media.music命令

    卸载成功。

    如果需要重装系统应用,恢复出厂设置则自动重装。

    展开全文
  • 原文链接:...按Ctrl+S键组合冻结终端屏幕。 解决: 这不是一个bug,ctrl-s 是停止字符输出的终端控制字符。键入ctrl-q组合键重新启用终端输出。
  • shell命令直接分区

    千次阅读 2013-07-05 11:18:35
    以下把160G硬盘分区4个区 #!/bin/sh fdisk /dev/sda d 1 d 2 d 3 d 4 d n p 1 1 +40G n p 2 +40G n p 3 +40G n p +40G w EOF
  • Android 应用冻结流程分析

    千次阅读 2017-07-27 11:53:28
    Android应用冻结主要是调用PMS来实现应用冻结。用户可以通过命令 PackageManager接口的方法实现或者通过pm命令来实现。 1.客户端调用PackageManager如下接口: int getComponentEnabledSetting(in ComponentName ...
  • Android/安卓手机使用adb命令手动冻结/禁用应用方法(本文以华为荣耀8自动更新冻结/禁用为例进行描述)
  • 背景: 做一个应用,需求是获取root权限后可以停用/启用某些应用,包括系统应用!停用的应用将不在设置-->应用中展示,大部分系统自带的桌面应该也不会再显示!...所以考虑使用shell命令执行! 1.获取root权限:Stri
  • adb shell ip命令参数说明

    千次阅读 2017-03-16 08:59:56
    ...ip是iproute2软件包里面的一个强大的网络配置工具,本文将介绍ip命令及其选项。 Ip命令的语法: ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]] OPTIONS: 其中,OPTIONS是一些修
  • 1、Linux的安装方式: 1)硬盘安装方式、U盘安装方式、网络安装方式、光驱安装方式。 2)如何安装双系统(Linux+Windows):Linux和Windows是两个完全不同的系统,因此Linux的文件系统和Windows的文件系统是互不兼容...
  • 安卓shell命令

    2017-03-14 01:55:00
    Adb shell进入目标设备的Linux Shell环境 $ ps 列出所有进程 $ ps|grep xxx 刷选xxx相关进程 杀死进程 kill -s 9 PID Kill -9 PID @link Kill进程 重新挂载: mount -o remount,rw rootfs /system/ ...
  • 其实今天遇到一个问题是,不小心误触微信中的"用浏览器打开",把系统浏览器设为了默认打开方式,发现这玩意除了清空微信解决不了,但是在查的过程中发现可以通过adb工具实现免ROOT冻结系统应用和去广告,一些冰箱类...
  • bash shell常见命令

    2012-02-21 14:03:22
    Ctrl+p重复上一次命令  Ctrl+a跳到第一个字符前  Ctrl+x同上但再按一次会从新回到原位置  Ctrl+b前移一个字符不删除字符情况下  Ctrl+h删除前一个字符  Ctrl+u删除提示符前的所有字符  Ctrl+w同上  ...
  • 然后把前面章节中讲解的Linux命令命令语法与Shell脚本中的各种流程控制语句通过Vim编辑器写到Shell脚本中结合到一起,实现最终能够自动化工作的脚本文件。本章最后演示了怎样通过at命令与cron...
  • adb、pm命令、root

    万次阅读 2014-10-30 15:17:40
    1》adb 指令 ① adb devices --- 查看链接终端设备 ② 1)adb shell 进入手机管理 ;; 2)多台设备 adb -s 设备号 shell ③ adb install apkpath -r -f -s  ... 小知识:一个应用装到手机有3种路
  • 这两个功能需要Root权限,并执行对应的Shell命令。因此需要写一个AppExecer的类来实现。 具体代码如下: public class AppExecer { /** * 执行命令,不取返回内容 * @param command */ pub...
  • 1. 输入ll 命令, 提示 ll: command not found mli@mli-HP:~/test/testmk$ ll ll: command not found 解决方法: 编辑 /etc/bash.bashrc , 在最后一行加上: alias ll=’ls -l –color=tty’ 保存之后,...
  • 有过软件崩溃然后敲的东西全没了的经历之后(虽然能及时...然而前段时间傻傻的我,都是关掉重新打开一个终端继续输入的,刚刚又碰到这种情况,查了一下原来是ctrl + s会把终端冻结,解决方法是ctrl + q(如果登录微...
  • 什么是shell​百度:shell俗称壳(区别于核),是指提供使用者使用界面的软件(命令解析器)。 李哥:shell是内核的“保镖”。 [kiosk@foundation0 Desktop]$ gnome-terminal ##用命令行开启一个shell​ kiosk ​##...
  • ^ shell

    2013-08-21 17:23:30
    ^ 行首.  在正则表达式中, "^" 表示定位到文本行的行首. ...修改终端或文本显示的行为....字符也可以使用8进制 或16...控制字符在脚本中不能正常使用. Ctl-B 退格(非破坏性的), 就是退格但是不删掉前面的字符. Ctl-
  • 原帖地址:https://blog.csdn.net/lqxandroid2012/article/details/54091087[安卓]解决因为冻结了...经常死机,我一看,手拿看了看,决定冻结一些没用的系统程序,以缓解当务之急,下载了系统调谐器,然后对系统软...
  • linux shell特殊字符详解汇总

    千次阅读 2016-09-13 19:56:29
    1、在shell文件的行首,作为include标记:#!/bin/bash。 2、在其他地方使用,作为注释,#后面的内容不会执行。 3、在单引号/双引号中间,或\#等表示#本身,不是注释。  一个#表示从左边截取掉最短的匹配。  两个#...
  • [安卓]解决因为冻结了系统程序导致不能开机的问题  折腾  admin 3年前 (2014-01-13) 7863℃ 0评论 今夜,某人说系统缓慢,运行内存很高,经常死机,我一看,手拿看了看,决定冻结一些没用的系统程序,以...
  • shell 特殊字符

    千次阅读 2013-09-02 16:49:29
    脚本或其他别的地方出现的特殊字符 # 注释. 以一个#开头的行 (#!是例外) 是注释行. 1 # 这是一行注释. 注释也可以出现在一个命令语句的后面。 1 echo "A comment will follow." # 这里可以...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    在系统关机前使用 shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录。 halt 1.作用 halt命令的作用是关闭系统,它的使用权限是超级用户。 2.格式 halt...
  • shell 组合键

    2008-01-15 11:33:00
    1、ctrl + s ,冻结shell命令;ctrl+q,恢复命令; 
  • 业精于勤,荒于嬉,行成于思,毁于随 数据流重定向 标准输入(stdin) #其代码为0 标志为“&amp;amp;amp;amp;amp;amp;lt;” &amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;...am
  • linux shell 学习笔记

    2019-03-14 14:47:32
    命令和关键字外,特殊字符还是Bash脚本的构建块。 # 注释,甚至可以嵌入在pipe中 initial=( `cat &quot;$startfile&quot; | sed -e '/#/d' | tr -d '\n' |\ # Delete lines containing '#' comm...

空空如也

1 2 3 4 5 ... 20
收藏数 4,665
精华内容 1,866
关键字:

冻结命令shell