zoukankan      html  css  js  c++  java
  • 03、新手必须掌握的Linux命令

    Ⅰ. 常用系统工作命令

    1. echo 命令

       echo命令用于在终端输出字符串货变量提取后的值,格式为"echo [字符串 | $变量]"

     例:把指定字符串"LinxuHat"输出到终端屏幕的命令为:

    [root@linuxprobe Desktop]# echo LinuxHat

       该命令会在终端屏幕上显示如下信息:

    LinuxHat

       使用$变量的方式提取变量SHELL的值,并将其输出到屏幕上:

    [root@linuxprobe Desktop]# echo $SHELL

    /bin/bash

    2. date 命令

       date命令用于显示及设置系统的时间或日期,格式为"date [选项] [+指定的格式]"

    参数

    作用

    %t

    跳格

    %H

    小时(00..23)

    %I

    小时(01..12)

    %M

    分钟(00..59)

    %S

    秒(00..61)

    %j

    一年中的第几天 (001..366)

       按照默认格式查看当前系统时间的date命令如下所示:

    [root@linuxprobe Desktop]# date

    Tue Aug 13 17:36:08 CST 2019

       按照"年-月-日 小时:分钟:秒"的格式查看当前系统时间的date命令如下所示:

    [root@linuxprobe Desktop]# date "+%Y-%m-%d %H:%M:%S"

    2019-08-13 17:37:57

       将系统的当前时间设置为2019年9月1日9点0分的date命令如下所示:

    [root@linuxprobe Desktop]# date -s "20190901 9:00:00"

    Sun Sep  1 09:00:00 CST 2019

       再次使用date命令并按照默认的格式查看当前的系统时间,如下所示:

    [root@linuxprobe Desktop]# date

    Sun Sep  1 09:00:43 CST 2019

       date命令中的参数%j可用来查看今天是当年中的第几天

    [root@linuxprobe Desktop]# date "+%j"

    244

    3. reboot 命令

       reboot命令用于重启系统,其格式为reboot:

       由于重启计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用root管理员来重启,其命令如下:

    [root@linuxprobe Desktop]# reboot

    4. poweroff 命令

       poweroff命令用于关闭系统,其格式为poweroff

       由于关闭计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用root管理员来重启,其命令如下:

    [root@linuxprobe Desktop]# poweroff

    5. wget 命令

       wget命令用于在终端中下载网络文件,格式为"wget [参数] 下载地址"

    [root@linuxprobe Desktop]# wget http://www.linuxprobe.com/docs/LinuxProbe.pdf

    6. ps 命令

       ps命令用于查看系统中的进程状态,格式为"ps [参数]"

    l  -A 列出所有的行程(包括其他用户的进程)

    l  -u 用户以及其他详细信息

    l  -x 显示没有控制终端的进程

       进程有5种状态,分别为运行、中断、不可中断、僵死与停止

    · R(运行):进程正在运行或在运行队列中等待

    · S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态

    · D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断

    · Z(僵死):进程以及终止,但进程描述符依然存在,直到父进程调用wait4()系统函数后将进程释放

    · T(停止):进程收到停止信号后停止运行

    [root@linuxprobe Desktop]# ps -aux

    进程状态

     

    7. top 命令

       top命令用于动态地监视进程活动与系统负载等信息,其格式为top

       top命令相当于Windows任务管理器

    [root@linuxprobe Desktop]# top

    top命令的运行界面

     

       · 第1行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)

       · 第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数

       · 第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等

       · 第4行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量

       · 第5行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量

    8. pidof 命令

       pidof命令用于查询某个指定服务进程的PID值,格式为"pidof [参数] [服务名称]"

    [root@linuxprobe Desktop]# pidof sshd

    1805

    9. kill 命令

       kill命令用于终止某个指定PID的服务进程,格式为"kill [参数] [进程PID]"

    [root@linuxprobe Desktop]# kill 1805

    10. killall 命令

       killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:"killall [参数] [进程名称]"

    [root@linuxprobe Desktop]# pidof httpd

    13581 13580 13579 13578 13577 13576

    [root@linuxprobe Desktop]# killall httpd

    [root@linuxprobe Desktop]# pidof httpd

    [root@linuxprobe Desktop]#

    Ⅱ. 系统状态监检测命令

    1. ifconfig 命令

       ifconfig命令用于获取网卡配置与网络状态等信息,格式为"ifconfig [网络设备] [参数]"

    [root@linuxprobe Desktop]# ifconfig

     2. uname 命令

       uname命令用于查看系统内核与系统版本等信息,格式为"uname [-a]"

    [root@linuxprobe Desktop]# uname -a

    Linux linuxprobe.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

       顺带一提,如果要查看当前系统版本的详细信息,则需要查看redhat-release文件,其命令以及相应的结果如下:

    [root@linuxprobe Desktop]# cat /etc/redhat-release

    Red Hat Enterprise Linux Server release 7.0 (Maipo)

    3. uptime 命令

       uptime命令用于查看系统的负载信息,格式为"uptime"

    [root@linuxprobe Desktop]# uptime

     23:51:53 up 49 min,  2 users,  load average: 0.05, 0.15, 0.19

    4. free 命令

       free用于显示当前系统中内存的使用量信息,格式为"free [-h]"

    [root@linuxprobe Desktop]# free -h

        · total:内存总量

       · used:已用量

       · free:可用量

       · shared:进程共享的内存量

       · buffers:磁盘缓存的内存量

       · cached:缓存的内存量

    5. who命令

       who命令用于查看当前登入主机的用户终端信息,格式为"who [参数]"

    [root@linuxprobe Desktop]# who

       · 第1列:登录的用户名

       · 第2列:终端设备

       · 第3列:登录到系统的时间

    6. last命令

       last命令用于查看所有系统的登录记录,格式为"last [参数]"

    [root@linuxprobe Desktop]# last

     

    7. history命令

       history命令用于显示历史执行过的命令,格式为"history [-c]"

    说明:

    ① 使用-c参数则会清空所有的命令历史记录

    ② 可以使用"!编码数字" 的方式来重复执行某一次的命令

    [root@linuxprobe Desktop]# history

    8. sosreport命令

       sosreport命令用于手机系统配置及架构信息并输出诊断文档,格式为"sosreport"

    [root@linuxprobe Desktop]# sosreport

       · quit:此处敲击回车来确认收集信息

       · name:此处敲击回车来确认主机编号

       · for:此处敲击回车来确认主机编号

    Ⅲ. 工作目录切换命令

    1. pwd命令

       pwd命令用于显示用户当前所处的工作目录,格式为"pwd [选项]"

    [root@linuxprobe ~]# pwd

    /root

    2. cd命令

       cd命令用于切换工作路径,格式为"cd [目录名称]"

    例:切换到/etc目录中

    [root@linuxprobe ~]# cd /etc

    [root@linuxprobe etc]#

    例:切换到/bin目录中

    [root@linuxprobe etc]# cd /bin

    [root@linuxprobe bin]#

    例:返回到上一次的目录(即/etc目录)

    [root@linuxprobe bin]# cd -

    /etc

    [root@linuxprobe etc]#

    例:快速切换到用户的家目录

    [root@linuxprobe etc]# cd ~

    [root@linuxprobe ~]#

    3. ls命令

       ls命令用于显示目录中的文件信息,格式为"ls [选项] [文件]"

    [root@linuxprobe ~]# ls -al

    total 52

    dr-xr-x---. 17 root root 4096 Aug 13 23:40 .

    drwxr-xr-x. 17 root root 4096 Aug 14  2019 ..

    -rw-------.  1 root root 1032 Aug 14  2019 anaconda-ks.cfg

    -rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout

    -rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile

    -rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc

    drwx------. 10 root root 4096 Aug 13 23:40 .cache

    drwx------. 15 root root 4096 Aug 13 23:37 .config

    -rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc

    drwx------.  3 root root   24 Aug 13 17:40 .dbus

    drwxr-xr-x.  2 root root    6 Aug 13 23:40 Desktop

    drwxr-xr-x.  2 root root    6 Aug 13 23:37 Documents

    drwxr-xr-x.  2 root root    6 Aug 13 23:37 Downloads

    -rw-------.  1 root root   16 Aug 13 23:37 .esd_auth

    drwx------.  3 root root   19 Aug 13 23:40 .gnome2

    drwx------.  2 root root    6 Aug 13 23:40 .gnome2_private

    -rw-------.  1 root root  314 Aug 13 23:37 .ICEauthority

    -rw-r--r--.  1 root root 1083 Aug 13 17:43 initial-setup-ks.cfg

    drwx------.  3 root root   18 Aug 13 23:37 .local

    drwxr-xr-x.  4 root root   37 Aug 13 23:40 .mozilla

    drwxr-xr-x.  2 root root    6 Aug 13 23:37 Music

    drwxr-xr-x.  2 root root    6 Aug 13 23:37 Pictures

    drwxr-xr-x.  2 root root    6 Aug 13 23:37 Public

    -rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc

    drwxr-xr-x.  2 root root    6 Aug 13 23:37 Templates

    drwxr-xr-x.  2 root root    6 Aug 13 23:37 Videos

       若想查看目录属性信息,则需要额外添加一个-d参数。

    例:查看/etc目录的权限与属性信息

    [root@linuxprobe ~]# ls -ld /etc

    drwxr-xr-x. 132 root root 8192 Aug 13 23:42 /etc

    Ⅳ. 文本文件编辑命令

    1. cat命令

       cat命令用于查看纯文本文件(内容较少),格式为"cat [选项] [文件]"

    [root@linuxprobe ~]# cat -n initial-setup-ks.cfg

     

    2. more命令

       more命令用于查看纯文本文件(内容较多的),格式为"more [选项]文件"

    [root@linuxprobe ~]# more initial-setup-ks.cfg

     

    3. head命令

       head命令用于查看纯文本文档的前N行,格式为"head [选项] [文件]"

    [root@linuxprobe ~]# head -n 20 initial-setup-ks.cfg

     

    4. tail命令

       tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为"tail [选项] [文件]"

    [root@linuxprobe ~]# tail -f /var/log/messages

    5. tr命令

       tr命令用于替换文本文件中的字符,格式为"tr [原始字符] [目标字符]"

    例:把anaconda文件的文本全部替换成大写

    [root@linuxprobe ~]# cat anaconda-ks.cfg | tr [a-z] [A-Z]

    6. wc命令

       wc命令用于统计指定文本的行数、字数、字节数,格式为"wc [参数] 文本"

    [root@linuxprobe ~]# wc -l /etc/passwd

    38 /etc/passwd

    7. stat命令

       stat命令用于查看文件的具体存储信息和时间等信息,格式为"stat 文档名称"

    [root@linuxprobe ~]# stat anaconda-ks.cfg

      File: ‘anaconda-ks.cfg’

      Size: 1032              Blocks: 8          IO Block: 4096   regular file

    Device: fd00h/64768d Inode: 68915660    Links: 1

    Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)

    Context: system_u:object_r:admin_home_t:s0

    Access: 2019-08-14 00:27:15.065788018 +0800

    Modify: 2019-08-14 01:25:23.744928793 +0800

    Change: 2019-08-14 01:25:23.744928793 +0800

     Birth: -

    8. cut命令

       cut命令用于按"列"提取文本字符,格式为"cut [参数] 文本"

    [root@linuxprobe ~]# head -n 2 /etc/passwd

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

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

    [root@linuxprobe ~]# cut -d: -f1 /etc/passwd

    root

    bin

    daemon

    adm

    lp

    sync

    shutdown

    halt

    mail

    operator

    games

    ftp

    nobody

    dbus

    polkitd

    unbound

    colord

    usbmuxd

    avahi

    avahi-autoipd

    libstoragemgmt

    saslauth

    qemu

    rpc

    rpcuser

    nfsnobody

    rtkit

    radvd

    ntp

    chrony

    abrt

    pulse

    gdm

    gnome-initial-setup

    postfix

    sshd

    tcpdump

    linuxprobe

    9. diff命令

       diff命令用于比较多个文本文件的差异,格式为"diff [参数] 文件"

    [root@linuxprobe ~]# cat diff_A.txt

    [root@linuxprobe ~]# cat diff_B.txt

       使用diff --brief命令显示比较后的结果,判断文件是否相同:

    [root@linuxprobe ~]# diff --brief diff_A.txt diff_B.txt

       使用带有-c参数的diff命令来描述文件内容具体的不同

    [root@linuxprobe ~]# diff -c diff_A.txt diff_B.txt

    Ⅴ. 文件目录管理命令

    1. touch命令

       touch命令用于创建空白文件或设置文件的时间,格式为"touch [选项] [文件]"

       · a  仅修改"读取时间(atime)"

       · m 仅修改"修改时间(mtime)"

       · d  同时修改atime与mtime

    [root@linuxprobe ~]# ls -l anaconda-ks.cfg

    -rw-------. 1 root root 1032 Aug 14  2019 anaconda-ks.cfg

    [root@linuxprobe ~]# echo "Visit the LinuxProbe.com to learn linux skills" >> anaconda-ks.cfg

    [root@linuxprobe ~]# ls -l anaconda-ks.cfg

    -rw-------. 1 root root 1079 Aug 14 00:40 anaconda-ks.cfg

    [root@linuxprobe ~]# touch -d "2017-05-04 15:30" anaconda-ks.cfg

    [root@linuxprobe ~]# ls -l anaconda-ks.cfg

    -rw-------. 1 root root 1079 May  4  2017 anaconda-ks.cfg

    2. mkdir命令

       mkdir命令用于创建空白的目录,格式为"mkdir [选项] 目录"

    [root@linuxprobe ~]# mkdir linuxprobe

    [root@linuxprobe ~]# cd linuxprobe

    [root@linuxprobe linuxprobe]# mkdir -p a/b/c/d/e

    [root@linuxprobe linuxprobe]# cd a

    [root@linuxprobe a]# cd b

    [root@linuxprobe b]#

    说明:结合-p参数来递归创建出具有嵌套叠层关系的文件目录

    3. cp命令

       cp命令用于复制文件或目录,格式为"cp [选项] 源文件 目录文件"

    说明:在Linux系统中,复制操作具体分为3种情况:

    ① 如果目标文件是目录,则会把源文件复制到该目录中

    ② 如果目标文件也是普通文件,则会询问是否要覆盖它

    ③ 如果目标文件不存在,则执行正常的复制操作

       · -a:相当于-pdr(p、d、r为上述参数)

       · -d:若对象为"链接文件",则保留该"链接文件"的属性

       · -i :若目标文件存在则询问是否覆盖

       · -p:保留原始文件的属性

       · -r :递归持续赋值(用于目录)

    [root@linuxprobe b]# touch install.log

    [root@linuxprobe b]# cp install.log x.log

    [root@linuxprobe b]# ls

    c  install.log  x.log

    [root@linuxprobe b]#

    4. mv命令

       mv命令用于剪切文件或将文件重命名,格式为"mv [选项] 源文件 [目标路径|目标文件名]"

    [root@linuxprobe b]# mv x.log linux.log

    [root@linuxprobe b]# ls

    c  install.log  linux.log

    [root@linuxprobe b]#

    5. rm命令

       rm命令用于删除文件或目录,格式为"rm [选项] 文件"

    [root@linuxprobe b]# rm install.log

    rm: remove regular empty file ‘install.log’? y

    [root@linuxprobe b]# rm -f linux.log

    [root@linuxprobe b]# ls

    c

    [root@linuxprobe b]#

    6. dd命令

       dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为"dd [参数]"

       · if:输入的文件名称

       · of:输出的文件名称

       · bs:设置每个"块"的大小

       · count:设置要复制"块"的个数

    [root@linuxprobe ~]# dd if=/dev/zero of=560_file count=1 bs=560M

    1+0 records in

    1+0 records out

    587202560 bytes (587 MB) copied, 1.3667 s, 430 MB/s

    例:将光盘制作成ISO格式的镜像文件

    [root@linuxprobe ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso

    7. file命令

       file命令用于查看文件的类型,格式为"file 文件名"

    [root@linuxprobe ~]# file anaconda-ks.cfg

    anaconda-ks.cfg: ASCII text

    [root@linuxprobe ~]# file /dev/sda

    /dev/sda: block special

    Ⅵ. 打包压缩与搜索命令

    1. tar命令

       tar命令用于对文件进行打包压缩或解压,格式为"tar [选项] [文件]"

       · -c:创建压缩文件

       · -x:解开压缩文件

       · -t:查看压缩包内有哪些文件

       · -z:用Gzip压缩或解压

       · -j:用bzip2压缩或解压

       · -v:显示压缩或解压的过程

       · -f:目标文件名

       · -p:保留原始的权限与属性

       · -P:使用绝对路径来压缩

       · -C:指定解压到的目录

    说明:

    ① 一般使用" tar -czvf 压缩包名称.tar.gz 要打包的目录"来进行文件打包压缩操作

    ② 一般使用" tar -xzvf 压缩包名称.tar.gz"来进行文件解压操作

    例:压缩操作

    [root@linuxprobe ~]# tar -czvf etc.tar.gz /etc

    例:解压操作

    [root@linuxprobe ~]# tar -xzvf etc.tar.gz -C /root/etc

    2. grep命令

       grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为"grep [选项] [文件]"

       · -b:将可执行文件(binary)当作文本文件(test)来搜索

       · -c:仅显示找到的行数

       · -i:忽略大小写

       · -n:显示行号

       · -v:反向旋转—仅列出没有"关键词"的行

    [root@linuxprobe ~]# grep /sbin/nologin /etc/passwd

    3. find命令

       find命令用于按照指定条件来查找文件,格式为"find [查找路径] 寻找条件 操作"

       · -name:匹配名称

       · -perm:匹配权限(mode为完全匹配,-mode为包含即可)

       · -user:匹配所有者

       · -group:匹配所有组

       · -mtime -n +n:匹配修改内容的时间(-n指n天以内,+n指n天以前)

       · -atime -n +n:匹配访问文件的时间(-n指n天以内,+n指n天以前)

       · -ctime -n +n:匹配修改文件权限的时间(-n指n天以内,+n指n天以前)

       · -nouser:匹配无所有者的文件

       · -nogroup:匹配无所有组的文件

       · -newer f1 !f2:匹配比文件f1新但比f2旧的文件

       · --type b/d/e/p/l/f:匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件)

       · -size:匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)

       · -prune:忽略某个目录

       · -exec `````` { } ;:后面可跟用于进一步处理搜索结果的命令

    例:获取到该目录中所有已host开头的文件列表

    [root@linuxprobe ~]# find /etc -name "host*" -print

    /etc/avahi/hosts

    /etc/host.conf

    /etc/hosts

    /etc/hosts.allow

    /etc/hosts.deny

    /etc/selinux/targeted/modules/active/modules/hostname.pp

    /etc/hostname

    例:在整个系统中搜索权限中包括SUID权限的所有文件

    [root@linuxprobe ~]# find / -perm -4000 -print

    例:在整个文件系统中找出所有归属于linuxprobe用户的文件并复制到/root/findresults目录

    [root@linuxprobe ~]# find / -user linuxprobe -exec cp -a {} /root/findresults/ ;

    find: ‘/proc/44630/task/44630/fd/6’: No such file or directory

    find: ‘/proc/44630/task/44630/fdinfo/6’: No such file or directory

    find: ‘/proc/44630/fd/6’: No such file or directory

    find: ‘/proc/44630/fdinfo/6’: No such file or directory

    cp: cannot create special file ‘/root/findresults/’: No such file or directory

    cp: cannot overwrite non-directory ‘/root/findresults/linuxprobe’ with directory ‘/home/linuxprobe’

  • 相关阅读:
    November 13th 2016 Week 47th Sunday The 1st Day
    November 12th 2016 Week 46th Saturday
    November 11th 2016 Week 46th Friday
    November 10th 2016 Week 46th Thursday
    November 9th 2016 Week 46th Wednesday
    November 8th 2016 Week 46th Tuesday
    windows 7文件共享方法
    Win7无线网络共享设置方法
    常量指针和指针常量
    如何查找局域网的外网ip
  • 原文地址:https://www.cnblogs.com/HOsystem/p/11355658.html
Copyright © 2011-2022 走看看