Linux基本使用

Linux目录结构

这里写图片描述

Linux 文件系统是一个目录树的结构,文件系统结构从一个根目录开始,根目录下可以有任意多个文件和子目录,子目录中又可以有任意多个文件和子目录

  • bin 存放二进制可执行文件(ls,cat,mkdir等)
    • /bin (/usr/bin 、 /usr/local/bin)
      • 是Binary的缩写, 这个目录存放着最经常使用的命令
    • /sbin (/usr/sbin 、 /usr/local/sbin)
      • s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • boot 存放用于系统引导时使用的各种文件,包括一些连接文件以及镜像文件,自己的安装别放这里
  • dev 用于存放设备文件
  • etc 存放系统配置文件和子目录
  • home 存放所有用户文件的根目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • lib 存放跟文件系统中的程序运行所需要的共享库及内核模块,系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
  • mnt 系统管理员安装临时文件系统的安装点
  • opt 额外安装的可选应用程序包所放置的位置
  • proc 虚拟文件系统,存放当前内存的映射
  • root 超级用户目录
  • sbin 存放二进制可执行文件,只有root才能访问
  • tmp 用于存放各种临时文件
  • usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
  • var 用于存放运行时需要改变数据的文件
  • /lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /srv service缩写,该目录存放一些服务启动之后需要提取的数据。
  • /sys 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
  • /run 进程产生的临时文件,虚拟机加载光盘映像在:/run/media/root/ 目录下

vi和vim

https://blog.csdn.net/helloxiaozhe/article/details/81112850

Linux系统的命令行下的文本编辑器。

使用命令:vi xxxx文件 或者vim xxxx文件

三种模式

  • 一般模式(默认模式)

    • 打开文档的默认模式,主要负责查看,和一些基础的修剪。

    • 按键效果
      dd删除光标当前行
      dnd删除n行
      u撤销上一步
      x****X删除一个字母Delete删除一个字母Backspace
      yy复制光标当前行
      p粘贴
      dw删除一个词
      yw复制一个词
    • 打开文档的默认模式,主要负责查看,和一些基础的修剪。

    • 按键效果
      shift+g移动到页尾
      数字1+shift+g移动到页头
      数字N+shift+g移动到目标行
      shift+6移动到行头
      shift+4移动到行尾
  • 编辑模式

    • 可以编写文字

    • 要按下 i , a ,o,等字母后才能进入编辑模式

    • 进入后左下角会有[insert]或[replace]的字样

    • 按下[ESC]这个按键即可退出编辑模式

    • 按键效果
      i当前光标前
      a当前光标后
      o当前光标行的下一行
      s,Ss:删除当前字符并进入编辑 S:删除整行并进入编辑
      R进入替换模式,替换光标后内容
  • 命令模式

    • 可以进行存盘、退出、显示行号、搜索、批量替换等操作。

    • 要在一般模式下输入" / "或 " : " 可进入命令模式

    • 进入后光标移至最下端

    • 命令含义
      : w保存
      : q退出
      : !强制执行
      : %s/old字符/new字符/g批量替换
      / 要查找的词n 查找下一个,N 往上查找
      N 查找下一个,n 往上查找
      :set nu / :set nonu显示行号 /关闭行号
      :noh取消高亮显示

img

基本常用命令

  • 帮助手册
    • –help
  • 日期类
    • date ,cal日历显示
  • 显示当前所处目录 pwd
  • cd切换目录
    • cd … 返回上级目录
    • cd / 返回至/
    • cd , cd ~ 返回家目录
    • cd /etc/sysconfig 通过绝对路径访问(利用tab键)
    • cd ./sysconfig 通过相对路径访问
  • ls
    • -a 全部文件,连同隐藏的文件
    • -l 列出详细列表 别名ll
    • 列表信息:
    • 1589690517744

0 -: 普通文件 d: 目录文件

123 所属者对文件的权限

456 当前文件所属者 组内对文件的权限

