技术交流QQ群:1027579432,欢迎你的加入!
欢迎关注我的微信公众号:CurryCoder的程序人生
一.系统相关
- 1.ifconfig: 显示或设置网络设备
- 2.快捷键:
- ctrl + c: 强制停止
- ctrl + u: 删除光标所在位置到行首
- ctrl + a: 光标移到到行首
- ctrl + e: 光标移到到行尾
- ctrl + z: 把命令放入后台,这个不是终止,而是放入后台
- ctrl + r: 在历史命令中搜索我们已经敲过的命令
- clear/ctrl + l: 清屏
- 3.date: 查看时间
- 4.su: 切换用户
- 5.man: 查看命令帮助
- 6.who: 查看当前登录用户
- 7.uname: 显示系统的相关信息
- -n 显示主机名称
- -a 显示全部信息
- -m 显示系统CPU信息、类型
- -s 显示操作系统类型
- -r 显示内核版本
- 8.last: 查看最近登录情况
- 9.dmesg: 系统系统开机信息
- 10.free: 用来显示内存的信息
- 11.ps: 查看进程信息
- 12.top:监控linux系统状况,例如cpu、内存的使用
- 13.kill:杀死进程
- kill -1 进程号 重启进程
- kill -9 进程号 强制杀死进程
- kill -15 进程号 默认的,正常结束进程,如果发生问题,就尝试使用kill -9
- 14.进程前后台切换
- 和前台有交互的不能放后台,否则就暂停不能执行;
- a.把进程放在后台的方法
- 命令&
- 按下ctrl + z,放在后台暂停
- b.jobs -l: 查看后台工作
- c.fg %工作号:将后台暂停的工作恢复到前台执行
- d.bg %工作号:将后台暂停的工作恢复到后台执行
- e.后台命令脱离终端的方法:
- 加入到/etc/rc.local文件
- 使用nohup
二.文件相关
- 1.pwd: 以绝对路径的方式显示当前所在目录
- 2.cd: 进入根目录
- 3.cd ..:进入上级目录
- 4.ls -a: 列出所有文件
- 5.ls -l: 列出详细信息
- 6.ls -l t*: 列出以t开头的文件的详细内容
- 7.find ./ -name test: 查找名字为test的文件或目录
- 8.find ./ -name *.c: 查找文件名匹配*.c的文件,这里包括文件夹所有文件
- 9.find . -name "*.txt"列出当前目录以及子目录下的所有括展名为".txt"的文件
- 10.chmod:修改文件权限
chmod abc file 其中abc分别为一个数字,表示的是user group other的权限 r = 4, w = 2, x = 1 如果要rwx属性,则4 + 2 + 1 = 7 如果要rw-属性,则4 + 2 = 6 如果要r-x属性,则4 + 1 = 5
- 11.mv
- 重命名文件: mv 原始名字 目标名字
- 移动文件(把testmv移动到当前文件夹下面): mv /home/njust/catkin_ws/src/testmv .
- 12.cp: 用来复制文件或目录(目录需要加上-r)
- 13.rm: 删除文件或文件夹
- rm -rf 文件夹
- rm -f 文件
- 14.解压缩
- a. tar.gz结尾
- 压缩:tar -zcvf 打包文件名 被打包的文件
- 解压: tar -zxvf 解压缩文件 -C 目标位置
- b. tar.bz2结尾
- 压缩: tar -jcvf 打包文件名 被打包的文件
- 解压: tar -jxvf 解压缩文件 -C 目标位置
- a. tar.gz结尾
- 15.stat: 查看文件元信息
- 16.软链接:ln -s 源文件 目标文件
- 17.硬链接
- a.不允许给目录创建硬链接
- b.只有在同一个系统中的文件才能创建硬链接
三.文本相关
- 1.grep: 把匹配的行打印出来
- -i 不区分大小写,例如:grep -i 'line2' grep.txt
- -c 统计匹配到的次数,例如 grep -c 'line1' grep.txt
- -n 显示行号,例如 grep -n 'line2' grep.txt
- -v 查找不包含执行内容的行,例如 grep -v 'line2' grep.txt
- -r 逐层遍历目录查找,例如 grep -r 字符串 文件名
- -A -B -C:后多少行,前多少行,前后多少行
- -w 精确匹配单词,例如 grep -w 'hello' grep.txt
- 找到以grep开头的行:grep '^grep' grep.txt
- 找到以grep结尾的行:grep 'grep$' grep.txt
- 将grep的输出重定向到指定文件: grep 'line1$' grep.txt > hello.txt
- 2.awk:文本处理和报表生成
- awk有三个不同版本:awk nawk gawk,未说明时,一般指的是gwak,gawk是AWK的GUN版本。
// marks.txt文件内容如下: Amit Physics 80 Rahul Maths 90 Shyam Biology 87 Kedar English 85 Hari History 89
- 打印某些列:awk '{print 3}' marks.txt
Physics 80 Maths 90 Biology 87 English 85 History 89
- 打印包含a字符的行的第2列和第3列:awk '/a/ {print 3}' marks.txt
Maths 90 Biology 87 English 85 History 89
- awk有三个不同版本:awk nawk gawk,未说明时,一般指的是gwak,gawk是AWK的GUN版本。
- 3.sed: 它是一个简单而强大的文本解析转换工具,sed一次处理一行内容。除非重定向,否则不改变文件内容
sed.txt文件内容 sed line1 sed line2 sed line3 sed line4 sed line5
- 在第四行后加入一行:sed '4a line4.1' sed.txt
- 删除: sed '2d' sed.txt
- 修改:sed '2c hello python' sed.txt
- 查询:sed -n '3p' sed.txt
- 操作多行:sed -e '2d' -e '3d' sed.txt
- 修改源文件:sed -i '2d' sed.txt
- 4.cut:提取列,cut命令比awk容易,也是用来提取列。但是默认是制表符,如果是空格分割则一般不用,因为它会算空格个数。
- 5.cat:是linux下的一个文本输出命令,通常是用于观看某个文件的内容的。
- 一次显示整个文件 cat f
- 将几个文件合并为一个文件 cat file1 file2 > file
- 6.more:more命令类似cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似)。
- 7.less:less与more类似,但使用less可以随意浏览文件,而 more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
- 8.vim相关
- :set nu 设置行号
- :set nonu 取消行号
- dd 删除所在行
- :w 保存修改
- :wq 保存退出
- q!不保存退出
- 9.head:显示前几行
- head -n 5 hello.txt: 显示文件前5行
- head -n -5 hello.tx: 显示文件除了最后5行的全部内容
- 10.tail:显示后几行(默认是显示后10行)
- tail -n 1000:显示最后1000行
- tail -n +1000:从1000行开始显示,显示1000行以后的
四.网络相关
- 1.查看并发数: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
- 2.ping: 用于检测主机
- 3.telnet: 用于远端登入,例如:telnet 192.168.0.5 登录IP为 192.168.0.5 的远程主机
- 4.netstat:查询网络状态
- -t:列出TCP协议端口
- -u:列出UDP协议端口
- -a:列出所有网络连接
- 5.nslookup:域名解析命令
- 6.uptime命令主要用于获取主机运行时间和查询linux系统负载等信息
- 7.vmstat命令可以查看查看cpu负载
- 8.sar命令可以查看网络接口信息
五.附录知识1
- /etc/resolv.conf 是DNS配置文件。在网卡配置文件中进行配置,默认情况下 网卡配置文件DNS优先于/etc/resolv.conf。
- /etc/hostname 在Centos7,配置主机名,查看修改。
- /etc/hosts ip与域名对应关系 ,解析域名(主机名),用/etc/hosts搭建网站的测试环境 (虚拟机)。不同服务器之间相互访问。
- /etc/fstab file system table :文件系统挂载表,开机的时候设备与入口对应关系 开机自动挂载列表。
- /etc/rc.local 开机自启
- /etc/inittab(centos 6)运行级别的配置文件
- /etc/profile 环境变量配置文件
- /etc/bashrc 命令别名
- /etc/motd 文件中的内容 会在用户登录系统之后显示出来
- /etc/issue /etc/issue.net 文件中的内容 会在用户登录系统之前显示出来
- /etc/gateways 设定路由器
- /etc/ld.so.conf 此文件记录了编译时使用的动态库的路径,也就是加载so库的路径
- httpd.conf是apache的主配置文件
六.附录知识2
- $# 是传给脚本的参数个数
- $0是脚本本身的名字
- $1是传递给该shell脚本的第一个参数
- $2是传递给该shell脚本的第二个参数
- $@ 是传给脚本的所有参数的列表
- $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
- $$ 是脚本运行的当前进程ID号
- $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误
- ifconfig是linux中用于显示或配置网络设备(网络接口卡)的命令
- uptime显示开机时间
- top显示当前系统资源使用情况,相当于任务管理器
- netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
- 在内存小于2G的情况下,交换分区应为内存的2倍,超过2G的话,交换分区为物理内存加上2G