Linux常用命令总结

Linux命令总结

本文总结Linux的基本概念和常用的命令

基本概念

计算机硬件是由运算器,控制器,存储器,和输出/输出设备共同组成,而让各种硬件各司其职且能协同运行的就是系统内核。Linux的系统内核负责完成对硬件资源的分配,调度管理任务。而对于我们Linux用户而言,我们Linux提供的基于系统调用借口开发的程序或服务来管理计算机。Shell就是其中的一个命令行工具,它采用Bash(Bourne-Again SHell)解释器,可以将用户的命令翻译为内核可以理解的方式。

Linux的基本命令格式由命令名称,参数,和对象组成:

命令名称 [命令参数] [命令对象]
  • 命令对象指要处理的文件,目录,用户等资源
  • 命令参数是执行命令的一些配置项,通常有长格式(–加上完整的选项名称)和短格式(-加单个字母)两种写法

常用系统工作命令

命令说明
man用于查看命令的详细描述信息,示例: man echo
echo用于在终端输出字符串或变量提取后的值,格式:echo [字符串|$变量]示例:echo Hello andre!, echo $SHELL
date用于显示及设置系统的时间和日期,格式为 date [选项] [+指定的格式]
reboot重启系统
poweroff关机
who用于查看当前所有登入主机的用户信息
whoami显示系统当前用户名
ps -auxps命令用于查看系统中的进程状态,格式为:ps [参数], aux是参数,详细解释见后文
toptop命令用于动态地监视进程活动与系统负载等信息,相当于linux下的任务管理器
wget用于在终端中下载网络文件,格式为:wget [参数] 下载地址
pidof用于查询某个指定服务的pid号,格式:pidof [参数] [名称]
kill用于终止某个指定pid的服务进程,格式:kill [参数] [进程名称]
killall用于终止某个指定名称的服务所对应的全部进程,格式:kill [参数] [进程]

常用系统状态检测命令

命令说明
ifconfig该命令用于获取网卡配置与网络状态等信息,格式为:ifconfig [网络设备] [参数]
uname -a查看系统内和与系统版本等信息
uptimeuptime用于查看系统的负载信息,包括系统时间,系统已运行时间,启用终端数量,和平均负载值等信息
free -hfree命令用于显示当前系统的内存使用量等信息
lastlast命令用于查看所有系统的登记记录
historyhistory命令用于显示历史执行过的命令.history -c, -c代表清空所有命令历史记录

常用文本编辑命令

命令说明
catcat命令用于查看内容较少的纯文本文件(.txt/.html/.md文档),格式为:cat [选项] [文件],文件显示同时带上行号:cat -h [文件]
moremore命令用于查看内容较多的纯文本文件,格式:more [选项] [文件]
headhead命令用于查看纯文本文档的前N行,格式:head [选项] [文件]
tailtail命令用于查看纯文本文档的后N行或持续刷新内容,如查看循环刷新的日志文件:tail -f /var/log
diffdiff命令 用于比较多个文本文件的差异,如显示两个文件内容的具体不同之处:diff -c a.txt b.txt

常用文件目录管理命令

命令说明
touch用于创建空白文件或设置文件的时间,示例1: touch andre.txt, 示例2: touch -d "2017-01-01 09:00" andre.txt
mkdir用于创建空白的目录,示例: mkdir -p andre/a/b, -p代表递归创建有嵌套关系的文件目录
cp用于复制文件或目录,格式: cp [选项] 源文件 目标文件
mv用于剪切或者将文件重命名,格式: mv [选项] [目标路径|目标文件名]
rm用于删除和文件或目录,删库跑路示例: rm -rf *
file用于查看文件的类型,格式: file [文件名]

常用文件压缩/搜索命令

命令说明
tar对文件进行打包压缩或解压。格式: tar [选项] [文件] 参数-c用于创建压缩文件,-x用于解压文件
grep用于在文本中执行关键词搜索并显示匹配的结果。格式: grep [选项] [文件]
find用于按照指定的条件查找文件,格式为: find [路径] 查找条件 操作 。示例: find ~/Desktop -name "self-driving" -print 找到Desktop文件夹下有关"self-driving"的文件并打印。

实用命令分析

ps命令

Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。

常用参数:

  • -a: 显示所有进程
  • -u: 显示特定用户的进程
  • -x: 显示没有控制终端的进程

显示所有进程信息

andre@andre-CN15S:~$ ps -A
  PID TTY          TIME CMD
    1 ?        00:00:36 systemd
    2 ?        00:00:00 kthreadd
    4 ?        00:00:00 kworker/0:0H
    6 ?        00:00:00 mm_percpu_wq
    7 ?        00:00:00 ksoftirqd/0
    8 ?        00:00:08 rcu_sched

列出目前所有的正在内存中的程序

andre@andre-CN15S:~$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0 226188  9800 ?        Ss   10:49   0:37 /sbin/init splash
root         2  0.0  0.0      0     0 ?        S    10:49   0:00 [kthreadd]
root         4  0.0  0.0      0     0 ?        I<   10:49   0:00 [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        I<   10:49   0:00 [mm_percpu_wq]
root         7  0.0  0.0      0     0 ?        S    10:49   0:00 [ksoftirqd/0]
root         8  0.0  0.0      0     0 ?        I    10:49   0:08 [rcu_sched]
root         9  0.0  0.0      0     0 ?        I    10:49   0:00 [rcu_bh]
root        10  0.0  0.0      0     0 ?        S    10:49   0:00 [migration/0]
root        11  0.0  0.0      0     0 ?        S    10:49   0:00 [watchdog/0]
root        12  0.0  0.0      0     0 ?        S    10:49   0:00 [cpuhp/0]
root        13  0.0  0.0      0     0 ?        S    10:49   0:00 [cpuhp/1]
root        14  0.0  0.0      0     0 ?        S    10:49   0:00 [watchdog/1]
root        15  0.0  0.0      0     0 ?        S    10:49   0:00 [migration/1]
root        16  0.0  0.0      0     0 ?        S    10:49   0:00 [ksoftirqd/1]
root        18  0.0  0.0      0     0 ?        I<   10:49   0:00 [kworker/1:0H]

ps 与grep 组合使用,查找特定进程

andre@andre-CN15S:~$ ps -ef|grep tencent
andre    24861 17712  0 21:41 pts/2    00:00:00 grep --color=auto tencent

注:

linux上进程有5种状态:

  • 运行(正在运行或在运行队列中等待)
  • 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
  • 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
  • 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
  • 停止(进程收到SIGSTOP, SIGTSTP, SIGTTIN, SIGTTOU信号后停止运行运行)

ps工具标识进程的几种状态码:

  • D 不可中断 uninterruptible sleep (usually IO)
  • R 运行 runnable (on run queue)
  • S 中断 sleeping
  • T 停止 traced or stopped
  • Z 僵死 a defunct (”zombie”) process
  • <: 高优先顺序的进程

ifconfig

Linux查看本机IP有两种方法,一种方法是使用废弃的ifconfig,第二种方法是使用内置的ip。目前在ubuntu18.04中ifconfig已被废弃,其对应的net-tools也不再被维护,想要使用ifconfig需要手动安装。

# 采用ifconfig查看本机IP 
sudo apt-get install net-tools
ifconfig

# 采用内置的ip命令查看
ip a

参考资料

  1. https://linuxtools-rst.readthedocs.io/zh_CN/latest/index.html

  2. 《Linux就该这么学》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值