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

    ●命令后追加&符号,

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

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

    ------山的那一边
  • 相关阅读:
    resourceTree PuTTY/Plink
    error: src refspec 202110221_v1_master does not match any error: failed to push some refs to 'https://gitee.com/simadongyang/m9v1.0'
    go笔记10
    go协程池
    go笔记08
    go笔记06
    go笔记04
    go笔记03
    Git常用命令一
    ajax调用实例
  • 原文地址:https://www.cnblogs.com/mountain2011/p/6406624.html
Copyright © 2011-2022 走看看