• Linux命令补充


    Linux常见命令补充

    • 虚拟机补充:virtualbox

    • 企业中使用最多的Linux系统是centos6和7

    • 掌握Linux常见的基本命令的操作,企业中服务器都是Unix系列的,深入学习参考运维课程

    • 宿主机(windows)连接虚拟机(centos),大部分人使用xshell(ssh),还用secureCRT,在Mac下使用Mac自带的工具也可使用finalshell

    hostname查询主机名

    [root@zgh1 /]# hostname
    zgh1
    [root@zgh1 /]# hostname -f
    zgh1
    [root@zgh1 /]# hostname -i
    fe80::d4f7:623:bc6b:938%ens33 10.0.0.200
    

    ifconfig

    查看用户网络配置。它显示当前网络设备配置

    [root@zgh1 /]# yum install net-tools
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 10.0.0.200  netmask 255.255.255.0  broadcast 10.0.0.255
            inet6 fe80::d4f7:623:bc6b:938  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:50:88:5c  txqueuelen 1000  (Ethernet)
            RX packets 1960  bytes 602944 (588.8 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 1379  bytes 143087 (139.7 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    

    查询命令的具体用法 man

    windows中的ping命令只执行4次,Linux中的ping会一直执行

    清屏命令:clear、ctrl+L

    netstat -natup

    [root@zgh1 /]# yum install net-tools
    [root@zgh1 /]# netstat -natup
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1664/master         
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1513/sshd           
    tcp        0      0 10.0.0.200:22           10.0.0.1:7594           ESTABLISHED 1766/sshd: root@pts 
    tcp6       0      0 ::1:25                  :::*                    LISTEN      1664/master         
    tcp6       0      0 :::22                   :::*                    LISTEN      1513/sshd 
    

    ps查看进程

    [root@zgh1 /]# ps 
       PID TTY          TIME CMD
      1770 pts/0    00:00:00 bash
      2135 pts/0    00:00:00 ps
    
    ps -aux 是列出当前服务器上所有的进程
    | : 管道符 , 将左边执行的命令结果传给右边进行操作
    grep : 用来进行筛选过滤
    ps -aux | grep mysql : 查看mysql所有的相关进程
    
    ps -ef (system v 输出) 
    ps -aux bsd 格式输出
    ps -ef | grep pid
    

    kill

    杀死某一个进程 kill 服务的进程号
    kill redis 任务id
    killall redis杀死redis的所有进程
    kill -9 服务的进程号 -9:强制杀死
    

    service

    service命令能够将目录“/etc/init.d/”中有关网络服务或系统服务脚本程序以一种统
    一的格式执行,格式为:“service 脚本程序 选项”,常用选项有:status、stop、
    start、restart。
    service命令使用举例如下:
    service 服务名 status : 查看某一个服务的状态
    service sshd status : 查看sshd服务的状态
    service sshd start: 启动ssh的服务
    service 服务名 restart : 重新启动一个服务
    service sshd restart: 重新启动ssh的服务
    service 服务名 stop关闭某一个服务,service sshd stop关闭sshd服务
    

    systemctl

    centos7中可以使用systemctl对服务进行操作

    systemctl status 服务名
    systemctl start 服务名
    systemctl restart 服务名
    

    wget

    wget是一个下载文件的工具

    wget -O

    使用wget -O下载并以不同的文件名保存(-O:下载文件到对应目录,并且修改文件名称)

    [root@zgh1 movie1]# wget -O baidu www.baidu.com
    --2020-03-09 15:26:09--  http://www.baidu.com/
    Resolving www.baidu.com (www.baidu.com)... 220.181.38.150
    Connecting to www.baidu.com (www.baidu.com)|220.181.38.150|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 2381 (2.3K) [text/html]
    Saving to: ‘baidu’
    
    100%[==========================>] 2,381       --.-K/s   in 0s      
    
    2020-03-09 15:26:09 (233 MB/s) - ‘baidu’ saved [2381/2381]
    
    [root@zgh1 movie1]# ls
    baidu  dir1
    
    

    wget -S 域名 :下载响应内容,打印服务器响应

    [root@zgh1 movie1]# wget -S www.baidu.com
    --2020-03-09 15:31:51--  http://www.baidu.com/
    Resolving www.baidu.com (www.baidu.com)... 220.181.38.149, 220.181.38.150
    Connecting to www.baidu.com (www.baidu.com)|220.181.38.149|:80... connected.
    HTTP request sent, awaiting response... 
      HTTP/1.1 200 OK
      Content-Length: 2381
      Content-Type: text/html
      Server: bfe
      Date: Mon, 09 Mar 2020 07:32:49 GMT
    Length: 2381 (2.3K) [text/html]
    Saving to: ‘index.html’
    
    100%[==========================>] 2,381       --.-K/s   in 0s      
    
    2020-03-09 15:31:51 (76.6 MB/s) - ‘index.html’ saved [2381/2381]
    
    [root@zgh1 movie1]# ls
    baidu  dir1  index.html
    

    具体用法参考链接

    https://www.cnblogs.com/ftl1012/p/9265699.html

    top

    查看正在运行的进程和线程
    

    lrzsz

    该命令用于向服务器上传和下载文件

    yum install lrzsz* -y
    rz从宿主机上上传文件到虚拟机
    sz从虚拟机下载文件到宿主机
    

    df -h

    查看磁盘使用情况

    [root@zgh1 movie1]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    devtmpfs                 475M     0  475M   0% /dev
    tmpfs                    487M     0  487M   0% /dev/shm
    tmpfs                    487M  7.6M  479M   2% /run
    tmpfs                    487M     0  487M   0% /sys/fs/cgroup
    /dev/mapper/centos-root  8.0G  1.8G  6.3G  22% /
    /dev/sda1               1014M  137M  878M  14% /boot
    tmpfs                     98M     0   98M   0% /run/user/0
    

    tree

    以tree的形式展开当前目录

    [root@zgh1 movie1]# tree
    .
    ├── baidu
    ├── dir1
    │   └── test
    │       └── file.txt
    └── index.html
    
    2 directories, 3 files
    

    su

    Linux su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。

    使用权限:所有使用者。切换用户,切换完成后,还在上一用户的家目录,详细使用参考链接

    https://www.runoob.com/linux/linux-comm-su.html

    sudo

    以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

    使用权限:在 /etc/sudoers 中有出现的使用者。

    详细使用方法参考

    https://www.cnblogs.com/ftl1012/p/sudo.html

    history

    记录历史命令, 一般记录1000条左右
    执行历史记录的话, !命令行号
    [root@zgh1 movie1]# history
      399  df -h
      400  history
    [root@zgh1 movie1]# !399
    df -h
    Filesystem               Size  Used Avail Use% Mounted on
    devtmpfs                 475M     0  475M   0% /dev
    tmpfs                    487M     0  487M   0% /dev/shm
    tmpfs                    487M  7.6M  479M   2% /run
    tmpfs                    487M     0  487M   0% /sys/fs/cgroup
    /dev/mapper/centos-root  8.0G  1.8G  6.3G  22% /
    /dev/sda1               1014M  137M  878M  14% /boot
    tmpfs                     98M     0   98M   0% /run/user/0
    
    

    wc

    Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
    
    1.命令格式:
    
      wc [选项]文件...
    
    2.命令功能:
    
      统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数。
    
    3.命令参数:
    
      -c 统计字节数。
    
      -l 统计行数。
    
      -m 统计字符数。这个标志不能与 -c 标志一起使用。
    
      -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
    
      -L 打印最长行的长度。
    
      -help 显示帮助信息
    
      --version 显示版本信息
    wc 命令 - c 统计字节数 - l 统计行数 - w 统计字数。
    [root@zgh1 movie1]# ls
    baidu  dir1  index.html
    [root@zgh1 movie1]# wc -c index.html 
    2381 index.html
    [root@zgh1 movie1]# wc -l index.html 
    2 index.html
    [root@zgh1 movie1]# wc -L index.html 
    2315 index.html
    

    grep

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。

    grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户

    -c:只输出匹配行的计数。
    -i:不区分大小写。
    -h:查询多文件时不显示文件名。
    -l:查询多文件时只输出包含匹配字符的文件名。
    -n:显示匹配行及 行号。
    -s:不显示不存在或无匹配文本的错误信息。
    -v:显示不包含匹配文本的所有行。
    --color=auto :可以将找到的关键词部分加上颜色的显示
    
    
    $ grep ‘test’ d*
    显示所有以d开头的文件中包含 test的行。
    #显示所有以f开头的文件中包含love的行
    [root@zgh1 movie1]# ls
    baidu  dir1  file1.txt  index.html
    [root@zgh1 movie1]# grep 'love' f*
    love you
    love you
    
    $ grep ‘test’ aa bb cc
    显示在aa,bb,cc文件中匹配test的行。
    
    $ grep ‘[a-z]{5}’ aa
    显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
    
    $ grep ‘w(es)t.*1′ aa
    如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着 另外一个es(1),找到就显示该行。
    如果用egrep或grep -E,就不用””号进转义,直接写成’w(es)t.*1′就可以了。
    
    

    详细介绍参考:

    https://www.cnblogs.com/xiangtingshen/p/10927081.html

    &

    一般都是使用 & 在命令结尾来让程序自动运行。(命令后可以不追加空格)

    jobs

    查看后台运行的进程,如果后台没有进程在运行则什么也不显示。

    在用管理员执行一个命令后,用Ctrl+Z把命令转移到了后台。导致无法退出root的。
    输入命令:exit
    终端显示:There are stopped jobs.
    
    解决方法:
    方法一、输入命令:jobs
    终端显示:[1]+ Stopped vim /etc/network/interfaces > /home/leo/Desktop/ip.txt (wd: /)
    KILL %1
    
    方法二、输入命令:jobs -l
    终端显示:[1]+ 4664 停止 vim /etc/network/interfaces > /home/leo/Desktop/ip.txt (wd: /)
    
    看到4664,这个就是PID了
    
    现在开始杀掉它:
    输入命令:kill 4664
    终端没有显示
    再用jobs命令查看,确认进程已经杀掉了
    

    搜索文件命令

    find <指定目录> <指定条件> <指定动作>
    whereis 加参数与文件名
    locate 只加文件名
    find 直接搜索磁盘,较慢。
    find / -name "string*"
    

    Linux常见面试题

    参考链接

    https://www.cnblogs.com/passzhang/p/8552757.html

  • 相关阅读:
    python+opencv实现图像缩放
    vim 常用指令-持续更新
    python实现简单的SVM
    linux查看当前目录下,各文件夹大小
    python解析json文件信息到csv中
    根据小图文件名在原图画框
    BZOJ1079: [SCOI2008]着色方案 (记忆化搜索)
    BZOJ1044: [HAOI2008]木棍分割 (二分 + DP)
    gym100825G. Tray Bien(轮廓线DP)
    BZOJ1237: [SCOI2008]配对
  • 原文地址:https://www.cnblogs.com/ghylpb/p/12449614.html
Copyright © 2020-2023  润新知