CentOS下常用命令整理小结

(编辑:jimmy 日期: 2024/11/16 浏览:2)

1.与输入输出相关的命令
  1)回显命令echo:
     常用选项:E:禁止转义字符(默认选项);e:启用转义字符;n:输出结束后不换行

  2)接收用户输入命令read:格式:read [[option]parameter] name;read命令用于读取字符,读取的字符可以来自标准输入,也可以来自文从件。
    常用选项:a:将输入的文本按字段放入数组中(默认使用的分隔符为空格或制表符tab),数组下标从0开始;d:指定结束符,当输入中出现指定的结束符时,read命令将认为输入已经结束(默认使用换行符作为结束符);e:从标准输入读取时,使用Readline库获取输入(此时用户可以使用退格键,方向键进行简单的行编辑操作);n:指定读取的字符数n;p:将该选项指定的字符串输出到标准错误,并读取输入。
r:将读取到的字符串按字段放入到不同的变量中;s:先锁住屏幕,然后再从标准输入中读取字符。
t:如果用户在指定的时间内没有输入,就结束读取状态(单位:秒);u:从指定的文件描述符中读取。
    例子:读取多个数据并保存在数组中,
复制代码代码如下:read -a name;echo “names are:${name[*] }”

  3)显示并保存文本命令tee:tee命令将获取到的数据(通常来自管道)分为两个拷贝,一个拷贝输出到标准输出,另一个拷贝输出到指定的文件中。格式:...... | tee [options] filename
    常用选项:a:以追加形式将数据写入到文件的结尾;i:写输入数据时,不写入标准错误。
    如,ifconfig eth2 | tee  eth2_info;如果想要追加写,可以在tee后加入-a选项。

  4)邮件命令mail
    a)发送邮件:命令格式:mail [option] [-s subject] [-c c_adress] [-b b_adress] user [-a file]...
    常用选项:n:不读入设置文件/etc/mail.rc(这个文件允许用户使用外部地址而不是系统自带的sendmail发送邮件);s:设置邮件的主席信息;c:使用一个密件抄送列表;b:使用一个抄送列表。
    用法:发送邮件时,通常将邮件的正文放入到一个文件内,然后使用重定向的方式读取并发送文件中的内容。例如,将文件net_info中的内容发送给用户root和user1,并将邮件的主题设置为net_info:
   
复制代码代码如下:mail -s "net_info" root,user1
   
复制代码代码如下:mail -s "net_info" root,user1,4065*****@qq.com4065*****@qq.com就可以收到一个来自user@localhost.localdomain的邮件(由于user@localhost.localdomain并不是一个可以返回的邮箱地址,因此某些邮箱可能会拒收此类邮件)。

    b)查看邮件
     有时系统中的用户可能会收到如下提示信息:You have new mail in /var/spool/mail/root 这个提示信息告诉用户收到新的系统邮件。
     (1)可以使用mail查看邮件列表:mail 。使用mail命令后,将显示出邮件列表,其中前两行内容是邮件的版本号,总邮件数以及未阅读的个数等;后面的邮件列表中,“>”指示当前光标的位置,U表示未读邮件,气候分别是邮件序号、发件人、发件时间、邮件主题等内容。最后一行的“&”是邮件命令提示符,用户可以在此提示符后面输入命令并查看邮件。在邮件命令提示符中常用的命令如下:
     h:查看邮件的标题
     d:使用该命令加序号可以删除指定的邮件
     f:查看当前光标指定的邮件
     n:跳转到指定序号的邮件
     q:退出并将已经阅读的邮件存入文件~/mbox中
     x:退出
     !:允许使用Shell命令
  (2)通常建议使用命令q退出,以便于将已阅读的邮件存入文件~/mbox中。如果要重新阅读mbox中的邮件,可以使用选项f:mail -f
    (3)管理员也可以使用-f查看其他用户的邮件:mail -f /var/spool/mail/user1
 5)启动新Shell命令exec:exec用于启动一个新的shell,并在新shell中执行指定的命令。在实际应用中,exec命令常被用来处理文件描述符,此时(也只有在此时)exec不会启动新shell替代当前shell。
  命令格式:
