`
qindongliang1922
  • 浏览: 2147575 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:116328
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:124593
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:58457
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:70354
社区版块
存档分类
最新评论

Linux常用命令

阅读更多
一、文件和目录操作
1. pwd--显示工作目录路径
语法: #pwd
功能:显示当前用户所处的工作目录的绝对路径。

2. cd--更改工作目录路径
语法:cd [目录名]
功能:更改工作目录路径,可以使用绝对或相对路径名,绝对路径从/(根)开始,相对路径从当前目录开始。
示例:
#cd /etc  //更改工作目录为/etc
#cd ..  //更改工作目录为当前目录的父目录
#cd ~  //更改工作目录为用户登录时的工作目录
#cd ~tong  //更改工作目录为用户tong的宿主目录

3. ls--列出子目录和文件信息
语法:ls [选项] [目录或是文件]
功能:对于目录,该命令将列出其中的所有子目录与文件信息;对于文件,该命令将输出其文件名以及所要求的其它信息。
选项:
-a:显示指定目录下所有子目录与文件,包括隐藏文件
-A:显示指定目录下所有子目录与文件,包括隐藏文件,但不列出"."和'..'
-b:对文件名中的不可显示字符用八进制字符显示
-c:按文件的修改时间顺序显示
-F:在目录名后面标记"/",可执行文件后面标记"*",符号链接后面标记"@",管理或FIFO后面标记"|",socket文件后面标记"="
-l:以长格式来显示文件的详细信息,第1列显示文件访问权限,第2列显示文件的链接数,第3列显示文件的所有者,第4列显示文件的用户组名,第5列显示文件的字节数,第6、7、8列显示文件上一次修改时间,第9列显示文件名(文件名前带有"."的为隐藏文件)
示例:
#ls -al  //显示当前目录所有文件、目录的详细信息

4. touch--创建空文件、更改文件时间
语法:touch [-acfm] [-d<日期时间>] [-r<参考文件或目录>] [-t<日期时间>] [文件]
功能:创建空文件、更改文件的创建时间
选项:
-a:改变文件的修改时间记录
-m:改变文件的修改时间记录
-c:假如文件不存在,不会建立新的文件
-d:设定时间与日期
-t:设定文件的时间记录
示例:
#touch filename  //创建空文件
#touch -c -t 01012014 filename  //将文件filename的时间记录修改为2014年1月1日

5. mkdir--创建目录
语法:mkdir [选项] [目录名]
功能:创建目录
选项:
-m:对新建目录设置权限,没有-m选项时,默认权限是755
-p:可以是一个路径,若路径中某些目录不存在,会自动创建不存在的目录

6. rmdir--删除空目录
语法:rmdir [选项] [目录名]
功能:删除空目录
选项:
-p:递归删除多个目录,当子目录删除后父目录为空时也一同删除

7. cp--复制文件和目录
语法:cp [源文件或目录] [目标文件或目录]
功能:复制文件和目录
选项:
-a:复制目录时使用,它保留链接、文件属性,并递归地复制目录
-d:复制时保留链接
-f:在覆盖目标文件之前不给出提示信息要求用户确认
-i:与-f相反,回答y时文件将被覆盖
-p:将修改时间和访问权限也复制到新文件
-r:若源文件是一个目录,将复制该目录下所有的子目录和文件
-l:不作拷贝,只是链接文件
示例:
#cp ex.c /log //将文件ex.c复制到/log下
#cp -i ex1.c /log/ex2.c  //将文件ex1.c复制到/log下,并改名为ex2.c
#cp -r /log1/ /log2/  //将log1目录下的所有文件复制到目录log2下

8. mv--文件和目录改名、移动文件和目录路径
语法:mv [选项] [源文件或目录] [目标文件或目录]
功能:文件和目录改名、移动文件和目录路径
选项:
-i:提示是否覆盖提示
-f:不提示
示例:
#mv /root/log/*.log /root/log2  //将/root/log后缀为log的文件移到/root/log2目录下
#mv /root/log/1.log /root/log/2.log  //将/root/log目录下1.log重命名为2.log
#mv /root/log1 /root/log2  //将log1目录名改为log2

9. rm--删除文件和目录
语法:rv [选项] [文件或目录]
功能:删除文件和目录,对于链接文件,只是断开链接,原文件保持不变
选项:
-i:给出提示
-f:不给出提示
-r:指示rm将参数中列出的全部目录和子目录均递归地删除
示例:
#rm log  //删除当前目录下的log文件

10. wc--统计文件字节数、字数、行数
语法:wc [选项] [文件]
功能:统计文件字节数、字数、行数
选项:
-c:统计字节数
-l:统计行数
-w:统计字数

二、文本显示和处理
1. cat--显示文本文件
语法:cat [选项] [文件名]
功能:显示文本文件或把几个文件内容附加到另一个文件中
选项:
-n:由1开始对所有输出的行数编号。
-b:和-n相似,只不过对于空白行不编号。
-s:当遇到有连续两行以上的空白行,就代换为一行空白行。
-e:在每行末尾显示$符号
示例:
#cat -n text1 > text2  //把text1的内容加上行号后输入到text2
#cat -n text1 text2 >> text3  //把text1和text2的内容加上行号后输入到text3

2. more--分页显示文本文件
语法:more [-dlfpcsu] [-num] [文件名]
功能:分页显示文本文件,空格显示下页,b键返回上一页
选项:
-num:一次显示的行数
+num:从第num行开始显示
-s:将连续两行以上的空白行代换为一行空白行
-f:按实际的行数而非自动换行过后的行数
-p:不以卷动的方式显示每一页,而是先清除屏幕后再显示内容

3. less--回卷显示文本文件
语法:less [选项] [文件名]
功能:和more相似,不同的是less允许使用都往回卷动
选项:
-E:第一次到文件尾后自动退出
-s:将多个空行压缩成一个空行

4. head--显示指定文件前若干行
语法:head [选项] [文件名]
功能:显示指定文件前若干行
选项:
-n:输出文件的前n行内容,缺省时显示文件的前10行
示例:
#head -5 a.log  //查看a的前5行内容

5. tail--查看文件末尾数据
语法:tail [选项] [文件名]
功能:查看文件末尾数据
选项:
-c:显示文件后部的n个字符
+n:从第n行以后开始显示
-n:从距文件末尾n行处开始显示,默认为10
-f:显示自动刷新
示例:
#tail -5 a.log  //查看a的最后5行内容

6. sort--排序显示文件
语法:sort [选项] [文件名]
功能:可以对文件中的数据进行排序,并将结果显示在标准输出上。
选项:
-m:若给定的文件已排好序,合并文件
-u:对排序后认为相同的行只保留其中一行。
-r:按逆序输出排序结果
-M:按月份比较

7. uniq--将重复行从输出文件中删除
语法: uniq [选项] [文件名]
功能:使用uniq命令可以将文件内的重复行数据从输出文件中删除,只留下每条记录的唯一样本。
选项:
-c:在每行首加上本行在文件中出现的次数
-d:只显示重复行
-u:只显示不重复的行

8. cut--从文件每行中显示出选定的字节、字符或字段
语法: cut {-b List [-n] | -c List | -f List [-s] [-d Character]} [文件名]
功能:使用cut命令可以从文件的每行中显示出选定的字节、字符或字段。
选项:
-f:指定文件中设想被定界符隔开的字段的列表(在List中)
-d:使用Character变量指定的字符作为定界符,用户必须在对Shell有特殊意义的字符上加上引号

9. comm--比较两个已排过序的文件
语法:comm [选项] [文件名1] [文件名2]
功能:对两个已经排好序的文件进行比较,并将其结果显示出来
选项:
-1:不显示仅在文件1中存在的行
-2:不显示仅在文件2中存在的行
-3:不显示在文件1,文件2中都存在的行

10. diff--逐行比较两个文本文件,列出其不同之处
语法:diff [选项] [文件名1] [文件名2]
功能:逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序
选项:
-b:忽略行尾的空格
-c:采用上下文输出格式
-r:当文件1和文件2是目录时,递归作用到各文件和目录上

11. tac--反向显示文本文件
语法:tac [选项] [文件名]
功能:由最后一行到第一行反向在屏幕上显示出来。

三、文件和命令的查找
1. grep--查找文件中符合条件的字符串
语法: grep [可选] [字符串] [文件名]
功能:查找文件里符合条件的字符串
选项:
-c:只显示匹配的行数
-I:忽略字母大小写
-n:输出时加上行号
-v:反转查找,只显示不包含指定字符串的行
-x:只显示整行严格匹配的行
示例:
#grep "test" error*  //在所有以error开头的文件名的文件中查找包括test字符串的行

2. find--列出文件系统中符合条件的文件或目录
语法:find [路径] [选项] -print
功能:将文件系统内符合条件的文件列出来,可以指定文件的名称、类别、时间、大小、权限等不同信息的组合
选项:
-name:按照文件名来查找文件
-perm:按照文件名来查找文件
-user:按照文件属主来查找文件
-group:按照文件所属的组来查找文件
-cmin n:在过去n分钟内被修改过的文件
-ctime n:在过去n天内被修改的文件
-size n:大小为n的文件
-type:查找某一类型的文件
示例:
#find -name "*.log" -print //查找以.log结尾的文件(同#find *.log)
#find . -cmin -10 //查找最近10分钟更新过的文件

3. locate--在数据库中查找文件
语法:locate
功能:使用locate命令可以用于查找文件,比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来建立。当建立好这个数据库后,就可以方便地搜寻所需文件了

4. whereis--查找指定文件、命令和手册页位置
语法:whereis [选项] [要查找的字符串]
功能:使用whereis命令可以查找指定文件、命令和手册页的位置。
选项:
-b 只查找二进制文件
-m 只查找说明文件
-s 只查找源代码文件

5. file--查询文件类型
语法:file [选项] [文件名]
功能:使用file命令可以查询指定文件的文件类型。

6. whatis--查询命令功能
语法:whatis [命令]
功能:使用whatis命令可以查询指定命令的命令功能。

7. which--显示可执行命令路径
语法:which [命令]
功能:显示可执行命令路径

四、进程管理
1. ps--监控后台进程的工作情况
语法:ps [选项] [/b]
功能:监控后台进程的工作情况
选项:
-a:显示所有用户进程
-e:显示进程环境变量
-l:给出详细的信息列表
-r:只显示正在运行的进程
-w:按宽格式显示输出
-u:打印用户格式,显示用户名和进程的起始时间

2. top--动态显示当前正运行的进程
语法:top [bciqsS] [d <间隔秒数>] [n <执行次数>]
功能:动态监控后台进程的工作情况,不设置时默认每5秒更新一次,按q键退出
选项:
-b:使用批处理模式
-c:列出程序时显示每个程序的完整命令
-d:设置刷新的间隔时间
-i:执行top命令时忽略闲置或是已成为Zombie的程序
-n:设置监控信息的更新次数
-q:持续监控程序执行的状况
-s:使用保密模式,消除互动模式下的潜在危机
-S:使用累计模式

3. kill--结束进程
语法:kill [选项] [进程号]
功能:结束进程
选项:
-9:无条件撤销一个进程

五、网络测试命令
1. ifconfig--显示或设置网卡IP地址
语法:ifconfig [选项]
功能:显示或设置网卡IP地址

2. ping--测试网络的连通性
语法:ping [ip地址]
功能:测试网络的连通性

3. netstat--显示网络状态信息
语法:netstat [选项]
功能:显示网络状态信息,包括连线信息、路由表、端口等
选项:
-a:显示所有连线中的Socket
-l:显示监控中的服务器的Socket
-p:显示正在使用Socket的程序识别码和程序名称
-r:显示路由表
-s:显示网络工作信息统计表
-t:显示TCP传输协议的连线状况
-u:显示UDP传输协议的连线状况
示例:
#netstat | grep 8080  //查看8080端口的网络状态

六、其它命令
1. clear--清除屏幕上的信息
语法:clear
功能:清除屏幕上的信息

2. shutdown--关闭和启动系统
语法:shutdown [选项] [时间] [警告信息]
功能:shutdown命令可以安全的关闭或重启系统,只能由超级用户使用
选项:
-k:并不真正关机,只是发出警告信息给所有用户
-r:关机后立即重新启动
-h:关机后不重新启动
-f:快速关机,重启时跳过fsck
-n:快速关机,不经过init程序
-c:取消一个已经运行的shutdown
-time:设定关机前的时间
示例:
#shutdown -h now  //立即关闭系统
#shutdown -r 45 "system will be reboot now!"  //45分钟后重启系统并警告

3. help--查看命令帮助
语法:[命令] --help
功能:查看命令帮助

4. 查看软硬件信息
查看计算机CPU信息:#cat /proc/cpuinfo
查看主机DMA通道信息:#cat /proc/dma
查看文件系统信息:#cat /proc/filesystems
查看主机中断信息:#cat /proc/interrupts
查看主机I/O端口号信息:#cat /proc/ioports
查看计算机内存信息:#cat /proc/meminfo
查看Linux版本信息:#cat /proc/version
查看板卡信息: #cat /proc/pci

七、操作
1. 通配符
?:代表任何单一字符
*:代表任何字符
[..]:在中括号中的字符皆符合
[!..]:不在中括号中的字符皆符合

2. 常用控制键组合
Ctrl+C:中止目前的命令
Ctrl+\:中止目前的命令
Ctrl+D:输入结束,或注销Linux
Ctrl+Z:暂停目前的命令
Ctrl+M:相当于按“Enter”键
Ctrl+S:暂停屏幕输出
Ctrl+Q:恢复屏幕输出
Ctrl+U:将命令列整列删除

Ctrl+k:删除从光标到行尾的部分
Ctrl+u:删除从光标到行首的部分
Alt+d:删除从光标到当前单词结尾的部分
Ctrl+w:删除从光标到当前单词开头的部分
Ctrl+a:将光标移动到行首
Ctrl+e:将光标移动到行尾
Alt+a:将光标移到当前单词头部
Alt+e:将光标移动到当前单词尾部
Ctrl+y:插入最近删除的单词
!$:重复前一个命令最后的参数

3. Shell实用功能
Tab:命令行自动补全
↑↓:遍历命令历史记录

4. 重定向
输出重定向:[命令] > file  //将命令的输出保存到文件file中,如果存在相同的文件则覆盖file中的内容
输入重定向:[命令] < file  //将文件file的内容作为命令的输入
错误重定向:[命令] 2> file  //将命令执行的出错信息输出保存到文件file中
追加重定向:[命令] >> file  //将命令的输出添加到已存在的文件file中
同时实现输出和错误的重定向:[命令] &> file  //将命令的输出和出错信息都保存到文件file中

5. vi编辑器的基本使用方法
进入vi编辑器:vi [文件名]  //进入vi后,系统处于命令模式,要切换到插入模式才能够输入文字
切换到插入模式编辑文件:i  //按"ESC"退回到命令模式
退出并保存文件:在命令模式下,按冒号":"进入末行模式,输入"wq"存盘并退出vi,输入"q!"不存盘强制退出vi
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics