Linux常用命令

Posted liangxiaochu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令相关的知识,希望对你有一定的参考价值。

Linux常用命令

1.Linux系统工作命令

1.1 echo

  echo命令用于在终端输出字符串或变量提取后的值,格式为“echo[字符串|$变量]”。类似于python中的print。

echo LinuxProbe.Com

  输入变量(注意要大写)

echo $SHELL

  向文件中写入字符串

 1 echo "xiaochu is a wisdom man" >> anaconda-ks.cfg 

1.2 date

  date命令用于显示及设置系统的时间或日期,格式为“date [选项][+指定的格式]”

  用途:日常工作时可以把备份数据的命令与指定格式输出的时间信息结合到一起,使得文件备份时间清晰可见。

  直接输出当前系统时间

date

  按照指定格式查看当前系统时间(要有+号)

date "+%Y-%m-%d %H:%M:%S"

  设置系统时间(注意时间格式)

date -s "20070901 8:30:30"

  查看今天是今年的第几天(用于区分备份时间的新旧)

date "+%j"

1.3 reboot

  重启,需root权限

1.4 poweroff

  关机,需root权限

1.5 wget

  用于在终端中下载网络文件,格式为“wget[参数]下载地址”,地址需完整路径。

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

1.6 ps

  用于查看系统中的进程状态,格式为“ps[参数]“

  用途:ps命令与管道符技术搭配使用,用来抓取某个指定服务进程相对应的PID号码。

ps命令的参数及作用
参 数 作用
-a 显示所有进程(包括其他用户的进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程

 

  Linux系统有5种进程状态:

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

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

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

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

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

  命令参数短格式可以合并,合并后仅保留一个-,ps命令允许参数不加-。

ps aux

    进程状态注解:

      USER  进程的所有者

      PID  进程ID号

      %CPU  运算器占用率

      %MEM  内存占用率

      VSZ  虚拟内存使用量(KB)

      RSS  占用的固定内存量(KB)

      TTY  所在终端

      STAT  进程状态

      START  被启动的时间

      TIME  实际使用CPU的时间

      COMMAND  命令名称与参数

1.7 top

  top命令用于动态地监视进程活动与系统负载等信息,其格式为top。

  运行界面注解:

  第一行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟)

  第二行:total 进程总数,running 运行中的进程数,sleeping 睡眠中的进程数,stopped 停止的进程数,zombie 僵死的进程数

  第三行:us 用户占用资源百分比,sy 系统内核占用资源百分比,ni 改变过优先级的进程资源占比,id 空闲资源占比,wa IO等待资源占比,hi 硬中断资源占比,si 软中断资源占比,st

  第四行:total 物理内存总量, used 内存使用量,free 内存空闲量,buffers 作为内核缓存的内存量

  第五行:total 虚拟内存总量,used 虚拟内存使用量,free 虚拟内存空闲量,cached Mem 已被提前加载的内存量

1.8 pidof

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

pidof sshd

1.9 kill

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

kill 2156

1.10 killall

  killall命令用来终止某个指定名称的服务所对应的全部进程,格式为”killall[参数][服务名称]“,一般用于批量终止软件的所有服务进程。

 

  tips:如果在系统终端中运行一个命令后想立即停止,”Ctrl + C“

  如果有些命令在执行时不断在屏幕上输出信息,影响到后续命令输入,则可以在执行命令时末尾加上&,这样命令将进入后台来执行。

2.系统状态检测命令

2.1 ifconfig

  ifconfig命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”

  使用该命令主要查看网卡名称、inet参数后面的IP地址、ether参数后面的网卡物理地址(MAC),以及RX(接收)、TX(发送)的接收数据包与发送数据包的个数及累计流量。

2.2 uname

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

  一般搭配-a 显示完整信息:系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型及操作系统名称等信息。

  如查看redhat系统版本的详细信息

 1 cat /etc/redhat-release 

 2.3 uptime

  uptime命令用于查看系统的负载信息,格式为uptime。

  可以显示当前系统时间、系统已运行时间、启动终端数量及平均负载值(1分钟,5分钟,15分钟)等信息。负载值越低越好,尽量不好长期超过1,在生产环境中不要超过5.

2.4.free

  free命令用于显示当前系统内存的使用量信息,格式为"free [-h]",此命令运维人员需经常关注,避免linux系统因内存资源耗尽而宕机。

    shared:进程共享的内存量。  

    buffers:缓冲,存在于RAM中,主要用于I/O操作,速度比cached慢。

    cached:高速缓冲,即可存在与RAM中也可存在于磁盘中,主要用于读写操作。

2.5 who

  who命令用于查看当前登入主机的用户终端信息,格式为"who [参数]"

2.6 last

  last命令用于查看所有系统的登录记录,格式为"last [参数]",该命令的输出信息不能确保系统有无恶意入侵

2.7 history

  history命令用于显示历史执行过的命令,格式为"history [-c]"

  可用“!编码数字"重复执行某一次的命令,-c则为清除历史记录。

2.8 sosreport

  sosreport命令用于收集系统配置及架构信息并输出诊断文档,格式为sosreport。一般为需技术支援时使用。

3 工作目录切换命令

3.1 pwd

  pwd命令用于显示用户当前所处的工作目录,格式为”pwd [选项]“

3.2 cd

  cd命令用于切换工作路径,格式为"cd [路径]"

  cd -   返回上一次所处的目录

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

  cd ..  进入上级目录

