zoukankan      html  css  js  c++  java
  • linux基础命令

    基础命令:

    ls

    man

    pwd

    cd

    mkdir

    echo

    touch

    cp

    mv

    rm

    rmdir

    cat

    more

    less

    head

    tail

    clear

    poweroff

    reboot

    进阶命令(下一章节):

    alias

    unalias

    uname

    su

    hostname

    history

    which

    wc

    w

    who

    whoami

    ping

    kill

    killall

    pkill

    seq

    du

    df

    free

    date

    pidof

    ps

    top

    ip

    uptime

    wget

    curl

    tr

    dd

    tar

    grep

    find

     lsblk

    命令详解

     

    1. ls

    作用:列出文件信息,默认为当前目录下

    常用选项:

    -a: 列出所有的文件,包括所有以.开头的隐藏文件

    -d: 列出目录本身,并不包含目录中的文件

    -h: 和-l一起使用,文件大小人类易读

    -l: 长输出

    实例1:列出所有的文件

     

    [root@ken ~]# ls -a /root

    .                            .bash_logout                    k                         .pki      .viminfo

    ..                           .bash_profile                   keys.sh                   .ssh      wordpress

    .ansible                     .bashrc                         manpages-zh-1.5.1         .tcshrc   zabbix_agentd.conf

    apache-tomcat-8.5.35.tar.gz  .config                         manpages-zh-1.5.1.tar.gz  实例2:列出目录

    [root@ken ~]# ls -d /root

    /root

    [root@ken ~]# ls -l /root

    total 85452

    -rw-r--r-- 1 root  root  9642757 Dec 15 17:44 apache-tomcat-8.5.35.tar.gz

    -rw-r--r-- 1 root  root       50 Dec  2 17:34 auto_ins.retry

    -rw-r--r-- 1 root  root      259 Dec  2 17:50 auto_ins.yml

    -rw------- 1 root  root   293691 Jan  9 11:26 dead.letter

    -rw-r--r-- 1 root  root 75541986 Nov 14 13:58 jenkins-2.138.3-1.1.noarch.rpm

    -rw-r--r-- 1 root  root       93 Jan  9 11:19 k

    -rw-r--r-- 1 root  root      873 Dec 20 13:11 keys.sh

     

    实例4:人类易读

    [root@ken ~]# ls -lh /root

    total 8.0K

    -rw-------. 1 root root 1.2K Feb 26 22:25 anaconda-ks.cfg

    -rw-r--r--. 1 root root 517 Feb 26 22:36 test.sh

     

    2.man

    作用:命令帮助使用手册

    在man命令帮助信息的界面中,所包含的常用操作按键及其用途如表2-2所示。

    表2-2                                            man命令中常用按键以及用途

    按键                                  用处

    空格键向下翻一页

    PaGe down向下翻一页

    PaGe up向上翻一页

    home直接前往首页

    end直接前往尾页

    /从上至下搜索某个关键词,如“/linux”

    ?从下至上搜索某个关键词,如“?linux”

    n定位到下一个搜索到的关键词                                   

    N定位到上一个搜索到的关键词

    q退出帮助文档

    一般来讲,使用man命令查看到的帮助内容信息都会很长很多,如果读者不了解帮助文档信息的目录结构和操作方法,乍一看到这么多信息可能会感到相当困惑。man命令的帮助信息的结构如表2-3所示。

    表2-3                                         man命令帮助信息的结构以及意义

    结构名称代表意义                                                             

    NAME命令的名称

    SYNOPSIS参数的大致使用方法

    DESCRIPTION介绍说明

    EXAMPLES演示(附带简单说明)

    OVERVIEW概述

    DEFAULTS默认的功能

    OPTIONS具体的可用选项(带介绍)

    ENVIRONMENT环境变量

    FILES用到的文件

    SEE ALSO相关的资料

    HISTORY                             维护历史与联系方式

     

    3.pwd

    显示出当前/活动目录的名称

    实例:

    [root@ken ~]# pwd

    /root

     

    4. cd

    切换目录

    实例1:切换至/tmp目录下

    [root@ken ~]# cd /tmp

    [root@ken tmp]# pwd

    /tmp

    实例2:切换至上次所处的目录

    [root@ken tmp]# cd -

    /root

    [root@ken ~]# pwd

    /root

    实例3:切换至上级目录

    [root@ken ~]# mkdir -p /1/2/3

    [root@ken ~]# cd /1/2/3

    [root@ken 3]# cd ..

    [root@ken 2]# pwd

    /1/2

    实例4:切换至家目录(或者一个cd也可以)

    [root@ken 2]# cd ~

    [root@ken ~]# pwd

    /root

     

    5. mkdir

    创建目录

    常用选项:

    -p: 根据需要创建父目录

    实例1:

    [root@ken ~]# mkdir ken

    [root@ken ~]# ls -ld ken

    drwxr-xr-x 2 root root 6 Jan 13 11:10 ken

    实例2:

    [root@ken ~]# mkdir /2/3/2 -p

    [root@ken ~]# ls -ld /2/3/2/

    drwxr-xr-x 2 root root 6 Jan 13 11:11 /2/3/2/

     

    6.echo

    输出并显示一行文本

    常用选项:

    -e: 允许对下面列出的加反斜线转义的字符进行解释.

    实例1:

    [root@ken ~]# echo "this is ken"

    this is ken

    实例2:

    换行符,如果不加-e不能进行解释,会当做普通字符进行输出

    [root@ken ~]# echo "this is ken nice to meet you"

    this is ken nice to meet you

    [root@ken ~]# echo -e "this is ken nice to meet you"

    this is ken 

    nice to meet you

    实例3:输出颜色

    [root@ken ~]# echo -e "33[32mthis is ken nice to meet you33[0m"

    this is ken 

    nice to meet you

     

    7.touch

    修改时间戳

    平时都是用来创建普通文件

    实例1:

    [root@ken ~]# touch test

    [root@ken ~]# ls -l test

    -rw-r--r-- 1 kl root 1116 Jan 13 11:16 test

     

    8.cp

    复制文件和目录

    常用选项:

    -p: 保持属性不变

    -r: 递归复制目录

    -a: 复制时,尽可能保持文件的结构和属性. 等同于 -dpR

     

    实例1:复制文件到目录

    [root@ken ~]# cp t.sh ken

    实例2:复制文件并改名

    [root@ken ~]# cp t.sh test1.sh

    实例3:复制目录

    [root@ken ~]# cp -a ken ken1

    [root@ken ~]# cp -r ken ken2

    实例4:复制多个文件到目录

    [root@ken ~]# cp test test1.sh test.sh ken

    [root@ken ~]# ls ken

    test  test1.sh  test.sh  t.sh

     

    9.mv

    移动 (改名) 文件

    实例1:移动文件到目录

    [root@ken ~]# mv k ken

    实例2:移动多个文件到目录

    [root@ken ~]# mv {1..4}.sh ken

    实例3: 改名

    [root@ken ~]# mv ken ken3

     

    10.rm

    移除文件或者目录

    常用选项:

    -f:  不作确认提示

    -r:  或者 -R 递归地移除目录树

    实例1:删除一个文件

    [root@ken ~]# rm test

    rm: remove regular file ‘test’? y

    实例2:强制删除文件(不提示)

    [root@ken ~]# rm -f test1.sh 

    实例3:删除目录

    [root@ken ~]# rm ken2

    rm: cannot remove ‘ken2’: Is a directory

    [root@ken ~]# rm -rf ken2

     

    11.rmdir

    删除空目录

    [root@ken ~]# rmdir 1.txt

    [root@ken ~]# rmdir ken3

    rmdir: failed to remove ‘ken3’: Directory not empty

     

    12. cat

    连接文件并在标准输出上输出(用于内容较少的)

    常用选项:

    -n: 输出行号

    实例1:

    [root@ken ~]# cat /etc/passwd

    root:x:0:0:root:/root:/bin/bash

    bin:x:1:1:bin:/bin:/sbin/nologin

    daemon:x:2:2:daemon:/sbin:/sbin/nologin

    实例2:

    [root@ken ~]# echo "this is the first txt" >1

    [root@ken ~]# echo "this is the second txt" >2

    [root@ken ~]# cat 1 2

    this is the first txt

    this is the second txt

     

    13.more

    在显示器上阅读文件的过滤器(查看内容较多的)

    more命令会在最下面使用百分比的形式来提示您已经阅读了多少内容

    [root@ken ~]# more /etc/passwd

    root:x:0:0:root:/root:/bin/bash

    bin:x:1:1:bin:/bin:/sbin/nologin

    daemon:x:2:2:daemon:/sbin:/sbin/nologin

    adm:x:3:4:adm:/var/adm:/sbin/nologin

    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

    sync:x:5:0:sync:/sbin:/bin/sync

    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

    halt:x:7:0:halt:/sbin:/sbin/halt

    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

    operator:x:11:0:operator:/root:/sbin/nologin

    games:x:12:100:games:/usr/games:/sbin/nologin

    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

    nobody:x:99:99:Nobody:/:/sbin/nologin

    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

    dbus:x:81:81:System message bus:/:/sbin/nologin

    polkitd:x:999:998:User for polkitd:/:/sbin/nologin

    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

    postfix:x:89:89::/var/spool/postfix:/sbin/nologin

    named:x:25:25:Named:/var/named:/sbin/nologin

    rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin

    rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

    --More--(52%)

    14. less

    less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动(pgup键),而且 less 在查看之前不会加载整个文件

     

    15.head

    输出文件的开始部分(默认前10行)

    常用选项:

    -n: 指定行

    [root@ken ~]# head /etc/passwd

    root:x:0:0:root:/root:/bin/bash

    bin:x:1:1:bin:/bin:/sbin/nologin

    daemon:x:2:2:daemon:/sbin:/sbin/nologin

    adm:x:3:4:adm:/var/adm:/sbin/nologin

    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

    sync:x:5:0:sync:/sbin:/bin/sync

    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

    halt:x:7:0:halt:/sbin:/sbin/halt

    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

    operator:x:11:0:operator:/root:/sbin/nologin

     

    实例2:指定打印行数量

     

    [root@ken ~]# head -n 5 /etc/passwd

    root:x:0:0:root:/root:/bin/bash

    bin:x:1:1:bin:/bin:/sbin/nologin

    daemon:x:2:2:daemon:/sbin:/sbin/nologin

    adm:x:3:4:adm:/var/adm:/sbin/nologin

    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

    [root@ken ~]# head -5 /etc/passwd

    root:x:0:0:root:/root:/bin/bash

    bin:x:1:1:bin:/bin:/sbin/nologin

    daemon:x:2:2:daemon:/sbin:/sbin/nologin

    adm:x:3:4:adm:/var/adm:/sbin/nologin

    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

     

     

    16. tail

    输出文件的末尾部分(默认十行)

    常用选项:

    -f: 当文件增长时,输出后续添加的数据(持续刷新)

    -n: 指定打印行数量

    实例1:

    1[root@ken ~]# tail -f t.sh

    实例2:

    [root@ken ~]# tail -n 5 /etc/passwd

    lll:x:1003:1003::/root/jjj:/bin/bash

    kl:x:1004:1004::/root/kl:/bin/bash

    tt:x:450:450::/home/tt:/bin/bash

    ken:x:1005:1005::/home/ken:/bin/bash

    ttt:x:1006:1006::/home/ttt:/bin/bash

     

    17. clear

    清屏

    快捷键ctrl+l

     

    18. poweroff

    关机

     

    19. reboot

    重启

    alias

    unalias

    uname

    su

    hostname

    history

    which

    wc

    w

    who

    whoami

    ping

    kill

    seq

    du

    df

    free

    date

     

    命令详解

     

    1. alias

    设置、’查看别名

    [root@ken ~]# alias 

    alias cp='cp -i'

    alias egrep='egrep --color=auto'

    alias fgrep='fgrep --color=auto'

    alias grep='grep --color=auto'

    alias l.='ls -d .* --color=auto'

    alias ll='ls -l --color=auto'

    alias ls='ls --color=auto'

    alias man='man -M /usr/local/manpage/share/man/zh_CN'

    alias mv='mv -i'

    alias rm='rm -i'

    实例2:设置别名

    [root@ken ~]# alias "ken=ls -l"

    [root@ken ~]# ken

    total 85452

    -rw-r--r-- 1 root  root       22 Jan 13 12:12 1

    -rw-r--r-- 1 root  root       23 Jan 13 12:12 2

    drwxr-xr-x 2 root  root        6 Jan 13 12:05 2.txt

    实例3:取消别名

    [root@ken ~]# unalias ken

    [root@ken ~]# ken

    -bash: ken: command not found

     

    2.uname

    显示输出系统信息

    -a:显示所有的信息

    -r: 显示操作系统发行版本

    实例1:

    [root@ken ~]# uname -a

    Linux ken 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

    实例2:

    显示内核版本

    [root@ken ~]# uname -r

    3.10.0-862.el7.x86_64

     

    3.su

    运行替换用户和组标识的shell

    实例1:

    -:使得shell为可登录的shell

    [root@ken ~]# su - ken

    Last login: Fri Jan 11 11:27:19 CST 2019 on pts/0

     

    退出

    [ken@ken ~]$ exit

    logout

     

    4. hostname

    显示并设置主机名

    为什么要修改主机名?

    是为了名称解析(/etc/hosts)

     

    hostname修改的主机名只是保存在了内存空间,就是说你重启系统就会失效!

    实例1:显示主机名

    [root@ken ~]# hostname

    ken

    实例2:设置主机名(重启失效)

    [root@ken ~]# hostname ken1

     hostnamectl set-hostname 别名 

    5.history

    查看历史命令

    实例1:

    [root@ken ~]# history

     实例2:使用!加上上一个命令的缩写可以再次执行

    6. which

    显示命令的完整路径

    实例1:

    [root@ken ~]# which ls

    alias ls='ls --color=auto'

        /usr/bin/ls

     

    7.wc

    统计文本信息

    常用选项:

    -c: 字节

    -w: 单词数量

    -l: 统计行数

    c(haracter) w(ord) l(ine)

    实例1:

    [root@ken ~]# cat /etc/passwd | wc -l

    38

    实例2:

    [root@ken ~]# echo "this is ken" | wc -c

    12

    实例3:

    [root@ken ~]# echo "this is ken" | wc -w

    3

     

    8.w

    显示已经登录的用户以及他们在做什么

    实例:

     

    [root@ken ~]# w

     13:04:06 up 2 days,  3:30,  7 users,  load average: 0.61, 0.16, 0.09

    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

    root     tty1                      Mon19    3days  1.35s  0.02s -bash

    root     pts/0    172.20.10.4      09:47    1:44m  0.16s  0.00s less -s

    root     pts/1    172.20.10.4      10:34    1:43m  0.02s  0.02s -bash

    root     pts/2    172.20.10.4      12:00   20:38   0.15s  0.15s -bash

    root     pts/3    172.20.10.4      12:00   15:02   0.03s  0.03s -bash

    root     pts/4    172.20.10.4      13:03    6.00s  0.04s  0.01s w

    root     pts/5    172.20.10.4      13:03   11.00s  0.02s  0.02s -bash

     

     

    USER:显示登陆系统的用户的帐号名。如果用户重复登录,则该帐号名就会重复显示。

     TTY:用户登录的终端代号。登录的形式不同,登录代号也不相同。

     FROM:显示用户从何处登录系统。如果是本地登录,则此字段为-,若从远程登录,便会显示远程主机的IP地址或主机名。至于“:0.0”之类的标示,代表该用户是从X Window System以文本模式登录的。

     LOGIN@:这是Login At的意思,表示该用户登录系统时的时间(不是登录后经过的时间)。

     IDLE:表示用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器便会被重置。

     JCPU:以终端的代号区分显示,表示该终端所有相关的进程(process)执行时所消耗的cpu时间。每当进程结束就停止计时,开始新的进程则会重新计时。

     PCPU:表示cpu执行程序消耗的时间。

     WHAT:表示用户正在执行的程序的名称,如果正在执行文本模式命令,则会显示用户环境的名称。

     

    9. who

    [root@ken ~]# who

    root     tty1         2019-01-07 19:24

    root     pts/0        2019-01-13 09:47 (172.20.10.4)

    root     pts/1        2019-01-13 10:34 (172.20.10.4)

    root     pts/2        2019-01-13 12:00 (172.20.10.4)

    root     pts/3        2019-01-13 12:00 (172.20.10.4)

    root     pts/4        2019-01-13 13:03 (172.20.10.4)

    root     pts/5        2019-01-13 13:03 (172.20.10.4)

     

     

     

     

  • 相关阅读:
    2017-2018-1 20155226《信息安全系统设计基础》第5周学习总结
    2017-2018-1 20155226 《信息安全系统设计基础》第四周学习总结
    2017-2018-1 20155226《信息安全系统设计基础》第2周学习总结
    2017-2018-1 20155226 《信息安全系统设计基础》第四周课堂实践
    2017-2018-1 20155226《信息安全系统设计基础》第1周学习总结
    20155226 2016-2017-2 《Java程序设计》课程总结
    20155226 实验五 网络编程与安全
    20155226 实验四 Android开发基础
    2017-2018-20155220 《信息安全系统设计基础》第九周学习总结
    2017-2018-1 20155220 《信息安全系统设计基础》第八周学习总结
  • 原文地址:https://www.cnblogs.com/itzhao/p/11203299.html
Copyright © 2011-2022 走看看