新手必须掌握的Linux命令

常用系统工作命令

Tips

  • 如果我们在系统终端中执行一个命令后想立即停止它,可以同时按下Ctrl + C 组合
    键(生产环境中比较常用的一个快捷键),这样将立即终止该命令的进程。或者,如果
    有些命令在执行时不断地在屏幕上输出信息,影响到后续命令的输入,则可以在执
    行命令时在末尾添加上一个&符号,这样命令将进入系统后台来执行。
  • 如前面所提到的,在Linux 系统中的命令参数有长短格式之分,长格式和长格式之
    间不能合并,长格式和短格式之间也不能合并,但短格式和短格式之间是可以合并的,
    合并后仅保留一个-(减号)即可。另外ps 命令可允许参数不加减号(-),因此可直接
    写成ps aux 的样子
  1. echo 命令

[root@bogon ~]# echo Linux-learning
Linux-learning
[root@bogon ~]# echo $SHELL
/bin/bash

  1. date命令
  • date跟上+开头的可以输出格式化日期
    [root@bogon ~]# date "+%Y-%m-%d %H:%M:%S"
    2020-06-17 09:01:11
  • %j输出一年中的第多少天
    [root@bogon ~]# date +%j
    169
  • -s 设置当前时间
    [root@bogon ~]# date -s "20170901 8:30:00"
    Fri Sep 1 08:30:00 CST 2017
  1. wget
    wget 命令用于在终端中下载网络文件,格式为wget [参数] 下载地址
参数 作用
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 端点续传
-p 下载页面内所有的资源,包括图片,视频
-r 递归下载
  1. ps
    ps 命令用于查看系统中的进程状态,格式为ps [参数]
    通常会将ps 命令与管道符技术搭配使用,用来抓取与某
    个指定服务进程相对应的PID 号码。
