Linux系统学习常用命令

Linux文件与目录管理及常用命令详解
本文详细介绍了Linux系统中的文件系统结构、文件类型和操作命令,包括文件的创建、显示、搜索、排序、比较和权限管理。重点讲解了ls、cat、more/less、head/tail、touch、rm、mv、cp、wc、grep、sort、uniq、comm、diff、ln、chown/chgrp、chmod和umask等命令的使用。此外,还涉及到了目录的创建、删除、切换、显示和权限管理,以及进程管理和文件的压缩解压缩。内容全面且深入,是Linux系统管理员和开发者的重要参考资料。

1 文件定义与操作命令

1.1 文件定义

Linux中的文件系统(分层树形结构)由若干目录与子目录组成,最上层目录是根目录(root,用“/”表示)

文件包含于目录之中,目录支持文件层次系统:即父目录包含子目录,特例为root目录作为自己的父目录。Shell中使用ls命令可以列出当前工作中的文件和子目录的名字,文件名是按照ASCII码顺序列出的:即以数字开头的文件名列在前面,随后分别是大写字母开头的,最后小写字母开头的。Linux系统区分文件名的大小写,以原点开头(.)的文件名是隐含文件,默认方式下ls命令也不能显示它们,要使用带-a选项的ls命令。文件名不能使用斜线(“/”)和空字符(ASCII字符“\0“),避免使用空格、制表符、或其他控制字符

1.2 文件类型

Linux的文件类型有普通文件,目录文件、设备文件、符号链接文件等。
1) 普通文件可分为文本文件、数据文件、可执行的二进制程序文件等,可以使用命令“File 文件名 [文件…]“来指定文件类型。

2) 目录文件中每个目录的第一项都表示目录本身,并以点(.)作为他的文件名,每个目录的第二项的名字应该是点点(…),表示该目录的父目录,使用ls -ai命令可以显示该目录下隐藏文件和文件的I节点号,而使用ls -d命令只能看到该目录下的子目录名。

3) 设备文件除在其文件I节点存放属性信息外,不包含任何数据,用以标志设备驱动器和支持核心与硬件设备通信;例如字符设备(I/O传送数据任意大小,即终端、打印机等)、块设备(I/O传送数据以KB为单位,即硬盘、RAM盘等),使用tty命令可以显示当前使用的终端文件名。

4) 符号链接文件中存放的数据是文件系统中通向文件的路径。

1.3 文件操作命令

显示

1.3.1 cat命令

格式:cat [选项] 文件
作用:显示文件内容到标准输出上;链接多个文件文件,重定向合并到新文件中,即cat f1 f2 > f3 常用选项有-b(从1开始对非空输出行编号),-n(从1开始对所有输出行编号),-s(多个相邻的空行合并成一空行),–help(显示命令用法);当显示内容过多时,可用more等命令分屏显示(Ctr+S停止滚屏,Ctrl+Q恢复滚屏,Ctrl+C终止命令)

1.3.2 more命令和less命令

格式:more [选项] 文件
作用:每次显示一屏文件内容,屏幕底部说明文件已显示部分占全部的百分比:–More-- (xx%)。其常用选项有:-num(说明一屏能显示的总行数),-d(在屏幕底部显示百分比信息),-c或者-p(不滚屏,在显示下一屏前清屏),-s(多个相邻的空行合并成一空行),+/(模式指定显示每个文件之前进行搜索的字符串),+num(从行号num开始)。

通过键盘输入的操作:按Space键可以显示下一屏内容;按Enter键可以只显示文本的下一行内容;按斜线符(/)可以接着一个输入模式,在文本中寻找下一个匹配的模式;按H键可显示帮助屏;按B键可显示上一屏命令;按Q键可退出more命令·

这里less命令类似more命令,区别在于more只能向前浏览,而less可以向前或者向后浏览。Less下的键盘辅助:PageUp向上翻页,PageDown向下翻页,退出按Q键

1.3.3 head命令和tail命令

