linux文本编辑器

linux 专栏收录该内容
5 篇文章 1 订阅

linux常见服务

一. 文本编辑器

vi vim是vi增强版

vim需要安装

sudo apt-get -y install vim
# macOS使用brew安装

vim的三种工作模式

1 编辑模式

命令模式=>编辑模式iaos

按键作用
i在光标当前位置插入文本
a光标的下一个位置插入文本
A当前行的行尾插入文本
S删除当前行内容,重新输入
s删除光标当前位置的字符,开始输入
o在当前的下一行开始一个新行开始输入

2 命令模式

编辑模式=>命令模式 请按esc

按键作用
H向左移动一个字符
j向下移动一行
k向上移动一行
l向右移动一个字符
(移动到块首
)移动到块尾
gg移动第一行
G移动尾行
ngg移动到第n行 n是一个数字
yy复制光标当前行
nyy复制n行
p黏贴
np 100p黏贴n次
dd删除一行
ndd删除n行
u撤销上一次的操作
shift + 6移动到本行行首
shift+ 4移动到本行行尾
ctrl + r恢复前一个被撤销的操作
.重复前一个操作

3 底行模式

命令模式=》底行模式 按 : 或者 /

按键作用
:w保存,不退出
:q不保存,退出
:q!强制退出,不保存
:wq保存并退出
:x保存并退出
:set nu显示行号
:set nonu不显示行号
:n移动到指定的行
/字符串 (回车)搜索指定字符串 n找下一个,N找上一个
?字符串从下往上找,n往上找,N往下找
:s/要找的字符串/要替换的字符串替换光标当前行的找到的第一个字符串
:s/要找的字符串/要替换的字符串/g替换光标当前行的找到的所有字符串
:%s/要找的字符串/要替换的字符串替换每一行第一个找到字符串
:%s/要找的字符串/要替换的字符串/g全文替换

二. 网络管理

  1. ifconfig

    配置和显示Linux内核中网络接口的网络参数。

    #1 显示网络信息
    [root@localhost ~]# ifconfig
    ens33      Link encap:Ethernet  HWaddr 00:1C:42:14:7A:DD  
              inet addr:192.168.3.46  Bcast:192.168.3.255  Mask:255.255.255.0
              inet6 addr: fe80::21c:42ff:fe14:7add/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:351142 errors:0 dropped:0 overruns:0 frame:0
              TX packets:748 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:81649700 (77.8 MiB)  TX bytes:94340 (92.1 KiB)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
    重要数据说明:
        inet addr: ipv4地址    inet6: ipv6地址
        HWaddr:  mac地址     Mask: 子网掩码
        UP:代表网卡开启   RUNNING:代表网卡的网线被接上   MULTICAST:支持组播 MTU:最大传输单元 (1500字节)。
        
    #2. ifconfig ens33 查看指定网卡信息
    #3.启动关闭网卡
    ifconfig ens33 up  #启动网卡
    ifconfig ens33 down   #关闭网卡
    
    # 重启网络
    /etc/init.d/network restart
    
  2. ifup和ifdown 启动和关闭网卡

    需要配置/etc/network/interfaces,不建议使用这两个命令
    
  3. ip

    ip命令用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具。

    ip [选项] [参数]
    选项: -s 显示详细信息
    
    #1.用ip命令显示网络设备的运行状态
    ip link list
    
    #2 查看网络地址
    ip a
    ip address show
    ip address show  ens33  #查看具体网卡的ip地址
    
    #3 修改接口状态
    ip link set enss33 up    #开启网卡
    ip link set ens33  down #关闭网卡
    
    #4显示路由信息
    ip route show
    
  4. ping

    ping命令用来测试主机之间网络的连通性

    用法:  ping [参数] [主机名或IP地址]
    参数:
        -c n     执行指定次数 n的ping命令
        -b       测试与网关IP的连通性
    #1.查看于百度的联通型
    [root@localhost ~]# ping -c 3 www.baidu.com
    PING www.a.shifen.com (119.75.213.61) 56(84) bytes of data.
    64 bytes from 119.75.213.61: icmp_seq=1 ttl=56 time=6.96 ms
    64 bytes from 119.75.213.61: icmp_seq=2 ttl=56 time=6.62 ms
    64 bytes from 119.75.213.61: icmp_seq=3 ttl=56 time=6.14 ms
    
    --- www.a.shifen.com ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 3126ms
    rtt min/avg/max/mdev = 6.141/6.577/6.963/0.337 ms
    
    #2.查看于网关的连通性
    [root@localhost ~]# ping -b www.baidu.com
    PING www.a.shifen.com (119.75.216.20) 56(84) bytes of data.
    64 bytes from 119.75.216.20: icmp_seq=1 ttl=56 time=5.29 ms
    64 bytes from 119.75.216.20: icmp_seq=2 ttl=56 time=8.47 ms
    64 bytes from 119.75.216.20: icmp_seq=3 ttl=56 time=14.2 ms
    
    --- www.a.shifen.com ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 3499ms
    rtt min/avg/max/mdev = 5.294/9.342/14.257/3.711 ms
    
  5. netstat 查看网络连接状况

    netstat  -an
      -n  显示端口
      -p  显示进程
      -t tcp
      -u udp
      -a  显示所有
    #1.sudo netstat -nt       显示所有已建立的TCP连接
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address               Foreign Address             State     
    tcp        0      0 10.0.112.235:22             10.0.112.252:57530          ESTABLISHED 
    tcp        0     64 192.168.3.46:22             192.168.3.50:58677          ESTABLISHED 
    
    #2. sudo netstat  -nu      显示已建立的UDP连接
    #3. sudo netstat -ntpa     显示TCP端口号的使用情况
    

