Linux的简单命令(二)

每个命令的具体功能请参考下面网站:
http://www.runoob.com/linux/linux-command-manual.html

file

作用:确定文件类型。
格式:file 目标文件
使用说明:
使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件, 还是Shell Script文件,或者是其它的什么格式。file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。
最重要是可以查可执行程序是哪一种CPU体系下编译,是静态编译还是动态编译.这是嵌入式编译非常重要

cat、tac:

作用:连接并显示指定的一个和多个文件的有关信息。
格式:cat/tac[选项]文件1、文件2…
tac 从最后一行开始显示

  • -n 或 --number:由 1 开始对所有输出的行数编号。
  • -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
  • -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
  • -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
  • -E 或 --show-ends : 在每行结束处显示 $。
  • -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
    eg:
  • cat hello.txt
    显示hello.txt 内容
  • cat hello1.txt hello2.txt > hello3.txt
    把hello1.txt内容与hello2.txt内容合并,输出到hello3.txt中
  • cat -n hello.java
    参数-n,由第一行开始对所有输出的行数编号
    把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:
  • cat -n textfile1 > textfile2
    把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:
  • cat -b textfile1 textfile2 >> textfile3
    清空 /etc/test.txt 文档内容:
  • cat /dev/null > /etc/test.txt
more、less:

作用:more用于在终端按屏显示文本文件。
less同more,区别是在显示文本时,允许用户使用上
下键前后翻阅文件。
格式:more/less filename
使用说明:
通常more和less命令可以借用管道符“|”与其他命令同时使用。
进入显示状态后,按q或Q键可退出显示状态。
num 一次显示的行数

  • -d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
  • -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
  • -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
  • -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
  • -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
  • -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
  • +num 从第 num 行开始显示
    Eg:
    逐页显示 testfile 文档内容,如有连续两行以上空白行则以一行空白行显示。
  • more -s testfile
    从第 20 行开始显示 testfile 之文档内容。
  • more +20 testfile
    PS:
    Enter 向下n行,需要定义。默认为1行
    Ctrl+F 向下滚动一屏
    空格键 向下滚动一屏
    Ctrl+B 返回上一屏
    = 输出当前行的行号
    :f 输出文件名和当前行的行号
    V 调用vi编辑器
    !命令 调用Shell,并执行命令
    q 退出more
head、tail:

作用:head用于显示文本文件的前几行。tail用于显示文
本文件的后几行。
格式:

  • head [-num] filename
    -num为显示指定文件的前num行。
  • tail [-num] filename
    -num表示从距文件尾num行处开始显示。
  • tail -f filename
    tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
    会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示文件的尾部 n 行内容
    显示文件 notes.log 的最后 10 个字符:
  • tail -c 10 notes.log
    PS:若单独使用head,默认显示10行的内容。若单独使用tail,默认显示末尾10行内容。
touch:

作用:touch用于创建一个新文件。
格式:touch filename
语法:
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]

  • a 改变档案的读取时间记录。
  • m 改变档案的修改时间记录。
  • c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
  • f 不使用,是为了与其他 unix 系统的相容性而保留。
  • r 使用参考档的时间记录,与 --file 的效果一样。
  • d 设定时间与日期,可以使用各种不同的格式。
  • t 设定档案的时间记录,格式与 date 指令相同。
  • --no-create 不会建立新档案。
  • --help 列出指令格式。
  • --version 列出版本讯息。
    PS:如果文件已经存在,则改变这个文件的最后修改日期
nl:

作用:以输出行号的方式显示文件。
格式:nl [filename]

ln:

作用:为某一个文件在另外一个位置建立一个符号连接。当需要在不同目录用到相同文件时。Linux允许用户不用拷贝文件,只需要将其它目录文件ln命令链接即可,这样就不用重复地占用磁盘空间。
格式:ln [选项] 目标 目录
使用说明:

  • -s参数表示建立符号链接。
    ln的链接分为软链接和硬链接两种:软链接即带-s参数,它只会在用户选定的位置生成文件的镜像(特殊的文件)。硬链接是不带-s参数的ln,硬链接并不生成新的文件,而通过索引点进行链接。软链接和硬链接都不会重复占用磁盘空间。

  • -b 删除,覆盖以前建立的链接

  • -d 允许超级用户制作目录的硬链接

  • -f 强制执行

  • -i 交互模式,文件存在则提示用户是否覆盖

  • -n 把符号链接视为一般目录

  • -s 软链接(符号链接)

  • -v 显示详细的处理过程
    给文件创建软链接,为log2013.log文件创建软链接link2013,如果log2013.log丢失,link2013将失效:

  • ln -s log2013.log link2013
    给文件创建硬链接,为log2013.log创建硬链接ln2013,log2013.log与ln2013的各项属性相同

  • ln log2013.log ln2013

