精华内容
下载资源
问答
  • 【计算机组成原理】微命令指令 微操作 微程序

    千次阅读 多人点赞 2020-08-23 13:18:37
    复习机组的时候发现微操作、微命令、微指令、微程序、甚至控制信号这几个概念容易搞混。现在整理如下。 总结 微命令 -> 微指令 -> 微程序 A -> B表示由A组成B 控制部件通过控制线向执行部件发出各种控制...

    前言

    复习机组的时候发现微命令微指令微操作微程序、甚至控制信号这几个概念容易搞混。现在整理如下。

    总结

    微命令 -> 微指令 -> 微程序 A -> B表示由A组成B

    控制部件通过控制线向执行部件发出各种控制命令,通常这种控制命令叫做微命令,是最小单位,组成微指令
    在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令
    事实上一条机器指令的功能是由许多条微指令组成的序列来实现的。这个微指令序列通常叫做微程序

    • 微操作:指令执行时必须完成的基本操作。例如,PC→AR,PC+1→ PC,RAM→IR。

    自己的理解

    一条机器指令是由多个微指令组成的。这多个微指令序列又称作微程序

    一条微指令是由多个 微命令组成的。 微命令又称作控制信号, 微命令序列即控制信号序列。


    微操作和微指令的区别(询问张瑞华老师得知):

    • 一个微操作对应一条微指令,一条微指令可能有多个微命令

    • 微操作是动作,微指令是个编码。

    • 微操作微命令作用在硬件上的一个动作。课本上的微操作是在写指令流程时一条即一个箭头,这粒度比较粗。

    参考

    微命令、微操作、微指令、微程序
    微程序 微命令 微指令概念区别

    展开全文
  • Linux系统终端常用指令命令汇总

    万次阅读 多人点赞 2018-07-20 17:37:39
    命令 功能说明 线上查询及帮助命令 man ... 查看命令帮助,命令的词典,更复杂的还有info,但不常用。... 文件目录操作命令 ls 全拼list,功能...

    命令

    功能说明

    线上查询及帮助命令

    man

    查看命令帮助,命令的词典,更复杂的还有info,但不常用。

    help

    查看Linux内置命令的帮助,比如cd命令。

    文件和目录操作命令

    ls

    全拼list,功能是列出目录的内容及其内容属性信息。

    示例:

    ls -F 查看目录中的文件 
    ls -l 显示文件和目录的详细资料 
    ls -a 显示隐藏文件 
    ls *[0-9]* 显示包含数字的文件名和目录名 

    ls -lSr |more 以尺寸大小排列文件和目录 

    ls -lh 显示权限 
    ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示 

    cd

    全拼change directory,功能是从当前工作目录切换到指定的工作目录。

    示例:

    cd /home 进入 '/ home' 目录' 
    cd .. 返回上一级目录 
    cd ../.. 返回上两级目录 
    cd 进入个人的主目录 
    cd ~user1 进入个人的主目录 
    cd - 返回上次所在的目录 

    cp

    全拼copy,其功能为复制文件或目录。

    示例:

    cp file1 file2 复制一个文件 
    cp dir/* . 复制一个目录下的所有文件到当前工作目录 
    cp -a /tmp/dir1 . 复制一个目录到当前工作目录 
    cp -a dir1 dir2 复制一个目录 

    find

    查找的意思,用于查找目录及目录下的文件。

    示例:

    find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录 
    find / -user user1 搜索属于用户 'user1' 的文件和目录 
    find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件 
    find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件 
    find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件 
    find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限 
    find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备 

    mkdir

    全拼make directories,其功能是创建目录。

    示例:

    mkdir dir1 创建一个叫做 'dir1' 的目录' 
    mkdir dir1 dir2 同时创建两个目录 
    mkdir -p /tmp/dir1/dir2 创建一个目录树 

    mv

    全拼move,其功能是移动或重命名文件。

    示例:

    mv dir1 new_dir 重命名/移动 一个目录 

    pwd

    全拼print working directory,其功能是显示当前工作目录的绝对路径。

    rename

    用于重命名文件。

    rm

    全拼remove,其功能是删除一个或多个文件或目录。

    rmdir

    全拼remove empty directories,功能是删除空目录。

    示例:

    rm -f file1 删除一个叫做 'file1' 的文件' 
    rmdir dir1 删除一个叫做 'dir1' 的目录' 
    rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容 
    rm -rf dir1 dir2 同时删除两个目录及它们的内容 

    touch

    创建新的空文件,改变已有文件的时间戳属性。

    示例:

    touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm) 

    tree

    功能是以树形结构显示目录下的内容。

    basename

    显示文件名或目录名。

    dirname

    显示文件或目录路径。

    chattr

    全拼change attribution,改变文件的扩展属性。

    示例:

    chattr +a file1 只允许以追加方式读写文件 
    chattr +c file1 允许这个文件能被内核自动压缩/解压 
    chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件 
    chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接 
    chattr +s file1 允许一个文件被安全地删除 
    chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘 
    chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件

    lsattr

    全拼list attribution,查看文件扩展属性。

    类似示例:

    lspci -tv 罗列 PCI 设备 
    lsusb -tv 显示 USB 设备 

    file

    显示文件的类型。

    md5sum

    计算和校验文件的MD5值。

    查看文件及内容处理命令

    cat

    全拼concatenate,功能是用于连接多个文件并且打印到屏幕输出或重定向到指定文件中。

    示例:

    cat /proc/cpuinfo 显示CPU info的信息 
    cat /proc/interrupts 显示中断 
    cat /proc/meminfo 校验内存使用 
    cat /proc/swaps 显示哪些swap被使用 
    cat /proc/version 显示内核的版本 
    cat /proc/net/dev 显示网络适配器及统计 
    cat /proc/mounts 显示已加载的文件系统 

    tac

    tac是cat的反向拼写,因此命令的功能为反向显示文件内容。

    more

    分页显示文件内容。

    less

    分页显示文件内容,more命令的相反用法。

    head

    显示文件内容的头部。

    tail

    显示文件内容的尾部。

    cut

    将文件的每一行按指定分隔符分割并输出。

    split

    分割文件为不同的小片段。

    paste

    按行合并文件内容。

    sort

    对文件的文本内容排序。

    uniq

    去除重复行。

    wc

    统计文件的行数、单词数或字节数。

    iconv

    转换文件的编码格式。

    示例:

    iconv -l 列出已知的编码 
    iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding. 

    dos2unix

    将DOS格式文件转换成UNIX格式。

    示例:

    dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX 
    unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS 
    recode ..HTML < page.txt > page.html 将一个文本文件转换成html 
    recode -l | more 显示所有允许的转换格式 

    diff

    全拼difference,比较文件的差异,常用于文本文件。

    vimdiff

    命令行可视化文件比较工具,常用于文本文件。

    rev

    反向输出文件内容。

    grep/egrep

    过滤字符串,三剑客老三。

    join

    按两个文件的相同字段合并。

    tr

    替换或删除字符。

    vi/vim

    命令行文本编辑器。

    示例

    cat file1 从第一个字节开始正向查看文件的内容 
    tac file1 从最后一行开始反向查看一个文件的内容 
    more file1 查看一个长文件的内容 
    less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作 
    head -2 file1 查看一个文件的前两行 
    tail -2 file1 查看一个文件的最后两行 
    tail -f /var/log/messages 实时查看被添加到一个文件中的内容 

     

    文本处理大类:

    cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT 
    cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中 
    cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中 
    grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug" 
    grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇 
    grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行 
    grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug" 
    sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2" 
    sed '/^$/d' example.txt 从example.txt文件中删除所有空白行 
    sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行 
    echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容 
    sed -e '1d' result.txt 从文件example.txt 中排除第一行 
    sed -n '/stringa1/p' 查看只包含词汇 "string1"的行 
    sed -e 's/ *$//' example.txt 删除每一行最后的空白字符 
    sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部 
    sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容 
    sed -n '5p;5q' example.txt 查看第5行 
    sed -e 's/00*/0/g' example.txt 用单个零替换多个零 
    cat -n file1 标示文件的行数 
    cat example.txt | awk 'NR%2==1' 删除example.txt文件中的所有偶数行 
    echo a b c | awk '{print $1}' 查看一行第一栏 
    echo a b c | awk '{print $1,$3}' 查看一行的第一和第三栏 
    paste file1 file2 合并两个文件或两栏的内容 
    paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分 
    sort file1 file2 排序两个文件的内容 
    sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份) 
    sort file1 file2 | uniq -u 删除交集,留下其他的行 
    sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件) 
    comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容 
    comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容 
    comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分 

    文件压缩及解压缩命令

    tar

    打包压缩。

    unzip

    解压文件。

    gzip

    gzip压缩工具。

    zip

    压缩工具。

    示例bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件 
    bzip2 file1 压缩一个叫做 'file1' 的文件 
    gunzip file1.gz 解压一个叫做 'file1.gz'的文件 
    gzip file1 压缩一个叫做 'file1'的文件 
    gzip -9 file1 最大程度压缩 
    rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包 
    rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1' 
    rar x file1.rar 解压rar包 
    unrar x file1.rar 解压rar包 
    tar -cvf archive.tar file1 创建一个非压缩的 tarball 
    tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件 
    tar -tf archive.tar 显示一个包中的内容 
    tar -xvf archive.tar 释放一个包 
    tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下 
    tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包 
    tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包 
    tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包 
    tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包 
    zip file1.zip file1 创建一个zip格式的压缩包 
    zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包 
    unzip file1.zip 解压一个zip格式压缩包

    信息显示命令

    uname

    显示操作系统相关信息的命令。

    示例:

    uname -m 显示机器的处理器架构    与“arch 显示机器的处理器架构 ”一致
    uname -r 显示正在使用的内核版本

    hostname

    显示或者设置当前系统的主机名。

    dmesg

    显示开机信息,用于诊断系统故障。

    uptime

    显示系统运行时间及负载。

    stat

    显示文件或文件系统的状态。

    du

    计算磁盘空间使用情况。

    示例:

    du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间' 
    du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小 

    df

    报告文件系统磁盘空间的使用情况。

    示例:

    df -h 显示已经挂载的分区列表 

    top

    实时显示系统资源使用情况。

    free

    查看系统内存。

    date

    显示与设置系统时间。

    示例:

    date 041217002007.00 设置日期和时间 - 月日时分年.秒

    clock -w 将时间修改保存到 BIOS 

    cal

    查看日历等时间信息。

    示例:

    cal 2007 显示2007年的日历表

    搜索文件命令

    which

    查找二进制命令,按环境变量PATH路径查找。

    which halt 显示一个二进制文件或可执行文件的完整路径 

    find

    从磁盘遍历查找文件或目录。

    whereis

    查找二进制命令,按环境变量PATH路径查找。

    whereis halt 显示一个二进制文件、源码或man的位置

    locate

    从数据库 (/var/lib/mlocate/mlocate.db) 查找命令,使用updatedb更新库。

    locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令 

    用户管理命令

    useradd

    添加用户。

    示例:

    useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户 
    useradd user1 创建一个新用户 
    userdel -r user1 删除一个用户 ( '-r' 排除主目录) 
    usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性 

    usermod

    修改系统已经存在的用户属性。

    userdel

    删除用户。

    groupadd

    添加用户组。

    示例:

    groupadd group_name 创建一个新用户组 
    groupdel group_name 删除一个用户组 
    groupmod -n new_group_name old_group_name 重命名一个用户组 

     

    pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户 
    grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组 
    newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组 

    passwd

    修改用户密码。

    示例:

    passwd user1 修改一个用户的口令 (只允许root执行) 

    chage

    修改用户密码有效期限。

    示例:

    chage -E 2005-12-31 user1 设置用户口令的失效期限 

    id

    查看用户的uid,gid及归属的用户组。

    su

    切换用户身份。

    visudo

    编辑/etc/sudoers文件的专属命令。

    sudo

    以另外一个用户身份(默认root用户)执行事先在sudoers文件允许的命令。

    基础网络操作命令

    telnet

    使用TELNET协议远程登录。

    ssh

    使用SSH加密协议远程登录。

    scp

    全拼secure copy,用于不同主机之间复制文件。

    wget

    命令行下载文件。

    ping

    测试主机之间网络的连通性。

    route

    显示和设置linux系统的路由表。

    示例:

    dhclient eth0 以dhcp模式启用 'eth0' 
    route -n show routing table 
    route add -net 0/0 gw IP_Gateway configura default gateway 
    route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16' 
    route del 0/0 gw IP_gateway remove static route 

    ifconfig

    查看、配置、启用或禁用网络接口的命令。

    示例:

    ifconfig eth0 显示一个以太网卡的配置 

    ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址 
    ifconfig eth0 promisc 设置 'eth0' 成混杂模式以嗅探数据包 (sniffing) 

    ifup

    启动网卡。

    示例:ifup eth0 启用一个 'eth0' 网络设备 

    ifdown

    关闭网卡。

    示例:ifdown eth0 禁用一个 'eth0' 网络设备

    netstat

    查看网络状态。

    示例:

    netstat -tup show all active network connections and their PID 
    netstat -tupl show all network services listening on the system and their PID 

    ss

    查看网络状态。

    深入网络操作命令

    nmap

    网络扫描命令。

    lsof

    全名list open files,也就是列举系统中已经被打开的文件。

    mail

    发送和接收邮件。

    mutt

    邮件管理命令。

    nslookup

    交互式查询互联网DNS服务器的命令。

    dig

    查找DNS解析过程。

    host

    查询DNS的命令。

    示例:

     

    traceroute

    追踪数据传输路由状况。

    tcpdump

    命令行的抓包工具。

    示例:

    tcpdump tcp port 80 show all HTTP traffic 

    有关磁盘与文件系统的命令

    mount

    挂载文件系统。

    umount

    卸载文件系统。

    fsck

    检查并修复Linux文件系统。

    示例:

    badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块 
    fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性 
    fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性 

    fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性 
    fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性 
    fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性 
    dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性 

    dd

    转换或复制文件。

    dumpe2fs

    导出ext2/ext3/ext4文件系统信息。

    dump

    ext2/3/4文件系统备份工具。

    fdisk

    磁盘分区命令,适用于2TB以下磁盘分区。

    parted

    磁盘分区命令,没有磁盘大小限制,常用于2TB以下磁盘分区。

    mkfs

    格式化创建Linux文件系统。

    示例:

    mkfs /dev/hda1 在hda1分区创建一个文件系统 

    mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统 
    mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统 
    mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统 

    partprobe

    更新内核的硬盘分区表信息。

    e2fsck

    检查ext2/ext3/ext4类型文件系统。

    示例:

    e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性 
    e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性 

    mkswap

    创建Linux交换分区。

    示例:

    mkswap /dev/hda3 创建一个swap文件系统 

    fdformat -n /dev/fd0 格式化一个软盘

    swapon

    启用交换分区。

    示例:

    swapon /dev/hda3 启用一个新的swap文件系统 
    swapon /dev/hda2 /dev/hdb3 启用两个swap分区

    swapoff

    关闭交换分区。

    sync

    将内存缓冲区内的数据写入磁盘。

    resize2fs

    调整ext2/ext3/ext4文件系统大小。

    示例

    备份:

    dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份 
    dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份 
    restore -if /tmp/home0.bak 还原一个交互式备份 
    rsync -rogpav --delete /home /tmp 同步两边的目录 
    rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync 
    rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录 
    rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录 
    dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作 
    dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件 
    tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作 
    ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通过ssh在远程目录中复制一个目录内容 
    ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通过ssh在远程目录中复制一个本地目录 
    tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接 
    find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录 
    find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包 
    dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作 
    dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容 

     

    光盘:

    cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容 
    mkisofs /dev/cdrom > cd.iso 在磁盘上创建一个光盘的iso镜像文件 
    mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件 
    mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 创建一个目录的iso镜像文件 
    cdrecord -v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件 
    gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件 
    mount -o loop cd.iso /mnt/iso 挂载一个ISO镜像文件 
    cd-paranoia -B 从一个CD光盘转录音轨到 wav 文件中 
    cd-paranoia -- "-3" 从一个CD光盘转录音轨到 wav 文件中(参数-3) 
    cdrecord --scanbus 扫描总线以识别scsi通道 
    dd if=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD

    系统权限及用户授权相关命令

    chmod

    改变文件或目录权限。

    示例:

    chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限 
    chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限 
    chown user1 file1 改变一个文件的所有人属性 
    chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性 
    chgrp group1 file1 改变文件的群组 
    chown user1:group1 file1 改变一个文件的所有人和群组属性 
    find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件 
    chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限 
    chmod u-s /bin/file1 禁用一个二进制文件的 SUID位 
    chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的 
    chmod g-s /home/public 禁用一个目录的 SGID 位 
    chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件 
    chmod o-t /home/public 禁用一个目录的 STIKY 位 

    chown

    改变文件或目录的属主和属组。

    chgrp

    更改文件用户组。

    umask

    显示或设置权限掩码。

    查看系统用户登陆信息的命令

    whoami

    显示当前有效的用户名称,相当于执行id -un命令。

    who

    显示目前登录系统的用户信息。

    w

    显示已经登陆系统的用户列表,并显示用户正在执行的指令。

    last

    显示登入系统的用户。

    lastlog

    显示系统中所有用户最近一次登录信息。

    users

    显示当前登录系统的所有用户的用户列表。

    finger

    查找并显示用户信息。

    内置命令及其它

    apt

    APT 软件工具 (Debian, Ubuntu 以及类似系统) 

    示例:

    apt-get install package_name 安装/更新一个 deb 包 
    apt-cdrom install package_name 从光盘安装/更新一个 deb 包 
    apt-get update 升级列表中的软件包 
    apt-get upgrade 升级所有已安装的软件 
    apt-get remove package_name 从系统删除一个deb包 
    apt-get check 确认依赖的软件仓库正确 
    apt-get clean 从下载的软件包中清理缓存 
    apt-cache search searched-package 返回包含所要搜索字符串的软件包名称 

    echo

    打印变量,或直接输出指定的字符串

    printf

    将结果格式化输出到标准输出。

    rpm

    管理rpm包的命令。

    示例:(Fedora, Redhat及类似系统) 

    rpm -ivh package.rpm 安装一个rpm包 
    rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告 
    rpm -U package.rpm 更新一个rpm包但不改变其配置文件 
    rpm -F package.rpm 更新一个确定已经安装的rpm包 
    rpm -e package_name.rpm 删除一个rpm包 
    rpm -qa 显示系统中所有已经安装的rpm包 
    rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包 
    rpm -qi package_name 获取一个已安装包的特殊信息 
    rpm -qg "System Environment/Daemons" 显示一个组件的rpm包 
    rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表 
    rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表 
    rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表 
    rpm -q package_name --whatprovides 显示一个rpm包所占的体积 
    rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l 
    rpm -q package_name --changelog 显示一个rpm包的修改历史 
    rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供 
    rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表 
    rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书 
    rpm --checksig package.rpm 确认一个rpm包的完整性 
    rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性 
    rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间 
    rpm -Va 检查系统中所有已安装的rpm包- 小心使用 
    rpm -Vp package.rpm 确认一个rpm包还未安装 
    rpm2cpio package.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件 
    rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 从一个rpm源码安装一个构建好的包 
    rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包

    yum

    自动化简单化地管理rpm包的命令。

    示例:YUM 软件包升级器 - (Fedora, RedHat及类似系统) 

    yum install package_name 下载并安装一个rpm包 
    yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系 
    yum update package_name.rpm 更新当前系统中所有安装的rpm包 
    yum update package_name 更新一个rpm包 
    yum remove package_name 删除一个rpm包 
    yum list 列出当前系统中安装的所有包 
    yum search package_name 在rpm仓库中搜寻软件包 
    yum clean packages 清理rpm缓存删除下载的包 
    yum clean headers 删除所有头文件 
    yum clean all 删除所有缓存的包和头文件 

    watch

    周期性的执行给定的命令,并将命令的输出以全屏方式显示。

    alias

    设置系统别名。

    unalias

    取消系统别名。

    date

    查看或设置系统时间。

    clear

    清除屏幕,简称清屏。

    history

    查看命令执行的历史纪录。

    eject

    弹出光驱。

    time

    计算命令执行时间。

    nc

    功能强大的网络工具。

    xargs

    将标准输入转换成命令行参数。

    exec

    调用并执行指令的命令。

    export

    设置或者显示环境变量。

    unset

    删除变量或函数。

    type

    用于判断另外一个命令是否是内置命令。

    bc

    命令行科学计算器

    系统管理与性能监视命令

    chkconfig

    管理Linux系统开机启动项。

    vmstat

    虚拟内存统计。

    mpstat

    显示各个可用CPU的状态统计。

    iostat

    统计系统IO。

    sar

    全面地获取系统的CPU、运行队列、磁盘 I/O、分页(交换区)、内存、 CPU中断和网络等性能数据。

    ipcs

    用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息。

    ipcrm

    用来删除一个或更多的消息队列、信号量集或者共享内存标识。

    strace

    用于诊断、调试Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。

    ltrace

    命令会跟踪进程的库函数调用,它会显现出哪个库函数被调用。

    关机/重启/注销和查看系统信息的命令

    shutdown

    关机。

    示例:

    shutdown -h now 关闭系统(1) 
    init 0 关闭系统(2) 
    telinit 0 关闭系统(3) 
    shutdown -h hours:minutes & 按预定时间关闭系统 
    shutdown -c 取消按预定时间关闭系统 
    shutdown -r now 重启(1) 

    halt

    关机。

    reboot重启。

    poweroff

    关闭电源。

    logout

    注销,退出当前登录的Shell。

    exit

    退出当前登录的Shell。

    Ctrl+d

    退出当前登录的Shell的快捷键。

    进程管理相关命令

    bg

    将一个在后台暂停的命令,变成继续执行  (在后台执行)。

    fg

    将后台中的命令调至前台继续运行。

    jobs

    查看当前有多少在后台运行的命令。

    kill

    终止进程。

    killall

    通过进程名终止进程。

    pkill

    通过进程名终止进程。

    crontab

    定时任务命令。

    ps

    显示进程的快照。

    pstree

    树形显示进程。

    nice/renice

    调整程序运行的优先级。

    nohup

    忽略挂起信号运行指定的命令。

    pgrep

    查找匹配条件的进程。

    runlevel

    查看系统当前运行级别。

    init

    切换运行级别。

    service

    启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。

    展开全文
  • 特殊指令之SC命令详解

    万次阅读 2017-12-30 23:06:15
    特殊指令之SC命令详解 DOS脚本梳理已发布文章 : DOS基础命令(一) DOS基础命令(二,三,四,五) DOS命令进阶之(Net, Netstat) DOS命令进阶之(FTP详解) DOS命令进阶之批处理(上) DOS命令进阶之批处理(中) ...

    特殊指令之SC命令详解


    特殊指令之SC命令详解


    DOS脚本梳理已发布文章 :



    SC命令是XP系统中功能强大的DOS命令,SC命令能与“服务控制器”和已安装设备进行通讯

    声明一下: 小编是从微软官网上查的资料(https://technet.microsoft.com/zh-cn/library/cc772676#BKMK_config), 只是通过自己的理解进行测试并插入小编的测试截图, 希望对大家有用

    Win7及其以上版本当然也能用

    SC命令主要的几个功能:

    1. 更改服务的启动状态(这是比较有用的一个功能) ,可以设置存储在注册表中的服务属性,以控制如何在启动时启动服务应用程序,以及如何将其作为后台程序运行。即更改服务的启动状态  

    2. 删除服务(除非对自己电脑的软、硬件所需的服务比较清楚,否则不建议删除任何系统服务,特别是基础服务)  

    3. 停止或启动服务(功能上类似于net stop/start,但速度更快且能停止的服务更多)

    4. SC可以 检索和设置有关服务的控制信息。可以使用 SC.exe 来测试和调试服务程序

    5. 可以创建批处理文件来调用不同的 SC 命令,以自动启动或关闭服务序列。

    说白了: SC.exe提供的功能类似于“控制面板”中“管理工具”项中的“服务”


    获取SC的帮助文档 : 

    在 cmd 窗口中执行 SC 命令即可获取其帮助文档内容, 从帮助文档中可以看到, SC下面还有很多个子命令, 所以, 除 SC Query 外, 其它命令的帮助文档的获取方式, 就是在CMD中执行 SC + 子命令名 就可以获取到.

    值得注意的一点: 因为SC命令操作的是系统服务, 所以最好在管理员权限下操作.

    特殊指令之SC命令详解

    SC命令帮助


    语法体: sc <ServerName> [command] [service name] <option1> <option2>...

    命令行语法键

    下表描述了用于指示命令行语法的标记

    表示法说明

    不带方括号或大括号的文本

    您必须键入如下所示的项目

    < 尖括号内的文本 >

    您必须为其提供值的占位符

    [方括号内的文本]

    可选的项目

    {大括号内的文本}

    一组所需的项目。选择一个

    竖线 (|)

    互斥项 ; 的分隔符选择一个

    省略号 (…)

    可重复的项目

    ServerName: 指定服务所在的远程服务器的名称。该名称必须使用 UNC 格式(“\myserver”),无此参数则默认为本地.

    [command]: SC的子命令

    [service name]: 服务名称(不一定是显示的名称)

    特殊指令之SC命令详解

    特殊指令之SC命令详解

    特殊指令之SC命令详解

    SC命令不能单独使用,必须和其它的命令结合起来一起使用。

    注意注意再注意: 每个参数项=号后面必须有一个空格, 再接参数值. 如: sc query type= driver type= interact


    声明: 小编是一个个的去写实例, 不敢误导众友人, 大多理论文本来自微软官方, 我是边理解边实验, 不懂的地方也有标注. 由于涉及对微软系统更加深入了点, 命令及参数以小编的水平是稍复杂.

    至于条友们是否能看的下去, 嘿嘿 ,感觉肯定收藏的占9成.


    (1) sc lock -----锁定“服务控制管理器”的数据库。

    语法

    sc [ServerName] lock

    参数

    • ServerName

    • 指定服务所在的远程服务器的名称。该名称必须使用 UNC 格式(“\myserver”)。要在本地运行 SC.exe,请忽略此参数。

    • /?

    • 在命令提示符下显示帮助。

    备注

    • 锁定“服务控制管理器”的数据库会阻止启动任何服务。如果要确保服务在停止之后不会启动,请使用这个命令。这可以使您不受干扰地进行一些操作(例如,删除服务)。

    • 使用 lock 操作锁定“服务控制管理器”的数据库,然后通过键入 u 来使数据库解锁。也可停止锁定数据库的进程。

    特殊指令之SC命令详解

    sc lock操作演示

    (2) sc querylock -----查询和显示“服务控制管理器”数据库的锁定信息

    特殊指令之SC命令详解

    sc querylock 信息中几个参数的意思

    特殊指令之SC命令详解

    解锁后的状态信息


    (3) sc query-----------查询服务的状态(当前本机所有的服务状态信息),或枚举服务类型的状态。

    获得和显示关于指定的服务驱动程序服务类型驱动程序类型的信息

    语法(此类内容看不懂就往下滑, 可以看实例演示)

    Sc [ServerName] query [ServiceName] [type= {driver | service | all}] [type= {own | share | interact | kernel | filesys | rec | adapt}] [state={active | inactive | all}] [bufsize= BufferSize] [ri= ResumeIndex] [group= GroupName]

    下表描述了用于指示命令行语法的标记

    表示法说明

    不带方括号或大括号的文本

    您必须键入如下所示的项目

    < 尖括号内的文本 >

    您必须为其提供值的占位符

    [方括号内的文本]

    可选的项目

    {大括号内的文本}

    一组所需的项目。选择一个

    竖线 (|)

    互斥项 ; 的分隔符选择一个

    省略号 (…)

    可重复的项目

    参数

    • ServerName

    • 指定服务所在的远程服务器的名称。该名称必须使用 UNC 格式(“\myserver”)。如果要在本地运行 SC.exe,请忽略此参数。

    • ServiceName

    • 指定由 getkeyname 操作返回的服务名。此 query 参数不与其他的 query 参数结合使用(除了 ServerName)。

    • type= {driver | service | all}

    • 指定需要枚举的内容。默认类型为 service

      描述

      driver

      指定仅枚举驱动程序

      service

      指定仅枚举服务

      all

      指定同时枚举驱动程序和服务

    • type= {own | share | interact | kernel | filesys | rec | adapt}

    • 指定要枚举的服务类型或驱动程序类型。

      描述

      own

      服务以其自身的进程运行。不与其他服务共享可执行文件。这是默认值。

      share

      服务作为共享进程运行与其他服务共享可执行文件

      interact

      服务可以与桌面交互接收用户的输入。交互服务必须在 LocalSystem 帐户下运行。

      kernel

      驱动程序

      filesys

      文件系统驱动程序

    • state= {active | inactive | all}

    • 指定要枚举的服务的已开始状态。默认状态是 active

      描述

      active

      指定所有的活动服务

      inactive

      指定所有暂停或停止的服务

      all

      指定所有服务

    • bufsize= BufferSize

    • 以字节为单位指定枚举缓冲区的大小。默认大小为 1024 字节。当从查询返回的显示结果超过 1024 个字节时,增加枚举缓冲区的大小。

    • ri= ResumeIndex

    • 指定开始或继续枚举的索引号。默认值为 0。 在查询返回的信息超过默认缓冲区能够显示的大小时,请与 bufsize= 参数结合使用这个参数。

    • group= GroupName

    • 指定要枚举的服务组。默认设置为所有组。

    • /?

    • 在命令提示符下显示帮助。

    备注

    • 如果参数及其值之间没有空格,(例如,是 type= own,而不是 type=own),则操作会失败

    • query 操作可以显示有关服务的下列信息:SERVICE_NAME(服务的注册表子项名)、TYPESTATE(以及不可用的状态)、WIN32_EXIT_BSERVICE_EXIT_BCHECKPOINT 和 WAIT_HINT

    • 在某些情况下,type= 参数可以使用两次type= 参数的第一次出现指定是否查询服务、驱动器或所有这些项。type= 参数的第二次出现指定一个由 create 操作进一步缩小查询范围的类型。

    • 当 query 命令的显示结果超过了枚举缓冲区的大小时,显示类似于以下内容的消息:

      Enum: more data, need 1822 bytes start resume at index 79

      要显示剩余的 query 信息,请重新运行 query,将 bufsize= 设置为所需的字节数,并将 ri= 设置为指定的索引。例如,在命令行键入下面的指令会显示剩余的输出:

      sc query bufsize= 1822 ri= 79

    特殊指令之SC命令详解

    SC Query 获取本机或远程主机的所有服务的状态信息

    SERVICE_NAME: 服务名称(可用于服务操作)

    DISPLAY_NAME: 服务对外显示名称(可自定义, 但不能用于操作服务)

    TYPE= {DRIVER (驱动)| SERVICE(服务, 默认) | ALL(所有)} 指定需要枚举的内容。默认类型为 service

    TYPE= {own | share | interact | kernel | filesys | rec | adapt} 指定要枚举的服务类型驱动程序类型。如上图中的(interactive) 表示此服务可交互, 属交互类型

    STATE= {ACTIVE| INACTIVE| ALL}指定要枚举的服务的已开始状态。默认状态是 active。

    WIN32_EXIT_CODE: 主线程退出码

    SERVICE_EXIT_CODE: 服务退出码

    注意,这里存在一个给这个服务的退出码,即使这个服务部不在运行,键入net helpmsg 1077,将会得到对1077错误信息的说明:

    CHECKPOINT: 检查点, 可以提供一个关于在程序停止时还要沿着初始化继续前进多久的准确报告。

    WAIT_HINT: 等待指示

    如上图中的: (STOPPABLE, PAUSABLE, IGNORES_SHUTDOWN) 这个信息显示此服务可以接受的控制命令,上面这个就是//可停止//可暂停//忽略关机

    示例

    下面的示例显示了如何使用 sc query 命令:

    sc query 列举活动服务和驱动程序状态(列出所有的服务,同下面的sc query all, 建议实操一下)

    sc query 360EntClientSvc 显示360EntClientSvc服务的状态信息

    特殊指令之SC命令详解

    sc query type= driver 只列举活动的驱动程序(仔细看, 每个参数值前都有一个空格的哦)

    特殊指令之SC命令详解

    sc query type= service 列举Win32服务

    特殊指令之SC命令详解

    sc query state= all 列举所有的服务和驱动程序(列出所有的服务)

    sc query bufsize= 50 用50 byte的缓冲区来进行列举

    特殊指令之SC命令详解

    sc query bufsize= 98 ri= 469

    sc query ri= 14 在恢复列举时使用index=14(没搞懂, 只能在打印列表的起始位置上对比一下)

    特殊指令之SC命令详解

    sc query ri= 14, more就是多页显示, 请动手对比这个命令有无的区别

    特殊指令之SC命令详解

    sc query ri= 56

    sc query type= service type= interact 列举所有的交互式WIN32服务

    特殊指令之SC命令详解

    sc query type= service type= interact

    特殊指令之SC命令详解

    因为这里勾选了 "允许服务与桌面交互" 所以在 TYPE 中有显示(interactive)

    特殊指令之SC命令详解

    这个语音服务因为 "允许服务与桌面交互" 未勾选, 所以CMD中没有(interacitve)

    sc query type= driver group= ndis 列出所有属于于ndis服务组的所有驱动程序

    特殊指令之SC命令详解

    sc query type=driver group=ndis

    特殊指令之SC命令详解

    ndis服务组列表


    (4) sc queryex---------查询服务的扩展状态,或枚举服务类型的状态。

    获得和显示关于指定的服务、驱动程序、服务类型或驱动程序类型的 扩展信息(注意这里是扩展信息)

    语法

    Sc [ServerName] queryex [type= {driver | service | all}] [type= {own | share | interact | kernel | filesys | rec | adapt}] [state= {active | inactive | all}] [bufsize= BufferSize] [ri= ResumeIndex][group= GroupName]

    下表描述了用于指示命令行语法的标记

    表示法说明

    不带方括号或大括号的文本

    您必须键入如下所示的项目

    < 尖括号内的文本 >

    您必须为其提供值的占位符

    [方括号内的文本]

    可选的项目

    {大括号内的文本}

    一组所需的项目。选择一个

    竖线 (|)

    互斥项 ; 的分隔符选择一个

    省略号 (…)

    可重复的项目

    参数

    • ServerName

    • 指定服务所在的远程服务器的名称。该名称必须使用 UNC 格式(“\myserver”)。要在本地运行 SC.exe,请忽略此参数。

    • ServiceName

    • 指定由 getkeyname 操作返回的服务名。此 queryex 参数不与 ServerName 之外的任何其他 queryex 参数结合使用。

    • type= {driver | service | all}

    • 指定需要枚举的内容。默认类型为 service

      描述

      driver

      指定仅枚举驱动程序。

      service

      指定仅枚举服务。

      all

      指定同时枚举驱动程序和服务。

    • type= {own | share | interact | kernel | filesys | rec | adapt}

    • 指定要枚举的服务类型或驱动程序类型。

      描述

      own

      服务以其自身的进程运行。不与其他服务共享可执行文件。这是默认值。

      share

      服务作为共享进程运行。与其他服务共享可执行文件。

      interact

      服务可以与桌面交互,接收用户的输入。交互服务必须在 LocalSystem 帐户下运行。

      kernel

      驱动程序。

      filesys

      文件系统驱动程序。

    • state= {active | inactive | all}

    • 指定要枚举的服务的已开始状态。默认状态是 active

      描述

      active

      指定所有的活动服务。

      inactive

      指定所有暂停或停止的服务。

      all

      指定所有服务。

    • bufsize= BufferSize

    • 以字节为单位指定枚举缓冲区的大小。默认大小为 1024 字节。

    • ri= ResumeIndex

    • 指定开始或继续枚举的索引号。默认值为 0。

    • group= GroupName

    • 指定要枚举的服务组。默认设置为所有组。

    • /?

    • 在命令提示符下显示帮助。

    备注

    • 如果参数及其值之间没有空格,(例如,是 type= own,而不是 type=own),则操作会失败。

    Enum: more data, need 2130 bytes start resume at index 75

    • 要显示剩余的 queryex 信息,请重新运行 queryex,将 bufsize= 设置为所需的字节数,并将 ri= 设置为指定的索引。例如,在命令行键入下面的指令会显示剩余的输出:

      sc queryex bufsize= 2130 ri= 75

    • queryex 操作可以显示有关服务的下列信息:SERVICE_NAME(服务的注册表子项名)、TYPE、STATE(以及不可用的状态)、WIN32_EXIT_B、SERVICE_EXIT_B、CHECKPOINT、WAIT_HINT、PID 和 FLAGS。

    • 在某些情况下,type= 参数可以使用两次。type= 参数的第一次出现指定是否查询服务、驱动器或所有这些项。type= 参数的第二次出现指定一个由 create 操作进一步缩小查询范围的类型。

    • 当 queryex 命令的显示结果超过了枚举缓冲区的大小时,显示类似于以下内容的消息:

    示例

    下面的示例显示了如何使用 sc queryex 命令:

    sc queryex 360EntClientSvc

    特殊指令之SC命令详解

    就是可以多看到两个属性

    sc queryex group= "ndis" 

    特殊指令之SC命令详解


    (5) sc start-----------启动服务

    (6) sc pause-----------向服务发送 PAUSE 控制请求。

    (7) sc stop------------向服务发送 STOP 请求。

    特殊指令之SC命令详解


    (8) sc continue--------向服务发送 CONTINUE 控制请求。

    特殊指令之SC命令详解

    特殊指令之SC命令详解


    (9) sc interrogate-----向服务发送 INTERROGATE 控制请求,会导致该服务使用“服务控制管理器”更新其状态(没能完全理解其作用, 也没有测试对比出来, 有懂的烦请指点一下)。

    (10) sc config----------更改服务的配置(永久)。

    修改注册表和“服务控制管理器”数据库中服务项目的值

    语法

    Sc [ServerName] config [ServiceName] [type= {own | share | kernel | filesys | rec | adapt | interacttype= {own | share}}] [start= {boot | system | auto | demand | disabled}] [error= {normal | severe | critical | ignore}] [binpath= BinaryPathName] [group= LoadOrderGroup] [tag= {yes | no}] [depend= dependencies] [obj={AccountName | ObjectName}] [displayname= DisplayName] [password= Password]

    下表描述了用于指示命令行语法的标记

    表示法说明

    不带方括号或大括号的文本

    您必须键入如下所示的项目

    < 尖括号内的文本 >

    您必须为其提供值的占位符

    [方括号内的文本]

    可选的项目

    {大括号内的文本}

    一组所需的项目。选择一个

    竖线 (|)

    互斥项 ; 的分隔符选择一个

    省略号 (…)

    可重复的项目

    参数

    • ServerName

    • 指定服务所在的远程服务器的名称。名称必须采用通用命名约定 (UNC) 格式(“\myserver”)。要在本地运行 SC.exe,请忽略此参数。

    • ServiceName

    • 指定由 getkeyname 操作返回的服务名。

    • type= {own | share | kernel | filesys | rec | adapt | interacttype= {own | share}}

    • 指定服务类型。

      描述

      own

      服务以其自身的进程运行。不与其他服务共享可执行文件。这是默认值。

      share

      服务作为共享进程运行。与其他服务共享可执行文件。

      kernel

      驱动程序。

      filesys

      文件系统驱动程序。

      rec

      文件系统识别驱动程序(标识计算机上使用的文件系统)。

      adapt

      适配器驱动程序(标识键盘、鼠标、磁盘驱动器这样的硬件项)。

      interact

      服务可以与桌面交互,接收用户的输入。交互服务必须在 LocalSystem 帐户下运行。该类型必须与 type= own 或 type= shared(例如,type= interact type= own)结合使用。自身使用 type= interact将会产生参数无效的错误。

    • start= {boot | system | auto | demand | disabled}

    • 指定服务的启动类型

      描述

      boot

      由启动加载程序加载的设备驱动程序。

      system

      在核心初始化过程中启动的设备驱动程序。

      auto

      每次计算机重新启动时都会自动启动、并且即使无人登录到计算机也能正常运行的服务。

      demand

      必须手动启动的服务。如果没有指定 start=,则此项即为默认值

      disabled

      不能启动的服务。要启动禁用的服务,应将启动类型更改为其他值。

    • error= {normal | severe | critical | ignore}

    • 如果在启动过程中,服务启动失败,则指定错误的严重性

      描述

      normal

      将记录错误,并且显示消息对话框,通知用户服务启动失败。启动将继续。这是默认设置

      severe

      记录错误(如果存在)。计算机尝试以最新的有效配置重新启动。这可能导致计算机能够重新启动,但服务却仍然无法运行。

      critical

      记录错误(如果存在)。计算机尝试以最新的有效配置重新启动。如果上次已知正确的配置失败,启动也将失败,启动进程将以停止错误而中止

      ignore

      错误已记录,启动继续。记录错误超出在事件日志的范围,不再给用户作出提示。

    • binpath= BinaryPathName

    • 指定指向服务二进制文件的路径

    • group= LoadOrderGroup

    • 指定该服务所属组的名称。组列表存储在注册表的HKLMSystemCurrentControlSetControlServiceGroupOrder 子项中。默认设置为空值

    • tag= {yes | no}

    • 指定是否在 CreateService 调用中获得 TagID标记仅用于引导启动或系统启动驱动程序

    • depend= dependencies

    • 指定必须在此项服务之前启动的服务或组的名称名称以正斜杠 (/) 分隔(看样子可以有多个前提服务)

    • obj= {AccountName | ObjectName}

    • 指定运行服务将使用的帐户名,或指定运行驱动程序将使用的 Windows 驱动程序对象名。默认设置为 LocalSystem

    • displayname= DisplayName

    • 指定一个可以在用户界面程序中用于为用户标识服务的友好的、有意义的名称。例如,一项服务的子项名是对用户毫无意义的 wuauserv,而显示的名称是“自动更新”。

    • password= Password

    • 指定一个密码。如果使用了非 LocalSystem 的帐户,则此项是必需的

    • /?

    • 在命令提示符下显示帮助。

    备注

    • 如果参数及其值之间没有空格,(例如,是 type= own,而不是 type=own),则操作会失败

    特殊指令之SC命令详解

    sc config 的帮助文档

    示例

    下面的示例显示了如何使用 sc config 命令:

    sc config NewService binpath= "ntsd -d c:windowssystem32NewServ.exe"

    以上命令是修改 NewService 这个服务的服务程序的绑定路径.

    特殊指令之SC命令详解

    修改服务的启动方式为 手动

    特殊指令之SC命令详解

    全命令示范文本

    C:>sc config \远程主机IP或主机名 type= share start= auto error= normal binpath= "d: ewfileabc.exe" group= newGroup tag= yes depend= 所依赖的服务名称,多个请以/符号分隔 obj= 如果此服务必须特殊的用户名在这里输入,否则就使用默认的LocalSystem用户及空密码 password= 特殊用户的密码

    sc config 服务名 start=AUTO (自动)

    sc config 服务名 start= DEMAND (手动)

    sc config 服务名 start= DISABLED(禁用)

    小编对上述文本作了个间隔加粗的格式, 以便能区分开. 不懂的请对照上面的参数.


    (11) sc descrīption-----更改服务的描述。

    设置服务的描述字符串

    语法

    Sc [ServerName] description [ServiceName] [Description]

    参数

    • ServerName

    • 指定服务所在的远程服务器的名称。该名称必须使用 UNC 格式(“\myserver”)。要在本地运行 SC.exe,请忽略此参数。

    • ServiceName

    • 指定由 getkeyname 操作返回的服务名。

    • 描述

    • 为指定服务指定描述。如果没有指定字符串,则不会修改该服务的描述。不限制服务描述中可包含的字符数。

    • /?

    • 在命令提示符下显示帮助。

    示例

    下面的示例显示了如何使用 sc description 命令:

    sc description 360EntClientSvc "通过CMD中SC命令修改后的内容: 360企业客户端服务"

    特殊指令之SC命令详解


    (12) sc failure---------更改服务失败时执行的操作。

    指定服务失败时要采取的措施

    语法

    Sc [ServerName] failure [ServiceName] [reset= ErrorFreePeriod] [reboot= BroadcastMessage] [command= CommandLine] [actions= FailureActionsAndDelayTime]

    下表描述了用于指示命令行语法的标记

    表示法说明

    不带方括号或大括号的文本

    您必须键入如下所示的项目

    < 尖括号内的文本 >

    您必须为其提供值的占位符

    [方括号内的文本]

    可选的项目

    {大括号内的文本}

    一组所需的项目。选择一个

    竖线 (|)

    互斥项 ; 的分隔符选择一个

    省略号 (…)

    可重复的项目

    参数

    • ServerName

    • 指定服务所在的远程服务器的名称。该名称必须使用 UNC 格式(“\myserver”)。要在本地运行 SC.exe,请忽略此参数。

    • ServiceName

    • 指定由 getkeyname 操作返回的服务名。

    • reset= ErrorFreePeriod

    • 指定没有失败的周期长度(单位为),此后失败计数应该重置为 0。这个参数必须与 actions= 参数结合使用。

    • reboot= BroadcastMessage

    • 指定服务失败时要广播的消息。

    • command= CommandLine

    • 指定服务失败时要运行的命令行。有关在失败时如何运行批处理或 VBS 文件的详细信息,请参阅“注释”。

    • actions= FailureActionsAndDelayTime

    • 指定失败操作及其延迟时间(单位为毫秒),以正斜杠 (/) 隔开。以下操作均有效:runrestart 和 reboot。此参数必须与 reset= 参数结合使用。失败后不采取任何操作时,请使用 actions= ""

    • /?

    • 在命令提示符下显示帮助。

    备注

    • 并非所有服务都允许更改其失败选项。其中一些作为服务集的一部分运行。

    • 要在失败时运行批处理文件,请指定 cmd.exe Drive:FileName.bat 为 command=参数,其中 Drive:FileName.bat 是批处理文件的完全合格的名称

    • 要在失败时运行 VBS 文件,请指定 cscript drive:myscript.vbs 为 command= 参数,其中 Drive:myscript.vbs 是脚本文件完全合格的名称

    • 可以将三种不同的操作指定为 actions= 参数,它们将会在服务的第一次、第二次、第三次失败时使用。

    • 如果参数及其值之间没有空格,(例如,是 type= own,而不是 type=own),则操作会失败。

    示例

    下面的示例显示了如何使用 sc failure 命令(小编在这里只对命令实例做解释说明, 没有实验测试):

    (1) 如果msftpsvc服务无故障运行30秒失败了, 则5秒后重新启动

    sc failure msftpsvc reset= 30 actions= restart/5000

    (2) 如果dfs服务无故障运行60秒失败, 则5秒后运行command指定的程序或脚本

    sc failure dfs reset= 60 command= c:windowsservices estart_dfs.exe actions= run/5000

    (3) 如果dfs服务无故障运行60秒失败, 则30秒后重启计算机

    sc failure dfs reset= 60 actions= reboot/30000

    (4) 如果dfs服务无故障运行60秒失败, 则30秒后重启计算机, 并广播"因为dfs服务运行失败, 计算机将在30秒后重新启动"

    sc failure dfs reset= 60 reboot= "The Distributed File System service has failed.Because of this, the computer will reboot in 30 seconds." actions= reboot/30000

    (5) 如果myservice服务无故障运行1小时失败, 则5秒后重启,

    第二次无故障运行1小时失败, 则10秒后运行command指定的程序或脚本,

    第三次元故障运行1小时失败, 则1分钟后重启计算机机, 同时广播"myservice服务挂掉了, 即将重启电脑"

    sc failure myservice reset= 3600 reboot= "MyService crashed -- rebooting machine" command= "%windir%MyServiceRecovery.exe" actions= restart/5000/run/10000/reboot/60000


    (13) sc failureflag-----更改服务失败时, 故障恢复操作的标志。

    指定在服务停止或因错误失败时,将会触发故障恢复操作。

    语法

    sc <ServerName> failureflag [<ServiceName>] [<Flag>]

    参数

    参数说明

    <ServerName>

    指定服务所在的远程服务器的名称。 名称必须使用通用命名约定 (UNC) 格式 (例如内)。 若要在本地运行 SC.exe,忽略此参数。

    <ServiceName>

    指定由getkeyname操作返回的服务名称。

    <Flag>

    默认值为0 (无操作)。 如果此参数设置为1,并且用户已配置的服务故障恢复操作,如果服务由于错误而停止恢复操作也会触发。

    /?

    在命令提示符下显示帮助。

    备注

    如果服务无法正常工作,但通常可以重新正常启动,则设置此标志。

    示例

    要触发现有的服务故障恢复操作,请键入:

    sc failureflag 服务名称 Flag= 1

    特殊指令之SC命令详解


    (14) sc sidtype---------更改服务的服务 SID 类型。

    更改服务的服务安全标识符(SID)类型设置。

    用法:

    sc <server> sidtype [service name] [type]

    选项:

    type = <none|unrestricted|restricted>

    备注:

    如果此设置为“unrestricted”,服务控制管理器(SCM)会因为进程中的第一个服务正在启动而在服务进程下次启动时将此服务的 SID 添加至服务进程令牌。此设置仅针对 Win32 用户模式服务有效。

    如果此设置为“restricted”,服务控制管理器(SCM)会因为进程中的第一个服务正在启动而在服务进程下次启动时将此服务的 SID 添加至服务进程令牌。

    此外,此服务的 SID 也会被添加至进程令牌中的受限 SID 列表,因此该进程令牌将成为一个受限的令牌。有关受限令牌的详细信息,请参见 MSDN。此设置仅针对 Win32 用户模式服务有效。此外,对于共享进程服务,共处于进程中的所有服务的 SID 类型必须都被设为此设置,以便服务生效。

    如果此设置为“none”,SCM 不会将服务的 SID 添加至服务进程令牌。

    小编对系统的研究不深, 不知其所以然, 如有高手路过, 烦请指点一二, 感谢感谢!


    (15) sc privs-----------更改服务的所需权限。

    更改服务所需的权限设置。

    用法:

    sc <server> privs [service name] [privileges]

    选项:

    privileges = <由正斜杠分隔的权限>[例如: SeBackupPrivilege/SeRestorePrivilege]

    没有用到过, 不知其所以然


    (16) sc qc--------------查询服务的配置信息

    语法

    Sc [ServerName] qc [ServiceName] [BufferSize]

    参数

    • ServerName

    • 指定服务所在的远程服务器的名称。该名称必须使用 UNC 格式(“\myserver”)。要在本地运行 SC.exe,请忽略此参数。

    • ServiceName

    • 指定由 getkeyname 操作返回的服务名。

    • BufferSize

    • 指定缓冲区大小(以字节为单位)。默认值为 1024 字节。

    • /?

    • 在命令提示符下显示帮助。

    备注

    • qc 操作可以显示有关服务的下列信息:SERVICE_NAME(服务的注册表子项名称)、TYPE、ERROR_CONTROL、BINARY_PATH_NAME、LOAD_ORDER_GROUP、TAG、DISPLAY_NAME、DEPENDENCIES 和 SERVICE_START_NAME。

    • 管理员可以使用 SC 来确定任一服务的二进制名称,并查明它是否与其他服务共享一个进程,在命令行下键入下列命令:

      sc qc ServiceName

      SC 有助于将 Microsoft 管理控制台 (MMC) 的服务节点中的服务与“系统监视器”中的进程进行匹配。如果二进制名称是 Services.exe,那么服务共享“服务控制器”进程。

      Services.exe 启动所有的服务。为节约系统资源,几个为 Windows 开发的 Win32 服务被编写为共享 Services.exe 进程。这些服务不作为独立的进程列在“系统监视器”或“任务管理器”之中Svchost.exe 也是如此,它是许多操作服务共享的服务主机进程

      因为第三方 Win32 服务也可以配置为共享进程,所以不可能为每一个 Win32 服务创建一个进程。SC 可以用来获得这些服务的配置信息。但是,如果一项服务不与其他服务共享其进程,那么在服务运行时,“系统监视器”中会出现其进程。

    • 因为 SC 与包含在 Windows 中的 Services.exe 相比,提供了有关服务的更为详细和准确的信息,所以对于服务开发人员来说,SC 更有用处。Services.exe 可以确定服务是正在运行、已停止还是已暂停。尽管这些工具对于正在平稳运行的已调试应用程序已经足够,但它们提供的有关正开发的服务的信息却会使人误解。例如,正在启动的服务不管其实际运行与否都显示为已启动。

      SC 可执行对所有 Windows 服务控制应用编程接口 (API) 函数的调用。通过在命令行下指定这些函数来设置其参数。使用 SC,可以查询服务状态,检索存储在状态结构字段中的值。Services.exe 不能提供服务的完整状态,但 SC 可以显示精确的服务状态,以及最新的检查点号码和等待提示。可以将检查点用作调试工具,原因在于它表明了在程序停止响应之前初始化进行的程度。SC 也可以用来指定远程计算机名,以便于在远程计算机上调用服务 API 函数或查看服务状态结构。

    示例

    下面的示例显示了如何使用 sc qc 命令:

    sc qc \myserver newsrvice

    sc qc rpcss 248

    特殊指令之SC命令详解


    (17) sc qdescription----查询服务的描述。

    显示服务的描述字符串

    语法

    Sc [ServerName] qdescription [ServiceName] [BufferSize]

    参数

    • ServerName

    • 指定服务所在的远程服务器的名称。该名称必须使用 UNC 格式(“\myserver”)。要在本地运行 SC.exe,请忽略此参数。

    • ServiceName

    • 指定由 getkeyname 操作返回的服务名。

    • BufferSize

    • 指定缓冲区大小(以字节为单位)。默认值为 1024 字节。

    • /?

    • 在命令提示符下显示帮助。

    示例

    下面的示例显示了如何使用 sc qdescription 命令:

    sc qdescription rpcss

    sc qdescription rpcss 138

    特殊指令之SC命令详解


    (18) sc qfailure--------查询失败时服务执行的操作。

    特殊指令之SC命令详解

    (19) sc qfailureflag----查询服务的失败操作标志。

    特殊指令之SC命令详解

    (20) sc qsidtype--------查询服务的服务 SID 类型。

    特殊指令之SC命令详解

    (21) sc qprivs----------查询服务的所需权限。

    特殊指令之SC命令详解

    (22) sc qtriggerinfo----查询服务的触发器参数。

    特殊指令之SC命令详解

    (23) sc qpreferrednode----查询首选的服务 NUMA 节点。[没有测试成功,失败]

    描述:

    查询 Win32 服务的首选 NUMA 节点。

    此设置仅对系统自身的进程服务有效。

    如果此服务没有首选节点设置,则查询将失败。

    用法:

    sc <server> qpreferrednode [service name]


    (24) sc delete----------(从注册表)删除服务。

    从注册表中删除服务子项。如果服务正在运行或者另一个进程有一个该服务的打开句柄,那么此服务将标记为删除

    语法

    Sc [ServerName] delete [ServiceName]

    参数

    • ServerName

    • 指定服务所在的远程服务器的名称。该名称必须使用 UNC 格式(“\myserver”)。要在本地运行 SC.exe,请忽略此参数。

    • ServiceName

    • 指定由 getkeyname 操作返回的服务名。

    • /?

    • 在命令提示符下显示帮助。

    备注

    • 使用“添加或删除程序”删除 DHCP、DNS 或任何其他内置的操作系统服务。“添加或删除程序”不仅会删除该服务的注册表子项,而且还会卸载该服务并删除其所有的快捷方式。

    示例

    下面的示例显示了如何使用 sc delete 命令:

    sc delete newserv


    (25) sc create----------创建服务(将其添加到注册表)。

    注册表和“服务控制管理器”中为服务创建子项和项目。

    语法

    Sc [ServerName] create [ServiceName] [type= {own | share | kernel | filesys | rec | adapt | interacttype= {own | share}}] [start= {boot | system | auto | demand | disabled}] [error= {normal | severe | critical | ignore}] [binpath= BinaryPathName] [group= LoadOrderGroup] [tag= {yes | no}] [depend= dependencies] [obj={AccountName | ObjectName}] [displayname= DisplayName] [password= Password]

    下表描述了用于指示命令行语法的标记

    表示法说明

    不带方括号或大括号的文本

    您必须键入如下所示的项目

    < 尖括号内的文本 >

    您必须为其提供值的占位符

    [方括号内的文本]

    可选的项目

    {大括号内的文本}

    一组所需的项目。选择一个

    竖线 (|)

    互斥项 ; 的分隔符选择一个

    省略号 (…)

    可重复的项目

    参数

    • ServerName

    • 指定服务所在的远程服务器的名称。该名称必须使用 UNC 格式(“\myserver”)。要在本地运行 SC.exe,请忽略此参数。

    • ServiceName

    • 指定由 getkeyname 操作返回的服务名。

    • type= {own| share | kernel | filesys | rec| adapt| interacttype= {own | share}}

    • 指定服务类型。默认类型为 type= own

      描述

      own

      服务以其自身的进程运行。不与其他服务共享可执行文件。这是默认值。

      share

      服务作为共享进程运行。与其他服务共享可执行文件。

      kernel

      驱动程序。

      filesys

      文件系统驱动程序。

      rec

      文件系统识别驱动程序(标识在计算机上使用的文件系统)。

      interact

      服务可以与桌面交互,接收用户的输入。交互服务必须在 LocalSystem 帐户下运行。该类型必须与 type= own 或 type= shared(例如,type= interact type= own)结合使用。自身使用 type= interact将会产生参数无效的错误。

    • start= {boot | system | auto | demand | disabled}

    • 指定服务的启动类型。默认的启动类型是 start= demand

      boot

      由启动加载程序加载的设备驱动程序

      system

      在核心初始化过程中启动的设备驱动程序。

      auto

      每次计算机重新启动时都会自动启动、并且即使无人登录到计算机也能正常运行的服务。

      demand

      必须手动启动的服务。如果没有指定 start=,则此项即为默认值。

      disabled

      不能启动的服务。要启动禁用的服务,应将启动类型更改为其他值。

    • error= {normal | severe | critical | ignore}

    • 如果在启动过程中,服务启动失败,则指定错误的严重性。默认设置为 error= normal

      normal

      将记录错误,并且显示消息对话框,通知用户服务启动失败。启动将继续。这是默认设置。

      severe

      记录错误(如果存在)。计算机尝试以最新的有效配置重新启动。这可能导致计算机能够重新启动,但服务却仍然无法运行。

      critical

      记录错误(如果存在)。计算机尝试以最新的有效配置重新启动。如果上次已知正确的配置失败,启动也将失败,启动进程将以停止错误而中止。

      ignore

      错误已记录,启动继续。记录错误超出在事件日志的范围,不再给用户作出提示。

    • binpath= BinaryPathName

    • 指定指向服务二进制文件的路径binpath= 没有默认值,必须提供此字符串。

    • group= LoadOrderGroup

    • 指定该服务所属组的名称。组列表存储在注册表的 HKLMSystemCurrentControlSetControlServiceGroupOrder 子项中。默认设置为空值。

    • tag= {yes | no}

    • 指定是否在 CreateService 调用中获得 TagID。标记仅用于引导启动或系统启动驱动程序。

    • depend= dependencies

    • 指定必须在此项服务之前启动的服务或组的名称。名称以正斜杠 (/) 分隔。

    • obj= {AccountName | ObjectName}

    • 指定运行服务将使用的帐户名,或指定运行驱动程序将使用的 Windows 驱动程序对象名。

    • displayname= DisplayName

    • 指定用户界面程序用于标识服务的友好名称。

    • password= Password

    • 指定一个密码。如果使用了非 LocalSystem 的帐户,则此项是必需的。

    • /?

    • 在命令提示符下显示帮助。

    备注

    • 如果参数及其值之间没有空格,(例如,是 type= own,而不是 type=own),则操作会失败。

    示例

    下面的示例显示了如何使用 sc create 命令:

    sc \myserver create NewService binpath= c:windowssystem32NewServ.exe

    sc create NewService binpath= c:windowssystem32NewServ.exe type= share start= auto depend= "+TDI Netbios"

    如果条码是从上往读过来的, 参数上应该都不用我多注释了.

    小编我试了下 sc create notepad binpath= "D:Program FilesEditPluseditplus.exe" 不可行, 小编程序开发经验不足, 可能后台服务程序, 代码中需要调用特殊的库, 这样生成的程序才可以作为后台, 这一篇文章花了两时间了, 还没有写完.


    (26) sc control---------向服务发送控制

    向服务发送控制码

    语法

    sc [ServerName] control [ServiceName] [{paramchange | netbindadd | netbindremove | netbindenable | netbinddisable | UserDefinedControlB}]

    参数

    • ServerName

    • 指定服务所在的远程服务器的名称。该名称必须使用 UNC 格式(“\myserver”)。要在本地运行 SC.exe,请忽略此参数。

    • ServiceName

    • 指定由 getkeyname 操作返回的服务名。

    • {paramchange | netbindadd | netbindremove | netbindenable | netbinddisable | UserDefinedControlB}

    • 指定要发送到服务的控制。

    • /?

    • 在命令提示符下显示帮助。


    (27) sc sdshow----------显示服务的安全描述符。

    特殊指令之SC命令详解

    (28) sc sdset-----------设置服务的安全描述符。

    使用“服务描述符定义语言 (SDDL)”来设置服务的安全描述符。

    语法

    Sc [ServerName] sdset ServiceName ServiceSecurityDescriptor

    参数

    • ServerName

    • 指定服务所在的远程服务器的名称。该名称必须使用 UNC 格式(“\myserver”)。要在本地运行 SC.exe,请忽略此参数。

    • ServiceName

    • 指定由 getkeyname 操作返回的服务名。

    • ServiceSecurityDescriptor

    • 在 SDDL 中指定服务描述符。

    • /?

    • 在命令提示符下显示帮助。


    (29) sc showsid---------显示相应于假定名称的 SID 字符串。

    特殊指令之SC命令详解

    (30) sc triggerinfo-----配置服务的触发器参数。

    特殊指令之SC命令详解

    (31) sc preferrednode---设置首选的服务 NUMA 节点(不懂)。

    (32) sc GetDisplayName----获取服务的 DisplayName

    特殊指令之SC命令详解

    (33) sc GetKeyName------获取服务的 ServiceKeyName。

    特殊指令之SC命令详解

    (34) sc EnumDepend------枚举服务的依存关系

    列出只有运行了指定服务才能运行的服务。

    语法

    Sc [ServerName] enumdepend [ServiceName] [BufferSize]

    参数

    • ServerName

    • 指定服务所在的远程服务器的名称。该名称必须使用 UNC 格式(“\myserver”)。要在本地运行 SC.exe,请忽略此参数。

    • ServiceName

    • 指定由 getkeyname 操作返回的服务名。

    • BufferSize

    • 以字节为单位指定枚举缓冲区的大小。默认值为 1024 字节。

    • /?

    • 在命令提示符下显示帮助。

    备注

    • 如果缓冲区不够大,enumdepend 操作只会部分输出依存关系,并指定输出所有依存关系所需的额外缓冲区大小。如果输出被截断,请重新运行该操作并指定更大的缓冲区大小。

    示例

    下面的示例显示了如何使用 sc enumdepend 命令:

    sc enumdepend rpcss 5690

    sc enumdepend tapisrv

    特殊指令之SC命令详解


    虽然小编耐着性子, 一个一个的子命令都试了, 但是还有多个指令不确实其实际作用, 创建服务针对的应该是服务类的程序, 就像 360EntClientSvc 这个服务就是服务程序, 不同于 notepad.exe 记事本程序, 记事本程序不被创建为一个服务程序.

    SC命令在实际应用中, 主要是用来优化本地系统服务, 将用不到的服务使用批处理一次性的优化掉, 或禁用或手动.

    展开全文
  • 命令:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... directory 说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。 把计 -a 尽可能将档案状态、...

    命令:cp

    使用权限:所有使用者

    使用方式:

    cp [options] source dest

    cp [options] source... directory

    说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。

    把计

    -a 尽可能将档案状态、权限等资料都照原状予以复制。

    -r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。

    -f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。

    范例:

    将档案 aaa 复制(已存在),并命名为 bbb :

    cp aaa bbb

    将所有的C语言程式拷贝至 Finished 子目录中 :

    cp *.c Finished



    Linux之间的文件拷贝方式

    不同的Linux之间copy文件常用有3种方法:

    第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。

    第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。

    第三种就是利用scp命令来进行文件复制。

        scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。

    scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root

    然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了。

        如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。

    linux之cp/scp命令+scp命令详解(转) - linmaogan - 独木★不成林 scp root@/full.tar.gz  172.19 . 2.75 : / home / root /full.tar.gz  home / daisy / full . tar . gz



         命令:scp

    linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录; 

    ================== 
    scp 命令 
    ================== 
    scp 可以在 2个 linux 主机间复制文件; 

    命令基本格式: 
           scp [可选参数] file_source file_target 

    ====== 
    从 本地 复制到 远程 
    ====== 
    * 复制文件: 
            * 命令格式: 
                    scp local_file remote_username@remote_ip:remote_folder 
                    或者 
                    scp local_file remote_username@remote_ip:remote_file 
                    或者 
                    scp local_file remote_ip:remote_folder 
                    或者 
                    scp local_file remote_ip:remote_file 

                    第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名; 
                    第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名; 
            * 例子: 
                    scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music 
                    scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3 
                    scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music 
                    scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3 

    * 复制目录: 
            * 命令格式: 
                    scp -r local_folder remote_username@remote_ip:remote_folder 
                    或者 
                    scp -r local_folder remote_ip:remote_folder 

                    第1个指定了用户名,命令执行后需要再输入密码; 
                    第2个没有指定用户名,命令执行后需要输入用户名和密码; 
            * 例子: 
                    scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/ 
                    scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/ 

                    上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录 


    ====== 
    从 远程 复制到 本地 
    ====== 
    从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可; 

    例如: 
            scp root@www.cumt.edu.cn:/home/root/others/music /home/space/music/1.mp3 
            scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/

    最简单的应用如下 : 

    scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2 

    [ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 . 

    可能有用的几个参数 : 

    -r 递归. 当复制的是文件夹.  示例: scp -r root@d13.mzhen.cn:/usr/local/storm/conf/ /e/   将远程服务器的 storm下的conf文件夹 拷贝到 本地E盘


    -v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 . 

    -C 使能压缩选项 . 

    -P 选择端口 . 注意 -p 已经被 rcp 使用 . 

    -4 强行使用 IPV4 地址 . 

    -6 强行使用 IPV6 地址 .

     

    注意两点:
    1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
    #scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator
    2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。



    话外篇:

    几个示例演示

    scp可以实现push 与 pull

    以下的演示为本地机器(Windows) 与 远程服务器的 数据传送

    在本地的Windows下进行操作:(工具: GitBash)


    1.从远程服务器上pull (拉取)

    (1)拉取文件

    scp root@d9999.mzhen.cn:/usr/local/storm/conf/storm.yaml /e/   //将远程的Storm配置文件复制到本地 E:盘 根目录下


    (2)拉取文件夹


    2.将本地的数据 push(推送) 到远程服务器

    (1)推送文件

    scp /e/test.txt root@d14.mzhen.cn:/usr/local/storm/conf/


    (2)推送文件夹

    scp -r /e/test_k/ root@d14.mzhen.cn:/usr/local/storm/conf/


    本地


    服务器


    证明 拷贝成功



    展开全文
  • 打印指令,又称打印控制命令。计算机通过打印控制语言,以软件命令的方法来控制打印机操作,解释执行打印数据,获得打印结果的。对于打印机所实现的复杂功能而言,打印控制语言是基础。它直接关系到打印输入质量的...
  • 电脑关机命令可以无需任何的软硬件也能实现电脑自动远程关机。当我们自己没有办法手动关机时,使用关机命令设置关机时间就会显得很实用了。那么怎样实现电脑关机命令呢?今天小编就教大家如何使用电脑关机命令,一...
  • 今天我们就来看一下数据库的各种命令,以下命令全部是从CMD命令窗口下的命令行输入指令,首先如果如果输入mysql,系统提示“mysql不是内部命令或外部命令。那么这其实是环境变量没有设置好的原因,例如我的mysql的...
  • git branch --set-upstream-to=origin/ master ------------- 解决:git branch --set-upstream-to origin/master master 意思是将本地master分支远程master关联起来 类似的可以用git branch --set-upstream-to ...
  • History命令主要用于显示历史指令记录内容,下达历史纪录中的指令。1&gt;History命令语法:[aliyunzixun@xxx.com]#history[n][aliyunzixun@xxx.com]#history[-c][aliyunzixun@xxx.com]#history[-raw]histfiles参数...
  • 打印指令,又称打印控制命令。计算机通过打印控制语言,以软件命令的方法来控制打印机操作,解释执行打印数据,获得打印结果的。对于打印机所实现的复杂功能而言,打印控制语言是基础。它直接关系到打印输入质量的...
  • MSR指令什么意思

    千次阅读 2016-09-24 16:35:56
    在ARM处理器中,只有MSR指令可以对状态寄存器CPSRSPSR进行写操作。与MRS配合使用,可以实现对CPSR或SPSR寄存器的读-修改-写操作,可以切换处理器模式、或者允许/禁止IRQ/FIQ中断等。 由于xPSR寄存器代表了CPU的...
  • IN指令和OUT指令

    千次阅读 2020-08-04 21:51:18
    Windows控制硬件借助的是输入输出指令。其中具有代表性的两个输入输出指令就是INOUT指令。这些指令也是汇编语言的助记符。可以通过INOUT指令来实现对数据的读入输出,如下图所示: IN指令和OUT指令 也就是...
  • repne指令和scasb指令解析

    万次阅读 2012-12-13 11:08:22
    你要把两个指令搞懂,第一个是reperepne,前者是repeat equal,意思是相等的时候重复,后者是repeat not equal,不等的时候重复;每循环一次cx自动减一,所以MOV CX,N,n就是循环次数;第二个是scasb 意思是【al】...
  • linux的指令查询 Linux有很多指令,首先在黑框框中连按两下TAB键,可以看看总共有多少条指令可以用(2000多条) 这么多条指令,一一去记忆不现实。Linux为我们提供了命令手册,man(manual手册)命令就可以查询...
  • DAA指令和DAS指令

    千次阅读 2018-07-23 16:47:59
    调整方法与AAA指令类似,不同的是DAA指令要分别考虑AL的高4位低4位。 如果AL的低4位大于9或AF=1,则AL的内容加06H,并将AF置1; 如果AL的高4位大于9或CF=1,则AL的内容加60H,且将CF置1。 ...
  • ls 指令(ls:List files) 语法: ls [选项][目录或文件名] 功能: 对于目录,该命令列出该目录下的所有子目录与文件。 对于文件,将列出文件名以及其他信息。 常用选项: -a 列出目录下的所有文件,包括以 . 开头...
  • (乱码提示我觉得大概是git指令不存在的意思)然后就看了一下别人的总结就说window下虽然安装了git但是缺少环境变量,所以一定要安装环境变量才可以使用于是我就使用了命令行添加的方法给git在window下添加了环境...
  • netstat命令各个参数说明如下:  -t : 指明显示TCP端口  -a : 显示所有socket(套接字),包括正在监听的(LISTEN)  -u : 指明显示UDP端口  -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发...
  • 计算机指令就是指挥机器工作的指示和命令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程。通常一条指令包括两方面的内容: [1]操作码操作数,操作码决定要完成的操作,操作数指参加...
  • jnz指令和jne指令区别

    万次阅读 2017-10-06 13:02:56
    书中127页有这么一段, mov dx,0x1f7 .waits: in al,dx and al,0x88 cmp al,0x08 jnz .waits 最后一句的jnz完全可以用jne代替, 那jnz/jne, jz/je区别到底是什么呢?...jnz指令, if(ZF!=0)则跳转, 在
  • docker build 命令后"." ... 号代表什么意思呢? 在我们学习对 . 号的理解有所偏差,以为是用来指定 Dockerfile 文件所在的位置的,但其实 -f 参数才是用来指定 Dockerfile 的路径的,那么 . 号究...
  • rpm命令和npm命令是什么

    千次阅读 2019-06-17 11:51:39
    rpm命令和npm命令介绍一、rpm命令是什么1.rpm常用命令组合2.安装rpm二、npm命令是什么 一、rpm命令是什么 RPM是RedHat Package Manager(RedHat 软件包管理工具)类似Windows里面的添加/删除程序,Linux rpm是常用...
  • 在centOS7中,ifconfig命令已经被正式废除了,所以用该指令找不到网卡,我们在centOS中用ip addr来查看我们的网络信息。 lo是环回接口(loopback)。virbr是虚拟网桥(Virtual Bridge),virbr0是虚拟网桥网卡。...
  • CMD指令和ENTRYPOINT指令的作用都是为镜像指定容器启动后的命令,那么它们两者之间有什么各自的优点呢? 为了更好地对比CMD指令和ENTRYPOINT指令的差异,我们这里再列一下这两个指令的说明, CMD 支持三种...
  • linux命令中cd / cd ~ 是什么意思

    千次阅读 2020-05-16 10:07:41
    cd命令:切换当前目录百至其它目录,比如进入/etc目录,则执行 cd /etc cd /: 在Linux 系统中斜杠“/”表示的是根目录。cd / ,即进入根目录. cd ~命令是,进入用户在该系统的home目录,例如xz用户,则进入/root/xz...
  • 总结 composer的installrequireupdate指令 到底什么时候用什么指令

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 126,923
精华内容 50,769
关键字:

命令和指令的意思