常见的linux命令

关于系统

功能 命令
显示时间 date
显示日历 cal
计算器 bc
重启 reboot
显示系统中资源消耗最多的进程 top
查看环境变量 env
查看硬盘大小 df -h
查看网络 netstat
列出加载的内核模块 lsmod
查看 CPU 信息 cat /proc/cpuinfo
重启 reboot或者shutdown it –r now

head

功能 命令
看前5行 head -n 5 fileName
默认前10行 head file
文件名显示文件最后20行 head -n -20 fileName

tail

功能 命令
看倒数5行 tail -n 5 fileName
实时查看 tail -f fileName
使用重定向将最后 10 行重定向到其他文件 tail -n 10000 file > newFile
从第 5 行开始显示文件 tail -n +5 file

grep

功能 命令
匹配 grep ‘match_pattern’ fileName
在多个文件中查找 grep ‘match_pattern’ fileName1 fileName2
输出除之外的所有行 grep -v ‘match_pattern’ fileName
显示匹配的后n行 grep -A n fileName
显示匹配的前n行 grep -B n fileName
显示匹配的前后n行 grep -C n fileName

wc

功能 命令
总共多少行 wc -l fileName
文本字数 wc -w fileName
字符数 wc -m fileName

ls

功能 命令
只显示文件名称 ls
显示全部文件 ls -a
长格式显示文件 ls -al
查看父目录的文件 ls ..
显示home目录 ls ~
显示根目录文件 ls /
模糊匹配查找文件 ls *.xxx
按大小降序排列 ls -lS
按大小升序 ls -l
按时间降序 ls -lrt
按时间升序 ls -lnt

cd

功能 命令
进入当前用户的home目录 cd ~
进入上一级目录 cd ..

more

功能 命令
分页显示文本 more fileName
向下n行,默认为1行
向下滚动一屏
= 输出当前行号
q 退出
从指定行开始显示 more +n file

touch

功能 命令
创建txt后缀文件 touch xxx.txt
一次性创造多个文件 touch love_{1..10}_shiyanlou.txt

———————- 这是分割线

awk

  • 输出第几列
    • awk ‘{print $1,$2}’ fileName
      • 其中的$1..$n表示第几例。注:$0表示整个行。
  • 过滤记录(第三列的值为0 && 第6列的值为LISTEN)
    • awk ‘$30 && $6”LISTEN” ‘ netstat.txt
  • s3大于0输出整行
    • awk ‘ $3>0 {print $0}’ fileName
    • cat fileName | awk -F’;’ ‘$3>0 {print $0}’
  • 只显示前3行的第一列和第二列,保留分隔符 -d指明分隔符
    • cat fileName | head -n 3 | cut -d’;’ -f1 -f2
  • 只显示前3行的第一列和第二列,用空格作为分隔符
    • cat fileName | head -n 3 | awk -F’;’ ‘{print $1” “$2}’

sort

  • 默认按字符进行排序
    • cat fileName | sort -t’;’ -k1
  • 加上-n选项按数字进行排序
    • cat fileName | sort -t’;’ -n -k1
  • 加上-r选项倒排
    • cat fileName | sort -t’;’ -n -r -k1

  • tail -f “xx.log” | grep “xxx”
  • grep -E 匹配多个 例如 grep -E “[0-9]” txt.log
  • grep -o only-matching 配合 -E 选项使用扩展正则表达式则威力巨大
  • grep -o ‘.’ 匹配除了换行符之外的所以字符

关于文件

1. 创建文件

  • mkdir filname
  1. 删除文件/文件夹
    • rm -f fliename
    • rm -rf dirname
  2. 查找文件

    • find / -name “filename” 2>dev/null
  3. 查看当前目录总共占的容量

    • du -sh



  1. 关机
    • halt或者shutdown –h now
      • 如10分钟后关机 shutdown -h 10 如 10分钟后重启 shutdown –r 10
        3. grep
    • tail -f “xx.log” | grep “xxx”
    • grep -E 匹配多个 例如 grep -E “[0-9]” txt.log
    • grep -o only-matching 配合 -E 选项使用扩展正则表达式则威力巨大
    • grep -o ‘.’ 匹配除了换行符之外的所以字符
      4. 创建文件
    • mkdir filname
  2. 删除文件/文件夹
    • rm -f fliename
    • rm -rf dirname
  3. 查看端口号
    • netstat -apn | grep 端口号
  4. 查找文件
    • find / -name “filename” 2>dev/null
      9. wc
  • wc -l 行数
  • wc -c 字节数
  • wc -m 字符个数 如果当前环境中字符集不支持多字节字符,与-c类似
  • wc -w 单词数
  1. cd
    • cd / 切换到系统跟目录
    • cd ~ 切换到用户主目录
    • cd - 切换到上一个所在的目录
  2. 显示当前位置所在
    • pwd
  3. 查看当前系统正在运行的进程
    • ps -ef|grep redis
  4. 杀死进程
    • kill -9 进程的pid(-9表示强制终止,先用ps查找进程,然后kill掉)

10. tar

  • tar -cvf test.tar dir 创建tar压缩包
  • tar -xvf test.tar 解压
  • tar -czvf test.tar.gz file 创建tar.gz压缩包
  • tar -xzvf test.tar.gz 解压tar.gz