参数 作用
-a 显示所有进程(包括其他用户的进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
  1. top
    top 命令用于动态地监视进程活动与系统负载等信息。
    top 命令相当强大,能够动态地查看系统运维状态,完全将它看作Linux 中的“强化版的
    Windows 任务管理器”
    image.png
  2. pidof
    pidof 命令用于查询某个指定服务进程的PID 值,格式为pidof [参数] [服务名称]
    每个进程的进程号码值(PID)是唯一的,因此可以通过PID 来区分不同的进程。例如,
    可以使用如下命令来查询本机上sshd 服务程序的PID:
    [root@bogon ~]# pidof sshd
  3. kill
    kill 命令用于终止某个指定PID 的服务进程,格式为kill [参数] [进程PID]
    接下来,我们使用kill 命令把上面用pidof 命令查询到的PID 所代表的进程终止掉,其命
    令如下所示。-9 一般强制停止服务。
    [root@bogon ~]# kill -9 123456
  4. killall
    killall 命令用于终止某个指定名称的服务所对应的全部进程,格式为:killall [参数] [进 程名称]
[root@linuxprobe ~]# pidof httpd
13581 13580 13579 13578 13577 13576
[root@linuxprobe ~]# killall httpd
[root@linuxprobe ~]# pidof httpd
[root@linuxprobe ~]#

系统状态检测命令

  1. ifconfig
    ifconfig 命令用于获取网卡配置与网络状态等信息,格式为ifconfig [网络设备] [参数]
  2. uname
    uname 命令用于查看系统内核与系统版本等信息,格式为uname [-a]
  3. free
    free 用于显示当前系统中内存的使用量信息,格式为free [-h]
  4. history
    history 命令用于显示历史执行过的命令,格式为history [-c]

工作目录切换命令

  1. pwd
    pwd 命令用于显示用户当前所处的工作目录,格式为pwd [选项]
  2. cd
    cd 命令用于切换工作路径,格式为cd [目录名称]
  3. ls
    ls 命令用于显示目录中的文件信息,格式为ls [选项] [文件]
参数 作用
-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有文件,则以下之文件亦皆依序列出

文本文件编辑命令

  1. cat
    cat 命令用于查看纯文本文件(内容较少的),格式为cat [选项] [文件]
    如果在查看文本内容时还想顺便显示行号的话,不妨在 cat 命令后面追加一个-n 参数
  2. more
    more命令会在最下面使用百分比的形式来提示您已经阅读了多少内容。您还可以使用空格键或回
    车键向下翻页
  3. head
    head 命令用于查看纯文本文档的前N 行,格式为head [选项] [文件]
  4. tail
    tail 命令用于查看纯文本文档的后N 行或持续刷新内容,格式为tail [选项] [文件]
    tail 命令最强悍的功能是可以持续刷新一个文件的内容,当想要实时
    查看最新日志文件时,这特别有用,此时的命令格式为tail -f
  5. tr
    tr 命令用于替换文本文件中的字符,格式为tr [原始字符] [目标字符]
    在很多时候,我们想要快速地替换文本中的一些词汇,又或者把整个文本内容都进行替
    换,如果进行手工替换,难免工作量太大,尤其是需要处理大批量的内容时,进行手工替换
    更是不现实。这时,就可以先使用cat 命令读取待处理的文本,然后通过管道符(详见第3
    章)把这些文本内容传递给tr 命令进行替换操作即可。例如,把某个文本内容中的英文全部
    替换为大写:
    [root@linuxprobe ~]# cat anaconda-ks.cfg | tr [a-z] [A-Z]
  6. wc
    wc 命令用于统计指定文本的行数、字数、字节数,格式为wc [参数] 文本
参数 作用
-l 只显示行数
-w 只显示单词数
-c 只显示字节数
  1. stat
    stat 命令用于查看文件的具体存储信息和时间等信息,格式为stat 文件名称
    stat 命令可以用于查看文件的存储信息和时间等信息,命令stat anaconda-ks.cfg 会显示出
    文件的三种时间状态(已加粗):Access、Modify、Change。这三种时间的区别将在下面的touch
    命令中详细详解
[root@bogon ~]# stat anaconda-ks.cfg 
  File: anaconda-ks.cfg
  Size: 1414        Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 34629661    Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:admin_home_t:s0
Access: 2020-05-06 18:34:53.219332111 -0400
Modify: 2020-05-06 18:32:57.371012781 -0400
Change: 2020-05-06 18:32:57.371012781 -0400
 Birth: -
  1. cut
    cut 命令用于按“列”提取文本字符,格式为cut [参数] 文本
    在 Linux 系统中,如何准确地提取出最想要的数据,这也是我们应该重点学习的内容。一般
    而言,按基于“行”的方式来提取数据是比较简单的,只需要设置好要搜索的关键词即可。但是
    如果按列搜索,不仅要使用-f 参数来设置需要看的列数,还需要使用-d 参数来设置间隔符号。
    passwd 在保存用户数据信息时,用户信息的每一项值之间是采用冒号来间隔的,接下来我们使用
    下述命令尝试提取出passwd 文件中的用户名信息,即提取以冒号(:)为间隔符号的第一列内容:
[root@linuxprobe ~]# head -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@linuxprobe ~]# cut -d: -f1 /etc/passwd
root
bin
daemon
adm
lp

文件目录管理命令

  1. touch
    touch 命令用于创建空白文件或设置文件的时间,格式为touch [选项] [文件]
参数 作用
-a 仅修改“读取时间”(atime)
-m 仅修改“修改时间”(mtime)
-d 同时修改atime 与mtime
  1. mkdir 命令
    mkdir 命令用于创建空白的目录,格式为mkdir [选项] 目录
    在 Linux 系统中,文件夹是最常见的文件类型之一。除了能创建单个空白目录外,mkdir
    命令还可以结合-p参数来递归创建出具有嵌套叠层关系的文件目录。
[root@linuxprobe ~]# mkdir linuxprobe
[root@linuxprobe ~]# cd linuxprobe
[root@linuxprobe linuxprobe]# mkdir -p a/b/c/d/e
[root@linuxprobe linuxprobe]# cd a
[root@linuxprobe a]# cd b
[root@linuxprobe b]#
  1. cp
    cp 命令用于复制文件或目录,格式为cp [选项] 源文件目标文件
    大家对文件复制操作应该不陌生,在 Linux 系统中,复制操作具体分为3 种情况:
    • 如果目标文件是目录,则会把源文件复制到该目录中
    • 如果目标文件也是普通文件,则会询问是否要覆盖它
    • 如果目标文件不存在,则执行正常的复制操作
参数 作用
-p 保留原始文件的属性
-d 若对象为“链接文件”,则保留该“链接文件”的属性
-r 递归持续复制(用于目录)
-i 若目标文件存在则询问是否覆盖
-a 相当于-pdr(p、d、r 为上述参数)
-f 覆盖已经存在的目标文件而不给出提示

4.mv
mv 命令用于剪切文件或将文件重命名,格式为mv [选项] 源文件 [目标路径|目标文件名]
剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪切后的文件。如果
在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名

参数 作用
-i 若目标文件存在则询问是否覆盖
-f 覆盖已经存在的目标文件而不给出提示

5.rm
rm 命令用于删除文件或目录,格式为rm [选项] 文件
在 Linux 系统中删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是
看到这种反复的确认信息,可在rm 命令后跟上-f参数来强制删除。另外,想要删除一个目录,
需要在rm 命令后面一个-r 参数才可以,否则删除不掉

  1. file
    file 命令用于查看文件的类型,格式为file 文件名

打包压缩与搜索命令

  1. tar
    tar 命令用于对文件进行打包压缩或解压,格式为tar [选项] [文件]
参数 作用
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用Gzip 压缩或解压
-j 用bzip2 压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录

首先,-c 参数用于创建压缩文件,-x 参数用于解压文件,因此这两个参数不能同时使用。
其次,-z 参数指定使用Gzip 格式来压缩或解压文件,-j 参数指定使用bzip2 格式来压缩或解
压文件。用户使用时则是根据文件的后缀来决定应使用何种格式参数进行解压。在执行某些
压缩或解压操作时,可能需要花费数个小时,如果屏幕一直没有输出,您一方面不好判断打
包的进度情况,另一方面也会怀疑电脑死机了,因此非常推荐使用-v 参数向用户不断显示压
缩或解压的过程。-C 参数用于指定要解压到哪个指定的目录。-f 参数特别重要,它必须放到
参数的最后一位,代表要压缩或解压的软件包名称。刘遄老师一般使用tar -czvf压缩包名
称.tar.gz 要打包的目录”命令把指定的文件进行打包压缩;相应的解压命令为tar -xzvf
缩包名称.tar.gz”。下面我们来逐个演示下打包压缩与解压的操作。
[root@linuxprobe ~]# tar -czvf etc.tar.gz /etc
[root@linuxprobe ~]# tar -xzvf etc.tar.gz -C /root/etc

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

两个最最常用的参数:-n 参数用来显示搜索到信息的行号;-v 参数用于反选信息

  1. find
    find 命令用于按照指定条件来查找文件,格式为find [查找路径] 寻找条件操作
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342