三. 进程管理

  1. ps

    Linux中的ps命令是Process Status的缩写。ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。

     用法:  ps  [选项参数]  [用户名](可选)
       参数:
        -a -e 显示所有进程
        -u  显示指定用户的进程
         x :通常与 a 这个参数一起使用,可列出较完整信息。
     #1.ps -e|more -20      显示所有进程,每屏20个
     #2.ps -u root|more -10   显示指定用户的进程信息
     #3. ps -ef|grep kworker   过滤指定信息
     #4. ps -aux 列出目前所有的正在内存当中的程序
     USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
     root         1  0.0  0.1  19232  1496 ?        Ss   00:23   0:00 /sbin/init
     root         2  0.0  0.0      0     0 ?        S    00:23   0:00 [kthreadd]
     root         3  0.0  0.0      0     0 ?        S    00:23   0:00 [migration/0]
     PID 进程号   %CPU  cpu的占用率   %MEM  内存的占用率  VSZ 占用虚拟内存的量  RSS 驻留内存的量
     TTY 进程的控制终端,?表示不是从终端进入的。   STAT 进程状态(R就绪 S可中断的休眠态 T暂停执行)
     START 进程开始时间  TIME已经执行的时间
     
     #杀死进程
     kill [参数] 进程号
     #1. kill 2 杀死指定进程号的进程
     #2. kill -9 2 强制杀死指定进程号的进程
     
     #杀死指定进程名的进程
     killall -TERM  进程名称
    
  2. top

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

    用法: top
    使用q退出
    top - 03:32:26 up  3:08,  2 users,  load average: 0.03, 0.04, 0.05
    Tasks: 100 total,   1 running,  99 sleeping,   0 stopped,   0 zombie
    Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:   1016160k total,   163660k used,   852500k free,     9412k buffers
    Swap:  2064380k total,        0k used,  2064380k free,    51072k cached
    
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                   
        1 root      20   0 19232 1496 1224 S  0.0  0.1   0:00.95 init                     
        2 root      20   0     0    0    0 S  0.0  0.0   0:00.03 kthreadd                 
        3 root      RT   0     0    0    0 S  0.0  0.0   0:00.05 migration/0               数据说明:
    03:32:26    当前时间
    up 3:08    系统运行时间,格式为时:分
    2 user    当前登录用户数
    load average: 0.03, 0.04 0.05    系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
    
    第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:
    total 进程总数         running 正在运行的进程数       sleeping 睡眠的进程数
    stopped 停止的进程数   zombie 僵尸进程数              Cpu(s): 
    
    最后两行为内存信息。内容如下:
    Mem:
    191272k total 物理内存总量      173656k used 使用的物理内存总量    17616k free    空闲内存总量
    22052k buffers    用作内核缓存的内存量   
    Swap: 
    192772k total    交换区总量      0k used    使用的交换区总量    192772k free    空闲交换区总量
    
    进程信息区统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。
    序号  列名    含义
    a    PID     进程id
    b    PPID    父进程id
    c    RUSER   Real user name
    d    UID     进程所有者的用户id
    e    USER    进程所有者的用户名
    f    GROUP   进程所有者的组名
    g    TTY     启动进程的终端名。不是从终端启动的进程则显示为 ?
    h    PR      优先级
    i    NI      nice值。负值表示高优先级,正值表示低优先级
    j    P       最后使用的CPU,仅在多CPU环境下有意义
    k    %CPU    上次更新到现在的CPU时间占用百分比
    l    TIME    进程使用的CPU时间总计,单位秒
    m    TIME+   进程使用的CPU时间总计,单位1/100秒
    n    %MEM    进程使用的物理内存百分比
    o    VIRT    进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    p    SWAP    进程使用的虚拟内存中,被换出的大小,单位kb。
    q    RES     进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    r    CODE    可执行代码占用的物理内存大小,单位kb
    s    DATA    可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
    t    SHR     共享内存大小,单位kb
    u    nFLT    页面错误次数
    v    nDRT    最后一次写入到现在,被修改过的页面数。
    w    S       进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
    x    COMMAND 命令名/命令行
    y    WCHAN   若该进程在睡眠,则显示睡眠中的系统函数名
    z    Flags   任务标志,参考 sched.h
    
  3. lsof

    lsof命令是一个列出当前系统打开文件的工具。

    需要安装命令
    yum -y install lsof
    
    #1、直接输入命令 lsof
    终端下输入lsof就会显示系统打开的所有文件。由于lsof会访问核心内存和各种文件,必须以root用户来执行该命令。
    