格式:head [选项] 文件
作用:在屏幕上显示指定文件的开头若干行,行数由参数决定,默认取10。常用选项有:-c,–bytes==[-]N(显示文件前面N个字节,N前面带“-”则显示文件除最后N字节以外的所有内容);-n,–lines==[-]N(显示文件前面N行,N前面带“-”则显示文件除最后N行以外的所有内容);-q,-quiet,–silent(不显示文件标题);-v,–verbose(始终显示文件标题)

格式:tail [选项] [文件]…
作用:在屏幕上显示指定文件的末尾若干行,行数由参数决定,默认取10。常用选项有:-c,–bytesN(显示文件最后N个字节);-n,–linesN(显示文件最后N行);-q,-quiet,–silent(不显示文件标题);-v,–verbose(始终显示文件标题),-f(文件增长时输出附加的数据)。这里如果N前有“+”号,这表示从文件开头的第N行开始显示,而不是显示最后N项,N后的后缀的含义:b为512,k为1024,m为1048576(即1M)

1.3.4 touch命令

格式:touch [选项] [文件]…
作用:修改指定文件的时间标签并更新为系统当前时间,若文件不存在就创建空文件。常用选项有:-a(只改变文件的存取时间);-c,–no-create(不创建任何文件);-m(只改变文件的修改时间);-t STAMP(修改成指定的时间标签STAMP,其格式为[CC][YY]MMDDhhmm[.ss])
匹配排序和指定显示

1.3.5 grep命令

格式:grep [选项] 查找模式 [文件名1,文件名2,….]或者grep [选项] [-e 查找模式|-f 文件] [文件名1,文件名2,….]
作用:在文件中查找指定模式的字符串并显示包括给定字符串模式的所有行。其中,grep命令一次只能搜索一个指定的模式;egrep(等效于grep -E)可以使用扩展的字符串模式搜索;fgrep(等效于grep -F)可以快速搜索指定字符串,但不识别正则表达式。
常用选项:-E(将查找模式解释成扩展的正则表达式);-F(将查找模式解释成单纯的字符串);-b,–byte-offset(在输出的每一行前面显示包含匹配字符串的行在文件中的位置);-c,count(只显示文件中包含对应字符串的总行数);-f FILE(从文件FILE中获取模式,每行一个,空文件不含模式);-i,–ignore-case(匹配比较时不区分大小写字母);-R,-r,–recursive(递归查询目录下所有子目录中的文件);-n(在输出包含匹配模式的行前加上该行行号,第一行行号为1);-v(只显示不包含匹配字符串的行);-x(只显示整个行都严格匹配的行)。一般来说,搜索时在命令行先输入搜索的模式再是要搜索的文件,文件名列表中可以使用通配符“*”;如果搜索模式的字符串中含空格,应该用单引号把模式字符串括起来。

1.3.6 sort命令

格式:sort [选项] 文件列表
作用:逐行对文件中的所有行进行排序并将结果显示到输出上,比较规则为从输入文件的每一行中提取的一个或者多个排序关键字,默认规则为系统使用的字符集
常用选项:-m,–merge(对排好序的文件进行合并但是不排序);-c,–check(检测给定文件是否已排好序);-u,–uniqe(严格按顺序,否则对排序后的重复行只输出第一行);-o,–output=FILE(排序输出存放到FILE文件中);-d,–dirctionary-order(字典顺序排序,仅考虑空白符和字母数字符);-f,–ignore-case(忽略字母大小写);-i,–ignore-nonprinting(忽略非打印字符);-M,–month-sort(未知<”JAN”<,<”DEC”);-r,–reverse(逆序排序);-k,–key=n1[, n2](指定文本行的第n1字段到第n2字段之间的内容作为排序关键字);-b(忽略前导的空白符或者制表符);-t 字符(将指定的“字符”作为字段间的分隔符)

1.3.7 uniq命令

