技术交流QQ群:1027579432,欢迎你的加入!

一.系统相关

  • 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 目标位置
  • 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
      
  • 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