zoukankan      html  css  js  c++  java
  • linux必备命令

    init命令

    linux系统启动分为六种级别分别为:

    • 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 
    • 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 
    • 运行级别2:多用户状态(没有NFS) 
    • 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式 
    • 运行级别4:系统未使用,保留 
    • 运行级别5:X11控制台,登陆后进入图形GUI模式 
    • 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
    init 0:关机
    init 6:重启

    sysmctl组命令

    reboot:重启
    poweroff:关机

    sync命令

    sync命令主要是用于把数据从buffer写回磁盘

    [root@localhost data]# sync 

    cd命令详解

    cd命令主要用于目录的切换比如

    [root@localhost logs]# cd /home/
    [root@localhost logs]# cd -
    [root@localhost data]# cd ~

    tree命令

    以树状结构显示目录或者文件,想使用tree这个命令必须要先安装他的包,yum install tree

    具体参数如下:

    -d:只显示目录
    -L:遍历目录最大层数,后面加几就到几

    默认全部显示,例如:

    [root@localhost data]# tree /data/
    /data/
    ├── 1.txt
    ├── 2.txt
    ├── 3.txt
    ├── a
    │   └── a.txt
    └── lost+found

    which命令

    which命令主要是用来查找命令存放路径,比如:

    [root@localhost data]# which cat 
    /usr/bin/cat

    ls命令

    ls命令主要用于浏览目录下的文件或者文件夹,./代表当前文件路径,.开头的文件或者目录代表隐藏文件或者目录

    参数说明

    -a:代表查看所有文件或者目录,包括隐藏文件
    -l:使用较长格式列出信息
    -t:按照时间从新到旧列出信息
    -r:反转顺序,倒序
    -S:按照文件大小排序

    pwd命令

    pwd命令主要是用于显示或者查看当前所在的目录路径

    [root@localhost var]# pwd
    /var

    mkdir命令

    mkdir命令主要是用来创建目录的

    常用参数

    -p:递归创建
    -v:显示详细信息

    history命令

    主要是用来查看操作历史的

    history
                环境变量:
                    history -d:OFFSET#删除某一行
                    history -c: 清空历史命令
                    history #:  显示历史中最近的#条命令
                    history -a: 手动追加当前回话缓冲区的命令历史至历史文件中
                调用历史中的命令:
                    !#:重复执行第#条命令
                    !!:
                    !string

    cp命令

    主要是用来复制文件或者目录

    常用选项:
    -i:交互式(默认已经有)
    -r:递归复制目录及内部
    -a:归档,保留文件所有属性

    mv命令

    主要是移动文件或者目录,或者重命名文件或者目录

    mv [OPTION]... [-T] SOURCE DEST
    mv [OPTION]... SOURCE... DIRECTORY
    mv [OPTION]... -t DIRECTORY SOURCE...
        如果SRC是单个文件:    
        常用选项:
            -i:交互式
            -f:强制

    rm命令

    主要是用来删除文件或者目录

    常用选项:
        -i:交互式
        -f:强制删除
        -r:递归 
    -v:显示详细信息
    rm -rf

     touch命令

    主要是用来创建文件或者修改文件的访问时间

    常用选项

    -a: 只更改访问时间
    -m:只修改更改时间

    cat命令

    主要是用来查看文件内容的,也可以多行输入

    常用选项

    -n:显示行号
    
    [root@localhost var]# cat > 1.txt <<EOF
    > this is line1
    > this is line2
    > this is line3
    > EOF
    note:追加重定向为>>,重定向为>

    head命令

    head一般也是用来查看问价的,只不过默认查看前10行

    常用选项

    -v:显示头部信息
    -#:指定显示前#行

    tail命令

    tail跟head一样,只不过tail是用来查看末尾行的,默认是后10行

    常用选项

    -#:查看后#行信息

    echo命令

    echo命令主要是用来打印字符或者回显,例如打印echo ok会显示ok,echo ok > 1.txt会把ok输入到1.txt文件中

    使用-e扩展参数选项时,与如下参数一起使用有着不同的含义

    :删除前一个字符
    c:最后不加换行符号
    f:换行但光标扔停留在原来位置
    
    :换行且光标移至首行
    	:插入tab
    v:与f相同
    \:插入""字符

    df命令

    df常用于磁盘分区查询,常用命令为df -h

    常用选项

    -a:列出所有的文件系统的使用情况,包括虚拟文件系统
    -h:以人们可读的形式显示出来
    -i:查看inode总个数和已用个数

    du命令

    du命令常用于查看文件在磁盘中的使用量,常用命令du -sh,查看当前目录所有文件及目录的大小

    常用参数

    -c:显示总计信息
    -s:只分别计算命令列中每个参数所占的总用量
    -h:以可读性较好的方式显示尺寸(例如1KB,1MB,1GB)
    -a:显示所有文件的磁盘用量,不仅仅是目录

    man命令

    man命令是用来查命令格式或者命令的用法,就记住一句话,有困难找男人帮忙,比如:

    [root@localhost data]# man ls

    shutdown命令

    此命令可以关机,可以重启,用法为:

    shutdown -h 10:10分钟后关机
    shutdown -h 0:立即关机
    shutdown -h now:1立即关机
    shutdown -c:取消关机任务
    shutdown -r 10: 10分钟后重启
    shutdown -r 0:立刻重启
    shutdown -r now:立即重启

    date命令

    显示系统时间和日期

    可用参数为:

    例1:

    [root@localhost data]# date
    2019年 11月 11日 星期一 20:21:30 CST

    例2:如果想自定义格式如下:

    [root@localhost data]# date +"%Y-%m-%d %H:%M:%S"
    2019-11-11 20:24:27

    systemctl

    systemctl可以用来管理服务

    [root@localhost data]# systemctl stop firewalld
        #stop可以是start或者restart

    hostname和hostnamectl

    hostname和hostnamectl都可以修改主机名,但是hostnamectl是永久性修改,也就是说重启也生效,而hostname修改后重启失效

    [root@mynode1 ~]# hostname mynode1
    [root@mynode1 ~]# hostnamectl set-hostname mynode1

    dd命令

    dd命令在linux当中是一个很好用的命令,可以指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换,它比cp命令更加高效

    [root@mynode1 ~]# dd if=lib.tar of=lib.tar.bak bs=400M count=5

    参数解释:

    if:来源文件
    of:目标文件
    bs:block大小
    count:总数

    我们也可以利用dd命令来进行压力测试,然后关注linux系统的cpu和mem,硬盘的使用情况,例如:

    [root@mynode1 ~]# dd if=/dev/zero of=/dev/null bs=500M count=2000

    id命令

    id命令是用来查询用户身份的

    [root@mynode1 data]# id root
    uid=0(root) gid=0(root) 组=0(root)

    whoami命令

    whoami用来查看当前登录的用户

    [root@mynode1 data]# whoami
    root

    w命令

    w命令查看当前所有登录用户信息并且当前正在干什么

    [root@mynode1 data]# w
     21:10:03 up  3:12,  5 users,  load average: 0.00, 0.09, 0.18
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1                      186月19  1:31m  0.24s  0.24s -bash
    root     pts/0    192.168.254.1    186月19 145days  0.56s  0.56s -bash
    root     pts/1    192.168.254.1    20:28    3.00s  1:09   0.01s w
    root     pts/3    192.168.254.1    21:09    3.00s  0.08s  0.04s top

    ping,ifconfig,ip,telnet,uname命令

    ping命令是用来测试网络连通性的

    [root@mynode1 data]# ping -c 1 -W 1 www.baidu.com

    ifconfig和ip是用来查看ip地址等信息

    [root@mynode1 data]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:fa:b5:33 brd ff:ff:ff:ff:ff:ff
        inet 192.168.254.13/24 brd 192.168.254.255 scope global noprefixroute dynamic ens33
           valid_lft 970sec preferred_lft 970sec
        inet6 fe80::20c:29ff:fefa:b533/64 scope link 
           valid_lft forever preferred_lft forever
    

    [root@mynode1 data]#
    ifconfig -a ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.254.13 netmask 255.255.255.0 broadcast 192.168.254.255 inet6 fe80::20c:29ff:fefa:b533 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:fa:b5:33 txqueuelen 1000 (Ethernet) RX packets 82402 bytes 52705960 (50.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 88887 bytes 98922972 (94.3 MiB) 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 83 bytes 9942 (9.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 83 bytes 9942 (9.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    telnet可以远程连接,默认为23号端口,也可以测试主机端口是否开启

    [root@mynode1 data]# telnet 127.0.0.1 22
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    SSH-2.0-OpenSSH_7.4

    uname可以查看系统内核和主机名

    [root@mynode1 data]# uname -n
    mynode1
    [root@mynode1 data]# uname -r
    3.10.0-957.el7.x86_64
    [root@mynode1 data]# uname -a
    Linux mynode1 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

    vim编辑器

    介绍

    vim编辑器是linux下标准的编辑器,就相当于windows当中的记事本一样,vim编辑器也是我们作为运维工程师必不可少的工具,学完vim编辑器,你可以在任意的unix内核的系统中畅行无阻比如:redhat,centos,AIX,UNIX等...

    vim工作模式

    命令模式(默认):刚进入vim的时候,默认就是命令模式,可以复制删除等
    输入模式:可以输入内容
    末行模式:可以输入很多管理命令,比如查找,显示行号等信息...

    安装

    yum install vim -y

    命令模式

    a:在当前光标所在字符的后面,转为输入模式
    home:跳到当前光标所在行的行首
    end:跳到当前光标所在行的末尾
    o:在当前光标所在行的下方,新建一行,并转为输入模式
    O:在当前光标所在行的上方,新建一行,并转为输入模式
    r:替换光标处字符
    x:删除当前光标的字符
    D:删除光标往右的字符
    d0:删除光标往左的字符
    gg:把光标移动到第一行
    shift+g:把光标移动到最后一行
    dd:剪切光标所在行
    ndd:剪切光标往下指定的行数(包括本行)
    u:撤销上一次的操作
    Ctrl+f:下滚一屏 
    Ctrl+b:上滚一屏
    dG:删除光标所在位置往下的所有行
    yy:复制一行内容
    nyy:指定复制光标往下的行数(包括本行)
    p:粘贴
    /findname:在文本中查找内容,如果遇到特殊符号需要来进行转义
        n:下一跳内容
        N:上一跳内容
    v        字符选择,会将光标经过的地方反白选择
    V         行选择,会将光标经过的行反白选择
    Ctrl+v     块选择,可以用长方形的方式选择资料 (提制竖列)
        y         将反白的地方复制
        d         将反白的地方删除
        P        粘贴

    末行模式

    :wq                    保存退出
    :q!                    不保存退出
    :s/old/new            在一行内替换头一个字符串old为新的字符串new
     :s/old/new/g          在一行内替换所有的字符串old为新的字符串new   
     :%s/old/new/g         在文件内替换所有的字符串old为新的字符串new    
     :%s/old/new/gc       进行全文替换时询问用户确认每个替换需添加c选项
    :1,$ s/^/#/g        第一行到最后一行的最前面加上#号
    :1,$ s/^#//g        第一行到最后一行去掉最前面的#号
    :set nu                显示行号
    :set nonu            去掉行号
    :set nohl            去除高亮
    :w filename            将当前数据保存到另一个文件
    :r filename            将读取到的文件追加到光标的下一行
    :! command            暂时离开vim编辑器执行系统的shell命令
    :sp filename        开启一个新窗口,如果有加 filename, 表示在新窗口开启一个新文件,否则表示两个窗口为同一个文件内容(同步显示)。

    note:编辑模式和末行模式都需要先进入到命令模式,用ESC来进入命令模式

  • 相关阅读:
    关于p标签
    用unescape反编码得出汉字
    一个未知高度垂直居中的简单方法
    发现个div float的小秘密
    w3cschool关于list-style-position时的另外发现
    oracle 11gR2默认密码修改
    程序员的十楼层。看看自己在第几层
    Steve Yegge:Google面试秘籍
    为学Linux,我看了这些书
    程序员的困境
  • 原文地址:https://www.cnblogs.com/fengzi7314/p/10770351.html
Copyright © 2011-2022 走看看