zoukankan      html  css  js  c++  java
  • linux 常用命令

    ●用户完全切换(当前目录也将切换到要切换用户的家目录)

    su -l username

    ●cd命令
    ▪返回到上一次所处的目录
    cd -

    ▪进入上级目录
    cd..

    ▪切换到当前用户的家目录
    cd ~

    ▪切换到其他用户的家目录
    cd ~username

    ●修改当前用户密码

    passwd

    ●ls命令显示目录文件列表:
    -a      显示目录下所有文件(包括隐藏文件)
    -all     显示文件所有文件及其属性
    -l        显示文件详细信息

    如果想要查看目录属性信息,则需要额外添加一个-d参数。
    例:ls -ld /etc

     

    ●find命令

    find命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”。

    参数 作用
    -name 匹配名称
    -perm 匹配权限(mode为完全匹配,-mode为包含即可)
    -user 匹配所有者
    -group 匹配所有组
    -mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)
    -atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前)
    -ctime -n +n 匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
    -nouser 匹配无所有者的文件
    -nogroup 匹配无所有组的文件
    -newer f1 !f2 匹配比文件f1新但比f2旧的文件
    --type b/d/c/p/l/f 匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
    -size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
    -prune 忽略某个目录
    -exec …… {}; 后面可跟用于进一步处理搜索结果的命令(下文会有演示)


    例:
    find /etc -name "host*" -print
    find / -perm -4000 -print //搜索权限中包括SUID权限的所有文件,只需使用-4000即可

    “-exec {} ;”参数,其中的{}表示find命令搜索出的每一个文件,并且命令的结尾必须是“;”。
    命令如下:
    find / -user testuser -exec cp -a {} /root/findresults/ ;

    例:find / -name test #包含test的文件和文件夹名
       find / -type f -name "text.txt"
     
    #找到文件后,交给管道删除
    find / -type f -name "text.txt" | xargs rm -f
     
     
     

    ●cat 命令显示指定文件内容 

    -n 显示行号

    例如:$ cat  filename<回车>
     
     
     

    ●rm 命令删除文件 

    rm  remove  删除文件或者目录 ,
      -f 强制
      -r 删除目录
     注意:生产场景尽量不要使用rm,如果非要用,一定要先cp备份 
     
    例如:$ rm  filename<enter>
    -i 显示确认删除文件信息,输入y删除文件,输入n不删除文件。
     
     
     

    ●free命令

     
    作用:显示当前系统中内存的使用量信息
    # free -h
     
     
     

    ●sosreport

     
    sosreport命令用于收集系统配置并诊断信息后输出结论文档,格式为:“sosreport”。
    当咱们的Linux系统出现故障需要联系红帽厂商或其他技术支持时,大多数时候都要先使用这个SOS功能
    来简单收集计算机的状态和配置信息。
     
     

    ●history命令

    格式为“history [-c]”。

    默认记录本机1000条历史命令记录,可以自定义/etc/profile文件中的HISTSIZE变量值。
    ▪历史命令会被保存到用户家目录中的.bash_history文件中。
    例:cat ~/.bash_history

    ▪使用“!编码数字”//重复执行某一次的命令
    例:history !10

    例: history
    history -c #清空历史记录
     
     
     

    ●cut命令

    作用:用来按列提取文本字条
    参数:
    -f 参数:用来设置要看的列数
    -d参数:设置间隔符号
    例:提取出passwd文件中的用户名
    cut -d: -f1 /etc/passwd  #第一列,以:号分隔。
     
     
     

    ●stat命令

    命令stat testfile会显示出文件的三种时间状态:Access、Modify、Change。

    Modify:文件内容的修改时间(mtime)
    Change:文件权限或属性的更改时间(ctime)
    Access:文件的读取时间(atime)

    用于查看文件的具体存储信息和时间
    例:stat testfile 
     
    ●less/more命令 分屏显示文件
    例如:
    $ less  filename<enter>  显示完成后不回到shell,输入q返回shell
    $ more filename<enter>  显示完成后回到shell
     
     

    ●cp:复制文件

    cp命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。

    ▪如果目标文件是目录,则会把源文件复制到该目录中;

    ▪如果目标文件也是普通文件,则会询问是否要覆盖它;

    ▪如果目标文件不存在,则执行正常的复制操作。

     
    参数:
    -a :相当于-pdr(相当于p,d,r三个参数的组合)
    -d :若源文件为链接文件(link file),则复制链接文件属性而非档案本身
    -f :强制,右目录档案已经存在且无法开启,则移除后再尝试
    -i: 若目标文件已经存在时,覆盖时会先询问
    -p:连同档案的属性一起复制过去,而非使用默认属性
    -r:递归,用于复制目录
    -u:若目标文件存在,则目标文件比源文件旧时才复制
    提示:如果源文件是多个,那么目标文件在最后,且是目录。
     
     

    ●mkdir命令

    mkdir命令用于创建空白的目录,格式为“mkdir [选项] 目录”。
    mkdir命令可以结合-p参数来递归创建出具有嵌套叠层关系的文件目录。

    例:
    mkdir -p a/b/c/d/e

     

    ●mv 更改文件名

    mv命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。
    例如:
    $ mv  existing-filename  new-filename<enter>
    -i 提示确认更改信息,输入y更改,输入n不更改。
     
     

    ●lpr 打印文件

    例如: $ lpr report<enter>  将文件report放入打印队列,默认由与计算机相连的唯一的打印机来完成此打印任务。
    -P 可访问多个打印机时,指定打印机名来进行打印命令
    例如: $ lpr  -Pmailroom  report <enter>  mailroom 是打印机名
     
    lpq 命令查看在打印队列中的打印作业文件及作业号
    lprm 命令可将指定作业号的打印作业从打印队列中删除 
     
    例如:$ lprm  86<enter> 删除打印作业号是86的打印作业
    另外: $ lpr  -Plaser1  file1.txt  file2.txt  file3.txt<enter>  在名称为laser1的打印机上打印多个文件
     
     
     

    ●grep 命令在一个或多个文件中查找给定字符串

    grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。
    -b 将可执行文件(binary)当作文本文件(text)来搜索
    -c 仅显示找到的行数
    -i 忽略大小写
    -n 显示行号 ---->生产环境常用参数
    -v 反向选择——仅列出没有“关键词”的行。 ---->生产环境常用参数

    例:查找出当前系统中不允许登录系统的所有用户信息。
    grep /sbin/nologin /etc/passwd

    例如:
    $ grep  ‘the’  myfile<enter>   在myfile文件中查找”the”字符串,如果文件中存在”they”,”then”等包含”the”的词,
    将显示”the”,”they”,”then”等所在的整个行。
    要单词匹配加-w选项,例如:$ grep –w  ‘the’  myfile<enter>
     
     
    ●head 命令显示指定文件的文件头部(默认显示10行数据显示)
    例如:
    $  head  myfile.txt<enter>  将显示myfile.txt文件的前10行内容
     
    如要指定显示行数,加-和数字选项,例如:
     
    $ head -3  myfile<enter>  只显示文件前三行信息。
    $ head -n 10 Myfile #显示前10行
     
     
    ●tail 命令显示指定文件尾的内容(默认显示10行数据信息)
    例如:$ tail -5 myfile.txt <enter> 显示myfile.txt文件的后面五行信息
     
    如果文件是一个不断在增加内容的文件,可以用以下方式显示增加行的内容:
     
    $ tail  –f  logfile<.enter>可以通过中断键(Ctrl+C)终止tail的执行并显示shell提示符。
     
     
     

    ●uname  查看系统详细版本和内核版本

    uname命令用于查看系统内核与系统版本等信息,格式为“uname [-a]”。

    在使用uname命令时,一般会固定搭配上-a参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。

     

    ●last命令

    last命令用于查看所有系统的登录记录,格式为“last [参数]”。

    用last命令可以查看本机的登录记录。但是,由于这些信息是以日志文件的形式保存在系统中,
    内容很容易被篡改。故不要以该命令的输出信息判断系统有无被恶意入侵。

     

    ●top命令

    作用:用于动态的监视进程活动与系统负载等信息。
    功能类似于windows系统中的任务管理器
     
    top命令的显示结果解释:
    第1行:系统时间,运行时间,登录用户数,系统负载(分别为1分钟、5分钟、15分钟的平均值)。
    第2行:进程总数,运行中的,睡眠中的,停止的,僵死的。
    第3行:用户占用资源,系统内核占用资源,改变过优先级的进程,空闲的资源,等待输入输出的时间。
          此行数据均为CPU数据并以百分比格式显示,例如"99.2 id"意味着有99.2%的CPU资源正在空闲中。
    第4行:物理内存总量,使用量,空闲量,作为内核缓存的内存量。
    第5行:虚拟内存总量,使用量,空闲量,已被提前加载的内存数据。
     
     
     

    ●ps命令

    作用:用于查看系统中的进程状态 。格式为“ps [参数]”。
     
    参数作用
    -a     显示所有的进程(包括其他用户的)
    -u     用户以及其他详细信息
    -x     显示没有控制终端的进程

    在Linux系统中,有5种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自含义如下所示。

    R(运行):进程正在运行或在运行队列中等待。

    S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。

    D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。

    Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。

    T(停止):进程收到停止信号后停止运行。

     
    当执行"ps aux"命令后,参数解释:
    USER      进程的所有者
    PID         进程ID号
    %CPU    运算器占用率
    %MEM    内存占用率
    VSZ    虚拟内存使用量(单位是KB)
    RSS    占用的固定内存量(单位是KB)
    TTY    所在终端
    STAT   进程状态
    START    被启动的时间
    TIME      实际使用CPU的时间
    COMMAND   命令名称与参数
     
     
     
    ●pidof命令

    pidof命令用于查询某个指定服务进程的PID值,格式为“pidof [参数] [服务名称]”。

    每个进程的进程号码值(PID)是唯一的,因此可以通过PID来区分不同的进程。

    [root@Linux]# pidof sshd
     
     

    ●kill命令

    kill命令用于终止某个指定PID的服务进程,格式为“kill [参数] [进程PID]”。

    例:使用kill命令把pidof命令查询到的PID所代表的进程终止掉
    kill 1161


    ●killall命令

    killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [服务名称]”。

    例:
    ▪查询httpd的所有关联进程id
    pidof httpd
    ▪终止httpd
    killall httpd

     

    ●uptime命令

     
    作用:用于查看系统的负载信息,
    格式为:“uptime”。
    这个命令真的很棒,它可以为您显示当前系统时间、系统已运行时间、当前在线用户以及平均负载值等信息数据。
    平均负载值指的是最近1分钟、5分钟、15分钟的系统压力情况,负载值越低越好,尽量不要长期超过1。
    另外您还可以结合搭配用"watch -n 1 uptime"命令来每秒刷新一次来获得当前的系统负载情况。
     
     
     

    ●sort 命令按顺序显示文件内容

    例如: $ sort  filename<enter> 对文件filename按行排序显示内容
     
     
     

    ●uniq 命令忽略文件中的重复行

    例如: $ uniq filename<enter> 对文件filename内容忽略重复的内容
     
     
     

    ●diff 命令比较两个文件

    diff命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。

    在使用diff命令时,不仅可以使用--brief参数来确认两个文件是否不同,还可以使用-c参数来详细比较出多个文件的差异之处,这绝对是判断文件是否被篡改的有力神器。
    例:
    diff --brief test_A.txt test_B.txt
    diff -c test_A.txt test_B.txt

    例:$ diff  -u  onefile  twofile<enter>
    以上-u将具有多行的较长文件分成几块,每块的前面一行的开始和结束,都是符号”@@“,
    其中的数字表示了块开始的行号和后续的行数。
     
     
     

    ●file 测试文件内容

    file命令用于查看文件的类型,格式为“file 文件名”。
    工具file可以直接获得Linux系统中任何文件的内容信息。

    Linux系统中,由于文本、目录、设备等统称为文件,因此不能单凭后缀知道具体的文件类型,
    此时就需要使用file命令来查看文件类型了

     
    例如:$ file  retterfile<enter>  查看retterfile文件信息
    $  file  onefile  twofile<enter> 查看两个文件信息
     
     
     

    ●管道:管道是將一个进程的标准输出重定向为另一个进程的输入。

    (在命令行上用‘|’表示,对应于键盘上的实线或虚线键)

    例如:
     
    $ cat  xm.txt  | head -2<enter>
    此命令將cat进程执行的输出內容传送給head進程,只显示了xm.txt文件前2行数据。
     
    这条命令其实和 $ head -2  xm.txt | cat <enter> / $ head -2  xm.txt的输出結果相同。
     
     
     

    ●echo : 显示文本

    echo工具可以复制其后跟的任何內容,并將其显示在屏幕上,如果使用通配符(*),shell解释为当前目录下的所有文件。
     
    打印输出内容,配合“>或>>” 可以为文件覆盖及追加内容。
    ">" 意思是重定向,会清除文件里所有以前数据。
    ">>" 为追加内容
     
    例如:
     
    $ echo this is a book!<enter> 执行后屏幕上將显示“this is a book!”
    $ echo this : *.txt<enter>  执行后屏幕上显示”this :”及当前目录下的所有txt文件
     
     
     

    ●date命令

    date命令用于显示及设置系统的时间或日期,格式为:"date [选项] [+指定的格式]"。
    强大的date命令只需键入以"+"号开头的参数即可按照指定格式来输出系统的时间或日期.
    date [options][+format][date]
    $ date -s 06/09/2004 修改日期(按月日年格式)
    $ date -s 13:56:00 修改时间(按时分秒格式)
    $ date -r test 显示test文件最后一次的修改时间
    $ date +'%Y-%m-%d' 以yyyy-mm-dd格式显示日期,
    $ clock -r 查询BIOS时间
    $ clock -w 把修改后的时间写回BIOS
    参数作用
    %t跳格[TAB键]
    %H小时(00-23)
    %I小时(00-12)
    %M分钟(00-59)
    %S秒(00-59)
    %X相当于%H:%M:%S
    %Z显示时区
    %p显示本地AM或PM
    %A星期几 (Sunday-Saturday)
    %a星期几 (Sun-Sat)
    %B完整月份 (January-December)
    %b缩写月份 (Jan-Dec)
    %d日(01-31)
    %j一年中的第几天(001-366)
    %m月份(01-12)
    %Y完整的年份
     
    按照"年-月-日 小时:分钟:秒"的格式查看当前的系统时间:
    [root@linux ~]# date "+%Y-%m-%d %H:%M:%S"
     
    设置当前的系统时间为2017年5月1日1点20分:
    [root@linux ~]# date -s "20170501 1:20:00"
     
    查看今天是一年中的第几天:
    [root@linux ~]# date "+%j"
     
     
     

    ●dd命令

    作用:用于指定大小的拷贝文件或指定转换文件
     
    dd命令:是个比较重要且具有特色的一个命令,它能够让用户指定数据块的大小和个数来复制一个文件的内容,
    当然如果您愿意的话还可以在复制过程中转换其中的数据。Linux系统中有一个叫做/dev/zero的设备文件,
    它不会占用您的系统存储空间,但里面却可以保存有无穷无尽的数据,一般用来搭配dd命令来生成出来一个指定大小的文件。
     
    参数  作用
    if    输入的文件名称。
    of    输出的文件名称。
    bs    设置每个“块”的大小。
    count设置要拷贝“块”的个数。
    例1:[root@linux ~]# dd if=/dev/zero of=560_file count=1 bs=560M
     
    例2:从光驱中复制iso镜像文件到服务器指定目录
    #从/dev/cdrom 中复制镜像文件到/opt目录中
    [root@Linux opt]# dd if=/dev/cdrom of=/opt/CentOS.iso    //制作ISO的方法
     
     
     

    ●script: 记录linux会話信息

    script可以记录登录会话的部分或全部信息,如輸入和系統的应答。只對基于文本的设备有效,可以捕捉vim的會話。
    捕捉到的會話內容將保存在typescript文件中,若想存放在某個指定文件中,可在后面指定文件名。输入exit命令后记录結束
     
    例如:
    $ script  –a  xm.txt<enter> 以追加的方式將script工具捕捉到的會話內容保存到xm.txt文件中。当输入exit命令后記錄結束。結束后可以查看xm.txt文件內容
     
    ●dos2unix: 工具將Windows格式的文件转换为linux 格式。
    例如:$ dos2unix  xm.txt <enter>
     
     

    ●tr
    tr命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”。

    例:把某个文本内容中的英文全部替换为大写:
    cat test.cfg | tr [a-z] [A-Z]

    也可实现dos格式的文本文件向linux转化,例如:
    $ cat memo | tr -d ‘ ’ > memo.txt
    此命令通过选项-d刪除其中的回车符,
    然后再将数据保存到memo.txt文件中。

    ●wc命令

    wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。

    参数 作用
    -l 只显示行数
    -w 只显示单词数
    -c 只显示字节数

    unix2dos: 工具將linux文件转换为Windows格式。

     
    ●bzip2:压缩文件
    工具是通過分析和有效记录文件內容的方法來压缩文件。
     
    例如:$ ls -l <enter>显示目录下文件詳細信息,占用空間大小
         $ bzip2 -v xm.txt <enter>压缩xm.txt文件并(-v 选项)显示出节省空间的百分比。
         $ ls -l<enter> 查看压缩文件后xm.txt.bz2的大小。但是此文件不能显示,也不能打印。 
     
     

    ●bunzip2:解压缩文件

    工具可將bzip2压缩的文件解压缩恢复为原來的文件,例如:
    $ bunzip2  xm.txt.bz2<enter>
     
     
     
    ●bzcat:显示bzip压缩文件的內容,即专门显示以.bz2为后缀名的压缩文件。
    工具首先將压缩数据解压,然后显示解压缩后的文件內容。
     
    例如:
    $ bzcat  xm.txt.bz2 | head -2<enter> 管道將bzcat的输出重定向到head的输入,使得文件只显示了前兩行。
     
     
    另外還有gzipgunzipzcat压缩,解压缩,查看压缩文件命令。此压缩文件后綴是.gz。使用方法和bzip2/bunzip2/bcat的使用方法相同。
    compress工具也可压缩文件,但是沒有gzip高效。此工具压缩的文件后綴是.Z。
     
     
     
    ●tar:打包和解包文件
     

    tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。

    参数 作用
    -c 创建压缩文件
    -x 解开压缩文件
    -t 查看压缩包内有哪些文件
    -z 用Gzip压缩或解压
    -j 用bzip2压缩或解压
    -v 显示压缩或解压的过程
    -f 目标文件名。它必须放到参数的最后一位,代表要压缩或解压的软件包名称
    -p 保留原始的权限与属性
    -P 使用绝对路径来压缩
    -C 指定解压到的目录

    例:
    压缩:tar -czvf 压缩包名称.tar.gz 要打包的目录
    解压:tar -xzvf 压缩包名称.tar.gz
    解压:tar xzvf etc.tar.gz -C /root/etc //指定解压目录

    該工具常用來將多个文件或多个目录归档为一个tar文件,或者將某个tar文件分解开。
     
    tar 选项:-c(creat,创建),-v(verbose,包含详细信息),-f(从一个文件读写),-t(归档文件按照表格形式显示)
    tar后跟-x和-t选项可將归档文件分解开,忽略-v选项使得tar执行过程中不显示操作提示。
     
    例如:
    $ tar –cvf  all.tar  onefile  twofile  threefile<enter>
    此命令將目录下的三個文件打包为all.tar文件。
     
    $ tar –tvf  all.tar<enter> 分解归档文件all.tar。
     
    可以用前面介绍的压缩工具將归档文件进行压缩,用bzip2压缩后文件后缀是.tar.bz2;
    用gzip工具压缩后的文件后缀是.tar.gz或者.tz;用compress压缩后的文件后綴是.tar.Z。
     
    从网上下载的make工具(make-3.80.tar.gz)进行解包的过程:
     
    $ gunzip make*<.enter> 解压缩make-3.80.tar.gz,保存为make-3.80.tar,在make后面加’*’通配符,
    shell会自动匹配,如果当前目录有两个make开始的文件,则不能这样用。
     
    $ tar –xvf  make*<enter> 解包make-3.80.tar,并显示解包信息。
     
    如果是.tar.bz2后缀,只需要把解压缩工具换为bunzip2就可以了。
     
    另外$ tar –t  filename.tar<enter>命令可以不用打开归档文件而显示归档文件内的文件列表。
     
    还可以通过管道将gunzip和tar命令放在一个命令行上,由管道将gunzip的输出重定向到tar的输入,
    例如:
    $ gunzip –c  make-3.80.tar.gz | tar –xvf – <enter>
     
    其中选项-c使得gunzip将输出送到管道而不再创建文件
     
    还有一种简单的方法如下:
    $ tar –xvzf  make-3.80.tar.gz
     
    其中-z选项使得tar直接调用gunzip(创建归档文件调用gzip)。类似的,-j命令可调用bzip2或bunzip2。
     
    #打包文件
    tar czvf testfile.tar.gz testfile
    #指定解压到tmp目录
    tar xzvf testfile.tar.gz -C /tmp
     
    ▪脚本形式:
    #!/bin/sbin
    cd /tmp
    tar zcf testfile.tar.gz ./testfile
    [ $? -eq 0 ] && echo ok
     
     
     

    ★定位命令

    ●which:命令通过显示工具(或命令)的完整路径来帮助查找该程序
    如果本地系统存在多个同名的命令,当输入命令名后,shell将会在设定的搜索路径下查找该命令,然后运行找到后的第一个。
    这个时候就可以通过which命令确定运行了程序的哪个副本。
     
    例如:
    $ which tar<enter>
    /bin/tar
    此命令显示了tar工具的位置。
     
     

    ●whereis:在标准路径下搜索与工具相关的文件。

    例如:
     
    $ whereis tar<enter>查找tar工具相关文件所在位置
     
    补充:
    工具which和whereis只能报告在磁盘上搜索到的命令名,而不能搜索到shell内置命令(shell自带的可执行文件)信息。
    在bash下可以通过type内置命令确定命令是不是内置命令。例如: $ type echo<enter>。
     
     

    ●apropos: 搜索关键字

    不知道命令的名字时,可使用关键字和apropos工具进行搜索。
     
    例如:$ apropos who<enter> 搜索关键字who,将列出每个命令的名称,包含who关键字的手册页和man页顶部的简单描述信息。
     
    另外,可以用whatis命令搜索与关键字完全匹配的信息。
     
     

    ●slocate: 搜索文件

    用于在本地系统搜索文件。
     
     
    ★获取用户和系统信息
     
    ●who :列出系统上的用户
    工具who可将登录到系统的用户列出。显示结果第一列是用户名,第二列表明每个用户连接的终端、工作站或者模拟器,
    第三列表明用户登录的日期和时间。
     
    如果想得到用户正使用的终端或者登录的时间,可使用下面的命令:
    $ who am i<.enter>
     
     

    ●finger:列出系统上的用户

    使用finger可显示出登录到系统的用户的相关信息。除了显示用户的登录名外,还显示用户连接的终端设备,
    用户最近一段时间输入的内容,还有用户所在的位置。
     
    finger后面跟用户名可以获得该用户的更多信息。
     
    w:列出系统上的用户
     w工具也可列出登录用户名单,与前面的who工具一样。
     
     显示信息第一列表示用户谁登录到了系统,第二列为每个用户使用的终端设备号,第三列是远程用户登录使用的系统,
     第四列为每个用户的登录时间,第五列表明每个用户处于闲置状态的时间,后面两列信息说明每个用户的登录会话和
     所运行任务占用的计算机CPU处理时间,最后一列为每个用户正在运行的命令。
     
     

    ★与其他用户通信

     
    ●write:发送消息
     write工具用来给一个已登录用户发送消息。两个用户通过write发送消息的方式是一种双向通信的方式。
     
    write命令的语法格式如下:
    write username[terminal]
     
    其中,username为要进行通信的用户登录名。terminal选项对于多次登录的用户来说很有用。使用who、w或finger都
    可显示登录到系统的用户登录名和终端名。
     
     
    ●rmdir:删除目录
    例如:$ rmdir  /home/alex/dirctoryName<enter>
     
    工具带-r选项可以递归的删除目录,即删除目录中所包含的目录和文件,还有目录本身。
     
     

    ●touch:创建文件

    touch命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”。

    touch命令可以设置文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)与文件的读取时间(atime)。

    参数 作用
    -a 仅修改“读取时间”(atime)
    -m 仅修改“修改时间”(mtime)
    -d 同时修改atime与mtime

    例:
    touch -d "2018-08-27 11:32" test.cfg

     

    ●pwd:显示路径

    $ pwd<enter>
    /home/alex   //路径
     
     
     
    ●mv/cp 移动/复制文件
    mv除了可以对文件进行重命名外,还可以将文件从一个目录移到另一个目录下,可改变文件路径,同时也可改变文件名。
     
    将一个或多个文件移到一个新目录下,例如:
    $ mv existing-file-list  directory<enter>
     
    将一个目录移动到另一个目录下,例如;
    $ mv existing-dirctory-list  new-directory
     
     
     

    ●chmod:改变访问权限

    1. 文字设定法
     
      chmod [who] [+ | - | =] [mode] 文件名
     
      命令中各选项的含义为:
     
      操作对象who可是下述字母中的任一个或者它们的组合:
     
      u 表示“用户(user)”,即文件或目录的所有者。
     
      g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
     
      o 表示“其他(others)用户”。
      a 表示“所有(all)用户”。它是系统默认值。
     
      操作符号可以是:
     
      + 添加某个权限。
     
      - 取消某个权限。
     
      = 赋予给定权限并取消其他所有权限(如果有的话)。
     
      设置mode所表示的权限可用下述字母的任意组合:
     
      r 可读。
     
      w 可写。
     
      x 可执行。
     
      X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
     
      s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
     
      t 保存程序的文本到交换设备上。
     
      u 与文件属主拥有一样的权限。
     
      g 与和文件属主同组的用户拥有一样的权限。
     
      o 与其他用户拥有一样的权限。
     
      文件名:以空格分开的要改变权限的文件列表,支持通配符。
     
      在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r
     
     
     

    1. 文字设定法:

     
      例1:$ chmod a+x sort
     
      即设定文件sort的属性为:
     
      文件属主(u) 增加执行权限
     
      与文件属主同组用户(g) 增加执行权限
     
      其他用户(o) 增加执行权限
     
      例2:$ chmod ug+w,o-x text
     
      即设定文件text的属性为:
     
      文件属主(u) 增加写权限
     
      与文件属主同组用户(g) 增加写权限
     
      其他用户(o) 删除执行权限
     
      例3:$ chmod u+s a.out
     
      假设执行chmod后a.out的权限为(可以用ls – l a.out命令来看):
     
      –rws--x--x 1 inin users 7192 Nov 4 14:22 a.out
     
    并且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“–rw-------”,
    即该文件只有其属主具有读写权限。
     
    当其他用户执行a.out这个程序时,他的身份因这个程序暂时变成inin(由于chmod命令中使用了s选项),
    所以他就能够读取shiyan1.c这个文件(虽然这个文件被设定为其他人不具备任何权限),这就是s的功能。
     
    因此,在整个系统中特别是root本身,最好不要过多的设置这种类型的文件(除非必要)这样可以保障系统的安全,
    避免因为某些程序的bug而使系统遭到入侵。
     
      例4:$ chmod a–x mm.txt
     
      $ chmod –x mm.txt
     
      $ chmod ugo–x mm.txt
     
      以上这三个命令都是将文件mm.txt的执行权限删除,它设定的对象为所有使用者。
     
     2. 数字设定法
     
    我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,
    然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
     
      例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。
     
      数字设定法的一般形式为:
     
     

    ●chmod [mode] 文件名

     
      (2)数字设定法:
     
      例1: $ chmod 644 mm.txt
     
      $ ls –l
     
      即设定文件mm.txt的属性为:
     
      -rw-r--r-- 1 inin users 1155 Nov 5 11:22 mm.txt
     
      文件属主(u)inin 拥有读、写权限
     
      与文件属主同组人用户(g) 拥有读权限
     
      其他人(o) 拥有读权限
     
      例2: $ chmod 750 wch.txt
     
      $ ls –l
     
      -rwxr-x--- 1 inin users 44137 Nov 12 9:22 wchtxt
     
      即设定wchtxt这个文件的属性为:
     
      文件主本人(u)inin 可读/可写/可执行权
     
      与文件主同组人(g) 可读/可执行权
     
      其他人(o) 没有任何权限
     
     
     

    ●chgrp命令

     
      功能:改变文件或目录所属的组。
      语法:chgrp [选项] group filename¼
     
    该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。
    文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
     
    该命令的各选项含义为:
    - R 递归式地改变指定目录及其下的所有子目录和文件的属组。
     
    例1:$ chgrp - R book /opt/local /book
     改变/opt/local /book/及其子目录下的所有文件的属组为book。

    ●关机poweroff/reboot重启命令(需要root管理员权限)

    ●wget命令

    wget命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。
    wget命令的参数以及作用

    参数 作用
    -b 后台下载模式
    -P 下载到指定目录
    -t 最大尝试次数
    -c 断点续传
    -p 下载页面内所有资源,包括图片、视频等
    -r 递归下载

    例: wget -r -p https://www.abc.com

    ●命令后追加&符号,

    有些命令在执行时不断地在屏幕上输出信息,影响后续命令的输入,

    则可以在执行命令时在末尾添加上一个&。命令将进入系统后台来执行。

    ------山的那一边
  • 相关阅读:
    【Leetcode】【Easy】Remove Duplicates from Sorted List
    【Leetcode】【Easy】Pascal's Triangle II
    【Leetcode】【Easy】Pascal's Triangle
    【Leetcode】【Easy】Binary Tree Level Order Traversal II
    【Leetcode】【Easy】Binary Tree Level Order Traversal
    【Leetcode】【Easy】Maximum Depth of Binary Tree
    【Leetcode】【Easy】Minimum Depth of Binary Tree
    【Leetcode】【Easy】Balanced Binary Tree
    【Leetcode】【Easy】Symmetric Tree
    如何使用Action.Invoke()触发一个Storyboard
  • 原文地址:https://www.cnblogs.com/mountain2011/p/6406624.html
Copyright © 2011-2022 走看看