美文网首页Linux我用 LinuxLinux学习之路
2018 年最常用的 linux 命令 top10

2018 年最常用的 linux 命令 top10

作者: 等会再说 | 来源:发表于2018-11-26 18:20 被阅读3次
    2018 年最常用的 linux 命令 top10

    2018 年最常用的 linux 命令 top10,这里列出最常用的 linux 命令 top10,信息收集整理与网络,并不代表所有有人认同,该内容仅供大家参考。

    也许你登录 linux系统,打开终端第一个 linux 命令就是 cd,也能你第一个命令时 ls,也许,有很多也许。。。

    1. cd

    Linux cd命令用于切换当前工作目录至 dirName(目录参数)。

    其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。

    另外,"~" 也表示为 home 目录 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。

    语法

    cd [dirName]
    

    dirName:要切换的目标目录。

    实例

    跳到 /usr/bin/ :

    cd /usr/bin
    

    跳到自己的 home 目录 :

    cd ~
    

    跳到目前目录的上上两层 :

    cd ../..
    

    2. ls

    ls 命令会列出当前该目录下所有的内容(文件及文件夹),加 -l 会列出文件的详细信息,类似于命令ll。

    语法

    ls [-alrtAFR] [name...]
    

    参数 :

    • -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
    • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
    • -r 将文件以相反次序显示(原定依英文字母次序)
    • -t 将文件依建立时间之先后次序列出
    • -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
    • -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
    • -R 若目录下有文件,则以下之文件亦皆依序列出

    实例

    列出根目录()下的所有目录:

    # ls /
    bin               dev   lib         media  net   root     srv  upload  www
    boot              etc   lib64       misc   opt   sbin     sys  usr
    home  lost+found  mnt    proc  selinux  tmp  var
    

    列出目前工作目录下所有名称是 s 开头的文件,越新的排越后面 :

    ls -ltr s*
    

    将 /bin 目录以下所有目录及文件详细资料列出 :

    ls -lR /bin
    

    列出目前工作目录下所有文件及目录;目录于名称后加 "/", 可执行档于名称后加 "*" :

    ls -AF
    

    3. ps

    ps命令用于显示正在运行中的进程的信息。

    语法

    ps [options] [--help]
    

    参数:

    ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义

    • -A 列出所有的行程
    • -w 显示加宽可以显示较多的资讯
    • -au 显示较详细的资讯
    • -aux 显示所有包含其他使用者的行程

    au(x) 输出格式 :

    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

    • USER: 行程拥有者
    • PID: pid
    • %CPU: 占用的 CPU 使用率
    • %MEM: 占用的记忆体使用率
    • VSZ: 占用的虚拟记忆体大小
    • RSS: 占用的记忆体大小
    • TTY: 终端的次要装置号码 (minor device number of tty)
    • STAT: 该行程的状态:
    • D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
    • R: 正在执行中
    • S: 静止状态
    • T: 暂停执行
    • Z: 不存在但暂时无法消除
    • W: 没有足够的记忆体分页可分配
    • <: 高优先序的行程
    • N: 低优先序的行程
    • L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
    • START: 行程开始时间
    • TIME: 执行的时间
    • COMMAND:所执行的指令

    实例

    # ps -A 显示进程信息
    PID TTY     TIME CMD
      1 ?    00:00:02 init
      2 ?    00:00:00 kthreadd
      3 ?    00:00:00 migration/0
      4 ?    00:00:00 ksoftirqd/0
      5 ?    00:00:00 watchdog/0
      6 ?    00:00:00 events/0
      7 ?    00:00:00 cpuset
      8 ?    00:00:00 khelper
      9 ?    00:00:00 netns
      10 ?    00:00:00 async/mgr
      11 ?    00:00:00 pm
      12 ?    00:00:00 sync_supers
      13 ?    00:00:00 bdi-default
      14 ?    00:00:00 kintegrityd/0
      15 ?    00:00:02 kblockd/0
      16 ?    00:00:00 kacpid
      17 ?    00:00:00 kacpi_notify
      18 ?    00:00:00 kacpi_hotplug
      19 ?    00:00:27 ata/0
    ……省略部分结果
    30749 pts/0  00:00:15 gedit
    30886 ?    00:01:10 qtcreator.bin
    30894 ?    00:00:00 qtcreator.bin 
    31160 ?    00:00:00 dhclient
    31211 ?    00:00:00 aptd
    31302 ?    00:00:00 sshd
    31374 pts/2  00:00:00 bash
    31396 pts/2  00:00:00 ps
    

    显示指定用户信息

    # ps -u root //显示root进程用户信息
     PID TTY     TIME CMD
      1 ?    00:00:02 init
      2 ?    00:00:00 kthreadd
      3 ?    00:00:00 migration/0
      4 ?    00:00:00 ksoftirqd/0
      5 ?    00:00:00 watchdog/0
      6 ?    00:00:00 events/0
      7 ?    00:00:00 cpuset
      8 ?    00:00:00 khelper
      9 ?    00:00:00 netns
      10 ?    00:00:00 async/mgr
      11 ?    00:00:00 pm
      12 ?    00:00:00 sync_supers
      13 ?    00:00:00 bdi-default
      14 ?    00:00:00 kintegrityd/0
      15 ?    00:00:02 kblockd/0
      16 ?    00:00:00 kacpid
    ……省略部分结果
    30487 ?    00:00:06 gnome-terminal
    30488 ?    00:00:00 gnome-pty-helpe
    30489 pts/0  00:00:00 bash
    30670 ?    00:00:00 debconf-communi 
    30749 pts/0  00:00:15 gedit
    30886 ?    00:01:10 qtcreator.bin
    30894 ?    00:00:00 qtcreator.bin 
    31160 ?    00:00:00 dhclient
    31211 ?    00:00:00 aptd
    31302 ?    00:00:00 sshd
    31374 pts/2  00:00:00 bash
    31397 pts/2  00:00:00 ps
    

    显示所有进程信息,连同命令行

    # ps -ef //显示所有命令,连带命令行
    UID    PID PPID C STIME TTY     TIME CMD
    root     1   0 0 10:22 ?    00:00:02 /sbin/init
    root     2   0 0 10:22 ?    00:00:00 [kthreadd]
    root     3   2 0 10:22 ?    00:00:00 [migration/0]
    root     4   2 0 10:22 ?    00:00:00 [ksoftirqd/0]
    root     5   2 0 10:22 ?    00:00:00 [watchdog/0]
    root     6   2 0 10:22 ?    /usr/lib/NetworkManager
    ……省略部分结果
    root   31302 2095 0 17:42 ?    00:00:00 sshd: root@pts/2 
    root   31374 31302 0 17:42 pts/2  00:00:00 -bash
    root   31400   1 0 17:46 ?    00:00:00 /usr/bin/python /usr/sbin/aptd
    root   31407 31374 0 17:48 pts/2  00:00:00 ps -ef
    

    4. pwd

    Linux pwd命令用于显示工作目录。

    执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。

    语法

    pwd [--help][--version]
    

    参数说明:

    • --help 在线帮助。
    • --version 显示版本信息。

    实例

    查看当前所在目录:

    # pwd
    /root/test           #输出结果
    

    5. clear

    Linux clear命令用于清除屏幕。当屏幕已经输出一堆东西时候,你想清空回归干净的屏幕,避免干扰,那么执行clear使最好的选择。

    语法

    clear
    

    实例

    清屏

    #clear
    

    6. cat

    cat 查看文件内容命令,命令用于连接文件并打印到标准输出设备上。

    语法格式

    cat [-AbeEnstTuv] [--help] [--version] fileName
    

    参数说明:

    • -n 或 --number:由 1 开始对所有输出的行数编号。
    • -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
    • -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
    • -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
    • -E 或 --show-ends : 在每行结束处显示 $。
    • -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
    • -A, --show-all:等价于 -vET。
    • -e:等价于"-vE"选项;
    • -t:等价于"-vT"选项;

    实例:

    把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

    cat -n textfile1 > textfile2
    

    把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:

    cat -b textfile1 textfile2 >> textfile3
    

    清空 /etc/test.txt 文档内容:

    cat /dev/null > /etc/test.txt
    

    cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:

    cat /dev/fd0 > OUTFILE
    

    相反的,如果想把 image file 写到软盘,输入:

    cat IMG_FILE > /dev/fd0
    

    注:

    • 1. OUTFILE 指输出的镜像文件名。
    • 2. IMG_FILE 指镜像文件。
    • 3. 若从镜像文件写回 device 时,device 容量需与相当。
    • 4. 通常用制作开机磁片。

    7. rm

    Linux rm命令用于删除一个文件或者目录。

    语法

    rm [options] name...

    参数:

    • -i 删除前逐一询问确认。
    • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
    • -r 将目录及以下之档案亦逐一删除。

    实例

    删除文件可以直接使用 rm 命令,若删除目录则必须配合选项"-r",(这是一条频繁使用但也可能让你“跑路”的命令,它有那个能力!!!!) 例如:

    # rm  test.txt 
    

    rm:是否删除 一般文件 "test.txt"? y

    # rm  homework  
    

    rm: 无法删除目录"homework": 是一个目录

    # rm  -r  homework  
    

    rm:是否删除 目录 "homework"? y

    删除当前目录下的所有文件及目录,命令行为:

    rm  -r  * 
    

    文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。

    8. find

    find

    命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

    语法

    find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;
    

    参数说明 :

    find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。

    expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

    • -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

    • -amin n : 在过去 n 分钟内被读取过

    • -anewer file : 比文件 file 更晚被读取过的文件

    • -atime n : 在过去n天内被读取过的文件

    • -cmin n : 在过去 n 分钟内被修改过

    • -cnewer file :比文件 file 更新的文件

    • -ctime n : 在过去n天内被修改过的文件

    • -empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name

    • -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

    • -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

    • -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 文件类型是 c 的文件。

    • d: 目录

    • c: 字型装置文件

    • b: 区块装置文件

    • p: 具名贮列

    • f: 一般文件

    • l: 符号连结

    • s: socket

    • -pid n : process id 是 n 的文件

    你可以使用 ( ) 将运算式分隔,并使用下列运算。

    exp1 -and exp2
    ! expr
    -not expr
    exp1 -or exp2
    exp1, exp2
    

    实例

    将目前目录及其子目录下所有延伸档名是 c 的文件列出来。

    # find . -name "*.c"
    

    将目前目录其其下子目录中所有一般文件列出

    # find . -type f
    

    将目前目录及其子目录下所有最近 20 天内更新过的文件列出

    # find . -ctime -20
    

    查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们:

    # find /var/log -type f -mtime +7 -ok rm {} \;
    

    查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:

    # find . -type f -perm 644 -exec ls -l {} \;
    

    为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径:

    # find / -type f -size 0 -exec ls -l {} \;
    

    9.kill

    kill 命令用于删除执行中的程序或工作。

    kill 可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用 ps 指令或 jobs 指令查看。

    语法

    kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]

    参数说明:/h4> -l <信息编号>  若不加<信息编号>选项,则-l参数会列出全部的信息名称。 -s <信息名称或编号>  指定要送出的信息。

    [程序]  [程序]可以是程序的PID或是PGID,也可以是工作编号。

    实例/h4>

    杀死进程

    # kill 12345
    

    强制杀死进程

    # kill -KILL 123456
    

    发送SIGHUP信号,可以使用一下信号

    # kill -HUP pid
    

    彻底杀死进程

    # kill -9 123456
    

    显示信号

    # 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
    

    杀死指定用户所有进程

    #kill -9 $(ps -ef | grep hnlinux) //方法一 过滤出hnlinux用户进程 
    #kill -u hnlinux //方法二
    

    10. man

    显示某个命令的 man 页面,最佳学习命令,如果不理解linux的某一个命令那么你只需要通过man就可快速查看改命令的详细介绍。

    不论是新手老手,man 命令都是你查看命令详细介绍时的常用命令。

    man 命令
    

    总结

    如果看到这里,相比你已经大致浏览过这篇 2018 年最常用的 linux 命令 top10,这里不是权威,不是绝对,仅仅是一份供您参考的举例。

    在您的心里也许有更常用的 linux 命令,如果你有不通已经欢迎留言,说出你心中最常用的 linux 命令。

    相关文章

      网友评论

        本文标题:2018 年最常用的 linux 命令 top10

        本文链接:https://www.haomeiwen.com/subject/pwfiqqtx.html