四. 登录状态

  1. uname

    uname命令用于显示系统信息

    #显示linux核心版本号
    uname -r 
    
    #显示系统所有信息
    uname -a
    
    #显示操作系统版本
    uname -v
    
  2. hostname

    显示或设置主机名称

    #显示主机名
    $ hostname
    
    #临时设置主机名
    $ sudo hostname hello
    
    #永久设置主机名
    $ vim /etc/hostname #ubuntu的主机名在/etc/hostname文件中,其他liux可能会在/etc/sysconfig/network中
    
  3. whoami

    whoami命令用于显示自身用户名称。

  4. who

    显示当前登录用户

    who [-aHbl]
       -H 显示标题
       -a 显示所有信息
       -b 显示最近登录时间
       -l 显示系统登录时间
    $ who -Hl
    名称   线路       时间           空闲  进程号 备注
    登录   tty1         2018-03-30 14:17               952 id=tty1
    
    $ who -b
     系统引导 2018-03-30 14:17
     
    $ who -a
               系统引导 2018-03-30 14:17
    登录     tty1         2018-03-30 14:17               952 id=tty1
               运行级别 5 2018-03-30 14:17
    python   + tty7         2018-03-30 14:17 02:34        1431 (:0)
    
  5. w

    用来查看登录者的信息及他们的行为

    w 命令:执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w 命令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。
    
    语法:w [-fhlsuV][用户名称]
    linux w 命令参数:
        -f  开启或关闭显示用户从何处登入系统。
        -h  不显示各栏位的标题信息列。
        -l  使用详细格式列表,此为预设值。
        -s  使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。
        -u  忽略执行程序的名称,以及该程序耗费CPU时间的信息。
    
    #1. 常见用法,直接使用
    [root@localhost csl]# w
     03:44:07 up  3:20,  2 users,  load average: 0.07, 0.08, 0.06
    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1     -                01:41    1:00m  0.13s  0.13s -bash
    root     pts/1    192.168.3.50     02:34    0.00s  0.18s  0.00s w
    
  6. last

    显示用户最近登录信息

    #显示用户最近登录信息,只显示10行
    $ last -10  
    python   tty7         :0               Fri Mar 30 14:17    gone - no logout
    reboot   system boot  4.13.0-37-generi Fri Mar 30 14:17   still running
    python   tty7         :0               Thu Mar 29 20:59 - down   (17:17)
    reboot   system boot  4.13.0-37-generi Thu Mar 29 20:49 - 14:17  (17:28)
    python   pts/18       10.0.103.229     Thu Mar 29 14:53 - 18:00  (03:07)
    python   pts/17       10.0.136.238     Thu Mar 29 09:48 - 17:05  (07:17)
    python   pts/17       10.0.136.238     Thu Mar 29 09:36 - 09:48  (00:11)
    python   tty7         :0               Thu Mar 29 09:36 - down   (08:24)
    reboot   system boot  4.13.0-37-generi Thu Mar 29 09:36 - 18:00  (08:24)
    python   pts/18       10.0.136.238     Thu Mar 29 09:17 - 09:35  (00:17)
    