格式:uniq [选项] [输入文件[输出文件]]
作用:读取输入并比较排序,删除重复行,最后结果写到输出文件中
常用选项:-c,–count(显示时在每行行首说明该行在源文件出现的次数);-d,–repeated(只显示重复行);-f,–skip-fields=N(忽略比较前N个字段);-s,–skip-chars=N(忽略比较前N个字符);-u,–unique(只显示文件中不重复的行)

比较命令

1.3.8 comm命令

格式:comm [-123] file1 file2
作用:对两个已排序的文件作比较,生成三列输出:仅在file1中出现的行,仅在file2中出现的行,两个文件中都出现的行
选项:-123中表示分别不显示comm命令输出的第一二三列

1.3.9 diff命令

格式:diff [选项] file1 file2
作用:逐行比较两个文件(不要求先排好序)并找出不同。其输出格式为:file1行号 a file2行号、或者file1行号 d file2行号、或者file1行号 c file2行号,这里是做出对应修改后两文件会相同。这里a指代附加,d指的是删除,c是修改成。
常用选项:-b(忽略空格造成的差别);-c(输出格式是带上下文的三行格式);-C n(输出是带上下文的n行格式);-e(输出是一个合法的ed脚本);-i(忽略字母大小写的区别);-r(当文件1、2均为目录时,递归比较找到的各子目录)
操作命令

1.3.10 cp命令

格式:cp [选项] 源文件或目录 目标文件或目录
用途:将源文件或目录赋值到新的文件或目录上
常用选项:-a(复制目录下全部文件时使用);-d(复制时保留文件链接);-f, --force(若现存文件不能打开,则删除后重试一次);-i,–interactive(交互式复制,需要用户确认);-p(复制文件内容、修改时间和存取权限);-r,-R(递归复制目录下的全部内容);-l(创建指向源文件的链接文件名)。所有参数可用相对或者绝对变量名

1.3.11 rm命令

格式:rm [选项] 文件列表
作用:删除文件和目录,默认不能删除目录。此删除无法恢复
常用参数:-f,–force(忽略不存在的文件,删除时不给出提示信息);-r,-R,–recursive(递归删除目录下的所有内容(除隐藏文件外));-i(交互式删除,要求用户逐一文件确认)

1.3.12 mv命令

格式:mv [选项] source target
作用:对文件或者目录重命名(在同一目录下),或是将文件从一个目录移到另一个目录下
常用参数:-i(交互式操作);-f(不给出任何提示信息)

1.3.13 wc命令

格式:wc [选项] [文件]…
作用:统计并显示文件的字节数、字数、行数等内容,若是多个文件则显示所有统计的总数。字是由空格符隔开的字符串。输出格式(一行)为:行数 字数 字节数 文件名
常用选项:-c,–bytes(字节数);-l,–lines(行数);-w,–words(字数)

2 目录定义与操作命令

2.1 目录定义

Linux的文件系统时带链接的树形目录结构,根节点和中间节点必须是目录,文件只能是最后的一端(类比“叶子”)。

主目录即用户当前工作目录,一般与用户名(注册名一致),常位于/home或者/usr目录之下。主目录有子目录、数据文件、注册配置文件等等

要访问目录或文件可以用路径:分为绝对路径和相对路径。
绝对路径:唯一性,从根目录到目标文件的路径,以斜线符(/)开头,表示根目录;中间的各目录也是通过斜线符分隔;pwd命令可以显示当前目录的绝对路径名。
相对路径:相对当前工作目录的某一文件的路径,先对路径不能以斜线符开头;要访问当前目录及当前之上的目录,可在相对路径中使用点(.)或者点点(…),分别代表当前目录及其父目录。利用…/表示父目录的形式可以连续使用,直至根目录。路径名的选择倾向设计更少的目录,即更少的键盘输入。

2.2 目录操作命令

创建或者删除

2.2.1 mkdir命令

格式:mkdir [选项] dirname
作用:创建名为dirname的目录
常用选项:-m,–mode=MODE(目录存取权限设置为MODE);-p,–parents(一次创建多个目录)

