常用linux命令总结 文件目录操作命令: 1、ls:显示当前目录下的文件及文件夹 用法:ls -a或者ls -a / (1)-a:显示所有文件,包括.和.. (2)-A:显示所有文件,不包括.和.. (3)-h:–human-readable 必须配合-l使用,以容易理解的格式列出文件大小 (例如 1K 234M 2G) (4)-l:除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。 (5)-r:以相反次序排序 (6)-S:根据文件大小排序 (7)-t:以文件修改时间排序 2、cd :进入目录 用法:cd - (1)cd -:进入此目录之前所在目录 (2)cd ~:进入当前用户主目录 3、pwd:显示当前工作目录 用法:pwd 4、mkdir:创建指定名称的目录 用法:mkdir test或者mkdir -m 777 test (1)-m:设定权限 5、rm:删除文件或目录 用法:rm -rf test.log (1)-f:忽略删除提示 (2)-r:对目录进行递归删除 6、rmdir:删除空目录,不能删除非空目录 用法:rmdir test 7、mv:可以用来移动文件或给文件改名,经常用来备份文件或目录 用法:mv test.log test1.log或者mv test test,是移动还是改名需要看第二个参数是目录还是文件,同时还要看是否存在 8、cp:用来复制文件或者目录 用法:cp test1.log test2.log或者cp -a test1 test2 (1)-a:复制文件夹里的所有内容 9、touch:用来新建一个不存在的文件,或者修改文件的时间戳 用法:touch test.log 10、cat:显示整个文件、创建一个新文件、将几个文件合并为一个文件 用法:cat test.log或者cat > test1.log或者cat test1.log test2.log > test3.log (1)-b:对非空输出行编号 (2)-n:对输出的所有行编号(由1开始) 11、nl:计算文件中行号(和cat基本相同) 用法:nl test.log 12、more:一页一页的显示文件内容(无向前翻一页的功能) 用法:more +3 test.log 操作: Enter:向下1行 空格键:向下滚动一屏 B键:返回首页 =:输出当前行的行号 :f: 输出文件名和当前行的行号 q:退出more (1)+n:从第n行开始 (2)-n:定义屏幕大小为n行 13、less:一页一页的显示文件内容(有向前翻一页的功能) 用法:less test.log 操作: Enter:向下1行 空格键:向下滚动一屏 箭头上:向上一行 箭头下:向下一行 page up:向前一页 page down:向后一页 (1)-m:显示类似more的百分比 (2)-N:显示每行的行号 14、head:显示文档的开头到标准输出中 用法:head -n 10 (1)-n:显示的行数 15、tail:显示文档的结尾到标准输出中 用法:tail -n 10 (1)-f:循环读取 (2)-n:显示的行数 文件查找命令: 16、which:查看可执行文件位置 用法:which ls 17、whereis:只能用于程序名的搜索,而且只搜索二进制文件 用法:whereis svn 18、find:在目录中搜索文件 用法:find / -name test.log或者find -type f -size +1G (1)-name:按照文件名查找 (2)-size:查找大于或小于某个值的文件和文件夹 (3)-type:按文件类型查找,d是仅目录,f是仅文件 (4)-amin:查找系统中最后N分钟访问的文件 (5)-atime:查找系统中最后n*24小时访问的文件 (6)-cmin:查找系统中最后N分钟被改变文件状态的文件 (7)-ctime:查找系统中最后n*24小时被改变文件状态的文件 (8)-mmin:查找系统中最后N分钟被改变文件数据的文件 (9)-mtime:查找系统中最后n*24小时被改变文件数据的文件 文件和目录属性: 19、目录结构 (1)/bin是可执行文件目录(放置mv、cp等命令的目录) (2)/boot是开机与核心文档 (3)/dev是装置与周边设备文档 (4)/etc是系统配置文件目录 (5)/home是使用者家目录 (6)/lib是系统函数库目录 (7)/media是可拆卸额外装置目录 (8)/mnt是可拆卸额外装置目录 (9)/opt是第三方协体软件目录 (10)/sbin是设定系统环境目录 (11)/usr是软件放置处目录 (12)/srv是网络服务启动后所需资料目录 (13)/tmp是临时文件目录,重启后会被清空 (14)/lost+found是系统错误遗失片段放置目录 (15)/var是系统运行后产生的缓存等放置目录 (16)/proc是虚拟文件系统,运行时记录核心等资讯(存放在内存中,不占用硬盘空间) (17)/sys是和/proc一样的虚拟文档目录,同样存放在内存中 20、chmod:改变文件或目录的权限 用法:chmod 777 test.log或者chmod -R 777 test (1)-R:递归目录结构 21、chown:将指定文件的拥有者改为指定的用户或组 用法:chown root test.log或者chown -R root test (1)-R:递归目录结构 磁盘存储相关: 22、df:检测文件系统磁盘占用情况(已挂载的磁盘) 用法:df -h (1)-a:全部文件系统列表 (2)-h:方便阅读的形式显示(10K、1G这样显示) 23、du:对文件和目录磁盘使用情况的查看 用法:du -h /test.log或者du -h -max-depth=1 /test (1)-h:方便阅读的形式显示(10K、1G这样显示) (2)-s:仅显示最后的总计值 (3)-c:列出每个文件夹以及总文件夹的大小 (4)–max-depth=<目录层数>:列出目录层数深度的信息 性能监控和优化命令: 24、top:性能分析工具(资源管理器) 25、free:显示linux系统中内存、swap、buffer的使用情况 用法:真实free = 内存free + swap free + buffer free + cache free (1)-b:以byte为单位显示内存使用情况 (1)-k:以KB为单位显示内存使用情况 (1)-m:以MB为单位显示内存使用情况 (1)-g:以GB为单位显示内存使用情况 (1)-t:显示内存总和列 26、vmstat:虚拟内存统计 27、lsof:列出当前系统打开的文件 网络命令: 28、ifconfig:获取网络接口配置信息并对此进行修改 用法:ifconfig (1)up:启动指定网卡 (2)down:关闭指定网卡 (3)add:给指定网卡配置IPV6地址 (4)del:删除指定网卡的IPV6地址 (5)netmask:设置网卡的子网掩码 (6)address:设置网卡的IPV4地址 29、route:显示和操作IP路由表 30、netstat:显示与IP、UDP、TCP、ICMP协议相关的数据,一般用于检验本机各端口的网络连接状况 用法:netstat -s (1)-s:网络工作信息统计表 31、ss:获取socket统计信息 32、talnet:常用来远程登录 33、rcp:远程文件拷贝(一般不用) 34、scp:远程拷贝文件(一般用) 用法:scp root@10.22.57.230:/test.test /(从远程服务器拉取拷贝文件) scp /test.test root@10.22.57.230:/(向远程服务器发送拷贝文件) (1)-r:递归复制整个目录 (2)-q:不显示传输进度条 (3)-l:限制用户传输所能使用的带宽(KB为单位) (4)-P:数据传输使用的端口号 其他命令: 35、ln:为某个文件在另外一个位置建立一个同步链接。当我们需要在不同目录使用到该文件时,我们不需要在每个目录下都放置一个该文件,只需要在某个目录下放置该文件,然后在其他目录下ln链接它就可以,不必重复占用磁盘空间。 注意:链接可分为两种,硬链接和软链接。硬链接(相当于windows中的文件副本,但不占用空间,不允许给目录创建)的意思是一个档案可以有多个名称,而软链接(类似于windows中的快捷方式,可以对目录创建)的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。 注意:ln命令不管是硬链接还是软链接,改变哪一处,其他文件都会同步改变。但是删除的话,就和windows中的快捷方式、副本、原文件三者的删除一样了 用法:ln test.log test1.log (1)ln什么都不加,是创建硬链接 (2)-s:创建软链接 (3)-b:删除、覆盖以前创建的链接 36、diff:比较两个文件的不同 用法:diff test.log test1.log (1)-H:比较大文件时可以加快速度 37、date:显示和设定系统日期与时间 用法:date -d “nov 22” (1)-d:显示字符串所指的日期与时间 (2)-s:根据字符串来设置日期与时间 38、grep:用于过滤和搜索固定字符 用法:ps -ef|grep svn (1)-n:显示行号 39、wc:统计文件中的字节、字数、行数 用法:wc -l /test.log或者统计某个文件夹中的文件数量:ls -l | wc -l (1)-c:统计字节数 (2)-l:统计行数 (3)-m:统计字符数 (4)-w:统计字数 40、ps:列出系统中当前运行的进程 用法:ps -ef(显示所有信息,连同命令行) (1)-a:显示同一终端的所有进程 (2)-e:显示环境变量 (3)-f:显示程序间的关系 (4)-au:显示较详细的资讯 (5)-aux:显示所有包含其他使用者的行程 (6)-A:显示所有进程 41、sort:对文件按字母进行升序排序 用法:sort -u (1)-u:去除重复行 (2)-r:降序排列 43、kill:杀死进程 44、crontab:定时任务(周期性或只执行一次都可以) 45、sed:编辑文件(按照每行来操作) 用法:(//两个斜杠中间是正则表达式) sed ‘s/test/test1/’ test.txt(只是在屏幕输出时替换每行的test字符为test1,不会真正改变文档内的内容) sed -i ‘s/test/test1/g’ test.txt(替换文档内的test为test1) sed -i ‘/123/a\test’ test.txt(在123下面一行加入test) sed -i ‘1i\1123’ test.txt(在文件第一行的上面插入1123) sed -i ‘1a\1123’ test.txt(在文件最后一行的下面插入1123) 命令: (1)-i:直接修改档案内容,而不是荧幕输出 (2)-n:只有经过处理的才会被显示出来 符号: (1)s:替换 (2)i\:在当前行上面插入文本 (3)a\:在当前行下面插入文本 (4)c\:把选定的行改为新的文本 (5)d:删除选择的行 46、echo:在显示器上显示一段文字 用法:echo ‘test’ 特殊符号: 47、>:可将结果写入文件中(该文件原有内容将被删除) 用法:echo ‘123’ > test.txt 48、>>:将内容附加到文件末尾 用法:echo ‘123’ >> test.txt 49、|:将命令的结果输出给另外一个命令作为输入用 用法:ps -ef | grep nginx 50、;:连续执行命令 用法:ls;ls;ls;ls 51、&:后台执行 用法:ps & (责任编辑:IT) |