linux命令集合

1850192 贡献于2017-01-12

作者 111110100  创建于2016-10-07 08:21:00   修改者111110100  修改于2016-12-05 13:23:00字数8966

文档摘要:
关键词:

 0. 常见问题 1. Linux命令下 .代表当前目录, ..代表所在目录上级目录, ./的作用跟什么都不写效果一样 2. Touch filename 创建一个文件名为filename的空文本文件 3. /etc/rc.d/rc.local 系统开机启动加载配置文件 4. . 文件名: 代表执行一个文件 . one_key_startup 执行该文件(不能使用./ 或者不写) 5. Killall java 杀死所有跟java相关的进程 6. Clear 清屏 7. chmod +x one_key_startup 8. df –h 显示文件系统磁盘空间占用量 h代表采用human readable的格式 g/M等 9. DHCP:dynamic host configuration protocol 动态主机配置协议 10. Dhcp介绍: DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段, 11. shell命令 地址:http://blog.csdn.net/felix_f/article/details/12433171 功能说明:显示文字。 语   法:echo [-ne][字符串] / echo [--help][--version] 补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。 参   数:     -n 不要在最后自动换行     -e 打开反斜杠ESC转义。若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出: 12. 查看电脑及操作系统相关信息 Uname –a 查看发行版本的信息 Cat /etc/issue .linux常用命令 1. 磁盘管理 1.ls命令 列出目录内容 格式:ls(list) [参数] [文件或目录] -a 下所有文件和目录 -l 使用详细列表格式 -s 用文件或目录的大小排序 -t 用文件和目录的更改时间排序 常用命令: Ls –l 非常常用,提供简化命令ll Ls –al Ll /home/ 显示指定目录下内容 2. cd命令 切换目录 格式: cd(change directory) [目录] 常用:cd ~ 当前用户目录(root目录) Cd / 根目录(/目录) Cd .. 上一次访问的目录 Cd 缺省当前用户目录(root目录) 3. pwd命令 pwd(print working directory):显示工作目录 4. mkdir命令 mkdir(make directory):创建目录 -p 父目录不存在先创建父目录 -v 显示命令执行过程中的详细信息 5.rmdir命令 Rmdir(remove directory):删除空目录(如果目录下有子目录或子文件,不能删除) -p 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除 2.文件管理 1. cat命令 cat(catenate): 显示文本文件内容 2. more命令 分页显示文件内容,还支持跳转行等功能 操作:enter 向下n行,需要定义.默认1行 空格键: 向下滚动一屏 B 返回上一屏 Q 退出more 3. less命令 分页显示文件内容,操作更详细 语法: less[参数] 文件 参数: -m 显示百分比 -N 显示每行的行号 空格 前进一页 B: 后退一页 Q: 退出 操作:向下操作 /control 向上搜索 ?control Ll | less –mN 将ll输出结果作为less查询内容(这里一定要是N,) 4. head命令 显示档案的开头至标准的输出中,默认head命令打印相应文件的开头10行 格式: head[参数][文件] 参数: -n 显示的行数 正数 显示正书行 负数: 倒着数(从0到第负多少行) Head –n 10 install.log Head –n -10 install.log 5. tail命令 用于显示指定文件末尾的内容,不指定文件时,作为输入信息进行处理; 常用于查看日志文件. 格式: tail[必要参数][选择参数][文件] -n 显示行数 -f 循环读取 Ping 127.0.0.1 >ip.log &(&表示后台运行,否则占用终端. 终端运行,Ctrl+c 退出) Tail –f ip.log 3.文件操作 1. cp命令 cp(copy) 复制文件或目录 语法: cp[参数][源文件或目录][目标文件或目录] -r(recursive): 递归处理,将指定目录下文件与子目录一并处理 -b(backup): 删除,覆盖目标文件之前的备份,备份文件会在字尾加一个备份字符串~ Cp –r ./abc ./xxx 复制目录必须使用-r参数 cp -r ../local ../0.0.1-SNAPSHOT 复制当前目录的上级目录下的local到指定文件夹下面 cp -r ../local/ ../0.0.1-SNAPSHOT 复制当前目录的上级目录下的local下的所有文件到指定文件夹下面 2. mv命令 mv(move)功能: 移动或更名现有的文件 (同目录下改名,不同目录下移动) 语法: mv[源文件][目标文件] -f(force): 若目标文件与现有文件重复,直接覆盖现有的文件 注意:目录非空时不能直接移动,但可以在同一目录下更名.在man的说明中只有file 3.rm命令 1.rm(remove) 删除文件或目录(支持通配符,如rm –rf itcast*,一条命令删除多个文件夹) 语法: rm [参数][文件或目录] 参数: -f 强制删除文件或目录 -r(recursive) 递归处理,将指定目录下所有文件和子目录一起处理 4.find命令 查找文件或目录 语法: find[目录…][参数] -name 指定字符串作为寻找文件或目录的范本样式 Find /root/ -name ‘test*’ 5.whereis命令(待研究) 查找文件() Whereis mysql 6. ln命令 ln(link): 连接文件或目录 参数: -s(symbolic) 对源文件建立符号连接 Ln /root/abc/ /root/mylink 目录不能直接创建快捷方式 Ln –s root/abc/ /root/mylink 目录创建快捷方式,必须使用-s Ll | grep mylink 查询所有中管道过滤mylink Ln /root/abc/ip.log /root/linkip Ll | grep linkip 4.文档编辑 1.vim命令 2.插入 3. 复制和粘贴 4.定位 5.删除 6.替换和取消命令 7.退出编辑 8.grep命令 grep(global regular expression print 全局正则表达式) 功能: 过滤或搜索特定字符, 格式: grep[option] pattern [file] -i(ignore-case) 忽略大小写 -c(count) 符合条件记录数 Grep –c ip install.log 输出log文件中ip的数目 其他格式: 其他命令 | grep 参数 过滤条件 Cat install.log | grep –I zip 在cat命令输出结果的基础上,进行过滤 9.wc命令 计算字数(默认计算三个参数的数目并打印) 语法: wc[-clw] -l 只显示列数 -w 只显示字数(只计算汉字的个数) -c 只显示bytes数 10.split命令 将一个大文件进行切分 Split[-a][-b][-c][要切割的文件][输出文件前缀名] 参数:-a 使用的后缀长度,默认2 -b 每个输出文件的字节大小 -c 每个输出文件的每行的最大字节数 -d 使用数字后缀代替字母后缀 -l 设定每个输出文件的行数 Split –l 200 –d –a 3 install.log itcast 每个文件最多200行,文件名后缀为数字,文件名后缀长度为3,文件名前缀为itcast. 5.系统命令 1.ps命令 Ps(process status) 格式: ps[参数] 参数: -a 显示终端机下所有执行的程序 -e 与a参数相同 -f 显示uid等 Ping 127.0.0.1 >ip.log& Ps –ef |grep –i ping 2.kill命令 删除执行中的任务或Kill -9 pid pid pid 杀死多个进程 程序 语法: kill [参数][程序] Kill 9强制终止 Kill -9 4194(-9参数在man中没有) 3. tar()命令:备份压缩 文件备份压缩 参数: -c 建立一个压缩文件的参数指令(create) -x 解开一个压缩文件的参数指令(extract) -z 是否需要用gzip压缩(如果是gz格式文件采用-z) -v 压缩过程中显示文件名() -f 使用档名,在f之后要立即接档名(file) -C 指定解压文件存放的目录 常见解压参数组合: zxvf 常见压缩参数组合: zcvf(tar –zcvf redis redis.tar.gz) Rm –rf ./itheima 将itheima移除,再解压 Ll | grep –i itheima Tar –zxvf ./itheima.tar Tar –zxvf itheima.tar –C itheima 0. unzip命令(用于war包和zip) 1. upzip solr.war –d solr 将war包解压到solr目录下 -d 指定解压文件存放的目录 4.关机重启 重启: Reboot Shutdown –r now 立刻重启(root用户使用) Shutdown –r 10 过10分钟自动重启(root使用) Shutdown –r 20:35 在时间20:35重启 关机: Halt 立刻关机 Poweroff 立刻关机 Shutdown –h now 立刻关机(root使用) Shutdown –h 10 10分钟后自动关机 如果通过shutdown命令设置关机,可以使用shutdown-c命令取消重启 5.文件权限:chmod命令 变更文件或目录的权限 语法: chmod[参数] 参数: -r 递归处理,将指定目录下所有文件和子目录一并处理 支持通配符 chmod * +x 给当前目录下所有的文件和目录赋予执行权限 权限代号: Mkdir xxx Chmod 777 xxx 给xxx目录添加所有权限 6.网络配置 7.命令总结 查看命令分类: type+命令 内部命令: cd 切换目录 Pwd : 显示当前工作目录 Help: 帮助 外部命令: Ls 显示文件和目录列表 Mkdir 创建目录 Cp 复制文件或目录 查看帮助文档 内部命令: help+命令 外部命令: man+命令 多个命令之间使用| ,表示上一个命令的输出内容,将作为下一个命令的输入内容 2.软件安装 1.安装jdk 1.rpm命令 格式:rpm[参数][软件] -v 显示指令执行过程 -h 套件安装时列出标记 -q 使用查询模式,遇到任何问题,rpm会先询问用户 -a 查询所有套件 -i(install) 安装指定的套件档 -U(update) 升级指定的套件档 -e(erase) 删除指定的套件档 --nodeps 不验证套件档的相互关联性 常用: 安装 rpm –ivh 文件 升级 rpm –Uvh 文件 删除 rpm –e –nodeps 软件名 查看 rpm –qa 2.jdk安装 2.安装tomcat 3安装mysql 2. 防火墙 1. Service iptables status 查看防火墙状态 2. Service iptables start 开启防火墙 3. Service iptables stop 关闭防火墙 3.awk命令 参考网址:https://linux.cn/article-3945-1.html 1. $ echo 'one two three four' | awk '{print $1}' 2. $ echo 'one two three four' | awk '{print $3}' 3. $ echo 'one two three four' | awk '{print $3,$1}' 4. $ echo 'one two three four' | awk '{print "foo:",$3,"| bar:",$1}' 5. $ echo 'one mississippi,two mississippi,three mississippi,four mississippi' | awk -F , '{print $4}' 6. $ echo 'one two three four' | awk '{print $NF}' 7. $ echo 'one two three four' | awk '{print $(NF-1)}' 8. $ echo 'one two three four' | awk '{print $((NF/2)+1)}' 9. $ echo -e 'one 1\ntwo 2' | awk '{print $2}' 10. $ echo -e 'one 1\ntwo 2' | awk '{sum+=$2} END {print sum}' 11. $ < requests.log awk '{print $NF}' 12. $ < requests.log awk '{totalBytes+=$NF} END {print totalBytes}' 用到的数据如下: Jul 23 18:57:12 httpd[31950]: "GET /foo/bar HTTP/1.1" 200 344 Jul 23 18:57:13 httpd[31950]: "GET / HTTP/1.1" 200 9300 Jul 23 19:01:27 httpd[31950]: "GET / HTTP/1.1" 200 9300 Jul 23 19:01:55 httpd[31950]: "GET /foo/baz HTTP/1.1" 200 6401 Jul 23 19:02:31 httpd[31950]: "GET /foo/baz?page=2 HTTP/1.1" 200 6312 统计访问记录中前10的ip和次数 cat 3.txt | awk -F " " 'BEGIN{RS=""}{print $1;}' | sort | uniq -c | sort -k1nr | head -10 | 管道符,右边的输出作为左边的输入 -F 分隔符,默认为空格,通过F参数可以指定飞空格分隔符 Action格式 Sort:对单词进行排序 RS record separator记录分隔符,默认为”\n” FS Field separator 字段分隔符 默认是空格 OFS output field separator 输出字段分隔符,默认的是空格,可以改变默认输出 ORS output record separator 输出记录分隔符 默认是”\n” Uniq –c:显示唯一的行,并在行首加上本行在文件中出现的次数 Sort –k1,1nr 按照第一个字段数值排序,且为逆序 Head -10 取前10行数据 参考地址:http://blog.csdn.net/andyxm/article/details/5964071 Awk是一种处理结构数据并输出格式化结果的编程语言, Awk 是其作者 "Aho,Weinberger,Kernighan" 的简称。 Awk通常被用来进行格式扫描和处理。通过扫描一个或多个文件中的行,查看是否匹配指定的正则表达式,并执行相关的操作。 Awk的主要特性包含: 1. Awk以记录和字段的方式来查看文本文件 2. 和其他编程语言一样,Awk 包含变量、条件和循环 3. Awk能够进行运算和字符串操作 4. Awk能够生成格式化的报表数据 Awk从一个文件或者标准输入中读取数据,并输出结果到标准输出中。 1.  Awk的语法 [java] view plain copy 1. Syntax:     2.      3. awk '/search pattern1/ {Actions}     4.      /search pattern2/ {Actions}' file       在上诉语法中: 1. search pattern是正则表达式 2. Actions 输出的语法 3. 在Awk 中可以存在多个正则表达式和多个输出定义 4. file 输入文件名 5. 单引号的作用是包裹起来防止shell 截断   2.  Awk的工作方式: 1) Awk 一次读取文件中的一行 2)对于一行,按照给定的正则表达式的顺序进行匹配,如果匹配则执行对应的 Action 3)如果没有匹配上则不执行任何动作 4)在上诉的语法中, Search Pattern 和 Action 是可选的,但是必须提供其中一个 5)如果 Search Pattern 未提供,则对所有的输入行执行 Action 操作 6)如果 Action 未提供,则默认打印出该行的数据 7) {} 这种 Action 不做任何事情,和未提供的 Action 的工作方式不一样 8) Action 中的语句应该使用分号分隔 创建一个包含下面内容的文本文件employee.txt 。后续的例子中将会用到该文件   [java] view plain copy 1. $cat employee.txt     2. 100  Thomas  Manager    Sales       $5,000     3. 200  Jason   Developer  Technology  $5,500     4. 300  Sanjay  Sysadmin   Technology  $7,000     5. 400  Nisha   Manager    Marketing   $9,500     6. 500  Randy   DBA        Technology  $6,000         3.  Awk 的默认行为 默认的时候awk 打印文件中的每一行   [java] view plain copy 1. $ awk '{print;}' employee.txt     2. 100  Thomas  Manager    Sales       $5,000     3. 200  Jason   Developer  Technology  $5,500     4. 300  Sanjay  Sysadmin   Technology  $7,000     5. 400  Nisha   Manager    Marketing   $9,500     6. 500  Randy   DBA      Technology  $6,000       在上面的例子中,匹配的正则表达式未给出,因此后续的Action 适用所有的行, Action 中的 print 没有任何参数的情况下将打印整行,注意其中的 Action 必须使用 {} 括起来。 4.  Awk打印匹配的行   [java] view plain copy 1. $  /Nisha/'     3. 100  Thomas  Manager    Sales       $5,000     4. 400  Nisha   Manager    Marketing   $9,500         在上面的例子中,将打印包含Thomas 和 Nisha 的行,上面的列子包含两个正则表达式。 Awk 可以接受任意数量的正则表达式,但是每个组合 ( 正则表达式和对应的 Action) 必须用新行来分隔。 5.  Awk仅打印指定的域 Awk包含许多内建的变量,对于每行的记录, Awk 默认按照空格进行分割,并将分隔后的值存入对应的 $n 变量中。如果一行还有 4 个单词,将被分别存储进 $1 $2 $3 $4 中,其中 $0 代表整行。 NF 也是一个内建的变量,代表该行中分割后的变量数。 [java] view plain copy 1. $ awk '{print $2,$5;}' employee.txt     2. Thomas $5,000     3. Jason $5,500     4. Sanjay $7,000     5. Nisha $9,500     6. Randy $6,000     7. $ awk '{print $2,$NF;}' employee.txt     8. Thomas $5,000     9. Jason $5,500     10. Sanjay $7,000     11. Nisha $9,500     12. Randy $6,000        在上诉例子中$2 和 $5 分别代表名字和薪水,也可以使用 $NF 获得薪水,其中 $NF 代表最后一个字段,在打印语句中逗号是一个连接符号。 6.  Awk开始和最后的动作 Awk包含两个重要的关键字 BEGIN 和 END   [java] view plain copy 1. Syntax:      2.      3. BEGIN { Actions}     4. {ACTION} # Action for everyline in a file     5. END { Actions }     6. # Awk中的注释         在BEGIN 节中的 Actions 会在读取文件中的行之前被执行。 而END 节中的 Actions 会在读取并处理文件中的所有行后被执行。   [java] view plain copy 1. $ awk 'BEGIN {print "Name/tDesignation/tDepartment/tSalary";}     2. > {print $2,"/t",$3,"/t",$4,"/t",$NF;}     3. > END{print "Report Generated/n--------------";     4. > }' employee.txt     5. Name Designation Department Salary     6. Thomas   Manager   Sales           $5,000     7. Jason   Developer   Technology   $5,500     8. Sanjay   Sysadmin   Technology   $7,000     9. Nisha   Manager   Marketing   $9,500     10. Randy   DBA     Technology   $6,000     11. Report Generated     12. --------------         上述的例子为输出结果增加头和尾描述 7.  Awk找出员工 ID 大于 200 的员工不能使用:200/'   [java] view plain copy 1. $ awk '$1 >200' employee.txt     2. 300  Sanjay  Sysadmin   Technology  $7,000     3. 400  Nisha   Manager    Marketing   $9,500     4. 500  Randy   DBA        Technology  $6,000         在上述例子中,$1 代表员工 ID ,如果员工 ID 大于 200 则执行默认的打印整行的 Action 。 8.  Awk打印技术部员工 $4代表员工所在的部门,如果等于 Technology 则打印出整行   [java] view plain copy 1. $ awk '$4 ~/Technology/' employee.txt     2. 200  Jason   Developer  Technology  $5,500     3. 300  Sanjay  Sysadmin   Technology  $7,000     4. 500  Randy   DBA      Technology  $6,000         ~操作符是和正则表达式中的值进行比较,如果匹配则打印整行 9.  Awk打印技术部门的员工数 在下面的例子中,检查员工的部门是否是Technology ,如果是则递增 count 变量的值。 Count 变量的值在BEGIN 的 Actions 中被初始化
下载需要 10 金币 [金币充值 ]
亲,您也可以通过 分享原创文档 来获得金币奖励!

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档