2.2.2 rmdir命令

格式:rmdir [选项] dirname
作用:删除名为dirname的一个空目录或者多个空目录(有对被删除目录的父目录的写权限)。注意当前工作目录要在被删除目录之上,不能是被删除目录或其子目录
常用选项: -p,–parents(当子目录删除后其父目录为空时,父目录一并被删除)
改变或者显示

2.2.3 cd命令

格式:cd [dirname]
作用:改变工作目录
常用选项:利用cd …/…可以把工作目录向上移动两级目录,直接cd可以返回到主目录

2.2.4 pwd命令

格式:pwd
作用:显示工作目录的绝对路径

2.2.5 ls命令

格式:ls [选项] [目录或文件]
作用:按字母顺序显示某一目录的子目录与文件,或者显示文件的属性信息
常用选项:-a,–all(显示一目录下的所有文件,包括“.”开头的隐藏文件);-A,–almost-all(显示一目录下的所有文件,包括“.”开头的隐藏文件,但是不列出“.”和“…”目录项);-b,–escape(当文件名包含不可显示字符时,用\ddd(3位八进制数)形式显示该字符);-c(按文件修改时间排序);-C(分成多列显示各项);-d(若参数是目录,仅显示其名字);-F,–classfiy(文件名后标记不同的符号区分类型,其中 / 表示目录,* 表示可执行文件,@表示符号链接文件,| 表示管道文件,= 表示socket文件);-i,–incode(输出第一列显示文件的I节点号);-l(以长格式显示文件的详细信息,长格式中第一个字段的第一个字符表示文件类型,其余9个字符代表文件存取权限)

文件类型:普通文件(-),块设备文件(b)、目录(d)、字符设备文件(c)、符号链接文件(l);文件存取权限有:r,w,x,s(UID或GID从文件赋予进程的UID或GID)、t(黏着标志位,即留在内存,不被换出)

2.2.6 文件链接

Linux系统的为一个文件起多个名字的功能,称为链接,分为硬链接和符号链接
硬链接(ln命令)不能对目录文件创建硬链接,不能在不同文件系统之间建立硬链接。ln命令会增加链接数,rm会减少链接数,链接数为0时才是成功物理删除该文件。

符号链接即软链接,是将一个路径名链接到一个文件,建立的是一个新文件,而硬链接不创建新文件。符号链接可以对目录文件创建链接,也能在不同文件系统之间建立链接,格式为ln -s命令。其他特点:删除源文件或目录,只删除数据,不删链接;软链接大小为链接文件的路径名的字节数。

格式:ln [选项] 源文件 [目标文件]
作用:创建链接,参数为-s时为创建软链接
所有权限变更

2.2.7 chown和chgrp命令

文件所有权的标志是用户ID(UID),只有文件主或者root超级用户可以更改文件的所有关系,可以chown命令修改所有权。文件用户组的标志是GID,文件的GID只能由文件主或者超级用户来修改,利用chgrp命令可以修改文件的GID

Linux系统的存取权限有读(r)、写(w)、可执行或查询(x),用户有4种:文件主(owner)、文件组(group)、可访问系统的其他用户(others)、超级用户(root)。使用ls -d命令可以查询目录文件的使用权限

1)chgrp命令
格式:chgrp [选项] 组名 文件名
作用:文件主或者超级用户改变指定文件或者目录所属的用户组。组名可是用户组ID或者用户组组名,文件名可是以空格分隔的文件列表或者通配符描述的文件集合。
常用参数:-R, --recursive(递归改变指定目录即其下的子目录与文件的用户组)

2)chown命令
格式:chown [选项] 用户或组 文件名
作用:文件主或者超级用户改变指定文件或者目录的所有者和所属的组,即向用户授权使其成为指定文件的所有者或者改变文件所属的组。用户名可是用户ID或者用户名,组名可是组ID或者组名,文件名可是以空格分隔的文件列表或者通配符描述的文件集合。
常用参数:-R, --recursive(递归改变指定目录即其下的子目录与文件的文件主);-v,–verbose(详细列出该命令做的工作)

