zoukankan      html  css  js  c++  java
  • Linux常用命令详解(week1_day1_2)--技术流ken

    本节内容

    alias
    unalias
    uname
    su
    hostname
    history
    which
    wc
    w
    who
    whoami
    ping
    kill
    seq
    du
    df
    free
    date

    命令详解

    1. alias

    设置、’查看别名

    实例1:查看别名

    [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'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

    实例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

    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)

    10.whoami

    显示当前用户

    [root@ken ~]# whoami
    root

    11.ping 

    向网络主机发送ICMP(检测主机是否在线)

    常用选项:

    -c: 发送包的数量

    -w: 等待时间(当试图检测不可达主机时此选项很有用)

    -i<间隔秒数> 指定收发信息的间隔时间。

    实例1:

    [root@ken ~]# ping -c 3 -w 3 www.baidu.com
    PING www.a.shifen.com (163.177.151.110) 56(84) bytes of data.
    64 bytes from 163.177.151.110 (163.177.151.110): icmp_seq=1 ttl=53 time=81.5 ms
    64 bytes from 163.177.151.110 (163.177.151.110): icmp_seq=2 ttl=53 time=97.8 ms
    64 bytes from 163.177.151.110 (163.177.151.110): icmp_seq=3 ttl=53 time=90.9 ms
    
    --- www.a.shifen.com ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2004ms
    rtt min/avg/max/mdev = 81.522/90.091/97.811/6.686 ms

    12. kill

    终止进程(kill后面指定pid号码)

    kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序

    -9: 强制终止

    执行-15:

    1. 程序立刻停止
    2. 当程序释放相应资源后再停止
    3. 程序可能仍然继续运行

    实例:

    [root@ken ~]# ps 
      PID TTY          TIME CMD
    23790 pts/4    00:00:00 bash
    24269 pts/4    00:00:00 ps
    [root@ken ~]# kill -9 23790
    
    Connection closed by foreign host.
    
    Disconnected from remote host(172.20.10.6) at 13:11:32.
    
    Type `help' to learn how to use Xshell prompt.
    [d:~]$ 

     实例2:列出所有的信息名称

    [root@ken ~]# kill -l
     1) SIGHUP     2) SIGINT     3) SIGQUIT     4) SIGILL     5) SIGTRAP
     6) SIGABRT     7) SIGBUS     8) SIGFPE     9) SIGKILL    10) SIGUSR1
    11) SIGSEGV    12) SIGUSR2    13) SIGPIPE    14) SIGALRM    15) SIGTERM
    16) SIGSTKFLT    17) SIGCHLD    18) SIGCONT    19) SIGSTOP    20) SIGTSTP
    21) SIGTTIN    22) SIGTTOU    23) SIGURG    24) SIGXCPU    25) SIGXFSZ
    26) SIGVTALRM    27) SIGPROF    28) SIGWINCH    29) SIGIO    30) SIGPWR
    31) SIGSYS    34) SIGRTMIN    35) SIGRTMIN+1    36) SIGRTMIN+2    37) SIGRTMIN+3
    38) SIGRTMIN+4    39) SIGRTMIN+5    40) SIGRTMIN+6    41) SIGRTMIN+7    42) SIGRTMIN+8
    43) SIGRTMIN+9    44) SIGRTMIN+10    45) SIGRTMIN+11    46) SIGRTMIN+12    47) SIGRTMIN+13
    48) SIGRTMIN+14    49) SIGRTMIN+15    50) SIGRTMAX-14    51) SIGRTMAX-13    52) SIGRTMAX-12
    53) SIGRTMAX-11    54) SIGRTMAX-10    55) SIGRTMAX-9    56) SIGRTMAX-8    57) SIGRTMAX-7
    58) SIGRTMAX-6    59) SIGRTMAX-5    60) SIGRTMAX-4    61) SIGRTMAX-3    62) SIGRTMAX-2
    63) SIGRTMAX-1    64) SIGRTMAX    

    13.seq

    生成数列

    实例1:指定结束位置

    [root@ken ~]# seq 5
    1
    2
    3
    4
    5

    实例2:指定起始位置和结束位置

    [root@ken ~]# seq 2 5
    2
    3
    4
    5

    实例3:指定起始位置和结束位置以及步长

    [root@ken ~]# seq 2 2 10
    2
    4
    6
    8
    10

    14.du

    文件及目录大小

    默认显示一个目录下的所有的文件,最后一行会有大小的总和。

    常用选项:

    -s: 仅显示总和

    -h: 人类易读

    实例1:

    [root@ken ~]# du -s /root
    117064    /root

    实例2:

    [root@ken ~]# du -sh /root
    115M    /root

    15.df

    报告文件系统磁盘空间的使用情况

    -h:人类易读

    实例1:

    [root@ken ~]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   17G  5.5G   12G  33% /
    devtmpfs                 233M     0  233M   0% /dev
    tmpfs                    245M     0  245M   0% /dev/shm
    tmpfs                    245M  9.1M  235M   4% /run
    tmpfs                    245M     0  245M   0% /sys/fs/cgroup
    /dev/sr0                  56M   56M     0 100% /mnt
    /dev/sda1               1014M  130M  885M  13% /boot
    tmpfs                     49M     0   49M   0% /run/user/0

    第一列指定文件系统的名称

    第二列指定一个特定的文件系统1K-块1K是1024字节为单位的总内存。用和可用列正在使用中,分别指定的内存量。

    使用列指定使用的内存的百分比

    而最后一栏"安装在"指定的文件系统的挂载点。

    16.free

    显示系统中已用和未用的内存空间总和

    常用选项:

    -m: 以m为单位

    -h: 人类易读

    -s<间隔秒数>  持续观察内存使用状况。

    实例1:

    [root@ken ~]# free -m
                  total        used        free      shared  buff/cache   available
    Mem:            488         373          21           1          93          76
    Swap:          2047         423        1624

    实例2:

    [root@ken ~]# free -h
                  total        used        free      shared  buff/cache   available
    Mem:           488M        373M         21M        1.8M         93M         76M
    Swap:          2.0G        423M        1.6G

     实例3:

    [root@ken ~]# free -s 2
                  total        used        free      shared  buff/cache   available
    Mem:        1015828      100988      753768        7252      161072      750276
    Swap:       2097148           0     2097148
    
                  total        used        free      shared  buff/cache   available
    Mem:        1015828      101012      753744        7252      161072      750252
    Swap:       2097148           0     2097148

    17. date

     打印或设置系统日期和时间

    常用选项:

    -s: 根据 STRING 设置时间

    %Y     年(用 4 位表示) (1970...)

    %m     月份(用两位表示) (01..12)

    %d     (月份中的)几号(用两位表示) (01..31)

    %H     小时(按 24 小时制显示,用两位表示) (00..23)

    %M     分钟数(用两位表示) (00..59)

    %S     秒数(用两位表示)(00..60)

    %T 时间,按 24 小时制显示(hh:mm:ss)

    %F 显示 %Y-%m-%d

    实例1:

    [root@ken ~]# date '+%F %T'
    2019-01-13 13:29:56

    实例2:

    [root@ken ~]# date -s "2019-01-13 13:30:00"
    Sun Jan 13 13:30:00 CST 2019
    [root@ken ~]# date
    Sun Jan 13 13:30:01 CST 2019

    练习题

    1、如何通过命令行重启linux操作系统?

    2、系统重要文件需要备份,如何把/etc/passwd备份到/tmp目录下?

    3、如何查看系统最后创建的3个用户?

    4、什么命令可以统计当前系统中一共有多少账户?

    5、如何创建/tmp/test.conf文件?

    6、如何查看/etc/passwd的头3行和尾3行?

    7、如何一次性创建目录/text/1/2/3/4?

    8、如何最快的返回到当前账户的家目录?

    9、如何查看/etc所占的磁盘空间?

    10、如何查看当前内核版本

    答案:

    1、init6或 #reboot

    2、cp /etc/passwd /tmp

    3、tail -3 /etc/paswwd

    4、wc -l /etc/passwd

    5、touch /tmp/test.conf

    6、head -3 /etc/passwd     tail -3 /etc/passwd

    7、mkdir -p /text/1/2/3/4

    8、cd

    9、du -sh /etc     

    10、uname  -r

  • 相关阅读:
    专题——递归
    今日听郝斌老师鸡汤
    线性结构的两种常见应用之一 队列
    线性结构的两种应用之一——栈
    C++常用库函数
    洛谷 标志重捕法?
    c++复习——临考前的女娲补天 >=.<
    c++复习——类(2)
    c++复习——类(1)
    Python单元测试
  • 原文地址:https://www.cnblogs.com/kenken2018/p/10262319.html
Copyright © 2011-2022 走看看