常用命令
tail tail -f 文件名 tail -f 文件名1 文件名2 tail -num 文件名 # 查看文件的最后num行
grep grep 查找的字符串 grep 查找的字符串 -A n # 查找指定的字符串,并且将后面的n行也查出来。 grep 查找的字符串 -B n # 查找指定的字符串,并且将前面的n行也查出来。 grep 查找的字符串 -C n # 查找指定的字符串,并且将前面的n行和后面的n行也查出来。
# 从多个文件中查找grep 查找的字符串 info.1.log info.2.loggrep 查找的字符串 info.*.log
cp cp 原文件 目标文件 # -r 复制目录 # -p 保留文件属性 # -f 强制复制,若目标文件与原文件重名,则覆盖。(若不使用-f,当文件重名时会导致复制失败) scp 原文件 目标文件 # 从远程主机下载文件:scp -p -P 远程主机的端口 远程主机上的文件 本地目录 # 上传文件夹到远程主机:scp -r 本地目录 远程主机的目录 # 上传文件到远程主机: scp -p 本地文件 远程主机的目录
ps # 举例:查询所有的进程 ps auxf | head -1 && ps auxf grep "进程名"
# 参数: # f 用ASCII字符显示树状结构,以显示进程间的相互关系(父子关系)。 # a 显示所有用户的所有进程(包括其它用户)# 结果: # USER 启动进程的用户 # PID 进程ID # %CPU 进程占用CPU的百分比 # %MEM 进程占用内存的百分比 # VSZ 进程使用的虚拟內存量(KB) # RSS 进程占用的內存量(KB) # TTY 启动该进程的终端 (注:tty是终端设备的统称,一般:?表示不关系终端,pts/0表示通过网络连接的终端,) # STAT: 该进程的状态: R 正在运行或在运行队列中等待 S 处于休眠状态 s 包含子进程 l 该进程是一个多线程进程 < 高优先级进程 N 低优先级进程 + 位于后台的进程组 D 不可中断的休眠 T 停止 Z 僵死 W 无驻留页 L 内存锁页 # START 进程的启动时间 # TIME 进程使用的总cpu时间 # COMMAND 正在执行的命令行的命令
& command & # 将任务放到后台 ,即使退出终端依然继续运行,但标准输出和标准错误信息会丢失
nohup command &# nohup(no hang up):将任务放到后台,重定向标准输出和标准错误到当前目录下的nohup.out文件,即使退出终端依然继续运行。
重定向 标准输入、标准输出、标准错误:每个进程都和三个系统文件相关联:标准输入stdin,标准输出stdout和标准错误stderr,三个系统文件的文件描述符分别为0,1,2 > 标准输出重定向,等价于1> eg: > 文件名 将 标准输出 覆盖添加到文件中。 >> 文件名 将 标准输出 追加到文件的末尾。 &> 文件名 将 标准输出 和 标准错误输出 都重定向到文件中。 2>&1 将 标准错误 重定向到标准输出。
df -h # 查看文件系统磁盘空间的使用情况
du du -sh 文件或目录 # 查看文件大小 # s 统计总占用量,而不列出子目录和子文件的大小。
sort命令:
概念:对文件中的文本行进行排序。格式: sort [参数] filename
sed命令:
概念:sed是文本流编辑器,同时sed可以实现类似grep的查找功能。格式:awk [参数] 'sed程序脚本' filename举例: sed -n '/要查找的字符串/p' filename
uniq命令:
概念:用于统计或忽略文件中的重复行,一般与sort命令结合使用。格式: uniq [参数] filename 参数: -c或--count: 在每行的前面将该行重复出现的次数显示出来 -d或--repeated:仅显示重复出现的行 -u或--unique: 仅显示出现一次的行 举例: uniq filename # 查看文件中所有的文本行,如果存在多个相同的文本行,则只会显示其中的一行。 uniq filename -c # 查看文件中所有的文本行,如果存在多个相同的文本行,则只会显示其中的一行,并且在每行的前面显示该文本行在文件中出现的次数。
seq命令:
概念:用于产生从某个数到另外一个数之间的所有整数。格式: seq [参数] 第一个数 第二个数 参数: -f或--format=格式 使用printf样式的浮点格式(默认使用%g) eg:seq -f "%3g" 1 10 # 说明:"%3g"中3表示数字的位数,"%03g"中03表示数字的位数,若位数不够则补0。 -s或--separator=字符串 使用指定字符串分隔数字(默认使用换行符\n) eg:seq -s " | " 1 10 -w或--equal-width 在列前添加0,使得宽度相同,不能和-f一起使用 eg:seq -w 1 10
mpstat命令:
概念:mpstat是Multiprocessor Statistics的缩写,多处理器统计信息监控命令。格式: mpstat [-P {cpu的编号|ALL}] [internal [count]] 参数: -P 指定监控的cpu,取值为:cpu的编号 或 ALL internal 表示查询的间隔时间,单位为秒 count 表示查询的次数,如果interval和count都省略,则默认为只查询一次。 举例: mpstat -P ALL 5 2 # 每隔5秒查询一次所有cpu的统计信息,总共查两次。 结果: Linux 2.6.32-431.el6.x86_64 (hostname) 01/01/2017 _x86_64_ (48 CPU) 05:41:51 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 05:41:56 PM all 0.46 0.00 0.20 0.01 0.00 0.05 0.00 0.00 99.29 05:41:56 PM 0 1.41 0.00 0.40 0.00 0.00 0.20 0.00 0.00 97.98 05:41:56 PM 1 0.80 0.00 0.60 0.20 0.00 0.00 0.00 0.00 98.39 05:41:56 PM 2 2.43 0.00 1.21 0.00 0.00 0.61 0.00 0.00 95.75 05:41:56 PM 3 0.20 0.00 0.20 0.00 0.00 0.00 0.00 0.00 99.60 05:41:56 PM 4 1.80 0.00 1.00 0.00 0.00 0.60 0.00 0.00 96.61 05:41:56 PM 5 0.20 0.00 0.20 0.00 0.00 0.00 0.00 0.00 99.60 ...
curl
说明:curl命令是一个功能强大的网络工具,它可以发送http、ftp等请求,故可以用来上传、下载文件。参数: -v 显示详细执行信息 -s/--slient 减少输出的信息,例如进度等。 -m/--max-time指定处理的最大时长,单位秒 -I/--head 仅返回头部信息 -i 返回头部信息和响应结果 -o/--output 将响应的结果保存到指定的文件中 -w 在一次完整且成功的操作后输出指定格式的内容到标准输出,输出变量需要按照%{variable_name}的格式 -X 指定请求方式,GET、POST等,默认为GET -H/--header ]设置请求头,eg:--header "Content-Type: application/json; charset=utf-8"补充: /dev/null 在类Unix系统中,/dev/null称为空设备,它丢弃一切写入其中的数据,且报告写入操作成功。读取它则会立即得到一个EOF。通常被用于丢弃不需要的输出流。举例: 显示百度首页内容: curl https://www.baidu.com 仅显示http响应头: curl -I https://www.baidu.com 显示http响应头和响应内容: curl -i https://www.baidu.com 将请求的结果保存到指定文件中:curl -o ./temp.txt https://www.baidu.com 获取http状态码: curl -s -o /dev/null -w %{http_code}"\n" https://www.baidu.com
wget 说明:wget命令用来从指定的URL下载文件。
参数: -r 递归下载 -l/--level=NUMBER 递归的层数(inf或0表示无限制) -nH 不要创建主(host)目录 –cut-dirs=NUMBER 忽略NUMBER层远程目录。 eg: --cut-dirs=3 jxn@jxn.product.com:/data/test/dirA/ 则下载的产出是 dirA/ --cut-dirs=2 jxn@jxn.product.com:/data/test/dirA/ 则下载的产出是 test/dirA/ -O filename 将下载的内容写入到filename中 -o logname 将wget运行的日志写入到logname中 --user 用户名 --password 密码 --preserve-permissions 保留远程文件的权限 --header "mytoken=asdf"举例: wget 文件地址(http或ftp) wget -r --level=0 -nH --cut-dirs=2 jxn@jxn.product.com:/data/test/ --user jxn --password jxn123 --preserve-permissions wget -O myindex.html www.baidu.com wget -o log.txt www.baidu.com wget --header "mytoken=asdf" www.jxn.com
nslookup 说明:nslookup用于查询域名解析是否正常,在网络故障时用来诊断网络问题。 格式:nslookup 域名或ip
ifconfig 说明:查看或配置网卡。 lo 回环地址(loopback),表示当前计算机本身 Xxx0 网卡名,常见的有eth0、xgbe0等,如果有多个网卡,则存在eth1、eth2等
补充:ethtool 说明:查询及设置网卡。 举例: # 查看xgbe0网卡的速率。 ethtool xgbe0 Settings for xgbe0: Speed: 10000Mb/s
unzip 说明:解压zip包 举例: unzip log1.zip unzip '.zip' # 注意:'.zip'单引号必须加!
jar 查看jar包中的内容: jar -tf test.jar 查看jar包中是否包含某个类: jar -tf test.jar | grep 类名 解压jar包: jar -xvf test.jar
/proc 概念:Linux内核提供了一种通过proc文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。 使用:ps aux | grep xxx 找到进程的PID,然后 ls -al /proc/PID 查看进程的相关信息。 说明: /proc/PID/cmdline 进程的完整命令行信息 /proc/PID/cwd 进程当前工作目录的符号链接 eg:/home/jxn/test /proc/PID/environ 进程的环境变量 /proc/PID/exe 运行程序的符号链接 eg:exe -> /home/jxn/soft/java8/bin/java /proc/PID/status 进程的状态信息