复制代码代码如下:exec shell-command
    如:exec 3<&-
     exec 3<&-命令用于关闭文件描述符3,在关闭文件描述符时,必须指明文件描述符。
 
2.定位和查找
  1)搜索命令:which,which命令的功能就是从当前环境变量PATH保存的目录中,查找参数指定的命令位置,并以绝对路径的方式输出。如 which ifconfg 结果为:/sbin/ifconfig
 
  2)文件搜索命令locate:locate命令用于快速搜索文件和档案,其搜索工作依赖于一个事先建立的索引数据库,这个索引数据库每天会自动更新一次,以便于搜集新增的文档,因此使用locate名了那个可能无法搜索到最近新增的文档。locate iptables;locate命令也可以使用字符串匹配查找文件如 locate a* 表示查找所有以a开头的文件;使用updatedb可以更新索引数据库。
 
  3)特殊文件搜索命令whereis:whereis命令更擅长于查找一些特殊的文件,这些特殊的文件包括二进制文件(通常为可执行文件)、说明问津啊额源代码等。同locate一样,whereis也是通过查找索引数据库来搜索文件
  4)关键字搜索命令:apropos


3.切换用户
 临时切换用户:su ,退出临时用户可以用exit命令
 以root用户身份运行命令sudo,sudo命令工作时,先切换到root用户,并以root用户身份执行命令,然后返回到当前用户。当前用户使用sudo命令执行的操作取决于root用户在/etc/sudoers文件中的授权,即任何管理命令都需要root授权,否则不能使用sudo执行。
 
4.联线用户命令
  1)查看联线用户命令who、finger和w
   其中,who主要用于一般性查看,finger则侧重于用户的个人详细信息,而w命令则更侧重于输出用户使用系统的情况。
  2)与联线用户通信的命令wall、write和mesg
    如果向所有的在线用户发送公告、通知等消息可以使用wall命令,如:wall The system is going DOWN in 5 minutes 则此时登录到系统的用户都会得到提示。
    如果要想登录到系统中的一个用户发消息,可以使用write,如:write root  接着就进入即时消息模式,在即使消息模式中输入要发送的信息,可以按enter换行,ctrl+C表示退出即时消息。
    如果用户不希望被其他用户的消息打扰,可以使用命令mesg -n拒绝其他用户发送来的消息。可以使用mesg -y重新接受消息。
 
5.切断联线用户:fuser
  在一些特殊情况下,需要对系统进行紧急维护,这时应该将已经联线到系统的用户
强制断开,并不允许root以外的用户登录。
  如断开用户user1连接的终端设备:
复制代码代码如下:fuser -k /dev/pts/3
  紧急维护的另一种情况是禁止所有用户登录,这时可以在目录/etc中新建一个名为nologin的空文件,此时除root外的所有用户将无法登录到系统:touch /etc/nologin;此时系统将不会接受除root以外的用户登录,但是已经登录的用户将不会受到影响。
 
6.修改系统时间命令date和clock
  使用date -s可以修改系统时间:date -s 06/25/08 ;修改系统日期。完成日期修改之后可以继续使用date -s命令修改时间 date -s 15:30:00
  由于使用date命令修改的日期和时间都只保存在系统时钟内,因此还需要将时间同步到硬件时钟,可以使用clock命令:clock -w
 
7.查看日历
 cal  //查看当前月份日历
 cal 2 2009 //查看指定月份日历
 
8.ls命令常用选项:

  l:长格式显示文本列表
  d:显示目录的详细信息,而非目录中文件列表
  a:显示隐藏文件
  k:显示文件大小时以k字节为单位
  S:该文件大小顺序排列
  h:以更为直观的方式查看文件列表(显示文件大小信息更加直观),这个选项必须配合选项l使用。
 
9.查看文本文件内容
  1)cat 如 cat a.txt  ;cat -v test.sh//这个命令同时显示文件中的控制字符
  2)从文件结尾查看文件内容:tail  格式:
复制代码代码如下:tail [option] filename
   常用选项:n:指定查看的行数(默认10行);f:动态地显示文件内容的变化情况
  3)从文件首行查看文本内容head 格式:
复制代码代码如下:head [option] filename;如head -10//查看前十行

一句话新闻

微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。