命令功能 :

Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

  • 软链接:
    1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
    2.软链接可以 跨文件系统 ,硬链接不可以
    3.软链接可以对一个不存在的文件名进行链接
    4.软链接可以对目录进行链接
  • 硬链接:
    1.硬链接,以文件副本的形式存在。但不占用实际空间。
    2.不允许给目录创建硬链接
    3.硬链接只有在同一个文件系统中才能创建
grep:

作用:查找某个目录下包含关键字的文件
格式:grep 关键字 文件
使用方法:
在/usr/src/linux/Documentation的所有文件中查找magic关键字

  • grep magic /usr/src/linux/Documentation/*
  • -r 表示不仅在当前目录查询,而且还是查询子目录
    grep 的一个重要作用是通过管道用于过滤命令输出的结果
  • cat hello.c | grep “printf”
管道概念:

管道是linux中信息通道的重要方式。它是把一个程序的输出直接连接到另一个程序的输入,而不经过任何中间文件。管道线是连接程序管道的通路。在shell中用字符“|”表示。如: cat hello.c |less,即表示将cat hello.c的结果直接输入到less的程序中。

  • grep 定位字符信息
  • wc 统计字符信息
  • sort 排序字符信息
wc:

利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。
语法:
wc [-clw][--help][--version][文件...]
参数:

  • -c或--bytes或--chars 只显示Bytes数。
  • -l或--lines 只显示行数。
  • -w或--words 只显示字数。
  • --help 在线帮助。
  • --version 显示版本信息。
    eg:
    在默认的情况下,wc将计算指定文件的行数、字数,以及字节数。使用的命令为:
  • wc testfile
    使用 wc统计,结果如下:
    $ wc testfile # testfile文件的统计信息
    3 92 598 testfile # testfile文件的行数为3、单词数92、字节数598
    其中,3 个数字分别表示testfile文件的行数、单词数,以及该文件的字节数。
    如果想同时统计多个文件的信息,例如同时统计testfile、testfile_1、testfile_2,可使用如下命令:
  • wc testfile testfile_1 testfile_2 #统计三个文件的信息
    输出结果如下:
    $ wc testfile testfile_1 testfile_2 #统计三个文件的信息
    3 92 598 testfile #第一个文件行数为3、单词数92、字节数598
    9 18 78 testfile_1 #第二个文件的行数为9、单词数18、字节数78
    3 6 32 testfile_2 #第三个文件的行数为3、单词数6、字节数32
    15 116 708 总用量 #三个文件总共的行数为15、单词数116、字节数708
sort:

sort命令用于将文本文件内容加以排序。
sort可针对文本文件的内容,以行为单位来排序。
语法:
sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]

  • -b 忽略每行前面开始出的空格字符。
  • -c 检查文件是否已经按照顺序排序。
  • -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
  • -f 排序时,将小写字母视为大写字母。
  • -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
  • -m 将几个排序好的文件进行合并。
  • -M 将前面3个字母依照月份的缩写进行排序。
  • -n 依照数值的大小排序。
  • -o<输出文件> 将排序后的结果存入指定的文件。
  • -r 以相反的顺序来排序。
  • -t<分隔字符> 指定排序时所用的栏位分隔字符。
  • +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
  • --help 显示帮助。
  • --version 显示版本信息。
    eg:
    在使用sort命令以默认的式对文件的行进行排序,使用的命令如下:
  • sort testfile
    sort 命令将以默认的方式将文本文件的第一列以ASCII 码的次序排列,并将结果输出到标准输出。
    使用 cat命令显示testfile文件可知其原有的排序如下:
  • $ cat testfile #testfile文件原有排序
    test 30
    Hello 95
    Linux 85
    使用sort命令重排后的结果如下:
  • $ sort testfile #重排结果
    Hello 95
    Linux 85
    test 30

进程操作相关命令:

  • ps 显示当前系统中由该用户运行的进程列表
  • kill 输出特定的信号给指定的进程,并根据该信号而完成指定的行为
  • top 动态显示当前系统中由该用户运行的进程列表
  • renice 修改一个正在运行的进程的优先级
  • pstree 列出当前的进程,以及它们的树状结构
ps:

作用:显示当前系统中由该用户运行的进程列表。
格式:ps [选项]
常见参数:

  • -a/A 显示终端所有进程,包括其他用户的进程
  • -u 查看进程所有者及详细信息
  • -x 显示没有控制终端的进程
  • -e 显示所有进程
    eg:
  • ps -A 显示进程信息
  • ps -u root //显示root进程用户信息
  • ps -ef //显示所有命令,连带命令行
kill:

作用:输出特定的信号给指定PID的进程,并根据该信号完成指定的行为。
格式:
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]

  • kill PID进程号
  • kill PID 终止进程
  • kill -9 PID 强制终止进程
  • -l <信息编号>  若不加<信息编号>选项,则-l参数会列出全部的信息名称。
  • -s <信息名称或编号>  指定要送出的信息。
  • [程序]  [程序]可以是程序的PID或是PGID,也可以是工作编号。
    eg:
    杀死进程
  • kill 12345
    强制杀死进程
  • kill -KILL 123456
    发送SIGHUP信号,可以使用一下信号
  • kill -HUP pid
    彻底杀死进程
  • kill -9 123456
    显示信号
  • kill -l
    杀死指定用户所有进程
  • kill -9 $(ps -ef | grep hnlinux) //方法一 过滤出hnlinux用户进程
  • kill -u hnlinux //方法二
top:

作用:动态显示当前系统中由该用户运行的进程列表。
格式:top [-d delay]
参数-d delay表示屏幕信息刷新的时间间隔。

  • d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
  • q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
  • c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来
  • s : 安全模式,将交谈式指令取消, 避免潜在的危机
  • i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程
  • n : 更新的次数,完成后将会退出 top
  • b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内
    eg:
    显示进程信息
  • top
    显示完整命令
  • top -c
    以批处理模式显示程序信息
  • top -b
    以累积模式显示程序信息
  • top -S
    设置信息更新次数
  • top -n 2
    //表示更新两次后终止更新显示
    设置信息更新时间
  • top -d 3
    //表示更新周期为3秒
    显示指定的进程信息
  • top -p 139
    //显示进程号为139的进程信息,CPU、内存占用率等
    显示更新十次后退出
  • top -n 10
    使用者将不能利用交谈式指令来对行程下命令
  • top -s
    将更新显示二次的结果输入到名称为 top.log 的档案里
  • top -n 2 -b < top.log
renice:

作用:修改一个正在运行的进程的优先级。
格式:renice 优先级

  • -p pid 重新指定行程的 id 为 pid 的行程的优先序
  • -g pgrp 重新指定行程群组(process group)的 id 为 pgrp 的行程 (一个或多个) 的优先序
  • -u user 重新指定行程拥有者为 user 的行程的优先序
    eg:
    将行程 id 为 987 及 32 的行程与行程拥有者为 daemon 及 root 的优先序号码加 1
  • renice +1 987 -u daemon root -p 32
pstree:

作用:列出当前的进程,以及它们的树状结构。
格式:pstree [选项]

  • -a 显示该行程的完整指令及参数, 如果是被记忆体置换出去的行程则会加上括号
  • -c 如果有重覆的行程名, 则分开列出(预设值是会在前面加上 *)
    eg:
  • pstree -apnh //显示进程间的关系
  • pstree -u //显示用户名称

打包/压缩命令

Linux 下打包,压缩是两个概念
打包是把所有文件照原样合在一个tar 文件里,压缩则需要另外程序gzip,biz2,但tar可以调用它们,一次性完成打包和压缩功能

  • tar.gz 由tar 程序打包,并且经过gzip 程序压缩
  • tar.bz2 由tar程序打包,并且经过bzip2程序压缩
  • bz2和.gz的区别
  • bz2比.gz压缩率更高,
  • gz比.bz2花费更少的时间
    常用选项:
  • -c 创建tar 文件
  • -f 将文件打包生成到一个文件里
    tar –cf new.tar ./home/hxy
  • -v 显示详细信息
  • -x 对tar 进行解包
    tar –xf new.tar
针对zip格式

打包

  • tar cvzf soft.tar.gz /home/hxy
    将/hoem/hxy目录下文件打包并压缩

解包

  • tar xvzf abc.tar.gz
    解包到当前目录下
  • tar xvzf abc.tar.gz -C /home
    解包到指定目录下
针对biz2格式

打包

  • tar cvjf soft.tar.biz2 /home/hxy
    将/hoem/hxy目录下文件打包并压缩

解包

  • tar xvjf abc.tar.biz2
    解包到当前目录下
  • tar xvjf abc.tar.biz2 -C /home
    解包到指定目录下
一些常见命令小结:
  • cd 改变工作目录
  • ls 显示文件名称、属性等
  • mkdir/rmdir 创建或删除一个目录
  • cp 将给出的文件或目录复制到另一文件或目录中
  • mv 为文件或目录改名或将文件由一个目录移入另一个目录中
  • rm 删除一个目录中的一个或多个文件或目录
  • cat 连接并显示指定的一个和多个文件的有关信息
  • tac 从最后一行开始显示文件
  • more/less 用于在终端按屏显示文本文件
  • head/tail 用于显示文本文件的前几行或后几行
  • touch 用于创建一个新文件
  • nl 显示时同时输出行号
  • ln 为某一个文件在另外一个位置建立一个符号连接
  • echo 显示字符串、变量等信息
  • tar 打包、压缩、解压文件
    (此文章仅作为个人学习笔记使用,如有错误欢迎指正~)
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259

推荐阅读更多精彩内容

  • 我从17年初开始知识付费学习,当时是作为业余爱好吧,因为觉得是成人学习,所以相当认真,退掉不必要的应酬活动 ,晚上...
    昕城阅读 815评论 3 2
  • 投资只是理财的一部分,而理财是个很广泛的概念,比如制定家庭日常消费支出计划,配置保险,制定教育计划等。基...
    二十九画生_7313阅读 229评论 0 0