3.3 ls

  ls命令用于显示目录中的文件信息,格式为"ls [选项] [文件]"

  常用参数:

  -l  查看文件属性、大小等详细信息

  -a  查看全部文件(包括隐藏文件)

  -d  查看目录属性

4 文本文件编辑命令

4.1 cat

  cat命令用于查看纯文本文件(内容较少的),格式为"cat [选项] [文件]",-n参数为显示行号

4.2 more

  more命令用于查看纯文本文件(内容较多的),格式为"more [选项] [文件]"

4.3 head

  head命令用于查看纯文本文档的前N行,格式为"head [选项] [文件]"

  查看前20行内容

 1 head -n 20 intial-setup-ks.cfg 

4.4 tail

  tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为"tail [选项] [文件]"

  持续刷新命令格式:tail -f 文件名

4.5 tr

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

  把文本中全部换成大写

 1 cat anaconda-ks.cfg | tr [a-z] [A-Z] 

4.6 wc

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

  常用参数:

  -l  只显示行数

  -d  只显示单词数

  -c  只显示字节数

4.7 stat

  stat命令用于查看文件的具体存储信息和时间等信息,格式为"stat [文件名称]"

4.8 cut

  cut命令用于按”列“提取文本字符,格式为"cut [参数] [文本]"

  -f设置要查看的列数,-d设置间隔符号

  提取passwd文件用户名信息:

 1 cut -d: -f1 /etc/passwd 

4.9 diff

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

  --brief 用来确认两个文件是否不同,相同无返回值。

 1 diff --brief diff_A.txt diff_B.txt 

  -c详细比较多个文件的差异之处,可用于判断文件是否被篡改。

 1 diff -c diff_A.txt diff_B.txt 

5 文件目录管理命令

5.1 touch

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

  主要参数:

  -a  仅修改读取时间 atime

  -m  仅修改修改时间 mtime

  -d  同时修改atime与mtime

5.2 mkdir

  mkdir命令用于创建空白的目录,格式为"mkdir [参数] [目录]"

  主要参数:

  -p 递归创建出具有潜逃叠层关系的文件目录

5.3 cp

  cp目录用于复制文件或目录,格式为"cp [选项] [源文件] [目标文件]"

    linux系统中文件复制有3种情况:

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

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

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

  主要参数:

  -p  保留原始文件的属性

  -d  若对象为”链接文件“,则保留该”链接文件“的属性

  -r  递归持续复制(用于目录)

  -i  若目标文件存在则询问是否覆盖

  -a  相当于-par(-p -a -r)

5.4 mv

  mv命令用于剪切文件或将文件重命名,格式为"mv [选项] [源文件] [目标路径|目标文件名]"

  剪切操作会删除源文件,只保留剪切后的文件,如果在同一目录中对一个文件进行剪切操作,其实也就是重命名。

5.5 rm

  rm命令用于删除文件或目录,格式为"rm [选项] [文件]"

  主要参数:

  -f 强制删除

  -r 删除目录,不加此参数删不掉

5.6 dd

  dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为"dd [参数]"

  主要参数:

  if  输入的文件名称

  of  输出的文件名称

  count  设置要复制”块“的个数

  bs  设置每个”块“的大小

 1 dd if=/dev/zero of=560_file count=1 bs=560M 

用dd命令压制iso文件

 1 dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso 

5.7 file

  file命令用于查看文件的类型,格式为"file [文件名]"

  目前已知3种文件类型:directory、ASCII text、block special

6 打包压缩与搜索命令

6.1 tar

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

  linux系统常用3种压缩格式:.tar  .tar.gz  .tar.bz2

  常用参数:

  -c  创建压缩文件

  -x  解开压缩文件

  -t  查看压缩包内有哪些文件

  -z  用Gzip压缩或解压

  -j  用bzip2压缩或解压

  -v  显示压缩或解压过程

  -f  目标文件名,必须放到参数的最后一位

  -p  保留原始的权限与属性

  -P  使用绝对路径来压缩

  -C  指定解压到的目录

压缩文件(-czvf)

 1 tar -czvf diff_A.txt.tar.gz /etc/home 

解压文件(-xzvf)

 1 tar -xzvf diff_A.txt.tar.gz -C /etc 

6.2 grep

  grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为"grep [选项] [文件]"

  主要参数:

  -b  将可执行文件(binary)当作文本文件(text)来搜索

  -c  仅显示找到的行数

  -i  忽略大小写

  -n  显示行号

  -v  反向选择,仅列出没有关键词的行

6.3 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  匹配文件类型(后面的字母参数依次表示块设备(b)、目录(d)、字符设备(c)、管道(p)、链接文件(l)、文本文件(f))

  -size  匹配文件的大小(+50KB为查找超过50KB的文件,-50KB为查找小于50KB的文件)

  -prune  忽略某个目录

  -exec …… {} ;

在整个文件系统中找出所有归属于linuxprobe用户的文件并复制到/root/findresults目录

 find / -user linuxprobe -exec cp -a {} /root/findresults/ ; 

 

以上是关于Linux常用命令的主要内容,如果未能解决你的问题,请参考以下文章

linux中怎么查看mysql数据库版本

Linux常用文件管理命令

markdown [Docker] Docker片段列表和命令#linux #docker #snippets

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

C#常用代码片段备忘

常用python日期日志获取内容循环的代码片段