存取权限变更

2.2.8 chmod命令

文件主或超级用户用于改变或者设置文件或者目录的存取权限。
1)以符号模式改变权限:
格式:chmod key 文件名。Key格式为[who] [操作符号] [mode]。
who可以是以下字母的一个或组合:用户(u)、同组用户(g)、其他用户(o)、所有用户(a),a是默认值。操作符号可以是:+(添加权限),-(取消权限),=(给定相应权限并取消其他权限)。Mode可以是下述字母的任意组合:r(可读)、w(可写)、x(可执行)、X(仅目标文件可执行)、s(文件执行时把进程的属主或组ID置为该文件的文件属主,对应“u+s”或者“g+s”)、t(保存程序的文本到交换机上)、u(与文件属主游一样的权限)、g(与和文件属主同组的用户一样的权限)、o(与其他用户一样的权限)。Key的三部分必须顺序输入,可用多个key,但得有逗号隔开。

2)以绝对方式改变权限:
格式:chmod mode 文件名
说明:用绝对方式修改权限,即用数字0和1表示9个权限位,1表示有相应权限,0
表示无。如表示文件的存取权限:文件主有读、写和执行权限,组用户有读和执行权限,其他用户有读权限,符号模式表示为rwxr-xr–,绝对方式则为111101100(常转为八进制754)

2.2.9 umask命令

格式:umask mode
作用:用以设置限制新建文件权限的掩码,利用umask命令可以指定哪些权限将在新文件的默认权限中被删除,即在原有权限基础上删除指定的权限。Chmod命令是设置指定权限,而其余权限被删除。利用umask -S命令可以检查新建文件的默认权限(以字符形式显示),如果是umask命令,则是以八进制显示。

3 Linux的帮助命令

3.1 man命令

格式:man [选项] 命令名
作用:格式化并显示某一命令的联机帮助手册页面。常用命令说明格式有:NAME、SYNOPSIS(列出所有可供使用的选项及参数,说明使用方法)、DESCRIPTION(详细用法)、OPTIONS(可选项)、AUTHOR(作者)、REPORTING BUGS(反馈bugs)、COPYRIGHT(自由软件版权说明)、SEE ALSO(其他介绍)
常用选项:-M 路径(指定查找man手册的路径,可以是冒号分隔的目录列表);-P 命令·(指定使用的分页程序);-S 章节(指定查找手册页的章节列表);-a(显示所有手册页);-d(检车手册页情况);-D(显示检查信息,也显示手册页内容);-w,–path(只显示将被格式化和显示的文件所在的位置)

3.2 help命令

格式:help 命令
作用:查看内置的shell命令的使用帮助信息,不带参数则显示help命令用法

4 进程管理命令

4.1 进程管理定义

Linux是多用户、多任务操作系统,即多用户可以使用一个操作系统,而每个用户又能同时运行多个命令。命令是通过进程实现的。进程是一个程序或者任务的执行过程。进程是有生命周期的,它具有动态性和并发性。

4.2 ps命令

格式:ps [选项]
作用:查看系统中运行的进程信息。常用选项有:-a(显示与tty相关的(除会话组长外)所有进程的信息)、-e(显示所有进程的信息)、-f(显示进程的所有信息)、-l(以长格式显示进程信息)、r(显示正在运行的进程信息)、u(显示面向用户的格式(用户名,CPU及内存使用信息等))、x(显示所有非控制终端上的进程信息),–pid pidlist(显示由进程ID指定的进程的信息),–tty ttylist(显示指定终端上进程的信息)

