Linux中许多常用命令是必须掌握的,下面是我作为程序开发常用到的一些Linux命令,总结分享给大家(当然与运维系统管理是有所不同的^_^!)。
格式:cd [dirName]
功能:切换当前目录至dirName
说明:dirName为可选,默认为登录用户指定文件夹(一般为/home/用户名)。dirName既可以为绝对路径,即以根目录(‘/’)为起始,如/home、/usr;也可以为相对路径(‘../'),如../target(当前路径上一层文件夹的target目录)。
格式:ls [op] [dirName]
功能:列出目标目录中所有的子目录和文件。
说明:dirName为目标目录,为可选,默认为当前目录,也可使用正则匹配,如
1
|
ls t
*
|
列出当前目录所有以字母’t'开头的文件、文件目录。op为命令选项,常用的有-a、-l、-t。
参数可连用即
1
|
ls
-
al
|
等价于
1
|
ls
-
a
-
l
|
格式:pwd [op]
功能:查看”当前工作目录“的完整路径
说明:一般情况不带任何参数。
格式:mkdir [op] dirName
功能:通过 mkdir 命令可以实现在指定位置创建以 dirName(指定的文件名)命名的文件夹或目录。
要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。
且所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名(区分大小写)。
说明:dirName参数必须,可直接使用文件夹名,相对路径文件夹名或绝对路径文件夹名。如
1
2
3
|
mkdir test1
# 在当前目录下创建test1文件夹
mkdir ..
/
test1
# 在当前目录的父文件夹中创建test1文件夹(相对路径)
mkdir
/
test1
# 在根目录下创建test1文件夹(绝对路径)
|
op为命令选项,常用选项有-m、-p。
格式:rmdir [op] dirName
功能:若dirName文件夹为空,则删除。
说明:dirName参数必须。
op为明亮选项,常用选项有-p。
格式:basename [op] dirName
功能:返回文件或者目录的基本名称
说明:dirName参数必须,可以为路径名,也可以为文件名,文件夹名,basename命令会删掉所有的前缀包括最后一个‘/’字符,然后将字符串显示出来。如:
1
2
|
basename
/
app
/
test
/
name.out
#返回 name.out
|
格式:dirname dirName
功能:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)
说明:dirName参数为必须,返回路径名,与basename正相反(简单的讲,两者相加为完整路径。如
1
2
|
dirname
/
app
/
test
/
name.out
#返回 /app/test (注意:dirname返回路径不包含最后的‘/’)
|
格式:vi [op] dirName
功能:使用vi编辑器打开或新建文件。
说明:dirName参数必须。若dirName的文件不存在,则创建文件名为dirName的空文件并打开。
op为命令选项,默认为打开或新建文件,并将光标置于第一行首
格式:rm [op] dirName
功能:删除一个目录中的一个或多个文件或目录
说明:dirName参数必须,至少为一个文件或目录。
op为命令选项,常用的有-f、-r、-i
(注意:dirName可使用正则匹配,若rm命令后跟-rf选项,dirName参数不要使用正则匹配,请明确指定删除目录或者文件名,否则后果会很严重,切记~~~!!!)
格式:mv [op] dirName targetName
功能:若dirName、targetName为文件名,则mv命令会将dirName的文件名称修改为targetName;若targetName为文件夹,或dirName与targetName均为文件夹,则实现文件或文件夹的移动。
说明:dirName及targetName参数为必须,可以为文件名,也可以为文件夹路径名。
op为命令选项,常用的有-b、-f、-i、-u
格式:cp [op] dirName targetName
功能:将源文件复制至目标文件,或将多个源文件复制至目标目录。
说明:dirName及targetName参数必须,可以是目录或者文件。
op为命令选项,常用的有-f、-i、-r、-p
格式:diff[op] dirName targetName
功能:diff命令能比较单个文件或者目录内容。如果指定比较的是文件,则只有当输入为文本文件时才有效。以逐行的方式,比较文本文件的异同处。如果指定比较的是目录的的时候,diff 命令会比较两个目录下名字相同的文本文件。列出不同的二进制文件、公共子目录和只在一个目录出现的文件。
说明:比较文件或目录的不同,dirName、targetName参数为必须。
op为命令选项,常用的有-、-a、-b、-c、-p、-q、-u
格式:find pathname [op] ...
功能:find命令在目录结构中搜索文件,并执行指定的操作
说明:find具有强大的功能,所以它的选项也很多。在进行一个非常消耗资源的查找时,应把他放在后台执行。pathname为find命令所查找的目录路径。
op为命令选项,常用的有-name、-mtime
另,注意以下三个的区别:
-amin n:查找系统中最后N分钟访问的文件
-atime n:查找系统中最后n*24小时访问的文件
-cmin n:查找系统中最后N分钟被改变文件状态的文件
-ctime n:查找系统中最后n*24小时被改变文件状态的文件
-mmin n:查找系统中最后N分钟被改变文件数据的文件
格式:grep [op] pattern file
功能:用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用
说明:pattern为正则表达式。grep可利用管道符“|”与其他命令配合使用,过滤命令输出结果集
op为命令选项,常用的有-C、-i、-l、-n
格式:cat [op] file
功能:
说明:
op为命令参数,常用的有-b、-n、-s
格式:tac file
功能:从文件末尾输出文件内容
说明:与cat命令功能1相反
格式:rev file
功能:文件行内容反序输出
cat、tac、rev命令小结
1
2
3
4
5
6
7
8
9
10
11
12
|
# test 文件内容
# abcdefg
# hijklmn
$ cat test
abcdefg
hijklmn
$ tac test
hijklmn
abcdefg
$ rev test
gfedcba
nmlkjih
|
格式:head [op] file
功能: 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
说明:与tail命令相反,显示file文件开头内容
op为命令选项,有-n
1
|
head
-
n
5
file
#显示file文件的前5行,等价为 head -5 file
|
格式:tail [op] file
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。
说明:tail命令常用来查看日志文件,默认输出文件最后10行
op为命令参数,常用的有-f、-n
1
|
tail
-
n
5
file
#显示file文件最后5行数据,与 tail -5 file输出相同
|
1
|
tail
-
f test.log
#循环读取test.log的内容,只要test.log有新内容写入,将立即读取到标准输出
|
格式:echo string 或 echo $variable
功能:将string或$variable的值输出到屏幕上
说明:方便查看系统环境变量等信息
格式:wc [op] file
功能:统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
说明:
op为命令选项,常用的有-c、-l、-m、-w
格式:chown [op] [own][:[gro]] targetName
功能:通过chown改变文件的拥有者和群组
说明:targetName可以为文件,也可以为目录。在更改文件的所有者或所属群组时,普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员
op为命令选项,常用的有-c、-f、-R
格式:chmod [op] mode file
功能:用于改变文件或目录的访问权限,用它控制文件或目录的访问权限。
说明:mode为权限模式,分两种:一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法
1. 字母设定法
权限范围
权限代号
权限设定方式:权限范围[+|-|=]权限代号,如
1
2
|
chmod u
+
x textfile
#为 textfile文件设置为当前用户可执行权限
chmod a
+
x textfile
#为textfile文件设置所有用户及群组可执行权限
|
2. 数字设定法
数字与字符对应关系如下:
r=4,w=2,x=1
若要rwx属性则4+2+1=7
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
如
1
|
chmod
777
textfile
#等价于 chmod a+rwx textfile
|
格式:chgrp [op] [grp] file
功能:采用群组名称或群组识别码的方式改变文件或目录的所属群组。使用权限是超级用户。
说明:grp为群组,file为操作文件
op为命令选项,常用的有-c、-f、-R、-v
如
1
|
chgrp
-
R group dirName
# 遍历修改dirName文件夹所有子目录及文件所属群组为group
|
格式:gzip [op] dirName
功能:压缩文件或目录
说明:dirName为必须,可以为文件,也可为目录,命令执行后生成“.gz”的压缩文件
op为命令选项,常用的有 -c、-d、-f、-l、-r、-t
格式:zcat [op] file.gz
功能:查看压缩文件内容
说明:file.gz为gzip命令压缩的文件
op 为命令选项,常用的有-c、-t、-n
格式:gunzip [op] file.gz
功能:压缩文件或目录
说明:file.gz为gzip命令压缩的文件,可以为文件,也可为目录,命令执行后生成“.gz”的压缩文件
op为命令选项,常用的有 -c、-d、-f、-l、-r、-t
格式:tar [op] dirName
功能:用来压缩和解压文件
说明:dirName为必须,tar本身不具有压缩功能。他是调用压缩功能实现的
命令参数:
-A:新增压缩文件到已存在的压缩
-c:建立新的压缩文件
-d:记录文件的差别
-r:添加文件到已经压缩的文件
-u:添加改变了和现有的文件到已经存在的压缩文件
-x:从压缩的文件中提取文件
-t:显示压缩文件的内容
-v:显示操作过程
-k:保留原有文件不覆盖
-m:保留文件不被覆盖
-W:确认压缩文件的正确性
-C:切换到指定目录
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
格式:ifconfig [网络设备] [op]
功能:用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。
说明:
常用命令:
1
2
3
4
5
6
|
ifconfig eth0
192.168
.
120.56
netmask
255.255
.
255.0
# 给eth0网卡配置IP地址:192.168.120.56 ,并加上子掩码:255.255.255.0
ifconfig eth0 arp
# 开启网卡eth0 的arp协议
ifconfig eth0
-
arp
# 关闭网卡eth0 的arp协议
ifconfig eth0 up
# 为启动网卡eth0
ifconfig eth0 down
# 为关闭网卡eth0。ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。#
|
格式:ping [op] [主机名或IP地址]
功能:确定网络和各外部主机的状态;跟踪和隔离硬件和软件问题;测试、评估和管理网络
说明:ping 命令每秒发送一个数据报并且为每个接收到的响应打印一行输出。ping 命令计算信号往返时间和(信息)包丢失情况的统计信息,并且在完成之后显示一个简要总结。ping 命令在程序超时或当接收到 SIGINT 信号时结束。Host 参数或者是一个有效的主机名或者是因特网地址。
op为命令选项,常用的有
-f:极限检测。大量且快速地送网络封包给一台机器,看它的回应。
-i:秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
格式:telnet[op][ip或域名][端口]
功能:确认目标主机端口是否打开,如
1
|
telnet www.baidu.com
80
# 查看域名为www.baidu.com的主机80端口是否能够连通
|
说明:启动telnet服务命令
1
|
service xinetd restart
|
格式:netstat [op]
功能:netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况
说明:
命令参数如下:
格式:wget [op] [url]
功能:用于从网络上下载资源
说明:没有指定目录,下载资源回默认为当前目录。
特点:
op为命令选项,分为启动参数、记录和输入文件参数、下载参数、目录参数、HTTP选项参数、FTP选项参数、递归下载参数等。
(具体请参考:http://www.cnblogs.com/peida/archive/2013/03/18/2965369.html)
格式:su [用户] 或者 su - [用户]
功能:服务器用户相互切换
说明:su与su - 命令的区别:su命令只是切换了用户身份,而su -不仅切换了用户身份,也切换了用户的shell环境
格式:password
功能:修改用户密码
说明:只能修改自身密码,或者权限高的修改权限低的用户密码。如 root用户可修改本身密码,也可修改普通用户密码;而普通用户只能修改本身密码。
格式:history [op]
功能:查询命令历史记录
说明:history -c:清除所有的命令历史
格式:top [op]
功能:动态显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
说明:
op为命令选项:
格式:cal [op] [月][年]
功能:用于查看日历等时间信息
说明:如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
op为命令选项,如下
-1:显示一个月的月历
-3:显示系统前一个月,当前月,下一个月的月历
-s:显示星期天为一个星期的第一天,默认的格式
-m:显示星期一为一个星期的第一天
-j:显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
格式:date [op] [输入格式]
功能: 显示或设定系统的日期与时间
说明:op为命令选项,-s设定系统时间,只有root权限才能设置,其他只能查看
详细输入格式请参考 http://www.cnblogs.com/peida/archive/2012/12/13/2815687.html
格式:who [op]
功能:显示目前登入系统的用户信息。
说明:执行这项指令可得知目前有那些用户登入系统,单独执行who指令会列出登入帐号,使用的终端机,登入时间以及从何处登入。
op为命令选项:
格式:ps [op]
功能:显示当前进程的状态
说明:列出的是当前那些进程的快照,及命令执行时的进程状态
op为命令选项,如下:
-a:显示同一终端下的所有程序
-A:显示所有进程
-c:显示进程的真实名称
-e:显示环境变量
-f:显示程序间的关系
-r:显示当前终端的进程
-T:显示当前终端的所有程序
-u:指定用户的所有进程
-au:显示较详细的资讯
-aux:显示所有包含其他使用者的行程
--lines<行数>:每页显示的行数
--width<字符数>:每页显示的字符数
格式:clear
功能:清除屏幕内容
说明:本质上只是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的操作信息。
格式:kill [sig] pid
功能:终止进程
说明:pid指进程号,为必须参数。sig为信号。
kill命令可以带信号号码选项,也可以不带。如果没有信号号码,kill命令就会发出终止信号(15),这个信号可以被进程捕获,使得进程在退出之前可以清理并释放资源。也可以用kill向进程发送特定的信号。如
1
|
kill
-
9
8871
#强制终止进程号为8871的进程
|
格式:killall [op] [pname]
功能:杀死所有同名进程
说明:使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一
pname为进程名称,op为参数,常用如下:
说明:init实际是Linux系统中的进程,是系统所有进程的祖先。有六种模式:
1
2
3
4
5
6
7
8
|
init0:关机
init1:单用户形式,只root进行维护
init2:多用户,不能使用net
file
system
init3:完全多用户
init5:图形化
init6:重启
# 其中,init0、init6是系统内定的
|
格式:reboot [op]
功能:重新启动系统
说明:op为命令选项,如下:
格式:shutdown [op] time
功能:安全关闭或者重新启动系统
说明:time为选择关闭时间,op为命令选项,如下
格式:df [op] [file]
功能:检查linux服务器的文件系统的磁盘空间占用情况
说明:显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示
op为命令选项,常用如下:
格式:du [op][file]
功能:显示目录或文件的大小
说明:du会显示指定的目录或文件所占用的磁盘空间,file可以为文件,也可以为目录
op为命令选项,常用如下:
格式:free [op]
功能:显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存
说明:共享内存将被忽略。
op为命令选项,常用如下:
格式:crontab [-u user] file 或者 crontab [-u user] [ -e | -l | -r ]
功能:通过crontab 命令,可以在固定的间隔时间执行指定的系统指令或 shell script脚本
说明:时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常设合周期性的日志分析或数据备份等工作
命令选项及参数说明:
crontab时间设置格式:
1
2
3
4
5
6
7
|
#分 时 日 月 星期 命令
#* * * * * command
3
5
6
6
*
/
bin
/
echo `date`
#每年年6月6日5时3分执行/bin/echo 'date'命令
3
,
15
5
-
7
*
/
2
*
*
/
bin
/
echo `date`
#每隔两天的5时到7时的三分、十五分执行/bin/echo 'date'命令
|
总算写完了,哈哈。开发及项目部署能想到的就这么多了,如果有错误的地方请大家指出来,共同学习共同进步~~~~
最后附上参考资料:http://www.cnblogs.com/peida/tag/每日一linux命令/