常见的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表示整个行。
- awk ‘{print $1,$2}’ fileName
- 过滤记录(第三列的值为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
- 删除文件/文件夹
- rm -f fliename
- rm -rf dirname
查找文件
- find / -name “filename” 2>dev/null
查看当前目录总共占的容量
- du -sh
- 关机
- halt或者shutdown –h now
- 如10分钟后关机 shutdown -h 10 如 10分钟后重启 shutdown –r 10
3. grep
- 如10分钟后关机 shutdown -h 10 如 10分钟后重启 shutdown –r 10
- tail -f “xx.log” | grep “xxx”
- grep -E 匹配多个 例如 grep -E “[0-9]” txt.log
- grep -o only-matching 配合 -E 选项使用扩展正则表达式则威力巨大
- grep -o ‘.’ 匹配除了换行符之外的所以字符
4. 创建文件 - mkdir filname
- halt或者shutdown –h now
- 删除文件/文件夹
- rm -f fliename
- rm -rf dirname
- 查看端口号
- netstat -apn | grep 端口号
- 查找文件
- find / -name “filename” 2>dev/null
9. wc
- find / -name “filename” 2>dev/null
- wc -l 行数
- wc -c 字节数
- wc -m 字符个数 如果当前环境中字符集不支持多字节字符,与-c类似
- wc -w 单词数
- cd
- cd / 切换到系统跟目录
- cd ~ 切换到用户主目录
- cd - 切换到上一个所在的目录
- 显示当前位置所在
- pwd
- 查看当前系统正在运行的进程
- ps -ef|grep redis
- 杀死进程
- 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 更新
- 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 thisbooka: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}’
- 想列出当前目录以及子目录下所有扩展名为“.txt”的文件
- find -name“*.txt”
学习代码 :http://www.zsythink.net/archives/tag/awk/
系统基础
- date 显示时间
- cal 显示日历
- bc 计算器
—- 归档
文件系列
- ls -a 列出隐藏文件和普通文件
- ls -F -R
- file fileName 查看文件类型
- tail -n 2 log_file 显示文件最后2行
- head -5 log_file 显示文件前面5行
- head log_file 默认显示文件前10行
- printenv 查看系统环境变量
- env 全局环境变量
- |less
- ls-ltr (解释ls -l:按照字符序,ls -t:最近修改在最上面,ls -r:逆排序)
- ls -Sl 从大到小排序
- ls -Slr 从小到大排序
- ls -R 显示子目录结构
- ls -lt 从新到旧
- ls -lrt 从旧到新
- mkdir -p a/b/c 创建递归文件夹
输出ip
- echo $XIP
常用命令
- cd 切换目录
- pwd显示当前目录
- mkdir创建目录
- cp复制文件或目录
- rm移除文件或目录
- mv移动文件或目录
tail系列
磁盘
- df:列出文件系统的整体磁盘使用量
- df -h
- du 查看某个具体的文件夹/文件大小
linux启动过程
- 内核的引导。
- 运行 init。
- 系统初始化。
- 建立终端 。
- 用户登录系统。
grep用法
- 统计文件或者文本中包含匹配字符串的行数 -c 选项
- grep -c “text” file_name
- 输出包含匹配字符串的行数 -n 选项
- grep “text” -n file_name
权限
- chmod 400 file
查看端口占用
- lsof -i:8080
- 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行切割为一个文件
split -6 file.txt
按每个文件20m的大小进行切割
split -b 20m file.txt
添加前缀切割
split -b 50m file.txt example
free命令