进程信息:PID(进程标志号)、TTY(进程建立时对应的终端)、TIME(进程累计使用的cpu时间)、CMD(执行进程的命令名)、UID(进程属主的用户ID号)、PPID(父进程的ID号)、C(进程最近使用CPU的估算)、STIME(进程开始时间)、USER(启动进程的用户)、%CPU(运行进程占用CPU时间与该进程总运行时间的比例),%MEM(该进程占用内存和总内存的比例)、VSZ(虚拟内存的大小,单位为KB)、RSS(任务使用的不被交换物理内存的数量,单位为KB),START(进程开始的时间或者日期,以“HH:MM”形式显示)、STAT(进程运行状态)

STAT(进程运行状态)的字符含义:D(不可中断睡眠,常是I/O),R(运行或者就绪状态)、S(可中断睡眠状态,即等待要完成的事件)、T(进程停止,因作业控制信号或者被跟踪)、Z(进程僵死,终止了但未被父进程回收)、<(高优先权的进程)、N(低优先权)、L(有锁入内存的页面,用于实时任务或者I/O任务)

4.3 kill命令

格式:kill [-s 信号] [-p ] [-a] 进程号…或者kill -l [信号]
作用:通过向进程发送指定的信号停止后台进程,默认采用编号15的TERM信号,其将终结所有不能捕获该信号的进程,对于可以捕获该信号的进程,可以用编号9的kill信号强行“杀掉”进程
常用选项:-s(指定要发送的信号,可以是信号名(如KILL),或者是信号的号码(如9)),-p(指定kill命令只是显示进程的PID,但不真正发结束信号),-l(显示信号名称列表)。普通用户只能使用不带信号参数的kill命令或者至多使用信号9;要撤销所有的后台信号,可以输入kill 0

4.4 sleep命令

格式:sleep 时间值
作用:让进程暂停由时间值所指定的秒数

5 文件的解压缩

5.1 gzip命令

格式:gzip [选项] [name…]
作用:gzip采用的是Lempl-Ziv编码(LZ77)进行解压缩,只压缩普通文件,同时忽略符号链接文件,扩展名是.gz
常用选项:-c,–stdout,–to-stdout(输出写到标准输出,并保留原文件)、-d,–decomprocess,–uncomprocess(压缩包解压缩),-l,–list(压缩包详细信息:compressed size为压缩后大小,uncompressed size为压缩前大小,ratio 压缩比,uncompressed_name为未压缩文件的名字),-r(递归查找目录与文件压缩或者解),-t(测试压缩文件的完整性),-v(显示每个文件名和压缩比),-num(用指定的数字num调整压缩速度,-1或者–fast是最快压缩,-9或者—best是最慢(高压缩比),默认值为-6)

5.2 unzip命令

格式:unzip [选项] [name…]
作用:可以列出、测试或者抽取zip格式的压缩文件,扩展名是.zip
常用选项:-x文件列表(对除文件列表外的文件进行解压缩)、-v(不带参数显示unzip工具信息,带参数(压缩文件名则显示文件信息))、-t(检查完整性)、-d 目录(压缩文件解压到指定的目录)、-z(只显示压缩文件的注释)、-n(不覆盖已存在的文件)、-o(允许覆盖已存在的文件)、-j(放弃压缩文件原来的目录结构,解压后的所有文件放到同一目录下)

6 DOS命令

通过Linux系统中的mtools工具,可以实现共享DOS系统文件格式的数据文件,即在Linux下可以访问DOS文件,但是这个命令不能访问Linux系统的文件和目录。部分命令如下

mcd 目录名(改变DOS文件系统的当前目录)
mcopy 源文件 目标文件(在DOS和Linux之间复制文件)
mdel 文件名(删除DOS软盘上的文件)
mdir 目录名(删除DOS软盘上的目录与文件)	
mformat 驱动器号(以MS DOS文件系统格式格式化软盘)
mlabel 驱动器号(在DOS软盘上写卷标)
mmd 目录名(在DOS软盘上创建目录)
mrd 目录名(在DOS软盘上删除目录)
mren 源文件 目标文件(对DOS文件重命名)
mtype 文件名(显示DOS软盘上文件的内容)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值