11. apt-get

  • apt-get update 更新
  1. awk 文本分析工具
  • awk 会把每行进行一个拆分,用相应的命令对拆分出来的“段”进行处理。把每一行存在$0里面,然后用
  • 内置的变量FS(段的分隔符,默认用的是空白字符),分割这一列,把分割出来的每个段存到相应的变量$(1-100)
  • 内置变量表
    • $0 当前记录(作为单个变量)可以说是存储文本的内容 awk ‘{print $0}’ awk.txt
    • $1~$n 当前记录的第n个字段,字段间由FS分格
    • FS 输入字段分隔符 默认是空格 awk ‘BEGIN{FS=” “;OFS=”:”}{print $1,$3,$4,$5,$6,$7}’ awk.txt this基础命令 - 图1book基础命令 - 图2a:a
    • NF 当前记录中的每行的列数,$NF表示最后一列,
    • NR 已经读出对的记录数,默认从1开始,打印行号 awk ‘{print NR,$2}’ awk.txt
    • RS 输入行分隔符 默认是回车换行 \n awk -v RS=” “ ‘{print NR $0}’ file 以空格为行分隔符,此时的\n已和原下一行为一行。
    • OFS 输出分隔符 默认也是空格 输出的内容 以分隔符隔开
    • ORS 输出行分隔符,默认为换行符
    • ARGC 命令行参数个数 awk ‘{print “aaa” ARGV[2] ARGC }’ awk.txt 个数为3
    • ARGV 命令行参数数组 从0开始 ARGV
    • IGNORECASE 如果为真,则进行忽略大小写的匹配
    • ARGIND 当前被处理文件的ARGV标志符
    • ONVFMT 数字转换格式 %.6g
    • ENVIRON UNIX环境变量 awk ‘BEGIN{print ENVIRON[“PATH”];}’
    • ERRNO UNIX系统错误消息
    • FIELDWIDTHS 输入字段宽度的空白分隔字符串
    • FNR 对多个文件进行标行号 awk ‘{print FNR $0}’ file1 file2
    • OFMT 数字的输出格式 %.6g
    • RSTART 被匹配函数匹配的字符串首
    • RLENGTH 被匹配函数匹配的字符串长度
    • FILENAME 显示文件名
  • 模式
    • awk [options] ‘Pattern{Action}’ file
    • BEGIN 和 END
    • -F 定义输入分隔符 awk -F# ‘{print $1,$2}’ file 指定使用#将文本进行分割 -v FS=’#’ 同理
    • -v OFS=’——‘ 定义输出分隔符 指定使用—-将文本进行分隔输出
    • 变量 awk -v myVar=”12” ‘BEGIN {print myVal}’
      awk ‘BEGIN {myVar=”12”;print myVar}’
  1. 想列出当前目录以及子目录下所有扩展名为“.txt”的文件
    • find -name“*.txt”

学习代码 :http://www.zsythink.net/archives/tag/awk/

系统基础

  1. date 显示时间
  2. cal 显示日历
  3. bc 计算器

—- 归档

文件系列

  1. ls -a 列出隐藏文件和普通文件
  2. ls -F -R
  3. file fileName 查看文件类型
  4. tail -n 2 log_file 显示文件最后2行
  5. head -5 log_file 显示文件前面5行
  6. head log_file 默认显示文件前10行
  7. printenv 查看系统环境变量
  8. env 全局环境变量
  9. |less
  10. ls-ltr (解释ls -l:按照字符序,ls -t:最近修改在最上面,ls -r:逆排序)
  11. ls -Sl 从大到小排序
  12. ls -Slr 从小到大排序
  13. ls -R 显示子目录结构
  14. ls -lt 从新到旧
  15. ls -lrt 从旧到新
  16. mkdir -p a/b/c 创建递归文件夹

输出ip

  1. echo $XIP

常用命令

  1. cd 切换目录
  2. pwd显示当前目录
  3. mkdir创建目录
  4. cp复制文件或目录
  5. rm移除文件或目录
  6. mv移动文件或目录

tail系列

磁盘

  1. df:列出文件系统的整体磁盘使用量
  2. df -h
  3. du 查看某个具体的文件夹/文件大小

linux启动过程

  • 内核的引导。
  • 运行 init。
  • 系统初始化。
  • 建立终端 。
  • 用户登录系统。

grep用法

  1. 统计文件或者文本中包含匹配字符串的行数 -c 选项
    • grep -c “text” file_name
  2. 输出包含匹配字符串的行数 -n 选项
    • grep “text” -n file_name

权限

  1. chmod 400 file

查看端口占用

  1. lsof -i:8080
  2. netstat -anp|grep 80

sed

删除文件空行

sed ‘/^$/d’ file (如果需要重定向到一个新的文件,补加 > newfile)

删除纯空行和由空格组成的空行

  • sed ‘/^[ ]*$/d’ file

比如说删除以 R 开头的行
sed ‘/^R/d’ sed-demo-1.txt

删除包含xxx的行

sed -e ‘/xxx/d’ new5.md > new.md

给定一个文本文件 file.txt,请只打印这个文件中的第十行。

awk ‘NR==10’ file.txt
sed -n 10p file.txt
tail -n +10 file.txt|head -1

split 分割文件

split [-<行数>][-b][-c][-l] file.txt

  • 将文件 file.txt 每6行切割为一个文件
    1. split -6 file.txt

按每个文件20m的大小进行切割

  1. split -b 20m file.txt

添加前缀切割

  1. split -b 50m file.txt example

free命令