789 其他人对文件的权限

  • mkdir

    • -p 可以一下建好多级目录
    • 例: mkdir 目录名
  • touch

    • 新建一个文件
    • 例:touch 文件名
  • rmdir

    • 删除一个空目录
    • 例: rmdir dirname
  • rm

    • 移除文件或目录
    • -rvf递归删除所有目录内容,提示
    • -rf 递归删除所有目录内容,不提示
  • cp

    • cp 【要复制的文件】 【到哪里】
    • -r 递归复制整个文件夹
    • -v 显示复制过程中文件的列表
    • 强制覆盖不提示的方法
      • 临时方法:用\cp
  • mv

    • mv oldFileName newFileName 重命名
    • mv /temp/movefile /targetFolder 移动文件
  • cat

    • cat 文件名 查看轻量级的文本文件
    • cat 文件1 文件2 连接显示多个文件
    • cat 文件1 文件2 > 文件3 合并为新文件
  • more

    • 查看较长的文件
    • 空白键 (space):代表向下翻一页
    • Enter:代表向下翻一行
    • q:代表立刻离开 more ,不再显示该文件内容。
    • Ctrl+F 向下滚动一屏
    • Ctrl+B 返回上一屏
  • less

    • 同more类似,比more功能更多。
    • [pagedown]:向下翻动一页;
    • [pageup] :向上翻动一页;
    • /字串 :向下搜寻『字串』的功能;
    • ?字串 :向上搜寻『字串』的功能;
    • n :重复前一个搜寻 (与 / 或 ? 有关!)
    • N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
  • tail

    • 从尾部开始查看,比较适合查看日志
    • -f 跟随查看
    • -n200 显示的行数,n可以省略。
  • history

    • 查看历史命令
  • echo

    • 输出环境变量
    • 在shell脚本中当system.out.print用
    • echo $PATH
  • find

    • 查找文件,提供了丰富的模糊搜索及条件搜索
    • find+搜索路径+参数+搜索关键字
    • 按文件名:find /home/esop -name “*.txt” 根据名称查找/目录下的filename.txt文件。
  • locate

    • 查找文件,查询速度更快,使用更方便。
    • locate /opt/*.conf
    • 运行前需要 执行updatedb来更新文件索引。

软链接

  • 也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径
  • 命令 ln –s 原文件或目录名 软链接名
  • 查询:通过 ls -l 就可以查看,列表属性第1位是l,尾部会有位置指向。

解压缩

压缩文件(tar)

  • tar -zcvf XXX.tar.gz n1.txt
  • -c 创建一个新归档
  • -v 显示详细信息
  • -f 指定压缩后的文件名
  • -z 通过 gzip 过滤归档

解压缩文件(tar)

  • tar -zxvf XXX.tar.gz
  • -x从归档中解出文件
  • -v 显示详细信息
  • -f 指定解压前的文件名
    -z 通过 gzip 过滤归档

压缩文件(zip)

  • zip mypackage.zip 1.txt 2.txt
  • zip -r pack.zip pack/* (递归压缩)

解压缩文件(zip)

  • unzip mypackage.zip

网络配置

ifconfig

  • 查看网络配置
  • 如何修改IP
    • 图形化操作
  • 命令行方式 vi /etc/sysconfig/network-scripts/ifcfg-ens33
  • 1589691601011
  • 刷新网络设置
    • service network restart

DEVICE=eth0 #接口名(设备,网卡)
BOOTPROTO=none
IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
BROADCAST=192.168.1.255 #广播地址
HWADDR=00:0C:2x:6x:0x:xx #MAC地址
IPADDR=192.168.1.23 #IP地址
NETMASK=255.255.255.0 # 网络掩码
NETWORK=192.168.1.0 #网络地址
ONBOOT=yes #系统启动的时候网络接口是否有效(yes/no)
TYPE=Ethernet #网络类型(通常是Ethemet)

进程

ps (process)

1589691673066

ps –aux

1589691685573

ps
  • ps –aux|grep xxx

  • System V展示风格

  • USER:用户名称

  • PID:进程号

  • %CPU:进程占用CPU的百分比

  • %MEM:进程占用物理内存的百分比

  • VSZ:进程占用的虚拟内存大小(单位:KB)

  • RSS:进程占用的物理内存大小(单位:KB)

  • TT:终端名称,缩写

  • STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等

  • STARTED:进程的启动时间

  • TIME:CPU时间,即进程使用CPU的总时间

  • COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

  • ps -ef是以全格式显示当前所有的进程

  • -e 显示所有进程。-f 全格式。

  • ps -ef|grep xxx

    • 是BSD风格
    • UID:用户ID
    • PID:进程ID
    • PPID:父进程ID
    • C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
    • STIME:进程启动的时间
    • TTY:完整的终端名称
    • TIME:CPU时间
    • CMD:启动进程所用的命令和参数

综上:
如果想查看进程的CPU占用率和内存占用率,可以使用aux
如果想查看进程的父进程ID可以使用ef

pid

  • 每个进程都有一个pid作为唯一标识。

kill

  • kill pid 通过唯一标识pid杀死进程
  • -9 强行杀死进程

killall

  • killall name 通过进程名称杀死进程

ps-ef | grep xxx

systemctl (centos7)

  • 注册在系统中的标准化程序
  • 有方便统一的管理方式(常用的方法)
    • systemctl start 服务名(xxxx.service)
    • systemctl restart 服务名(xxxx.service)
    • systemctl stop 服务名(xxxx.service)
    • systemctl reload 服务名(xxxx.service)
    • systemctl status 服务名(xxxx.service)
  • 查看服务的方法 /usr/lib/systemd/system
  • 查看服务的命令
    • systemctl list-unit-files
    • systemctl --type service
  • 通过systemctl 命令设置自启动
    • 自启动systemctl enable service_name
    • 不自启动systemctl disable service_name

1589693000488

netstat

  • 查看系统的网络情况
  • -an 按一定顺序排列输出
  • -p 显示哪个进程在调用
  • netstat –anp|grep 8080 查看占用8080端口的进程
权限

1589693125460

1589693136456

1589693151039

1589693163455

rpm

RPM(RedHat Package Manager),Rethat软件包管理工具,类似windows里面的setup.exe

是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。

查询已安装的rpm列表 rpm –qa|grep xx

安装rpm

  • rpm –ivh rpm包名
  • -i 安装 install
  • -v 查看信息
  • -h 查看进度条

卸载rpm

  • rpm -e RPM软件包

yum

  • 类似于我们java开发中的maven工具,可以从镜像网站上下载应用程序,并直接安装
  • yum list|grep xx软件列表
  • yum install xxx 下载安装

ipv4 自动改成手动

地址:192.168.80.133

子网掩码:255.255.255.0

网关(192.168.80.1)192.168.80.2

DNS 192.168.80.2

安装jdk

  • 解压缩到
  • 配置环境变量的配置文件vim /etc/profile
  • JAVA_HOME=/opt/jdk1.8.0_152
  • PATH=/opt/jdk1.8.0_152/bin:$PATH
  • export JAVA_HOME PATH

使环境变量立即生效

  • source /etc/profile

安装Tomcat

  • 解压缩到/opt
  • bin 下 启动tomcat ./startup.sh

redis:6379

  1. 下载获得redis-3.2.5.tar.gz后将它放入我们的Linux目录/opt
  2. 解压命令:tar -zxvf redis-3.2.5.tar.gz
  3. 解压完成后进入目录:cd redis-3.2.5
  4. yum install gcc
  5. yum install gcc-c++
  6. 在redis-3.2.5目录下再次执行make命令
    1. Jemalloc/jemalloc.h:没有那个文件
    2. 解决方案:运行make distclean之后再 make
  7. 在redis-3.2.5目录下再次执行make命令
  8. 执行完make后,跳过Redis test 继续执行make install

查看默认安装目录:usr/local/bin

  • Redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何(服务启动起来后执行)
  • Redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲
  • Redis-check-dump:修复有问题的dump.rdb文件
  • Redis-sentinel:Redis集群使用
  • redis-server:Redis服务器启动命令
  • redis-cli:客户端,操作入口

启动

备份redis.conf:拷贝一份redis.conf到其他目录

修改redis.conf文件将里面的daemonize no 改成 yes,让服务在后台启动

opt/myRedis

服务端 redis-server redis.conf

开启客户端 redis redis-cli -h 127.0.0.1 -p 6379

nginx

cd /usr/local/ ==>nginx

cd nginx

cd sbin cd /usr/local/nginx/sbin

开启 ./nginx

关闭 ./nginx -s stop

重新加载 ./ngix -s reload

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值