Linux中许多常用命令是必须掌握的,下面是程序开发常用到的一些Linux命令,总结如下:
一、文件和目录操作
1. cd
格式:cd [dirName]
功能:切换当前目录至dirName
说明:dirName为可选,默认为登录用户指定文件夹(一般为/home/用户名)。dirName既可以为绝对路径,即以根目录(‘/’)为起始,如/home、/usr;也可以为相对路径(‘../'),如../target(当前路径上一层文件夹的target目录)。
2. ls
格式:ls [op] [dirName]
功能:列出目标目录中所有的子目录和文件。
说明:dirName为目标目录,为可选,默认为当前目录,也可使用正则匹配,如
1 |
|
列出当前目录所有以字母’t'开头的文件、文件目录。op为命令选项,常用的有-a、-l、-t。
- -a:列出目标目录下所有文件及文件夹(包括隐藏文件、目录及‘.’、‘..’)
- -l:除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
- -t:以文件修改时间排序
参数可连用即
1 |
|
等价于
1 |
|
3. pwd
格式:pwd [op]
功能:查看”当前工作目录“的完整路径
说明:一般情况不带任何参数。
4. mkdir
格式:mkdir [op] dirName
功能:通过 mkdir 命令可以实现在指定位置创建以 dirName(指定的文件名)命名的文件夹或目录。
要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。
且所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名(区分大小写)。
说明:dirName参数必须,可直接使用文件夹名,相对路径文件夹名或绝对路径文件夹名。如
1 2 3 |
|
op为命令选项,常用选项有-m、-p。
- -m:设定权限<模式> (类似 chmod)
- -p:可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
5. rmdir
格式:rmdir [op] dirName
功能:若dirName文件夹为空,则删除。
说明: dirName参数必须。
op为明亮选项,常用选项有-p。
- -p:递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除
6. basename
格式:basename [op] dirName
功能:返回文件或者目录的基本名称
说明:dirName参数必须,可以为路径名,也可以为文件名,文件夹名,basename命令会删掉所有的前缀包括最后一个‘/’字符,然后将字符串显示出来。如:
1 2 |
|
7. dirname
格式:dirname dirName
功能:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)
说明:dirName参数为必须,返回路径名,与basename正相反(简单的讲,两者相加为完整路径。如
1 2 |
|
8. vi
格式:vi [op] dirName
功能:使用vi编辑器打开或新建文件。
说明:dirName参数必须。若dirName的文件不存在,则创建文件名为dirName的空文件并打开。
op为命令选项,默认为打开或新建文件,并将光标置于第一行首
- +n:打开文件,并将光标置于第n行首
- +:打开文件,并将光标置于最后一行首
- +/pattern:打开文件,并将光标置于第一个与pattern匹配的串处
- -r:在上次正用vi编辑时发生系统崩溃,恢复filename
9. rm
格式:rm [op] dirName
功能:删除一个目录中的一个或多个文件或目录
说明:dirName参数必须,至少为一个文件或目录。
op为命令选项,常用的有-f、-r、-i
- -f:强制删除,从不给出提示。
- -r:指示rm将参数dirName中的全部目录和子目录均递归地删除。
- -i:会询问是否确认删除
(注意:dirName可使用正则匹配,若rm命令后跟-rf选项,dirName参数不要使用正则匹配,请明确指定删除目录或者文件名,否则后果会很严重,切记~~~!!!)
10. mv
格式:mv [op] dirName targetName
功能:若dirName、targetName为文件名,则mv命令会将dirName的文件名称修改为targetName;若targetName为文件夹,或dirName与targetName均为文件夹,则实现文件或文件夹的移动。
说明:dirName及targetName参数为必须,可以为文件名,也可以为文件夹路径名。
op为命令选项,常用的有-b、-f、-i、-u
- -b:若需覆盖文件,则覆盖前先行备份
- -f:如果目标文件已经存在,不会询问而直接覆盖
- -i:若targetName 已经存在时,就会询问是否覆盖
- -u:若targetName已经存在,且dirName比较新,才会更新覆盖
11. cp
格式:cp [op] dirName targetName
功能:将源文件复制至目标文件,或将多个源文件复制至目标目录。
说明:dirName及targetName参数必须,可以是目录或者文件。
op为命令选项,常用的有-f、-i、-r、-p
- -f:如果targetName文件或目录已经存在,不会询问而直接覆盖
- -i:如果targetName文件或目录已存在,则询问是否覆盖
- -r:递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
- -p:保留源文件或目录的属性,包括所有者、所属组、权限与时间
12. diff
格式:diff[op] dirName targetName
功能:diff命令能比较单个文件或者目录内容。如果指定比较的是文件,则只有当输入为文本文件时才有效。以逐行的方式,比较文本文件的异同处。如果指定比较的是目录的的时候,diff 命令会比较两个目录下名字相同的文本文件。列出不同的二进制文件、公共子目录和只在一个目录出现的文件。
说明:比较文件或目录的不同,dirName、targetName参数为必须。
op为命令选项,常用的有-、-a、-b、-c、-p、-q、-u
- -:指定要显示多少行的文本。此参数必须与-c或-u参数一并使用
- -a:diff预设只会逐行比较文本文件
- -b:不检查空格字符的不同
- -c:显示全部内文,并标出不同之处
- -p:若比较的文件为C语言的程序码文件时,显示差异所在的函数名称
- -q:仅显示有无差异,不显示详细的信息
- -u:以合并的方式来显示文件内容的不同
13. find
格式:find pathname [op] ...
功能:find命令在目录结构中搜索文件,并执行指定的操作
说明:find具有强大的功能,所以它的选项也很多。在进行一个非常消耗资源的查找时,应把他放在后台执行。pathname为find命令所查找的目录路径。
op为命令选项,常用的有-name、-mtime
- -name:按照文件名查找文件
- -mtime -n +n:按照文件的更改时间来查找文件, -n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前
另,注意以下三个的区别:
-
-amin n:查找系统中最后N分钟访问的文件
-
-atime n:查找系统中最后n*24小时访问的文件
-
-cmin n:查找系统中最后N分钟被改变文件状态的文件
-
-ctime n:查找系统中最后n*24小时被改变文件状态的文件
-
-mmin n:查找系统中最后N分钟被改变文件数据的文件
- -mtime n:查找系统中最后n*24小时被改变文件数据的文件
14. grep
格式:grep [op] pattern file
功能:用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用
说明:pattern为正则表达式。grep可利用管道符“|”与其他命令配合使用,过滤命令输出结果集
op为命令选项,常用的有-C、-i、-l、-n
- -C:除了显示符合样式的那一行之外,并显示该行之前后的内容
- -i:忽略字符大小写的差别
- -l:列出文件内容符合指定的样式的文件名称
- -n:在显示符合样式的那一行之前,标示出该行的列数编号
15. cat
格式:cat [op] file
功能:
- 一次显示整个文件:cat filename
- 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
- 将几个文件合并为一个文件:cat file1 file2 > file
说明:
op为命令参数,常用的有-b、-n、-s
- -b:对非空输出行编号
- -n:对输出的所有行编号,由1开始对所有输出的行数编号
- -s:有连续两行以上的空白行,就代换为一行的空白行
16. tac
格式:tac file
功能:从文件末尾输出文件内容
说明:与cat命令功能1相反
17. rev
格式:rev file
功能:文件行内容反序输出
cat、tac、rev命令小结
1 2 3 4 5 6 7 8 9 10 11 12 |
|
18. head
格式:head [op] file
功能: 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
说明:与tail命令相反,显示file文件开头内容
op为命令选项,有-n
- -n:指定显示行数,如
1
head
-
n
5
file
#显示file文件的前5行,等价为 head -5 file
19. tail
格式:tail [op] file
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。
说明:tail命令常用来查看日志文件,默认输出文件最后10行
op为命令参数,常用的有-f、-n
- -n:指定显示文件末尾行数,如
1
tail
-
n
5
file
#显示file文件最后5行数据,与 tail -5 file输出相同
- -f:循环读取文件末尾内容,如
1
tail
-
f test.log
#循环读取test.log的内容,只要test.log有新内容写入,将立即读取到标准输出
20. echo
格式:echo string 或 echo $variable
功能:将string或$variable的值输出到屏幕上
说明:方便查看系统环境变量等信息
21. wc
格式:wc [op] file
功能:统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
说明:
op为命令选项,常用的有-c、-l、-m、-w
- -c:统计字节数
- -l:统计行数
- -m:统计字符数。这个标志不能与 -c 标志一起使用
- -w:统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串
22. chown
格式:chown [op] [own][:[gro]] targetName
功能:通过chown改变文件的拥有者和群组
说明:targetName可以为文件,也可以为目录。在更改文件的所有者或所属群组时,普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员
op为命令选项,常用的有-c、-f、-R
- -c:显示更改的部分的信息
- -f:忽略错误信息
- -R:递归处理指定目录以及其子目录下的所有文件
23. chmod
格式:chmod [op] mode file
功能:用于改变文件或目录的访问权限,用它控制文件或目录的访问权限。
说明:mode为权限模式,分两种:一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法
1. 字母设定法
权限范围
- u :目录或者文件的当前的用户
- g :目录或者文件的当前的群组
- o :除了目录或者文件的当前用户或群组之外的用户或者群组
- a :所有的用户及群组
权限代号
- r :读权限,用数字4表示
- w :写权限,用数字2表示
- x :执行权限,用数字1表示
- - :删除权限,用数字0表示
- s :特殊权限
权限设定方式:权限范围[+|-|=]权限代号,如
1 2 |
|
2. 数字设定法
数字与字符对应关系如下:
r=4,w=2,x=1
若要rwx属性则4+2+1=7
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
如
1 |
|
24. chgrp
格式:chgrp [op] [grp] file
功能:采用群组名称或群组识别码的方式改变文件或目录的所属群组。使用权限是超级用户。
说明:grp为群组,file为操作文件
op为命令选项,常用的有-c、-f、-R、-v
- -c:当发生改变时输出调试信息
- -f:不显示错误信息
- -R:处理指定目录以及其子目录下的所有文件
- -v:运行时显示详细的处理信息
如
1 |
|
25. gzip
格式:gzip [op] dirName
功能:压缩文件或目录
说明:dirName为必须,可以为文件,也可为目录,命令执行后生成“.gz”的压缩文件
op为命令选项,常用的有 -c、-d、-f、-l、-r、-t
- -c:把压缩后的文件输出到标准输出设备,不去更动原始文件
- -d:解开压缩文件
- -f:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接
- -l:列出压缩文件的相关信息
- -r:递归处理,将指定目录下的所有文件及子目录一并处理
- -t:测试压缩文件是否正确无误
26. zcat
格式:zcat [op] file.gz
功能:查看压缩文件内容
说明:file.gz为gzip命令压缩的文件
op 为命令选项,常用的有-c、-t、-n
- -c:将压缩的资料输出到屏幕上
- -t:检验压缩文档的一致性,查看压缩文件是否有错误
- -n:n为压缩等级,-1最快,-9最慢,预设默认值为-6
27. gunzip
格式:gunzip [op] file.gz
功能:压缩文件或目录
说明:file.gz为gzip命令压缩的文件,可以为文件,也可为目录,命令执行后生成“.gz”的压缩文件
op为命令选项,常用的有 -c、-d、-f、-l、-r、-t
- -c:把解压后的文件输出到标准输出设备,不去更动原始文件
- -d:解开压缩文件
- -f:强行解开压缩文件,不理会文件名称或硬连接是否存在,以及该文件是否为符号连接
- -l:列出压缩文件的相关信息
- -r:递归处理,将指定目录下的所有文件及子目录一并处理
- -t:测试压缩文件是否正确无误
28. tar
格式:tar [op] dirName
功能:用来压缩和解压文件
说明:dirName为必须,tar本身不具有压缩功能。他是调用压缩功能实现的
命令参数:
-
-A:新增压缩文件到已存在的压缩
-
-c:建立新的压缩文件
-
-d:记录文件的差别
-
-r:添加文件到已经压缩的文件
-
-u:添加改变了和现有的文件到已经存在的压缩文件
-
-x:从压缩的文件中提取文件
-
-t:显示压缩文件的内容
- -z:支持gzip解压文件
-
-v:显示操作过程
-
-k:保留原有文件不覆盖
-
-m:保留文件不被覆盖
-
-W:确认压缩文件的正确性
-
-C:切换到指定目录
- -f:指定压缩文件
常见解压/压缩命令
tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
二、网络操作
29. ifconfig
格式:ifconfig [网络设备] [op]
功能:用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。
说明:
常用命令:
1 2 3 4 5 6 |
|
30. ping
格式:ping [op] [主机名或IP地址]
功能:确定网络和各外部主机的状态;跟踪和隔离硬件和软件问题;测试、评估和管理网络
说明:ping 命令每秒发送一个数据报并且为每个接收到的响应打印一行输出。ping 命令计算信号往返时间和(信息)包丢失情况的统计信息,并且在完成之后显示一个简要总结。ping 命令在程序超时或当接收到 SIGINT 信号时结束。Host 参数或者是一个有效的主机名或者是因特网地址。
op为命令选项,常用的有
-
-f:极限检测。大量且快速地送网络封包给一台机器,看它的回应。
-
-i:秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
- -t:存活数值:设置存活数值TTL的大小。
31. telnet
格式:telnet[op][ip或域名][端口]
功能:确认目标主机端口是否打开,如
1 |
|
说明:启动telnet服务命令
1 |
|
32. netstat
格式:netstat [op]
功能:netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况
说明:
命令参数如下:
- -a:显示所有连线中的Socket。
- -c:持续列出网络状态。
- -e:显示网络其他相关信息。
- -l:显示监控中的服务器的Socket。
- -M:显示伪装的网络连线。
- -n:直接使用IP地址,而不通过域名服务器。
- -p:显示正在使用Socket的程序识别码和程序名称。
- -r:显示Routing Table。
- -s:显示网络工作信息统计表。
- -t:显示TCP传输协议的连线状况。
- -u:显示UDP传输协议的连线状况。
33. wget
格式:wget [op] [url]
功能:用于从网络上下载资源
说明:没有指定目录,下载资源回默认为当前目录。
特点:
- 支持断点下传功能
- 同时支持FTP和HTTP下载方式
- 支持代理服务器
op为命令选项,分为启动参数、记录和输入文件参数、下载参数、目录参数、HTTP选项参数、FTP选项参数、递归下载参数等。