五. linux的启动

1 开机BIOS加载

2 读取MBR引导记录

3 加载linux内核

4 加载init进程,实现系统初始化,init进程是其他所有进程的父进程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N5BsitFI-1573453126617)(runlevel.png)]

5 执行/etc/init/rc-sysinit.conf,设置启动级别

6 启动内核

7 执行不同运行级别脚本程序,视级别的不同执行rc0~rc6下的脚本来完成相应的初始化和启动工作

8 执行/etc/init.d/rc.local ,可以把要自动加载的程序写到这个脚本里

9 用户登录

显示当前运行模式的命令:
runlevel
who -r

##六. 计划任务

在指定的时间做指定的事情,周期性的事情。需要用户有相应的权限,否则无法操作

vim /etc/crontab 打开定时任务

crontab -l 查看定时任务 /etc/crontab 里边的除外

crontab -e 编辑定时任务

分 小时 日 月 周 操作 解释

0-59 0-23 1-31 1-12 0-6

0 0 * * * mysqldum 每天0时备份数据库

0 2 * * 0 sync 每个星期天2点中做文件同步

0 0 15 * * /usr/local/jsgz.py 每个月的15号0时计算工资

0 */1 * * * sh 每个1个小时执行脚本

0 8,12,18 * * * daka.py 每天的8点、12点、18点打卡

crontab -r 清空所有定时任务 只能清除crontab -e产生的定时任务

清除指定定时任务 crontab -e 删除指定行

service cron start/restart/stop #启动、重启、停止定时任务

  • 实时查看日志
tail -f  文件名
watch -d -n 秒数  cat /8.txt #带高亮

七. 软件安装

7.1 压缩与解压

windows常见的压缩包:rar zip 7zip iso

linux常见的压缩包: zip gz bz2 tar

  1. gz压缩和解压

    如果没有gzip,用apt安装
    
    # apt-get  install gzip
    
    gzip 文件名1  文件名2 #多文件压缩,自动生成对应压缩包  文件名.gz  不能压缩目录  删除原件
    gzip -d 压缩包1  压缩包2   #支持批量解压,删除原件
    
  2. bz2压缩和解压

    压缩
    bzip2 文件名1  文件名2   #支持批量压缩 不支持压缩目录 自动升成 文件名.bz2
    
    解压
    bzip2 -d 包名1  包名2   #自动删掉原件
    
  3. tar压缩和解压

    tar [option]
       -c 打包
       -x 解包
       -v 可视化
       -f指定文件名
       -t 查看包里的东西
       -z 用gzip对包进行压缩
       -j 用把bzip2对包进行压缩
    
       tar -cvf 包名   文件名1 文件名2  目录1  #不删除原件,可以打包目录
       tar -xvf 包名   #不删除原件
    
       打包并压缩
       tar -zcvf 包名  文件名1 文件名2  目录1 
       tar -jcvf 包名  文件名1 文件名2  目录1
    
       解压
       tar -zxvf  包名
       tar -jxvf  包名
    
  4. zip压缩和解压

    apt-get -y install zip unzip
    
    zip 包名  文件名或目录
    unzip 包名
    

7.2 软件的安装

  1. apt

解决deb复杂的依赖关系

查看软件包信息 		  sudo apt-cache showsrc 包名
获得源码       		     sudo apt-get source 包名
安装软件     		     sudo apt-get install 包名
删除软件                  sudo apt-get remove 包名
获取新的软件包列表         sudo apt-get update
升级有可用更新的软件包     sudo apt-get upgrage
安装apache
#1 更新软件列表
sudo apt-get update

#2 安装
sudo apt-get install apache2

#3 启动服务
sudo  /etc/init.d/apache2 start  # start | restart | stop
或
service apache2 start

# 配置虚拟站点
cd /etc/apache2
#在sites-available目录下配置自己的虚拟站点
cp 000-default.conf   www.jxc.com.conf

cd ../sites-enabled
ln -s ../sites-available/www.jxc.com.conf  www.jxc.com.conf

#配置网站
cd /var/www/html/jxc
vim index.html

#重启apache服务
sudo /etc/init.d/apache2 restart

  • 13
    点赞
  • 4
    评论
  • 60
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值