`
Jameslyy
  • 浏览: 385038 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux 常用命令脚本

阅读更多

1 文件和目录操作

  • cd 改变当前文件目录
  • pwd 显示当前目录位置
  • ls 显示目录文件,-a 显示所有文件,-l 显示文件详细信息
  • mkdir 创建目录
  • rm 删除文件,-r 参数:递归文件夹删除目录和文件,-f 强制删除,root用户慎用-f参数
  • rmdir 删除文件夹
  • mv 移动或重命名文件
  • touch 修改文件的访问时间,如果文件不存在,则会创建一个空文件。
  • stat 查看文件详细信息,包括文件大小、索引节点值、创建时间、修改时间、访问时间等。
  • ln -s 创建软链文件,如果不加-s 参数,则创建硬链接
  • 统计文档数量:ll -lR books_dev | grep '^-' | grep 'pdf\|epub\|mobi' | wc -l

2 查看文件内容

  • cat  显示全部文件内容
  • more  可向后翻看文件内容
  • less    可前翻和后翻文件内容
  • head  查看文件头内容
  • tail      查看文件尾内容,-f 参数可以动态显示文件尾内容

3 改变文件权限

  • chmod 修改文件读、写和执行权限,可以使用字母或数字参数,例:chmod u+x file,用户类型:u:表示文件所有者,g:表示同组用户,o:表示其它用户,a:表示所有用户。操作:+:添加某个权限,-:取消某个权限,=:赋予给定的权限,并取消原有的权限。权限:r:可读,w:可写,x:可执行。
  • chown 修改文件所属用户,例:chown user1 file
  • chgrp  修改文件所属组,例:chgrp user1 file

4. wc -[cmlw]  统计文本字节、字符、行数、单词数等

  • -c   字节数
  • -m  字符数
  • -l    行数
  • -w  单词数

5. 文本搜索 grep [-e] pattern content_file

  • -e 使用正则表达式,-E使用扩展正则表达式,-F 匹配固定文本,默认支持匹配符号
  • -v 搜索不包含模式的文本
  • -A n 显示匹配行及之后的n行内容
  • -B n 显示匹配行及之前的n行内容
  • -C n 显示匹配行及前后的n行内容
  • -c 统计行数
  • -n 输出行号
  • -l 输出文件名称
  • -r 递归文件夹搜索
  • --color=auto 按颜色显示匹配字符串

6. 排序: sort -nr -t ':' -k 2 result_file

  • -nr  按数字大小倒排序
  • -t ':' -k 2  按照冒号 ':' 分隔字符串,并按照第二个字段排序 

7. uniq 去重,通常在排序之后去重

 

8. 查看磁盘使用情况

  • df -h 显示文件系统的磁盘使用情况,包括大小、已用、可用空间,使用率以及挂载点
  • du -sh * 统计每个文件及文件夹占用磁盘大型

9 ps 查看进程

  • ps aux 使用BSD格式显示所有进程的信息
  • ps -ef  使用标准格式显示所有进程的信息

10 监控系统运行状态: top -M

  • 参数-M 以k/M/G单位显示内存使用情况
  • 快捷键 T:以CPU使用时间排序进程
  • 快捷键 P:以CPU使用率排序进程
  • 快捷键 M:以内存使用率排序进程
  • 快捷键 N:以进程序号大小排序进程
  • 快捷键 ?:显示可以使用的快捷键
  • l t m,l:显示负载情况,t:显示进程状态统计和cpu使用情况,m:显示内存使用情况
  • c i,c:显示进程命令名称或完整命令,i:只显示idle状态进程
  • z:改变数据文本颜色
  • q:退出top程序

11. awk  基于列的文本处理工具

分组排序:统计分组数量并按数量排序,类似sql group by field order by count 

awk -F ","  'BEGIN{print "分类\t数量"} $1>=100&&$1<=200 {a[$1]++} END{for (i in a) print i "," a[i]}'  file 

  • -F "," 分隔文本行
  • 单引号部分实现分组统计数量,BEGIN部分打印头,中间是范围条件以及统计脚本,END部分是打印分组数量
  • 最后跟文件名称

统计某类程序占用的全部内存:

ps axu | grep php | grep -v grep | awk '{print $2}' | xargs -i cat /proc/{}/status | grep VmRSS | awk '{a=a+$2} END{print a}'

 

把按行存储的关键字转换成sql in 可用参数:

 

cat tmpfile | awk -F '|' '{print $2}' | awk -v d="','" -v d0="'" 'BEGIN{} {a=a""d""$1} END {print a d0}'

 

12.  sed 面向流的文本编辑器

sed -n -e 'p' content.txt 显示文本内容

  • -n 不自动显示模式空间
  • -e 'script' 指定处理命令
  • 'p' 打印行
  • -f 指定脚本文件

命令作用范围

  • 1,3 第1行到第3行
  • 1,$ 第1行到最后一行
  • [/pattern1/], [/pattern2/] 两个匹配范围之间的行

 编辑命令:

  • sed -e '3 i abc' content_file   在行之前插入文本行
  • sed -e '3 a abc' content_file  在行之后添加文本行
  • sed -e '3 d' content_file         删除行
  • sed -e '1,3 s/min/max/' content_file     替换行行内文本,默认替换第一个符合条件的字符串,加上数字可选性,则可以限定替换第几个符合条件字符串,g替换全部符合条件的字符串
  • sed -e '1, 3 c abc' content_file     替换全部行

13 locate,find,which 和 who

  • locate 到文件索引数据库中查找文件,数据库中的文件信息可能和实时文件系统不一致,可能会查不到文件,但是速度很快。
  • find 在文件系统中查找文件,速度比locate要慢
  • which 查看命令的完整目录,which会到PATH环境变量定义的目录中查找命令的完整目录。
  • who 查看系统当前登录用户。 

14 tar 归档文件

  • -c :创建压缩文件
  • -x :解开压缩文件
  • -t :查看压缩文件中的文件
  • -z :使用gzip压缩
  • -j :使用bzip2压缩
  • -v :压缩的过程中显示文件
  • -f :指定归档文件名称,必须在其后跟文件名
  • 完整命令,tar zxvf  zip.tar.gz  ./test/*  , tar zcvf zip.tar.gz 

15 用户和密码

  • add user 创建用户,可以通过参数定义用户的一些属性,如所属的组、home目录等。
  • passwd 修改密码,root和普通用户都可以直接输入passwd来修改自己的密码,root可以使用passwd username来修改其他用户的密码。
  • su 切换用户,如果不加参数默认切换到root,可以跟用户名参数
  • sudo 使用root用户来执行命令或脚本 
  • useradd -g 1000 -d /home/usera -s /bin/bash -m usera

16 screen

       直接输入screen,就可以进入一个screen会话,在screen会话中可以执行任何命令,然后通过ctrl + a, d快捷键退出会话,进行别的工作,当需要的时候可以通过screen -r 会话ID,回到之前的screen 会话,接着进行工作,或者监控之前执行的任务。screen 特别适合需要长时间运行的工作任务,可以在screen会话中执行这样的任务,然后退出会话,当需要的时候通过screen -r 回到之前的会话。

  •  screen -ls  列出所有当前的screen 会话
  •  screen -r 会话ID,回到某一个会话
  •  ctrl + a, d  detach screen会话,暂时退出screen 会话
  •  执行exit就直接退出会话了
  •  也可以在screen后直接跟命令,开启一个screen会话。

17 bash快捷键

  • ctrl+a:光标移到行首。
  • ctrl+b:光标左移一个字母
  • ctrl+c:杀死当前进程。
  • ctrl+d:退出当前 Shell。
  • ctrl+e:光标移到行尾。
  • ctrl+h:删除光标前一个字符,同 backspace 键相同。
  • ctrl+k:清除光标后至行尾的内容。
  • ctrl+l:清屏,相当于clear。
  • ctrl+r:搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的history
  • ctrl+u: 清除光标前至行首间的所有内容。
  • ctrl+w: 移除光标前的一个单词
  • ctrl+t: 交换光标位置前的两个字符
  • ctrl+y: 粘贴或者恢复上次的删除
  • ctrl+d: 删除光标所在字母;注意和backspace以及ctrl+h的区别,这2个是删除光标前的字符
  • ctrl+f: 光标右移
  • ctrl+z : 把当前进程转到后台运行,使用’ fg ‘命令恢复。比如top -d1 然后ctrl+z ,到后台,然后fg,重新恢复
  • esc组合
  • esc+d: 删除光标后的一个词
  • esc+f: 往右跳一个词
  • esc+b: 往左跳一个词
  • esc+t: 交换光标位置前的两个单词。

 

 

待续......

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics